public void checkDatiProtocollo(MovimentoContabile movimentoContabile, List<MovimentoContabile> movimentiInCanna)
throws ContabilitaException {
GruppoParametriContabili gruppoParametriContabiliGenerali = contabilitaDao
.leggiGruppoParametriContabili("PGEN");
CheckerMovimentoContabile checker = new CheckerMovimentoContabile(gruppoParametriContabiliGenerali, null);
Esercizio esercizio = checker.checkDataProtocollo(movimentoContabile);
String codiceTipoProtocollo = movimentoContabile.getCodiceTipoProtocollo();
String codiceSocietaVeicolo = movimentoContabile.getCodiceSocietaVeicolo();
List<MovimentoContabile> movimentiStessoTipoProtEsercizioSocVeicolo = contabilitaDao
.cercaMovimentiContabiliByTipoProtocolloEsercizioSocietaVeicolo(codiceTipoProtocollo,
esercizio.getInizio(), esercizio.getFine(), codiceSocietaVeicolo);
Integer numeroProtocollo = movimentoContabile.getNumeroProtocollo();
for (MovimentoContabile movimentoStessoTipoProtEsercizioSocVeicolo : movimentiStessoTipoProtEsercizioSocVeicolo) {
if (numeroProtocollo.equals(movimentoStessoTipoProtEsercizioSocVeicolo.getNumeroProtocollo())) {
throw new ArticoloStessoProtocolloException(codiceTipoProtocollo);
}
}
if (movimentiInCanna != null) {
List<MovimentoContabile> movimentiInCannaDaConsiderare = new ArrayList<MovimentoContabile>();
for (MovimentoContabile movimentoInCanna : movimentiInCanna) {
if (movimentoInCanna != movimentoContabile
&& codiceTipoProtocollo.equals(movimentoInCanna.getCodiceTipoProtocollo())
&& !(movimentoInCanna.getDataRegistrazione().before(esercizio.getInizio()) || movimentoInCanna
.getDataRegistrazione().after(esercizio.getFine()))
&& codiceSocietaVeicolo.equals(movimentoInCanna.getCodiceSocietaVeicolo())
&& movimentoInCanna.getNumeroProtocollo() != null
&& movimentoInCanna.getDataProtocollo() != null)
movimentiInCannaDaConsiderare.add(movimentoInCanna);
}