Search in sources :

Example 1 with Incarichi_procedura_annoBulk

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);
    }
}
Also used : Tipo_attivitaBulk(it.cnr.contab.incarichi00.tabrif.bulk.Tipo_attivitaBulk) CRUDIncarichiProceduraBP(it.cnr.contab.incarichi00.bp.CRUDIncarichiProceduraBP) Incarichi_repertorioBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk) Procedure_amministrativeBulk(it.cnr.contab.config00.contratto.bulk.Procedure_amministrativeBulk) Tipo_incaricoBulk(it.cnr.contab.incarichi00.tabrif.bulk.Tipo_incaricoBulk) Blt_accordiBulk(it.cnr.contab.bilaterali00.bulk.Blt_accordiBulk) V_persona_fisicaBulk(it.cnr.contab.anagraf00.core.bulk.V_persona_fisicaBulk) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) ComponentException(it.cnr.jada.comp.ComponentException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) RemoteIterator(it.cnr.jada.util.RemoteIterator) Blt_visiteBulk(it.cnr.contab.bilaterali00.bulk.Blt_visiteBulk) V_terzo_per_compensoBulk(it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk) Incarichi_proceduraBulk(it.cnr.contab.incarichi00.bulk.Incarichi_proceduraBulk) Blt_progettiBulk(it.cnr.contab.bilaterali00.bulk.Blt_progettiBulk) ActionContext(it.cnr.jada.action.ActionContext) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) Tipo_atto_amministrativoBulk(it.cnr.contab.config00.contratto.bulk.Tipo_atto_amministrativoBulk) Incarichi_procedura_annoBulk(it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk)

Example 2 with Incarichi_procedura_annoBulk

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()));
        }
    }
}
Also used : Incarichi_repertorio_annoBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_annoBulk) Incarichi_repertorioBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk) ArrayList(java.util.ArrayList) RemoteIterator(it.cnr.jada.util.RemoteIterator) Iterator(java.util.Iterator) BulkList(it.cnr.jada.bulk.BulkList) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) BigDecimal(java.math.BigDecimal) Incarichi_procedura_annoBulk(it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk)

Example 3 with Incarichi_procedura_annoBulk

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);
    }
}
Also used : Incarichi_repertorio_annoBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_annoBulk) ApplicationException(it.cnr.jada.comp.ApplicationException) Incarichi_parametriBulk(it.cnr.contab.incarichi00.tabrif.bulk.Incarichi_parametriBulk) Incarichi_repertorioBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk) Incarichi_archivioBulk(it.cnr.contab.incarichi00.bulk.Incarichi_archivioBulk) RemoteIterator(it.cnr.jada.util.RemoteIterator) Iterator(java.util.Iterator) Incarichi_proceduraBulk(it.cnr.contab.incarichi00.bulk.Incarichi_proceduraBulk) Incarichi_procedura_annoBulk(it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk)

Example 4 with Incarichi_procedura_annoBulk

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);
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) RepertorioLimitiComponentSession(it.cnr.contab.incarichi00.ejb.RepertorioLimitiComponentSession) BigDecimal(java.math.BigDecimal)

Example 5 with Incarichi_procedura_annoBulk

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);
    }
}
Also used : Repertorio_limitiBulk(it.cnr.contab.incarichi00.bulk.Repertorio_limitiBulk) Incarichi_proceduraBulk(it.cnr.contab.incarichi00.bulk.Incarichi_proceduraBulk) ServletException(javax.servlet.ServletException) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) ApplicationException(it.cnr.jada.comp.ApplicationException) IOException(java.io.IOException) ComponentException(it.cnr.jada.comp.ComponentException) Incarichi_procedura_annoBulk(it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk)

Aggregations

Incarichi_procedura_annoBulk (it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk)5 Incarichi_proceduraBulk (it.cnr.contab.incarichi00.bulk.Incarichi_proceduraBulk)4 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)4 ApplicationException (it.cnr.jada.comp.ApplicationException)4 Incarichi_repertorioBulk (it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk)3 ValidationException (it.cnr.jada.bulk.ValidationException)3 ComponentException (it.cnr.jada.comp.ComponentException)3 RemoteIterator (it.cnr.jada.util.RemoteIterator)3 RemoteException (java.rmi.RemoteException)3 Incarichi_repertorio_annoBulk (it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_annoBulk)2 Repertorio_limitiBulk (it.cnr.contab.incarichi00.bulk.Repertorio_limitiBulk)2 ApplicationRuntimeException (it.cnr.jada.comp.ApplicationRuntimeException)2 IOException (java.io.IOException)2 BigDecimal (java.math.BigDecimal)2 Iterator (java.util.Iterator)2 ServletException (javax.servlet.ServletException)2 V_persona_fisicaBulk (it.cnr.contab.anagraf00.core.bulk.V_persona_fisicaBulk)1 Blt_accordiBulk (it.cnr.contab.bilaterali00.bulk.Blt_accordiBulk)1 Blt_progettiBulk (it.cnr.contab.bilaterali00.bulk.Blt_progettiBulk)1 Blt_visiteBulk (it.cnr.contab.bilaterali00.bulk.Blt_visiteBulk)1