this.option = option;
}
protected void execute(PrevalentSystem system) throws BusinessException {
Registration registration = system.registrations.get(idRegistration);
List<RegistrationItem> registrationItens = registration.getRegistrationItems();
registration.setActive(false);
registration.setEndDate(gdDateEndDate);
registration.addStatus(registrationStatus);
registration.setEndRegistrationEmployee(system.getPeople().get(employeeId));
RegistrationStatus status = getRegistrationStatus(system);
if(!noChangeParcels){
List<Parcel> parcels = registration.getParcels();
GDDate dateLastParcel = new GDDate();
int i = 0;
while (parcels.get(i).isPayed()) {
i++;
}
Parcel lastParcel = parcels.get(i);
dateLastParcel.setDayOfMonth((int) new GDDate(lastParcel.getDate()).getDayOfMonth());
dateLastParcel.setMonthOfYear((int) new GDDate().getMonth());
// Foi adicionado pois verifica se o usuario clicou em SIM ou NAO para remover parcelas existentes
if (option){
registration.setParcels(removeParcelsWhenRegistrationIsEnded(gdDateEndDate.getCalendar(), registration.getParcels(), system));
//if (registration.getParcels().size()>0){
dateLastParcel = new GDDate(registration.getParcel(registration.getParcels().size()-1).getDate());
dateLastParcel.addMonth(1);
// }
}
if(status.getCategory().equals("Desistiu")) {
// GDDate date;
// if (registration.getParcels().size()==0){
// date = new GDDate();
// }else{
// date = new GDDate(registration.getParcels().get(i).getDate());
// }
// dateLastParcel.setDayOfMonth(date.getDayOfMonth());
//Adicionado um m�s para gerar as parcelas da recis�o para o m�s seguinte
// dateLastParcel.setMonthOfYear(date.getMonth()==12 ? 1 : date.getMonth()+1);
//Adiciona as parcelas de acordo com a multa recis�ria
for (i = 0; i < fine; i++) {
Parcel parcel = new Parcel(dateLastParcel.getFormatedDate(), lastParcel.getValueAfterParcelDateExpiration(), lastParcel.getValueBeforeParcelDateExpiration(), lastParcel.getTicket(), lastParcel.getMora(), 0, 0);
registration.getParcels().add(parcel);
dateLastParcel.addMonth(1);
}
}
}