String valuta = "E";
List<AnagrafeTributariaBodyFile> listaFile = new ArrayList<AnagrafeTributariaBodyFile>();
AnagrafeTributariaBodyFile temp;
int contarec = 0;
Double totaleeuro = 0d;
for(AnagrafeTributaria anagmutuo : listaAnagrafiche){
List<AnagrafeTributaria> listasogg = new ArrayList<AnagrafeTributaria>();
listasogg = contabilitaFacade.getAnagraficaMutuoAnagTrib(anno, anagmutuo.getNumeroMutuo());
if(listasogg!=null){
if(listasogg.size()!=0) { //if(listasogg.size()==0) continue;
int totgiorni = 0; //lo calcolo invece di prendere il get(0) che tanto in java non ho
for(AnagrafeTributaria as : listasogg){ totgiorni += Integer.parseInt(as.getNumeroGiorniValidita()); }
Double interessi = anagmutuo.getImportoCertificatoPam()+anagmutuo.getImportoCertificatoIndicizz();
int progressivoMutuatari = 0;
for(AnagrafeTributaria anagsogg : listasogg){
if(!anagsogg.getSesso().equals("S")){
progressivoMutuatari++;
int numgiorni = Integer.parseInt(anagsogg.getNumeroGiorniValidita());
Double interessi1 = Double.parseDouble(""+truncate( (interessi/totgiorni)*numgiorni ) ) ;
if(interessi1 >= 1) { //if(interessi1 < 1) continue;
temp = new AnagrafeTributariaBodyFile();
contarec++;
temp.setTipoRecord(StringUtility.lpad("1",1,' '));
temp.setNumeroMutuo(StringUtility.rpad(""+anagmutuo.getNumeroMutuo(),15,' '));
if(listasogg.size()==1) temp.setProgressivoIntestatario(StringUtility.lpad(""+0,4,'0'));
else temp.setProgressivoIntestatario(StringUtility.lpad(""+progressivoMutuatari,4,'0'));
temp.setTipoMutuo(StringUtility.lpad("2",1,'0'));
temp.setMutuoAg(StringUtility.lpad("0",1,'0'));
temp.setDataStipula( StringUtility.lpad( DateUtility.formattaDataCompattaInversa(anagmutuo.getDataStipula()) ,8,'0') );
temp.setCapitaleFinanziato(StringUtility.lpad( ""+anagmutuo.getImportoFinanziato().intValue() ,13,'0') );
temp.setTotaleInteressi(StringUtility.lpad( ""+interessi1.intValue() ,13,'0') );
totaleeuro+=interessi1;
temp.setNumeroIntestatari(StringUtility.lpad(""+listasogg.size() ,4,'0'));
temp.setCodiceFiscale(StringUtility.lpad(anagsogg.getCodiceFiscale(),16,' '));
String cognome="";
if(anagsogg.getCognome()!=null){
if(anagsogg.getCognome().length()>24) cognome=(anagsogg.getCognome()).substring(0,24);
else cognome = anagsogg.getCognome();
}
temp.setCognome(StringUtility.rpad(cognome,24,' '));
String nome="";
if(anagsogg.getNome()!=null){
if(anagsogg.getNome().length()>20) nome=(anagsogg.getNome()).substring(0,20);
else nome = anagsogg.getNome();
}
temp.setNome(StringUtility.rpad(nome,20,' '));
temp.setSesso(StringUtility.lpad(anagsogg.getSesso(),1,' '));
temp.setDataNascita( StringUtility.lpad( DateUtility.formattaDataCompattaInversa(anagsogg.getDataNascita()) ,8,'0') );
String localitaNascita="";
if(anagsogg.getLocalitaNascita()!=null){
if(anagsogg.getLocalitaNascita().length()>25) localitaNascita=(anagsogg.getLocalitaNascita()).substring(0,25);
else localitaNascita = anagsogg.getLocalitaNascita();
}
temp.setLocalitaNascita( StringUtility.rpad(localitaNascita,25,' '));
if(anagsogg.getNazioneNascita()!=null && anagsogg.getNazioneNascita().equals("086")){
if(anagsogg.getProvinciaNascita()==null) temp.setProvinciaNascita(StringUtility.lpad("",2,' '));
else temp.setProvinciaNascita(StringUtility.lpad(anagsogg.getProvinciaNascita(),2,' '));
}else{ temp.setProvinciaNascita(StringUtility.lpad("EE",2,' ')); }
temp.setProgressivoRecord(StringUtility.lpad(""+contarec,6,'0'));
temp.setValuta(StringUtility.lpad(valuta,1,' '));
temp.setFiller(StringUtility.lpad("", 37, ' '));
listaFile.add(temp);
} // ex continue
temp=null;
}