String ordinamentoGruppoOld = "";
BilancioTipoNumeroGruppo tipoNumeroGruppo = null;
Double dareCont1 = 0d, avereCont1 = 0d, dareExtraCont1 = 0d, avereExtraCont1 = 0d, saldoDare1 = 0d, saldoAvere1 = 0d;
String attivoPassivoOld = "";
BilancioTipoAttivita tipoAttivita = null;
Double dareCont2 = 0d, avereCont2 = 0d, dareExtraCont2 = 0d, avereExtraCont2 = 0d, saldoDare2 = 0d, saldoAvere2 = 0d;
int gruppoOld = 0;
BilancioGruppo gruppo = null;
Double dareCont3 = 0d, avereCont3 = 0d, dareExtraCont3 = 0d, avereExtraCont3 = 0d, saldoDare3 = 0d, saldoAvere3 = 0d;
int mastroOld = 0;
BilancioMastro mastro = null;
Double dareCont4 = 0d, avereCont4 = 0d, dareExtraCont4 = 0d, avereExtraCont4 = 0d, saldoDare4 = 0d, saldoAvere4 = 0d;
int contoOld = 0;
BilancioConto conto = null;
Double dareCont5 = 0d, avereCont5 = 0d, dareExtraCont5 = 0d, avereExtraCont5 = 0d, saldoDare5 = 0d, saldoAvere5 = 0d;
for (Bilancio elem : lista) {
if (input.getLivelloDettaglio().equals("C")) {
// //conto
if (elem.getCodiceGruppo().intValue() != gruppoOld || elem.getCodiceMastro().intValue() != mastroOld
|| elem.getCodiceConto().intValue() != contoOld) {
if (conto != null) {
conto.setDareContabile(dareCont5);
conto.setAvereContabile(avereCont5);
conto.setDareExtraContabile(dareExtraCont5);
conto.setAvereExtraContabile(avereExtraCont5);
conto.setSaldoDare(saldoDare5);
conto.setSaldoAvere(saldoAvere5);
dareCont5 = 0d;
avereCont5 = 0d;
dareExtraCont5 = 0d;
avereExtraCont5 = 0d;
saldoDare5 = 0d;
saldoAvere5 = 0d;
mastro.getConti().add(conto);
}
conto = new BilancioConto();
conto.setCodiceConto(elem.getCodiceConto());
conto.setDescrizioneConto(elem.getDescrizioneConto());
contoOld = elem.getCodiceConto();
}
dareCont5 += elem.getDareContabile();
avereCont5 += elem.getAvereContabile();
dareExtraCont5 += elem.getDareExtraContabile();
avereExtraCont5 += elem.getAvereExtraContabile();
saldoDare5 += elem.getSaldoDare();
saldoAvere5 += elem.getSaldoAvere();
// //fine conto
}
// //mastro
if (elem.getCodiceGruppo().intValue() != gruppoOld || elem.getCodiceMastro().intValue() != mastroOld) {
if (mastro != null) {
mastro.setDareContabile(dareCont4);
mastro.setAvereContabile(avereCont4);
mastro.setDareExtraContabile(dareExtraCont4);
mastro.setAvereExtraContabile(avereExtraCont4);
mastro.setSaldoDare(saldoDare4);
mastro.setSaldoAvere(saldoAvere4);
dareCont4 = 0d;
avereCont4 = 0d;
dareExtraCont4 = 0d;
avereExtraCont4 = 0d;
saldoDare4 = 0d;
saldoAvere4 = 0d;
gruppo.getMastri().add(mastro);
}
mastro = new BilancioMastro();
mastro.setCodiceMastro(elem.getCodiceMastro());
mastro.setDescrizioneMastro(elem.getDescrizioneMastro());
mastroOld = elem.getCodiceMastro();
}
dareCont4 += elem.getDareContabile();
avereCont4 += elem.getAvereContabile();
dareExtraCont4 += elem.getDareExtraContabile();
avereExtraCont4 += elem.getAvereExtraContabile();
saldoDare4 += elem.getSaldoDare();
saldoAvere4 += elem.getSaldoAvere();
// //fine mastro
// //gruppo
if (elem.getCodiceGruppo().intValue() != gruppoOld) {
if (gruppo != null) {
gruppo.setDareContabile(dareCont3);
gruppo.setAvereContabile(avereCont3);
gruppo.setDareExtraContabile(dareExtraCont3);
gruppo.setAvereExtraContabile(avereExtraCont3);
gruppo.setSaldoDare(saldoDare3);
gruppo.setSaldoAvere(saldoAvere3);
dareCont3 = 0d;
avereCont3 = 0d;
dareExtraCont3 = 0d;
avereExtraCont3 = 0d;
saldoDare3 = 0d;
saldoAvere3 = 0d;
tipoAttivita.getGruppi().add(gruppo);
}
gruppo = new BilancioGruppo();
gruppo.setCodiceGruppo(elem.getCodiceGruppo());
gruppo.setDescrizioneGruppo(elem.getDescrizioneGruppo());
gruppoOld = elem.getCodiceGruppo();
}
dareCont3 += elem.getDareContabile();
avereCont3 += elem.getAvereContabile();
dareExtraCont3 += elem.getDareExtraContabile();
avereExtraCont3 += elem.getAvereExtraContabile();
saldoDare3 += elem.getSaldoDare();
saldoAvere3 += elem.getSaldoAvere();
// //fine gruppo
// //tipo attivita
if (!elem.getDescrizioneAttivoPassivo().equals(attivoPassivoOld)) {
if (tipoAttivita != null) {
tipoAttivita.setDareContabile(dareCont2);
tipoAttivita.setAvereContabile(avereCont2);
tipoAttivita.setDareExtraContabile(dareExtraCont2);
tipoAttivita.setAvereExtraContabile(avereExtraCont2);
tipoAttivita.setSaldoDare(saldoDare2);
tipoAttivita.setSaldoAvere(saldoAvere2);
dareCont2 = 0d;
avereCont2 = 0d;
dareExtraCont2 = 0d;
avereExtraCont2 = 0d;
saldoDare2 = 0d;
saldoAvere2 = 0d;
tipoNumeroGruppo.getTipoAttivita().add(tipoAttivita);
}
tipoAttivita = new BilancioTipoAttivita();
tipoAttivita.setDescrizioneAttivoPassivo(elem.getDescrizioneAttivoPassivo());
attivoPassivoOld = elem.getDescrizioneAttivoPassivo();
}
dareCont2 += elem.getDareContabile();
avereCont2 += elem.getAvereContabile();
dareExtraCont2 += elem.getDareExtraContabile();
avereExtraCont2 += elem.getAvereExtraContabile();
saldoDare2 += elem.getSaldoDare();
saldoAvere2 += elem.getSaldoAvere();
// //fine tipo attivita
// //ordinamento gruppi
if (!elem.getOrdinamentoGruppo().equals(ordinamentoGruppoOld)) {
if (tipoNumeroGruppo != null) {
tipoNumeroGruppo.setDareContabile(dareCont1);
tipoNumeroGruppo.setAvereContabile(avereCont1);
tipoNumeroGruppo.setDareExtraContabile(dareExtraCont1);
tipoNumeroGruppo.setAvereExtraContabile(avereExtraCont1);
tipoNumeroGruppo.setSaldoDare(saldoDare1);
tipoNumeroGruppo.setSaldoAvere(saldoAvere1);
dareCont1 = 0d;
avereCont1 = 0d;
dareExtraCont1 = 0d;
avereExtraCont1 = 0d;
saldoDare1 = 0d;
saldoAvere1 = 0d;
risultato.add(tipoNumeroGruppo);
}
tipoNumeroGruppo = new BilancioTipoNumeroGruppo();
if (elem.getOrdinamentoGruppo().equals("1")) {
tipoNumeroGruppo.setDescrizioneTipoNumeroGruppo("STATO PATRIMONIALE");
} else if (elem.getOrdinamentoGruppo().equals("2")) {
tipoNumeroGruppo.setDescrizioneTipoNumeroGruppo("CONTI D'ORDINE");
} else if (elem.getOrdinamentoGruppo().equals("3")) {
tipoNumeroGruppo.setDescrizioneTipoNumeroGruppo("CONTI ECONOMICI");
} else {
tipoNumeroGruppo.setDescrizioneTipoNumeroGruppo("TIPO GRUPPO ERRATO!");
}
ordinamentoGruppoOld = elem.getOrdinamentoGruppo();
}
dareCont1 += elem.getDareContabile();
avereCont1 += elem.getAvereContabile();
dareExtraCont1 += elem.getDareExtraContabile();
avereExtraCont1 += elem.getAvereExtraContabile();
saldoDare1 += elem.getSaldoDare();
saldoAvere1 += elem.getSaldoAvere();
// //fine ordinamento gruppi
}
if (input.getLivelloDettaglio().equals("C")) {
if (conto != null) {
conto.setDareContabile(dareCont5);
conto.setAvereContabile(avereCont5);
conto.setDareExtraContabile(dareExtraCont5);
conto.setAvereExtraContabile(avereExtraCont5);
conto.setSaldoDare(saldoDare5);
conto.setSaldoAvere(saldoAvere5);
mastro.getConti().add(conto);
}
}
if (mastro != null) {
mastro.setDareContabile(dareCont4);
mastro.setAvereContabile(avereCont4);
mastro.setDareExtraContabile(dareExtraCont4);
mastro.setAvereExtraContabile(avereExtraCont4);
mastro.setSaldoDare(saldoDare4);
mastro.setSaldoAvere(saldoAvere4);
gruppo.getMastri().add(mastro);
}
if (gruppo != null) {
gruppo.setDareContabile(dareCont3);
gruppo.setAvereContabile(avereCont3);
gruppo.setDareExtraContabile(dareExtraCont3);
gruppo.setAvereExtraContabile(avereExtraCont3);
gruppo.setSaldoDare(saldoDare3);
gruppo.setSaldoAvere(saldoAvere3);
tipoAttivita.getGruppi().add(gruppo);
}
if (tipoAttivita != null) {
tipoAttivita.setDareContabile(dareCont2);
tipoAttivita.setAvereContabile(avereCont2);
tipoAttivita.setDareExtraContabile(dareExtraCont2);
tipoAttivita.setAvereExtraContabile(avereExtraCont2);
tipoAttivita.setSaldoDare(saldoDare2);
tipoAttivita.setSaldoAvere(saldoAvere2);
tipoNumeroGruppo.getTipoAttivita().add(tipoAttivita);
}
if (tipoNumeroGruppo != null) {
tipoNumeroGruppo.setDareContabile(dareCont1);
tipoNumeroGruppo.setAvereContabile(avereCont1);