}
public void testRicalcolaPamUltimaErogazione () {
Finanziamento fin = new FinanziamentoSalRegolareRicalcolaFake();
Finanziamento finpam = new FinanziamentoSalRegolarePAMRicalcolaFake();
try {
finpam = generatorePdAService.calcolaPAM(finpam);
fin.setPam(finpam.getPam());
fin.setTotaliPam(finpam.getTotaliPam());
fin.setImportoFinanziato(finpam.getImportoFinanziato());
fin.setDataScadenzaPrimaRata(sdf.parse("08/11/2007"));
fin.setDataDecorrenzaMutuo(sdf.parse("08/10/2007"));
fin.setDataPrimaIndicizzazione(sdf.parse("08/12/2007"));
fin.setNumeroRate(finpam.getNumeroRate());
//la rata del 08/09 � di poco dopo il versamento per cui � gi� in banca, quindi non pu� essere variata,
//saranno poi i dietimi che mettono a posto le cose andando a ridurre la rata successiva
for(Rata rata :fin.getPam()){
if(sdf.parse("1/10/2009").after(rata.getDtScadRata())){
rata.setCodicePosizioneRata(2);
}else{
rata.setCodicePosizioneRata(1);
}
}
MovimentoTrancheSal tranche = new MovimentoTrancheSal();
tranche.setDataRegistrazione(sdf.parse("26/08/2009"));
tranche.setDataMovimento(sdf.parse("26/08/2009"));
tranche.setImportoMovimento(10000d);
tranche.setImportoProvvigioni(325d);
tranche.setPercentualeImpostaSostitutiva(0.25d);
tranche.setImportoSpese(150d);
tranche.setImportoSpeseInterne(100d);
tranche.setImportoErogato(9725d);
tranche.setLastTranche("S");
// generatorePdAService.calcolaDietimiSal(finpam, tranche);
//
if(fin.getMovimentiTrancheSal()==null){
fin.setMovimentiTrancheSal(new ArrayList<MovimentoTrancheSal>());
}
fin.getMovimentiTrancheSal().add(tranche);
fin.setDataRiferimento(sdf.parse("26/08/2009") );
fin.setProgressivoMovimento(1);
fin = generatorePdAService.ricalcolaPianoAmmortamento(fin, tranche);
loggamiIlPiano(fin);
} catch (ParseException e) {
// TODO Auto-generated catch block