}
System.out.println("@@@@getCodiceProdotto : <"+m.getCodiceProdotto()+"> getCodiceCategoria<"+ m.getCodiceCategoria()+">");
System.out.println("@@@@getTipoRata : <"+gdf.getCodiceTipoRata()+"> Generazionepiano<"+ gdf.getCodiceTipoGenerazionepiano()+">");
RowPianoAmmortamento rowPiano = new RowPianoAmmortamento();
rowPiano.setMutuo(m);
//BARBARA Aggiunto controllo perche' alcuni mutui hanno importo richiesto NULL
if (gdf.getImportoRichiesto() != null && gdf.getTassoRendimento() != null) {
if ( gdf.getImportoRichiesto()>0 &&
gdf.getTotaleRate()>0 &&
gdf.getTassoRendimento()>0){
rowPiano.setImportoRataInput(0d);
}else{
rowPiano.setImportoRataInput(gdf.getImportoRataOriginale());
}
} else {
rowPiano.setImportoRataInput(gdf.getImportoRataOriginale());
}
if ( gdf.getFlagArrotondamento() == null ||
"".equals(gdf.getFlagArrotondamento())){
gdf.setFlagArrotondamento("N");
}
rowPiano.setDatiFinanziari(gdf);
if (m.getSegnalatore().size() > 0){
rowPiano.setSegnalatore(m.getSegnalatore().iterator().next());
}
rowPiano.setListaMutuatari(listaMutuatari);
rowPiano.setAssicurazioneVita(assicurazioneVita);
rowPiano.setAssicurazioneIncendio(assicurazioneIncendio);
rowPiano.setAssicurazioneRischio(assicurazioneRischio);
rowPiano.setNumeroPianoAmmortamento(gdf.getNumeroPam());
rowPiano.setTassoRendimentoInput(gdf.getTassoRendimento());
rowPiano.setTassoInteressiInput(gdf.getTassoInteressi());
rowPiano.setSpaccatureRate(spaccaturaRate);
rowPiano.setRicalcolaPiano(true);
rowPiano.setNumeroRateInput(gdf.getTotaleRate());
//rowPiano.setPianoAmmortamento(pianoAmmortamento);
rowPiano.setVisualizzaCosti(true);
rowPiano.setListaParametriDatiFinanziariImportiLocali(listaParametriDatiFinanziariImportiLocali);
//SE RATA VARIABILI FORZO COME PARAMETRO DA PRENDERE IN CONSIDERAZIONE
//IL TASSO NOMINALE
// BARBARA Aggiunto controllo dato che importoRichiesto = 0 e va in errore
// se non ha importo o tasso.
if ("V".equals( gdf.getCodiceTipoRata() ) &&
gdf.getTassoPeriodale()!=null &&
gdf.getTassoPeriodale()>0 &&
gdf.getImportoRichiesto() != null &&
gdf.getImportoRichiesto() > 0){
//gdf.setImportoRichiesto(0d);
gdf.setTassoPeriodale(0d);
}
rowPiano.setTassoNominaleInput(gdf.getTassoPeriodale());
rowPiano.setTassoNominaleDaFrontEnd(true);
rowPiano.setTassoRendimentoInput(gdf.getTassoRendimento());
rowPiano.setTassoRendimentoDaFrontEnd(true);
System.out.println("@@@@CHIAMO pianoAmmortamentoController.calcolaPianoAmmortamento(rowPiano);");
rowPiano = pianoAmmortamentoController.calcolaPianoAmmortamento(rowPiano);
MutuoTest mTest = new MutuoTest();
//mTest.setNumeroMutuo(m.getNumeroMutuo());
BeanUtils.copyProperties(mTest,m );
GruppoDatiFinanziariTest gruppoDatiFinanziariTest = new GruppoDatiFinanziariTest();
BeanUtils.copyProperties(gruppoDatiFinanziariTest, rowPiano.getDatiFinanziari());
gruppoDatiFinanziariTest.setMutuoTest(mTest);
Set<GruppoDatiFinanziariTest> listaGruppoDatiFinanziariTest = new HashSet<GruppoDatiFinanziariTest>();
listaGruppoDatiFinanziariTest.add(gruppoDatiFinanziariTest);
mTest.setGruppoDatiFinanziari(listaGruppoDatiFinanziariTest);
System.out.println("@@@@gruppoDatiFinanziariTest getTaeg <"+gruppoDatiFinanziariTest.getTaeg()+">");
List<PianoAmmortamento> pianoCalcolato = rowPiano.getPianoAmmortamento();
// loggaPiano(pianoCalcolato);
//ASSOCIO AL MUTUO IL PIANO DI AMMORTAMENTO
Set<PianoAmmortamentoTest> pamTest = new HashSet<PianoAmmortamentoTest>();