// controllo errore 1
for (SbilancioMovimentoContabileControlliIva ci : listaArticoliProtocolli) {
if (ci.getCodiceTipoProtocollo() == null
&& (ci.getDataProtocollo() != null || (ci.getNumeroProtocollo() != null && ci
.getNumeroProtocollo() != 0))) {
SbilancioMovimentoContabileControlliIva temp = ci;
temp.setCodiceErrore(1);
temp.setDescrizioneErrore(getDescErroreArticoliProtocolli(1));
listaControlliIva.add(ci);
}
}
// controllo errore 2
for (SbilancioMovimentoContabileControlliIva ci : listaArticoliProtocolli) {
if (ci.getCodiceTipoProtocollo() == null && ci.getTipoBollatoIva() != null) {
SbilancioMovimentoContabileControlliIva temp = ci;
temp.setCodiceErrore(2);
temp.setDescrizioneErrore(getDescErroreArticoliProtocolli(2));
listaControlliIva.add(ci);
}
}
// controllo errore 3
for (SbilancioMovimentoContabileControlliIva ci : listaArticoliProtocolli) {
if (ci.getCodiceTipoProtocollo() != null && ci.getDataProtocollo() == null) {
SbilancioMovimentoContabileControlliIva temp = ci;
temp.setCodiceErrore(3);
temp.setDescrizioneErrore(getDescErroreArticoliProtocolli(3));
listaControlliIva.add(ci);
}
}
// controllo errore 4
for (SbilancioMovimentoContabileControlliIva ci : listaArticoliProtocolli) {
if (ci.getCodiceTipoProtocollo() != null
&& (ci.getNumeroProtocollo() == null || ci.getNumeroProtocollo() == 0)) {
SbilancioMovimentoContabileControlliIva temp = ci;
temp.setCodiceErrore(4);
temp.setDescrizioneErrore(getDescErroreArticoliProtocolli(4));
listaControlliIva.add(ci);
}
}
// controllo errore 5 e 6
List<String> tipiProtocollo = new ArrayList<String>();
String tipoProtocolloPrec = "";
for (SbilancioMovimentoContabileControlliIva ci : listaArticoliProtocolli) {
if (ci.getCodiceTipoProtocollo() != null && !ci.getCodiceTipoProtocollo().equals(tipoProtocolloPrec)) {
tipiProtocollo.add(ci.getCodiceTipoProtocollo());
tipoProtocolloPrec = ci.getCodiceTipoProtocollo();
}
}
for (String tp : tipiProtocollo) { // tutti i possibili diversi tipi
// protocollo
Integer numeroProtocolloPrec = 0;
for (SbilancioMovimentoContabileControlliIva ci : listaArticoliProtocolli) {
if (ci.getCodiceTipoProtocollo() != null && ci.getCodiceTipoProtocollo().equals(tp)) {
if (numeroProtocolloPrec != 0) {
if (ci.getNumeroProtocollo() == numeroProtocolloPrec) { // duplicato
SbilancioMovimentoContabileControlliIva temp = ci;
temp.setCodiceErrore(6);
temp.setDescrizioneErrore(getDescErroreArticoliProtocolli(6));
listaControlliIva.add(ci);
} else if (ci.getNumeroProtocollo() != (numeroProtocolloPrec + 1)) { // fuori
// sequenza
SbilancioMovimentoContabileControlliIva temp = ci;
temp.setCodiceErrore(5);
temp.setDescrizioneErrore(getDescErroreArticoliProtocolli(5));
listaControlliIva.add(ci);
}
}
numeroProtocolloPrec = ci.getNumeroProtocollo();
}
}
}
// controllo errore 7
// riordino la lista per codice tipo protocollo , numero protocollo
// per scorrere + agevolmente la lista ed effettuare il controllo
Collections.sort(listaArticoliProtocolli, new SbilancioMovimentoContabileControlliIvaComparator());
// controllo errore 7
Date dataPrec = null;
String codiceTipoProtocolloPrec = null;
for (SbilancioMovimentoContabileControlliIva ci : listaArticoliProtocolli) {
if (ci.getCodiceTipoProtocollo() != null) {
if (!ci.getCodiceTipoProtocollo().equals(codiceTipoProtocolloPrec)) {
dataPrec = ci.getDataProtocollo();
}
if (dataPrec != null && ci.getDataProtocollo().before(dataPrec)) {
SbilancioMovimentoContabileControlliIva temp = ci;
temp.setCodiceErrore(7);
temp.setDescrizioneErrore(getDescErroreArticoliProtocolli(7));
listaControlliIva.add(ci);
} else {
dataPrec = ci.getDataProtocollo();
}
codiceTipoProtocolloPrec = ci.getCodiceTipoProtocollo();