page.addElement(insertMiniText("Instru��es", posX, posY+2, 120));
page.addElement(insertBoldText("Ap�s Vencimento:", posX+3, posY+12, 165));
page.addElement(insertBoldText("Multa de " + gd.get("fine") + "%", posX+100, posY+12, 165));
page.addElement(insertBoldText("Juros de " + gd.get("interestDeferredPayment") + "% ao dia", posX+100, posY+27, 165));
String valueDiscount = new Money(billet.getParcel().getValueAfterParcelDateExpiration()-billet.getParcel().getValueBeforeParcelDateExpiration()).getFormatedValue();
page.addElement(insertBoldText((billet.getParcel().isRegistrationTax() ? "Valor � ser pago referente a taxa de matr�cula" : "At� Vencimento: Desconto pontualidade: " + valueDiscount), posX+3, posY+50, 250));
String responsableName = "";
if (ResponsableValidator.checkStudentUnderAge(new GDDate(billet.getPerson().getBirthDate()).getFormatedDate())) {
Student student = (Student) billet.getPerson().getPersonType("student");
responsableName = student.getResponsableName();
} else {
responsableName = billet.getPerson().getName();
}
String instructions = "Esta cobran�a � enviada a todos os alunos devidamente matriculados " +
"conforme condi��es de Contrato de Presta��o de Servi�os assinado por " + responsableName + ", " +
"a " + gd.get("namefancy") + " reservar� ao aluno, micro-computadores e hor�rios, at� o momento de sua rescis�o " +
"contratual ou conclus�o do curso.";
page.addElement(insertNormalText(instructions, posX+3, posY+70, 350, 80));
String idRegistration = billet.getRegistration().getIdRegistration();
for(int i=0; i<(5-billet.getRegistration().getIdRegistration().length()); i++)
idRegistration = "0" + idRegistration;
String idParcel = billet.getParcelId();
for(int i=0; i<(5-billet.getParcelId().length()); i++)
idParcel = "0" + idParcel;
page.addElement(createBarcode("300002."+idRegistration+"."+idParcel, posX, posY+140, 230, 30));
page.addElement(drawVerticalLine(posX+365, posY, 175));
page.addElement(drawVerticalLine(posX+534, posY, 175));
page.addElement(drawGrayRectangle(posX+365, posY, 170, 25, 0));
page.addElement(insertMiniText("Vencimento", posX+370, posY+2, 120));
page.addElement(insertRightText(billet.getParcel().getDate(), posX+370, posY+10, 160));
posY += 25;
page.addElement(insertMiniText("Valor", posX+370, posY+2, 120));
GDDate today = new GDDate();
GDDate graceDays = new GDDate(billet.getParcel().getDate());
graceDays.addDays(Integer.valueOf(system.getProperty("gracedays")));
Money value = new Money(0.0);
value = new Money(billet.getParcel().getValueAfterParcelDateExpiration());
page.addElement(insertRightText(value.getFormatedValue(), posX+370, posY+10, 160));
posY += 25;
page.addElement(drawHorizontalLine(posX+365, posY, 170));
page.addElement(insertMiniText("(-) Desconto/Abatimento:", posX+370, posY+2, 120));
Money disccount = new Money(0);
if( (billet.getTicketAndMora() != null && billet.getDisccount() != null) ) {
if( new GDDate(billet.getParcel().getDate()).before(new GDDate()) && today.after(graceDays) ) {
valueDiscount = "0";
}
disccount = new Money(billet.getDisccount().getFloatValue() + new Money(valueDiscount).getFloatValue());
page.addElement(insertRightText(disccount.getFormatedValue(), posX+370, posY+10, 160));
}
posY += 25;
page.addElement(drawHorizontalLine(posX+365, posY, 170));
page.addElement(insertMiniText("(-) Outros/Abatimento:", posX+370, posY+2, 120));
posY += 25;
page.addElement(drawHorizontalLine(posX+365, posY, 170));
page.addElement(insertMiniText("(+) Multa/Mora:", posX+370, posY+2, 120));
page.addElement(insertRightText(billet.getTicketAndMora() == null ? "" : billet.getTicketAndMora().getFormatedValue(), posX+370, posY+10, 160));
posY += 25;
page.addElement(drawHorizontalLine(posX+365, posY, 170));
page.addElement(insertMiniText("(+) Outros/Acr�scimo:", posX+370, posY+2, 120));
posY += 25;
page.addElement(drawHorizontalLine(posX+365, posY, 170));
page.addElement(drawGrayRectangle(posX+365, posY, 170, 25, 0));
page.addElement(insertMiniText("(=) Valor Cobrado:", posX+370, posY+2, 120));
if(billet.getTicketAndMora() != null && billet.getDisccount() != null) {
Money valueTotal = new Money((value.getFloatValue() + billet.getTicketAndMora().getFloatValue()) - disccount.getFloatValue());
page.addElement(insertRightText(valueTotal.getFloatValue() == 0 ? "" : valueTotal.getFormatedValue(), posX+370, posY+10, 160));
}
posY += 24;
page.addElement(drawHorizontalLine(posX, posY, 534));
}