Skip to content

Commit

Permalink
Aggiunto controllo sul codice CIG in fase di emissione e modifica del…
Browse files Browse the repository at this point in the history
… mandato di pagamento
  • Loading branch information
mspasiano committed Jul 30, 2021
1 parent 873a58e commit 51083ae
Showing 1 changed file with 29 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,7 @@
import it.cnr.contab.compensi00.docs.bulk.CompensoBulk;
import it.cnr.contab.compensi00.docs.bulk.ConguaglioBulk;
import it.cnr.contab.compensi00.docs.bulk.ConguaglioHome;
import it.cnr.contab.config00.bulk.Codici_siopeBulk;
import it.cnr.contab.config00.bulk.Configurazione_cnrBulk;
import it.cnr.contab.config00.bulk.Configurazione_cnrHome;
import it.cnr.contab.config00.bulk.Parametri_cnrBulk;
import it.cnr.contab.config00.bulk.*;
import it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession;
import it.cnr.contab.config00.esercizio.bulk.EsercizioBulk;
import it.cnr.contab.config00.pdcfin.bulk.Voce_fBulk;
Expand Down Expand Up @@ -4627,6 +4624,12 @@ public OggettoBulk modificaConBulk(UserContext userContext, OggettoBulk bulk)
mandato = (MandatoBulk) super.modificaConBulk(userContext, bulk);
}
}
/**
* Verifica CIG su fatture
*/
if (bulk instanceof MandatoIBulk) {
verificaCIGSUFatture(userContext, (MandatoIBulk) bulk);
}
return mandato;
} catch (Exception e) {
throw handleException(bulk, e);
Expand Down Expand Up @@ -5367,6 +5370,28 @@ private void verificaCIGSUFatture(UserContext userContext, MandatoBulk mandatoBu
}
}
codiciCIG = codiciCIG.stream().distinct().collect(Collectors.toList());
/**
* Validazione del codice CIG
*/
for(CigBulk cigBulk : codiciCIG.stream()
.map(s -> new CigBulk(s))
.map(cigBulk -> {
try {
return findByPrimaryKey(userContext, cigBulk);
} catch (ComponentException e) {
throw new DetailedRuntimeException("Cannot find CIG:" + cigBulk.getCdCig());
}
})
.filter(CigBulk.class::isInstance)
.map(CigBulk.class::cast)
.collect(Collectors.toList())){
try {
cigBulk.validate();
} catch (ValidationException e) {
throw new ApplicationMessageFormatException("Il CIG {0} indicato sul documento amministrativo collegato non è valido!", cigBulk.getCdCig());
}
}

motiviAssenzaCIG = motiviAssenzaCIG.stream().distinct().collect(Collectors.toList());
if (isExistsFatturaEstera) {
if (codiciCIG.isEmpty() && motiviAssenzaCIG.isEmpty()) {
Expand Down

0 comments on commit 51083ae

Please sign in to comment.