use of it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDBltVisiteBP method createBPCreazioneIncarico.
public CRUDIncarichiProceduraBP createBPCreazioneIncarico(ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
try {
Blt_visiteBulk visita = (Blt_visiteBulk) getModel();
Blt_progettiBulk progetto = visita.getBltAutorizzatiDett().getBltAutorizzati().getBltProgetti();
Blt_accordiBulk accordo = progetto.getBltAccordo();
CRUDIncarichiProceduraBP incaricoProceduraBP = (CRUDIncarichiProceduraBP) context.getUserInfo().createBusinessProcess(context, "CRUDIncarichiProceduraBP", new Object[] { "MRSW", visita });
incaricoProceduraBP.reset(context);
Incarichi_proceduraBulk procedura = (Incarichi_proceduraBulk) incaricoProceduraBP.getModel();
procedura.setCd_firmatario(61999);
// metodo per riempire immediatamente il firmatario
V_persona_fisicaBulk firmatario = new V_persona_fisicaBulk();
firmatario.setCd_terzo(61999);
try {
RemoteIterator ri = incaricoProceduraBP.find(context, null, firmatario, procedura, "firmatario");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, ri);
if (ri != null && ri.countElements() == 1)
procedura.setFirmatario((V_persona_fisicaBulk) ri.nextElement());
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
} catch (Exception e) {
}
// metodo per riempire immediatamente la Procedura Amministrativa
try {
RemoteIterator ri = incaricoProceduraBP.find(context, null, new Tipo_atto_amministrativoBulk("DEC"), procedura, "atto");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, ri);
if (ri != null && ri.countElements() == 1)
procedura.setAtto((Tipo_atto_amministrativoBulk) ri.nextElement());
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
} catch (Exception e) {
}
procedura.setDs_atto("Protocollo nr." + visita.getBltAutorizzatiDett().getBltAutorizzati().getBltProgetti().getBltAccordo().getNum_prot_dec_contr() + " del " + new java.text.SimpleDateFormat("dd/MM/yyyy").format(visita.getBltAutorizzatiDett().getBltAutorizzati().getBltProgetti().getBltAccordo().getData_prot_dec_contr().getTime()));
procedura.setOggetto("Accordo di cooperazione scientifica tra CNR e " + accordo.getNome_ente_str() + " (" + accordo.getAcronimo_ente_str() + "), " + accordo.getNazioneStr().getDs_nazione() + " - " + (accordo.getAnno_fin() - accordo.getAnno_ini() == 1 ? "Biennio" : (accordo.getAnno_fin() - accordo.getAnno_ini() == 2 ? "Triennio" : "Anni")) + " " + accordo.getAnno_ini().toString() + "-" + accordo.getAnno_fin().toString() + ". Progetto comune di ricerca " + progetto.getResponsabileIta().getDenominazione_sede().toUpperCase() + " / " + progetto.getResponsabileStr().getDenominazione_sede().toUpperCase() + ". Soggiorno di ricerca Dott. " + visita.getBltAutorizzatiDett().getBltAutorizzati().getTerzo().getDenominazione_sede());
// metodo per riempire immediatamente il responsabile del procedimento
V_persona_fisicaBulk responsabile = new V_persona_fisicaBulk();
responsabile.setCd_terzo(visita.getBltAutorizzatiDett().getBltAutorizzati().getBltProgetti().getBltAccordo().getCd_respons_ita());
try {
RemoteIterator ri = incaricoProceduraBP.find(context, null, responsabile, procedura, "terzo_resp");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, ri);
if (ri != null && ri.countElements() == 1)
procedura.setTerzo_resp((V_persona_fisicaBulk) ri.nextElement());
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
} catch (Exception e) {
}
// metodo per riempire immediatamente la Procedura Amministrativa
try {
RemoteIterator ri = incaricoProceduraBP.find(context, null, new Procedure_amministrativeBulk("INC3"), procedura, "procedura_amministrativa");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, ri);
if (ri != null && ri.countElements() == 1)
procedura = incaricoProceduraBP.initializeProcedura_amministrativa(context, procedura, (Procedure_amministrativeBulk) ri.nextElement());
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
} catch (Exception e) {
}
// metodo per riempire immediatamente il tipo di attivita
try {
RemoteIterator ri = incaricoProceduraBP.find(context, null, new Tipo_attivitaBulk("2"), procedura, "tipo_attivita");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, ri);
if (ri != null && ri.countElements() == 1)
procedura.setTipo_attivita((Tipo_attivitaBulk) ri.nextElement());
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
} catch (Exception e) {
}
// metodo per riempire immediatamente il tipo di incarico
try {
RemoteIterator ri = incaricoProceduraBP.find(context, null, new Tipo_incaricoBulk("1"), procedura, "tipo_incarico");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, ri);
if (ri != null && ri.countElements() == 1)
procedura = incaricoProceduraBP.initializeFind_tipo_incarico(context, procedura, (Tipo_incaricoBulk) ri.nextElement());
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
} catch (Exception e) {
}
if (visita.isVisitaItaliano())
procedura.setImporto_lordo(BigDecimal.ZERO);
else
procedura.setImporto_lordo(visita.getImRimbPrevisto());
incaricoProceduraBP.changeImportoLordo(context, procedura, Utility.nvl(procedura.getImporto_lordo()));
procedura.setToBeCreated();
if (procedura.getImporto_complessivo().compareTo(BigDecimal.ZERO) != 0) {
incaricoProceduraBP.getRipartizionePerAnno().add(context);
Incarichi_procedura_annoBulk procAnno = (Incarichi_procedura_annoBulk) incaricoProceduraBP.getRipartizionePerAnno().getModel();
procAnno.setImporto_iniziale(procedura.getImporto_complessivo());
procAnno.setToBeCreated();
}
Incarichi_repertorioBulk incarico = new Incarichi_repertorioBulk();
incarico.setDt_stipula(visita.getDataProtContratto());
incarico.setDt_inizio_validita(visita.getDtIniVisita());
incarico.setDt_fine_validita(visita.getDtFinVisita());
incarico.setCd_provv("CNR-AMMCNT");
incarico.setNr_provv(visita.getNumProtAttribIncarico().intValue());
incarico.setDt_provv(visita.getDtProtAttribIncarico());
incarico.setIncarichi_procedura(procedura);
// metodo per riempire immediatamente il responsabile del procedimento
V_terzo_per_compensoBulk terzo = new V_terzo_per_compensoBulk();
terzo.setCd_terzo(visita.getCdTerzo());
try {
RemoteIterator ri = incaricoProceduraBP.find(context, null, terzo, incarico, "v_terzo");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, ri);
if (ri != null && ri.countElements() == 1)
incarico = incaricoProceduraBP.initializeTerzo(context, incarico, (V_terzo_per_compensoBulk) ri.nextElement());
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
} catch (BusinessProcessException e) {
throw handleException(e);
} catch (Exception e) {
}
incarico.setToBeCreated();
incaricoProceduraBP.getIncarichiColl().add(context, incarico);
incaricoProceduraBP.setDirty(Boolean.TRUE);
return incaricoProceduraBP;
} catch (Throwable e) {
throw handleException(e);
}
}
use of it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDIncarichiProceduraBP method allineaDatiProceduraIncarichi.
private void allineaDatiProceduraIncarichi(UserContext userContext, Incarichi_proceduraBulk procedura) throws it.cnr.jada.action.BusinessProcessException {
if (procedura.getIncarichi_repertorioColl().isEmpty())
return;
if (procedura.getNr_contratti().compareTo(1) == 0) {
if (procedura.getIncarichi_repertorioColl().size() > 1)
throw new BusinessProcessException("Attenzione! Risultano collegati più contratti alla procedura che ne prevede uno solo.");
Incarichi_repertorioBulk incarico = (Incarichi_repertorioBulk) procedura.getIncarichi_repertorioColl().get(0);
for (Iterator<Incarichi_repertorio_annoBulk> i = incarico.getIncarichi_repertorio_annoColl().iterator(); i.hasNext(); ) {
Incarichi_repertorio_annoBulk incarico_anno = i.next();
if (procedura.getNr_contratti_iniziale() == null || procedura.getNr_contratti_iniziale().compareTo(1) != 1) {
incarico_anno.setImporto_iniziale(Utility.ZERO);
}
incarico_anno.setImporto_complessivo(Utility.ZERO);
incarico_anno.setToBeUpdated();
}
boolean aggiornato = false;
for (Iterator<Incarichi_procedura_annoBulk> i = procedura.getIncarichi_procedura_annoColl().iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk procedura_anno = i.next();
aggiornato = false;
for (Iterator<Incarichi_repertorio_annoBulk> y = incarico.getIncarichi_repertorio_annoColl().iterator(); y.hasNext(); ) {
Incarichi_repertorio_annoBulk incarico_anno = y.next();
if (incarico_anno.getEsercizio_limite() != null && incarico_anno.getEsercizio_limite().equals(procedura_anno.getEsercizio_limite())) {
if (procedura.getNr_contratti_iniziale() == null || procedura.getNr_contratti_iniziale().compareTo(1) != 1) {
incarico_anno.setImporto_iniziale(procedura_anno.getImporto_iniziale());
}
incarico_anno.setImporto_complessivo(procedura_anno.getImporto_complessivo());
incarico_anno.setToBeUpdated();
aggiornato = true;
break;
}
}
if (!aggiornato) {
Incarichi_repertorio_annoBulk incarico_anno = new Incarichi_repertorio_annoBulk();
incarico.addToIncarichi_repertorio_annoColl(incarico_anno);
incarico_anno.setEsercizio_limite(procedura_anno.getEsercizio_limite());
if (procedura.getNr_contratti_iniziale() == null || procedura.getNr_contratti_iniziale().compareTo(1) != 1) {
incarico_anno.setImporto_iniziale(procedura_anno.getImporto_iniziale());
}
incarico_anno.setImporto_complessivo(procedura_anno.getImporto_complessivo());
incarico_anno.setToBeCreated();
}
}
List<Incarichi_repertorio_annoBulk> incaricoAnnoListToBeDeleted = new ArrayList<Incarichi_repertorio_annoBulk>();
for (Iterator i = incarico.getIncarichi_repertorio_annoColl().iterator(); i.hasNext(); ) {
Incarichi_repertorio_annoBulk incarico_anno = (Incarichi_repertorio_annoBulk) i.next();
if (Optional.ofNullable(incarico_anno).flatMap(incarichi_repertorio_annoBulk -> Optional.ofNullable(incarichi_repertorio_annoBulk.getImporto_iniziale())).orElse(BigDecimal.ZERO).compareTo(BigDecimal.ZERO) == 0 && Optional.ofNullable(incarico_anno).flatMap(incarichi_repertorio_annoBulk -> Optional.ofNullable(incarichi_repertorio_annoBulk.getImporto_complessivo())).orElse(BigDecimal.ZERO).compareTo(BigDecimal.ZERO) == 0) {
boolean trovatoAnno = false;
for (Iterator<Incarichi_procedura_annoBulk> y = procedura.getIncarichi_procedura_annoColl().iterator(); y.hasNext(); ) {
Incarichi_procedura_annoBulk proceduraAnno = y.next();
if (incarico_anno.getEsercizio_limite() != null && proceduraAnno.getEsercizio_limite().compareTo(incarico_anno.getEsercizio_limite()) == 0)
trovatoAnno = true;
}
if (!trovatoAnno) {
incarico_anno.setToBeDeleted();
incaricoAnnoListToBeDeleted.add(incarico_anno);
}
}
}
for (Incarichi_repertorio_annoBulk incaricoAnnoToBeDelete : incaricoAnnoListToBeDeleted) incarico.removeFromIncarichi_repertorio_annoColl(incarico.getIncarichi_repertorio_annoColl().indexOf(incaricoAnnoToBeDelete));
if (incarico.getIncarichi_repertorio_annoColl().isEmpty()) {
Incarichi_repertorio_annoBulk incarico_anno = new Incarichi_repertorio_annoBulk();
incarico.addToIncarichi_repertorio_annoColl(incarico_anno);
incarico_anno.setEsercizio_limite(procedura.getEsercizio());
incarico_anno.setImporto_iniziale(Utility.ZERO);
incarico_anno.setImporto_complessivo(Utility.ZERO);
incarico_anno.setToBeCreated();
}
// AGGIORNO ANCHE GLI IMPORTI SULLA TESTATA DELL'INCARICO
incarico.setImporto_lordo(procedura.getImporto_lordo());
incarico.setImporto_complessivo(procedura.getImporto_complessivo());
incarico.setToBeUpdated();
} else if (procedura.getNr_contratti().compareTo(1) == 1) {
BulkList procAnnoNewList = new BulkList();
boolean trovato = false;
boolean allContrattiInseriti = procedura.getNr_contratti().compareTo(procedura.getIncarichi_repertorioValidiColl().size()) == 0;
int nrContrattidaInserire = procedura.getNr_contratti() - procedura.getIncarichi_repertorioValidiColl().size();
/*
* Carico una tabella di appoggio in cui, leggendo gli importi per anno degli incarichi, li sommo e
* ricostruisco la struttura di ripartizione degli importi per anno a livello di procedura
*/
for (Iterator<Incarichi_repertorioBulk> i = procedura.getIncarichi_repertorioColl().iterator(); i.hasNext(); ) {
Incarichi_repertorioBulk incarico = i.next();
for (Iterator<Incarichi_repertorio_annoBulk> y = incarico.getIncarichi_repertorio_annoColl().iterator(); y.hasNext(); ) {
Incarichi_repertorio_annoBulk incarico_anno = y.next();
trovato = false;
for (Iterator<Incarichi_procedura_annoBulk> z = procAnnoNewList.iterator(); z.hasNext(); ) {
Incarichi_procedura_annoBulk proceduraAnnoAgg = z.next();
if (proceduraAnnoAgg.getEsercizio_limite().equals(incarico_anno.getEsercizio_limite())) {
proceduraAnnoAgg.setImporto_complessivo(proceduraAnnoAgg.getImporto_complessivo().add(incarico_anno.getImporto_complessivo()));
trovato = true;
break;
}
}
if (!trovato) {
Incarichi_procedura_annoBulk proceduraAnnoAgg = new Incarichi_procedura_annoBulk();
proceduraAnnoAgg.setEsercizio_limite(incarico_anno.getEsercizio_limite());
proceduraAnnoAgg.setImporto_complessivo(incarico_anno.getImporto_complessivo());
procAnnoNewList.add(proceduraAnnoAgg);
}
}
}
/*
* Nel caso in cui non tutti i contratti sono stati inseriti carico le quote per anno dei contratti ancora
* da inserire calcolando l'importo per anno del singolo contratto (importo iniziale/nr contratti) e moltiplicandolo per
* i nr contratti ancora da attribuire.
*/
for (Iterator<Incarichi_procedura_annoBulk> i = procedura.getIncarichi_procedura_annoColl().iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk proceduraAnno = i.next();
if (allContrattiInseriti) {
proceduraAnno.setImporto_complessivo(Utility.ZERO);
if (procedura.getDt_pubblicazione() == null)
proceduraAnno.setImporto_iniziale(Utility.ZERO);
proceduraAnno.setToBeUpdated();
} else if (proceduraAnno.getImporto_iniziale().compareTo(BigDecimal.ZERO) == 1) {
trovato = false;
for (Iterator<Incarichi_procedura_annoBulk> y = procAnnoNewList.iterator(); y.hasNext(); ) {
Incarichi_procedura_annoBulk proceduraAnnoAgg = y.next();
if (proceduraAnnoAgg.getEsercizio_limite().equals(proceduraAnno.getEsercizio_limite())) {
proceduraAnnoAgg.setImporto_complessivo(proceduraAnnoAgg.getImporto_complessivo().add(proceduraAnno.getImporto_iniziale().multiply(new BigDecimal(nrContrattidaInserire)).divide(new BigDecimal(procedura.getNr_contratti()), 2, BigDecimal.ROUND_HALF_EVEN)));
trovato = true;
break;
}
}
if (!trovato) {
Incarichi_procedura_annoBulk proceduraAnnoAgg = new Incarichi_procedura_annoBulk();
proceduraAnnoAgg.setEsercizio_limite(proceduraAnno.getEsercizio_limite());
proceduraAnnoAgg.setImporto_complessivo(proceduraAnno.getImporto_iniziale().multiply(new BigDecimal(nrContrattidaInserire)).divide(new BigDecimal(procedura.getNr_contratti()), 2, BigDecimal.ROUND_HALF_EVEN));
procAnnoNewList.add(proceduraAnnoAgg);
}
}
}
/*
* Scarico la tabella ricostruita in quella effettiva.
*/
for (Iterator<Incarichi_procedura_annoBulk> i = procAnnoNewList.iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk proceduraAnnoAgg = i.next();
trovato = false;
for (Iterator<Incarichi_procedura_annoBulk> y = procedura.getIncarichi_procedura_annoColl().iterator(); y.hasNext(); ) {
Incarichi_procedura_annoBulk proceduraAnno = y.next();
if (proceduraAnno.getEsercizio_limite().equals(proceduraAnnoAgg.getEsercizio_limite())) {
if (proceduraAnno.getImporto_complessivo().compareTo(proceduraAnnoAgg.getImporto_complessivo()) != 0) {
proceduraAnno.setImporto_complessivo(proceduraAnnoAgg.getImporto_complessivo());
proceduraAnno.setToBeUpdated();
}
trovato = true;
break;
}
}
if (!trovato) {
Incarichi_procedura_annoBulk proceduraAnno = new Incarichi_procedura_annoBulk();
procedura.addToIncarichi_procedura_annoColl(proceduraAnno);
proceduraAnno.setEsercizio_limite(proceduraAnnoAgg.getEsercizio_limite());
proceduraAnno.setImporto_iniziale(Utility.ZERO);
proceduraAnno.setImporto_complessivo(proceduraAnnoAgg.getImporto_complessivo());
proceduraAnno.caricaAnniList(userContext);
proceduraAnno.setToBeCreated();
}
}
/*
* Azzero gli importi per i record eliminati.
*/
BulkList deleteList = new BulkList();
for (Iterator<Incarichi_procedura_annoBulk> i = procedura.getIncarichi_procedura_annoColl().iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk proceduraAnno = i.next();
trovato = false;
for (Iterator<Incarichi_procedura_annoBulk> y = procAnnoNewList.iterator(); y.hasNext(); ) {
if ((y.next()).getEsercizio_limite().equals(proceduraAnno.getEsercizio_limite())) {
trovato = true;
break;
}
}
if (!trovato) {
proceduraAnno.setImporto_complessivo(Utility.ZERO);
proceduraAnno.setToBeUpdated();
if (proceduraAnno.getImporto_iniziale().compareTo(Utility.ZERO) == 0) {
proceduraAnno.setToBeDeleted();
deleteList.add(proceduraAnno);
}
}
}
for (Iterator i = deleteList.iterator(); i.hasNext(); ) {
procedura.removeFromIncarichi_procedura_annoColl(procedura.getIncarichi_procedura_annoColl().indexOf(i.next()));
}
}
}
use of it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDIncarichiProceduraBP method initializeModelForEdit.
public OggettoBulk initializeModelForEdit(ActionContext actioncontext, OggettoBulk oggettobulk) throws BusinessProcessException {
try {
oggettobulk = super.initializeModelForEdit(actioncontext, oggettobulk);
Incarichi_proceduraBulk procedura = (Incarichi_proceduraBulk) oggettobulk;
if (!procedura.getFl_migrata_to_cmis())
throw handleException(new ApplicationException("Procedura non utilizzabile. E' in corso una operazione di migrazione dei dati. La procedura tornera' disponibile al termine della stessa."));
// completaUnitaOrganizzativa(actioncontext, procedura, procedura.getUnita_organizzativa());
for (Iterator i = procedura.getIncarichi_procedura_annoColl().iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk procAnno = (Incarichi_procedura_annoBulk) i.next();
procAnno.caricaAnniList(actioncontext);
}
for (Iterator i = procedura.getIncarichi_repertorioColl().iterator(); i.hasNext(); ) {
Incarichi_repertorioBulk repertorio = (Incarichi_repertorioBulk) i.next();
for (Iterator y = repertorio.getIncarichi_repertorio_annoColl().iterator(); y.hasNext(); ) {
Incarichi_repertorio_annoBulk repAnno = (Incarichi_repertorio_annoBulk) y.next();
repAnno.caricaAnniList(actioncontext);
}
if (repertorio.isIncaricoDefinitivo() && (isUoEnte() || isUtenteAbilitatoPubblicazioneSito()))
repertorio.setDataProrogaEnableOnView(Boolean.TRUE);
}
for (Iterator i = procedura.getArchivioAllegatiMI().iterator(); i.hasNext(); ) {
Incarichi_archivioBulk archivio = (Incarichi_archivioBulk) i.next();
if (archivio.isProgetto()) {
Incarichi_parametriBulk parametri = this.getIncarichiParametri(actioncontext.getUserContext(), procedura);
if (!(parametri != null && parametri.getAllega_progetto() != null && parametri.getAllega_progetto().equals("Y")))
archivio.setFileRequired(Boolean.FALSE);
if (parametri != null && parametri.getIndica_url_progetto() != null && parametri.getIndica_url_progetto().equals("Y"))
archivio.setUrlRequired(Boolean.TRUE);
}
}
procedura.setUtenteCollegatoUoEnte(isUoEnte());
procedura.setUtenteCollegatoSuperUtente(isSuperUtente());
return procedura;
} catch (javax.ejb.EJBException ejbe) {
throw handleException(ejbe);
}
}
use of it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk in project sigla-main by consiglionazionaledellericerche.
the class IncarichiProceduraComponent method aggiornaImportiRepertorioLimiti.
private void aggiornaImportiRepertorioLimiti(UserContext userContext, Incarichi_proceduraBulk procedura, int azione) throws ComponentException {
try {
RepertorioLimitiComponentSession comp = Utility.createRepertorioLimitiComponentSession();
Incarichi_proceduraHome procTempHome = (Incarichi_proceduraHome) getTempHome(userContext, Incarichi_proceduraBulk.class);
Incarichi_proceduraBulk proceduraDB = (Incarichi_proceduraBulk) procTempHome.findByPrimaryKey(procedura);
if (azione != INSERIMENTO) {
for (Iterator i = procTempHome.findIncarichi_procedura_annoList(userContext, procedura).iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk dettDB = (Incarichi_procedura_annoBulk) i.next();
if (azione == CANCELLAZIONE || !procedura.getIncarichi_procedura_annoColl().containsByPrimaryKey(dettDB) || !proceduraDB.getCd_tipo_attivita().equals(procedura.getCd_tipo_attivita()) || !proceduraDB.getCd_tipo_incarico().equals(procedura.getCd_tipo_incarico()) || !proceduraDB.getTipo_natura().equals(procedura.getTipo_natura())) {
if (calcolaUtilizzato(userContext, dettDB).compareTo(Utility.ZERO) != 0)
throw new ApplicationException("Eliminazione importi per l'anno " + dettDB.getEsercizio_limite() + " non possibile!\nL'importo risulta già utilizzato.");
if (dettDB.getImporto_complessivo().compareTo(Utility.ZERO) != 0)
comp.aggiornaRepertorioLimiti(userContext, dettDB.getEsercizio_limite(), proceduraDB.getCd_tipo_incarico(), proceduraDB.getCd_tipo_attivita(), proceduraDB.getTipo_natura(), dettDB.getImporto_complessivo().negate());
}
}
}
if (azione != CANCELLAZIONE) {
for (Iterator i = procedura.getIncarichi_procedura_annoColl().iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk dett = (Incarichi_procedura_annoBulk) i.next();
BigDecimal importo = new BigDecimal(0);
if (azione == INSERIMENTO)
importo = dett.getImporto_complessivo();
else {
Incarichi_procedura_annoBulk dettTemp = (Incarichi_procedura_annoBulk) getTempHome(userContext, Incarichi_procedura_annoBulk.class).findByPrimaryKey(dett);
if (dettTemp == null || !proceduraDB.getCd_tipo_attivita().equals(procedura.getCd_tipo_attivita()) || !proceduraDB.getCd_tipo_incarico().equals(procedura.getCd_tipo_incarico()) || !proceduraDB.getTipo_natura().equals(procedura.getTipo_natura()))
importo = dett.getImporto_complessivo();
else
importo = dett.getImporto_complessivo().subtract(dettTemp.getImporto_complessivo());
if (dett.getImporto_complessivo().compareTo(calcolaUtilizzato(userContext, dett)) == -1)
throw new ApplicationException("Modifica importi per l'anno " + dett.getEsercizio_limite() + " non possibile!\nL'importo deve essere almeno pari all'importo utilizzato.");
}
if (importo.compareTo(Utility.ZERO) != 0)
comp.aggiornaRepertorioLimiti(userContext, dett.getEsercizio_limite(), procedura.getCd_tipo_incarico(), procedura.getCd_tipo_attivita(), procedura.getTipo_natura(), importo);
}
}
} catch (Throwable e) {
throw handleException(procedura, e);
}
}
use of it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDIncarichiProceduraBP method update.
public void update(ActionContext actioncontext) throws BusinessProcessException {
super.update(actioncontext);
try {
if (isUoEnte()) {
Incarichi_proceduraBulk procedura = (Incarichi_proceduraBulk) getModel();
StringBuffer messaggioAnno = new StringBuffer();
for (Iterator<Incarichi_procedura_annoBulk> i = ((Incarichi_proceduraBulk) getModel()).getIncarichi_procedura_annoColl().iterator(); i.hasNext(); ) {
Incarichi_procedura_annoBulk procAnno = i.next();
Repertorio_limitiBulk repertorio = Utility.createRepertorioLimitiComponentSession().getRepertorioLimiti(actioncontext.getUserContext(), procAnno.getEsercizio_limite(), procedura.getCd_tipo_incarico(), procedura.getCd_tipo_attivita(), procedura.getTipo_natura());
if (repertorio.getImporto_residuo().compareTo(Utility.ZERO) == -1)
messaggioAnno.append("\n --> Esercizio: " + procAnno.getEsercizio_limite() + " - Limite superato di: " + new it.cnr.contab.util.EuroFormat().format(repertorio.getImporto_residuo().abs()));
}
if (messaggioAnno.length() != 0) {
setMessage("Salvataggio eseguito in modo corretto.\n\n" + "I limiti dei seguenti esercizi risultano essere superati: \n" + messaggioAnno);
}
}
} catch (Exception e) {
throw handleException(e);
}
}
Aggregations