Search in sources :

Example 1 with Configurazione_cnrHome

use of it.cnr.contab.config00.bulk.Configurazione_cnrHome in project sigla-main by consiglionazionaledellericerche.

the class ReversaleComponent method findUnita_organizzativa.

/**
 * ricerca uo a cui assegnare la reversale per cds diverso da SAC
 * PreCondition:
 * E' stato generata la richiesta di creazione di una reversale di trasferimento
 * Il Cds beneficiario dell'accreditamento è diverso dal SAC
 * PostCondition:
 * L'UO-cds del Cds beneficiario dell'accreditamento viene restituito
 * <p>
 * ricerca uo a cui assegnare la reversale per cds uguale a SAC
 * PreCondition:
 * E' stato generata la richiesta di creazione di una reversale di trasferimento
 * Il Cds beneficiario dell'accreditamento è uguale al SAC
 * PostCondition:
 * Viene letta da Configurazione CNR il codice dell'uo per l'accreditamento SAC e vengono resituiti
 * i dati di tale UO
 *
 * @param userContext lo <code>UserContext</code> che ha generato la richiesta
 * @param mandato     <code>MandatoAccreditamentoBulk</code> il mandato di accreditamento da generare
 * @return Unita_organizzativaBulk l'uo a cui assegnare la reversale di trasferimento
 */
private Unita_organizzativaBulk findUnita_organizzativa(UserContext userContext, MandatoAccreditamentoBulk mandato) throws ComponentException {
    try {
        // verifico se è il cds SAC
        boolean isSac = false;
        SQLBuilder sql = getHome(userContext, CdsBulk.class).createSQLBuilder();
        sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", SQLBuilder.EQUALS, mandato.getCodice_cds());
        sql.addSQLClause("AND", "CD_TIPO_UNITA", SQLBuilder.EQUALS, Tipo_unita_organizzativaHome.TIPO_UO_SAC);
        List result = getHome(userContext, CdsBulk.class).fetchAll(sql);
        if (result.size() != 0)
            isSac = true;
        if (!isSac) {
            // cerco l'uo-cds
            sql = getHome(userContext, Unita_organizzativaBulk.class).createSQLBuilder();
            sql.addSQLClause("AND", "CD_UNITA_PADRE", SQLBuilder.EQUALS, mandato.getCodice_cds());
            sql.addSQLClause("AND", "FL_UO_CDS", SQLBuilder.EQUALS, "Y");
            result = getHome(userContext, Unita_organizzativaBulk.class).fetchAll(sql);
            if (result.size() != 1)
                throw new ApplicationException("Non è possibile identificare l'uo-cds per il Cds " + mandato.getCodice_cds());
            return ((Unita_organizzativaBulk) result.get(0));
        } else {
            // cerco l'uo in configurazione CNR
            String cdUo = Optional.ofNullable(((Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class)).getUoAccreditamentoSac(CNRUserContext.getEsercizio(userContext))).orElseThrow(() -> new ApplicationException("Configurazione CNR: manca la definizione dell'UO_SPECIALE per ACCREDITAMENTO SAC per l'esercizio " + CNRUserContext.getEsercizio(userContext) + "."));
            return (Unita_organizzativaBulk) getHome(userContext, Unita_organizzativaBulk.class).findByPrimaryKey(new Unita_organizzativaBulk(cdUo));
        }
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : BulkList(it.cnr.jada.bulk.BulkList) Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) ParseException(java.text.ParseException) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) SQLException(java.sql.SQLException) PersistencyException(it.cnr.jada.persistency.PersistencyException) IOException(java.io.IOException) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk)

Example 2 with Configurazione_cnrHome

use of it.cnr.contab.config00.bulk.Configurazione_cnrHome in project sigla-main by consiglionazionaledellericerche.

the class SaldoComponent method checkPdgPianoEconomico.

public void checkPdgPianoEconomico(UserContext userContext, Pdg_variazioneBulk variazione) throws ComponentException {
    try {
        if (Utility.createParametriEnteComponentSession().isProgettoPianoEconomicoEnabled(userContext, CNRUserContext.getEsercizio(userContext))) {
            Unita_organizzativaBulk uoScrivania = (Unita_organizzativaBulk) getHome(userContext, Unita_organizzativaBulk.class).findByPrimaryKey(new Unita_organizzativaBulk(CNRUserContext.getCd_unita_organizzativa(userContext)));
            /*
				 * non effettuo alcun controllo se è collegata la UO Ente e la variazione è fatta dalla UO Ente
				 * oppure
				 * la variazione è generata automaticamente (es. in fase di emissione obbligazione)
				 */
            if (variazione.getCentro_responsabilita().getUnita_padre().isUoEnte() && (uoScrivania.isUoEnte() || Pdg_variazioneBulk.MOTIVAZIONE_VARIAZIONE_AUTOMATICA.equals(variazione.getTiMotivazioneVariazione())))
                return;
            /*
				 * non effettuo alcun controllo se si tratta di variazione IVA
				 */
            PersistentHome homeLiqVar = getHome(userContext, Liquidazione_iva_variazioniBulk.class);
            SQLBuilder sqlLiqVar = homeLiqVar.createSQLBuilder();
            sqlLiqVar.addClause(FindClause.AND, "esercizio_variazione_comp", SQLBuilder.EQUALS, variazione.getEsercizio());
            sqlLiqVar.addClause(FindClause.AND, "pg_variazione_comp", SQLBuilder.EQUALS, variazione.getPg_variazione_pdg());
            if (sqlLiqVar.executeCountQuery(getConnection(userContext)) > 0)
                return;
            it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession configSession = Utility.createConfigurazioneCnrComponentSession();
            List<CtrlPianoEco> listCtrlPianoEco = new ArrayList<CtrlPianoEco>();
            String cdNaturaReimpiego = configSession.getVal01(userContext, new Integer(0), null, Configurazione_cnrBulk.PK_GESTIONE_PROGETTI, Configurazione_cnrBulk.SK_NATURA_REIMPIEGO);
            String cdVoceSpeciale = configSession.getVal01(userContext, new Integer(0), null, Configurazione_cnrBulk.PK_ELEMENTO_VOCE_SPECIALE, Configurazione_cnrBulk.SK_TEMPO_IND_SU_PROGETTI_FINANZIATI);
            String cdrPersonale = Optional.ofNullable(((Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class)).getCdrPersonale(CNRUserContext.getEsercizio(userContext))).orElseThrow(() -> new ComponentException("Non è possibile individuare il codice CDR del Personale."));
            CdrBulk cdrPersonaleBulk = (CdrBulk) getHome(userContext, CdrBulk.class).findByPrimaryKey(new CdrBulk(cdrPersonale));
            String uoRagioneria = ((Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class)).getUoRagioneria(CNRUserContext.getEsercizio(userContext));
            Ass_pdg_variazione_cdrHome ass_cdrHome = (Ass_pdg_variazione_cdrHome) getHome(userContext, Ass_pdg_variazione_cdrBulk.class);
            java.util.Collection<Pdg_variazione_riga_gestBulk> dettagliVariazione = ass_cdrHome.findDettagli(variazione);
            for (Pdg_variazione_riga_gestBulk varStanzRiga : dettagliVariazione) {
                // verifico se si tratta di area
                CdrBulk cdrBulk = (CdrBulk) getHome(userContext, CdrBulk.class).findByPrimaryKey(new CdrBulk(varStanzRiga.getCd_cdr_assegnatario()));
                Unita_organizzativaBulk uoBulk = (Unita_organizzativaBulk) getHome(userContext, Unita_organizzativaBulk.class).findByPrimaryKey(new Unita_organizzativaBulk(cdrBulk.getCd_unita_organizzativa()));
                boolean isUoArea = uoBulk.getCd_tipo_unita().equals(Tipo_unita_organizzativaHome.TIPO_UO_AREA);
                // verifico se si tratta di voce accentrata verso il personale
                Elemento_voceBulk voce = (Elemento_voceBulk) getHome(userContext, Elemento_voceBulk.class).findByPrimaryKey(varStanzRiga.getElemento_voce());
                Classificazione_vociBulk classif = (Classificazione_vociBulk) getHome(userContext, Classificazione_vociBulk.class).findByPrimaryKey(new Classificazione_vociBulk(voce.getId_classificazione()));
                boolean isDettPersonale = classif.getFl_accentrato() && cdrPersonale.equals(classif.getCdr_accentratore());
                boolean isUoRagioneria = uoBulk.getCd_unita_organizzativa().equals(uoRagioneria);
                // recupero la GAE
                WorkpackageBulk linea = ((WorkpackageHome) getHome(userContext, WorkpackageBulk.class)).searchGAECompleta(userContext, varStanzRiga.getEsercizio(), varStanzRiga.getCd_cdr_assegnatario(), varStanzRiga.getCd_linea_attivita());
                Optional.ofNullable(linea).orElseThrow(() -> new ApplicationException("Errore in fase di ricerca linea_attivita " + varStanzRiga.getEsercizio() + "/" + varStanzRiga.getCd_centro_responsabilita() + "/" + varStanzRiga.getCd_linea_attivita() + "."));
                ProgettoBulk progetto = linea.getProgetto();
                // effettuo controlli sulla validità del progetto
                Optional.of(progetto.getOtherField()).filter(el -> el.isStatoApprovato() || el.isStatoChiuso()).orElseThrow(() -> new ApplicationException("Attenzione! Il progetto " + progetto.getCd_progetto() + " non risulta in stato approvato o chiuso. Variazione non consentita!"));
                if (progetto.getOtherField().isDatePianoEconomicoRequired()) {
                    Optional.ofNullable(progetto.getOtherField().getDtInizio()).orElseThrow(() -> new ApplicationException("Attenzione! GAE " + linea.getCd_linea_attivita() + " non selezionabile. " + "La data inizio del progetto non risulta impostata."));
                    Optional.ofNullable(progetto.getOtherField().getDtFine()).orElseThrow(() -> new ApplicationException("Attenzione! GAE " + linea.getCd_linea_attivita() + " non selezionabile. " + "La data fine del progetto non risulta impostata."));
                    // Nelle variazioni controllare la più piccola data tra data inizio progetto e data stipula contratto definitivo
                    // Recupero la lista dei contratti attivi collegati al progetto
                    ProgettoHome progettoHome = (ProgettoHome) getHome(userContext, ProgettoBulk.class);
                    java.util.Collection<ContrattoBulk> contrattiAssociati = progettoHome.findContratti(progetto.getPg_progetto());
                    Optional<ContrattoBulk> optContratto = contrattiAssociati.stream().filter(el -> el.isAttivo() || el.isAttivo_e_Passivo()).min((p1, p2) -> p1.getDt_stipula().compareTo(p2.getDt_stipula())).filter(el -> el.getDt_stipula().before(progetto.getOtherField().getDtInizio()));
                    if (optContratto.isPresent())
                        optContratto.filter(ctr -> ctr.getDt_stipula().after(variazione.getDt_chiusura())).ifPresent(ctr -> {
                            throw new ApplicationRuntimeException("Attenzione! GAE " + linea.getCd_linea_attivita() + " non selezionabile. " + "La data stipula (" + new java.text.SimpleDateFormat("dd/MM/yyyy").format(ctr.getDt_stipula()) + ") del primo contratto " + ctr.getEsercizio() + "/" + ctr.getStato() + "/" + ctr.getPg_contratto() + " associato al progetto " + progetto.getCd_progetto() + " è successiva " + "rispetto alla data di chiusura della variazione (" + new java.text.SimpleDateFormat("dd/MM/yyyy").format(variazione.getDt_chiusura()) + ").");
                        });
                    else
                        Optional.of(progetto.getOtherField().getDtInizio()).filter(dt -> !dt.after(variazione.getDt_chiusura())).orElseThrow(() -> new ApplicationException("Attenzione! GAE " + linea.getCd_linea_attivita() + " non selezionabile. " + "La data inizio (" + new java.text.SimpleDateFormat("dd/MM/yyyy").format(progetto.getOtherField().getDtInizio()) + ") del progetto " + progetto.getCd_progetto() + " associato è successiva " + "rispetto alla data di chiusura della variazione (" + new java.text.SimpleDateFormat("dd/MM/yyyy").format(variazione.getDt_chiusura()) + ")."));
                }
                // recupero il record se presente altrimenti ne creo uno nuovo
                CtrlPianoEco pianoEco = listCtrlPianoEco.stream().filter(el -> el.getProgetto().getPg_progetto().equals(progetto.getPg_progetto())).findFirst().orElse(new CtrlPianoEco(progetto));
                if (variazione.isVariazioneRimodulazioneProgetto()) {
                    if (variazione.getProgettoRimodulazione().getPg_progetto().compareTo(progetto.getPg_progetto()) != 0)
                        throw new ApplicationException("Attenzione! Nella variazione " + variazione.getEsercizio() + "/" + variazione.getPg_variazione_pdg() + " risulta movimentato un progetto differente rispetto a quello della " + "rimodulazione associata. Operazione non possibile!");
                    pianoEco.setRimodulazione(variazione.getProgettoRimodulazione());
                }
                // creo il dettaglio
                CtrlPianoEcoDett dett = new CtrlPianoEcoDett();
                dett.setTipoDett(varStanzRiga.getTi_gestione());
                dett.setImporto(varStanzRiga.getIm_variazione());
                dett.setCdrPersonale(isDettPersonale);
                dett.setUoArea(isUoArea);
                dett.setUoRagioneria(isUoRagioneria);
                dett.setElementoVoce(varStanzRiga.getElemento_voce());
                if (Optional.ofNullable(cdNaturaReimpiego).map(el -> el.equals(linea.getNatura().getCd_natura())).orElse(Boolean.FALSE)) {
                    dett.setTipoNatura(CtrlPianoEcoDett.TIPO_REIMPIEGO);
                    if (!variazione.getTipo_variazione().isStorno())
                        throw new ApplicationException("Attenzione! Risultano movimentazioni sulla GAE " + linea.getCd_linea_attivita() + " con natura 6 - 'Reimpiego di risorse' " + " consentito solo per operazioni di storno. Operazione non possibile.");
                } else if (linea.getNatura().isFonteEsterna())
                    dett.setTipoNatura(CtrlPianoEcoDett.TIPO_FONTE_ESTERNA);
                else
                    dett.setTipoNatura(CtrlPianoEcoDett.TIPO_FONTE_INTERNA);
                dett.setVoceSpeciale(Optional.ofNullable(cdVoceSpeciale).map(el -> el.equals(varStanzRiga.getCd_elemento_voce())).orElse(Boolean.FALSE));
                pianoEco.getDett().add(dett);
                if (!listCtrlPianoEco.contains(pianoEco))
                    listCtrlPianoEco.add(pianoEco);
            }
            controllaPdgPianoEconomico(userContext, variazione, listCtrlPianoEco, cdVoceSpeciale, cdrPersonaleBulk);
        }
    } catch (DetailedRuntimeException _ex) {
        throw new ApplicationException(_ex.getMessage());
    } catch (PersistencyException | RemoteException | IntrospectionException | SQLException e) {
        throw new ComponentException(e);
    }
}
Also used : V_classificazione_vociBulk(it.cnr.contab.config00.pdcfin.cla.bulk.V_classificazione_vociBulk) Pdg_variazione_riga_gestBulk(it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestBulk) EsercizioBulk(it.cnr.contab.config00.esercizio.bulk.EsercizioBulk) Voce_piano_economico_prgBulk(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk) BigDecimal(java.math.BigDecimal) Liquidazione_iva_variazioniBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_iva_variazioniBulk) Var_stanz_res_rigaBulk(it.cnr.contab.varstanz00.bulk.Var_stanz_res_rigaBulk) CostantiTi_gestione(it.cnr.contab.config00.latt.bulk.CostantiTi_gestione) it.cnr.contab.progettiric00.core.bulk(it.cnr.contab.progettiric00.core.bulk) ObjectNotFoundException(it.cnr.jada.persistency.ObjectNotFoundException) Ass_var_stanz_res_cdrBulk(it.cnr.contab.varstanz00.bulk.Ass_var_stanz_res_cdrBulk) Pdg_variazioneBulk(it.cnr.contab.pdg00.bulk.Pdg_variazioneBulk) PersistentHome(it.cnr.jada.persistency.sql.PersistentHome) CdrHome(it.cnr.contab.config00.sto.bulk.CdrHome) Classificazione_vociBulk(it.cnr.contab.config00.pdcfin.cla.bulk.Classificazione_vociBulk) Timestamp(java.sql.Timestamp) it.cnr.contab.config00.bulk(it.cnr.contab.config00.bulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Tipo_unita_organizzativaHome(it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome) Pdg_modulo_speseBulk(it.cnr.contab.prevent01.bulk.Pdg_modulo_speseBulk) Collectors(java.util.stream.Collectors) Ass_pdg_variazione_cdrHome(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrHome) Serializable(java.io.Serializable) RemoteException(java.rmi.RemoteException) Ass_var_stanz_res_cdrHome(it.cnr.contab.varstanz00.bulk.Ass_var_stanz_res_cdrHome) EJBException(javax.ejb.EJBException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) Stream(java.util.stream.Stream) Var_stanz_resBulk(it.cnr.contab.varstanz00.bulk.Var_stanz_resBulk) WorkpackageBulk(it.cnr.contab.config00.latt.bulk.WorkpackageBulk) Voce_piano_economico_prgHome(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgHome) UserContext(it.cnr.jada.UserContext) java.util(java.util) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) Utility(it.cnr.contab.util.Utility) it.cnr.contab.prevent00.bulk(it.cnr.contab.prevent00.bulk) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Pdg_variazioneHome(it.cnr.contab.pdg00.bulk.Pdg_variazioneHome) Pdg_modulo_costiBulk(it.cnr.contab.prevent01.bulk.Pdg_modulo_costiBulk) SQLException(java.sql.SQLException) it.cnr.contab.config00.pdcfin.bulk(it.cnr.contab.config00.pdcfin.bulk) V_classificazione_vociHome(it.cnr.contab.config00.pdcfin.cla.bulk.V_classificazione_vociHome) Var_stanz_res_rigaHome(it.cnr.contab.varstanz00.bulk.Var_stanz_res_rigaHome) Tipo_variazioneBulk(it.cnr.contab.pdg01.bulk.Tipo_variazioneBulk) FindClause(it.cnr.jada.persistency.sql.FindClause) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) Configurazione_cnrComponentSession(it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession) WorkpackageHome(it.cnr.contab.config00.latt.bulk.WorkpackageHome) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ContrattoBulk(it.cnr.contab.config00.contratto.bulk.ContrattoBulk) Var_stanz_resHome(it.cnr.contab.varstanz00.bulk.Var_stanz_resHome) CdrBulk(it.cnr.contab.config00.sto.bulk.CdrBulk) BulkList(it.cnr.jada.bulk.BulkList) Pdg_variazione_riga_gestHome(it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestHome) Numerazione_doc_contBulk(it.cnr.contab.doccont00.core.bulk.Numerazione_doc_contBulk) ObbligazioneBulk(it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk) EsercizioHome(it.cnr.contab.config00.esercizio.bulk.EsercizioHome) ComponentException(it.cnr.jada.comp.ComponentException) Ass_pdg_variazione_cdrBulk(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) SQLException(java.sql.SQLException) WorkpackageHome(it.cnr.contab.config00.latt.bulk.WorkpackageHome) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Ass_pdg_variazione_cdrHome(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrHome) CdrBulk(it.cnr.contab.config00.sto.bulk.CdrBulk) Ass_pdg_variazione_cdrBulk(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrBulk) Pdg_variazione_riga_gestBulk(it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestBulk) PersistencyException(it.cnr.jada.persistency.PersistencyException) UserContext(it.cnr.jada.UserContext) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) WorkpackageBulk(it.cnr.contab.config00.latt.bulk.WorkpackageBulk) Classificazione_vociBulk(it.cnr.contab.config00.pdcfin.cla.bulk.Classificazione_vociBulk) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) Configurazione_cnrComponentSession(it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession) ContrattoBulk(it.cnr.contab.config00.contratto.bulk.ContrattoBulk) ApplicationException(it.cnr.jada.comp.ApplicationException) java.util(java.util) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) ComponentException(it.cnr.jada.comp.ComponentException) PersistentHome(it.cnr.jada.persistency.sql.PersistentHome) RemoteException(java.rmi.RemoteException)

Example 3 with Configurazione_cnrHome

use of it.cnr.contab.config00.bulk.Configurazione_cnrHome in project sigla-main by consiglionazionaledellericerche.

the class FatturaElettronicaPassivaComponent method getEmailPecSdi.

public Configurazione_cnrBulk getEmailPecSdi(UserContext userContext, boolean lock) throws it.cnr.jada.comp.ComponentException {
    try {
        Configurazione_cnrBulk configurazione_cnrBulk = new Configurazione_cnrBulk(Configurazione_cnrBulk.PK_EMAIL_PEC, Configurazione_cnrBulk.SK_SDI, "*", new Integer(0));
        Configurazione_cnrHome configurazione_cnrHome = (Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class);
        configurazione_cnrBulk = (Configurazione_cnrBulk) configurazione_cnrHome.findAndLock(configurazione_cnrBulk);
        if (lock) {
            if ("Y".equalsIgnoreCase(configurazione_cnrBulk.getVal04()))
                return null;
            configurazione_cnrBulk.setVal04("Y");
            configurazione_cnrBulk.setToBeUpdated();
            configurazione_cnrHome.update(configurazione_cnrBulk, userContext);
        }
        return configurazione_cnrBulk;
    } catch (BusyResourceException _ex) {
        return null;
    } catch (Throwable e) {
        throw handleException(e);
    }
}
Also used : BusyResourceException(it.cnr.jada.bulk.BusyResourceException) Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk)

Example 4 with Configurazione_cnrHome

use of it.cnr.contab.config00.bulk.Configurazione_cnrHome in project sigla-main by consiglionazionaledellericerche.

the class DistintaCassiereComponent method lockMessaggiSIOPEPlus.

public Configurazione_cnrBulk lockMessaggiSIOPEPlus(UserContext userContext) throws it.cnr.jada.comp.ComponentException {
    try {
        Configurazione_cnrBulk configurazione_cnrBulk = new Configurazione_cnrBulk(Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_ATTIVO_SIOPEPLUS, "*", CNRUserContext.getEsercizio(userContext));
        Configurazione_cnrHome configurazione_cnrHome = (Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class);
        configurazione_cnrBulk = (Configurazione_cnrBulk) configurazione_cnrHome.findAndLock(configurazione_cnrBulk);
        if ("Y".equalsIgnoreCase(configurazione_cnrBulk.getVal04()))
            return null;
        configurazione_cnrBulk.setVal04("Y");
        configurazione_cnrBulk.setToBeUpdated();
        configurazione_cnrHome.update(configurazione_cnrBulk, userContext);
        return configurazione_cnrBulk;
    } catch (BusyResourceException _ex) {
        return null;
    } catch (Throwable e) {
        throw handleException(e);
    }
}
Also used : Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk)

Example 5 with Configurazione_cnrHome

use of it.cnr.contab.config00.bulk.Configurazione_cnrHome in project sigla-main by consiglionazionaledellericerche.

the class ObbligazioneHome method findLineeAttivitaSAC.

/**
 * <!-- @TODO: da completare -->
 *
 * @param capitoliList
 * @return
 * @throws IntrospectionException
 * @throws PersistencyException
 */
public java.util.List findLineeAttivitaSAC(List cdrList, List capitoliList, ObbligazioneBulk obbligazione) throws IntrospectionException, PersistencyException {
    try {
        String statement = "SELECT DISTINCT A.* FROM " + EJBCommonServices.getDefaultSchema() + "V_PDG_OBBLIGAZIONE_SPE A " + "WHERE " + "(A.CATEGORIA_DETTAGLIO = ? OR " + "(A.CATEGORIA_DETTAGLIO = 'STI' AND A.CD_CENTRO_RESPONSABILITA = ? ) OR " + "A.CATEGORIA_DETTAGLIO = ?) AND " + "A.ESERCIZIO = ? AND " + "A.ESERCIZIO_RES = ? AND " + "A.TI_APPARTENENZA = ? AND " + "A.TI_GESTIONE = ? AND " + "A.CD_ELEMENTO_VOCE = ? AND ";
        int sizeCapitoli = capitoliList.size();
        if (sizeCapitoli == 0)
            return Collections.EMPTY_LIST;
        if (capitoliList.get(0) instanceof Voce_fBulk) {
            statement = statement.concat("( (A.CD_FUNZIONE = ? AND A.CD_CENTRO_RESPONSABILITA = ? ) ");
            for (int t = 1; t < sizeCapitoli; t++) statement = statement.concat("OR (A.CD_FUNZIONE = ? AND A.CD_CENTRO_RESPONSABILITA = ? ) ");
            statement = statement.concat(" ) ");
        } else {
            int sizeCdr = cdrList.size();
            if (sizeCdr == 0)
                return Collections.EMPTY_LIST;
            statement = statement.concat("( (A.CD_FUNZIONE = ? AND A.CD_CENTRO_RESPONSABILITA = ? ) ");
            for (int t = 1; t < sizeCdr; t++) statement = statement.concat("OR (A.CD_FUNZIONE = ? AND A.CD_CENTRO_RESPONSABILITA = ? ) ");
            statement = statement.concat(" ) ");
        }
        LoggableStatement ps = new LoggableStatement(getConnection(), statement, true, this.getClass());
        try {
            IVoceBilancioBulk capitolo = (IVoceBilancioBulk) capitoliList.iterator().next();
            Optional<String> optCdrPersonale = Optional.ofNullable(((Configurazione_cnrHome) getHomeCache().getHome(Configurazione_cnrBulk.class)).getCdrPersonale(capitolo.getEsercizio()));
            if (!optCdrPersonale.isPresent())
                throw new RuntimeException("Non è possibile individuare il codice CDR del Personale per l'esercizio " + capitolo.getEsercizio() + ".");
            ps.setString(1, Pdg_preventivo_detBulk.CAT_SINGOLO);
            ps.setString(2, optCdrPersonale.get());
            ps.setString(3, Pdg_modulo_spese_gestBulk.CAT_DIRETTA);
            ps.setObject(4, capitolo.getEsercizio());
            ps.setObject(5, obbligazione.getEsercizio_originale());
            ps.setString(6, Elemento_voceHome.APPARTENENZA_CDS);
            ps.setString(7, Elemento_voceHome.GESTIONE_SPESE);
            ps.setString(8, capitolo.getCd_titolo_capitolo());
            int j = 9;
            Iterator i = capitoliList.iterator();
            capitolo = (IVoceBilancioBulk) i.next();
            if (capitolo instanceof Voce_fBulk) {
                ps.setString(j++, capitolo.getCd_funzione());
                ps.setString(j++, ((Voce_fBulk) capitolo).getCd_centro_responsabilita());
                for (; i.hasNext(); ) {
                    capitolo = (Voce_fBulk) i.next();
                    ps.setString(j++, capitolo.getCd_funzione());
                    ps.setString(j++, ((Voce_fBulk) capitolo).getCd_centro_responsabilita());
                }
            } else {
                // per cui non effettuo il loop sull'iterator capitoliList
                for (Iterator iterator = cdrList.iterator(); iterator.hasNext(); ) {
                    CdrBulk cdr = (CdrBulk) iterator.next();
                    ps.setString(j++, capitolo.getCd_funzione());
                    ps.setString(j++, cdr.getCd_centro_responsabilita());
                }
            }
            ResultSet rs = ps.executeQuery();
            try {
                PersistentHome pdgHome = getHomeCache().getHome(V_pdg_obbligazione_speBulk.class);
                return pdgHome.fetchAll(pdgHome.createBroker(ps, rs));
            } catch (Exception e) {
                throw new PersistencyException(e);
            } finally {
                try {
                    rs.close();
                } catch (java.sql.SQLException e) {
                }
                ;
            }
        } catch (SQLException e) {
            throw new PersistencyException(e);
        } finally {
            try {
                ps.close();
            } catch (java.sql.SQLException e) {
            }
            ;
        }
    } catch (SQLException e) {
        throw new PersistencyException(e);
    }
}
Also used : LoggableStatement(it.cnr.jada.persistency.sql.LoggableStatement) SQLException(java.sql.SQLException) IVoceBilancioBulk(it.cnr.contab.config00.pdcfin.bulk.IVoceBilancioBulk) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) SQLException(java.sql.SQLException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComponentException(it.cnr.jada.comp.ComponentException) Voce_fBulk(it.cnr.contab.config00.pdcfin.bulk.Voce_fBulk) CdrBulk(it.cnr.contab.config00.sto.bulk.CdrBulk) SQLException(java.sql.SQLException) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) ResultSet(java.sql.ResultSet) PersistencyException(it.cnr.jada.persistency.PersistencyException) PersistentHome(it.cnr.jada.persistency.sql.PersistentHome)

Aggregations

Configurazione_cnrHome (it.cnr.contab.config00.bulk.Configurazione_cnrHome)21 Configurazione_cnrBulk (it.cnr.contab.config00.bulk.Configurazione_cnrBulk)18 ComponentException (it.cnr.jada.comp.ComponentException)15 PersistencyException (it.cnr.jada.persistency.PersistencyException)14 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)13 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)13 ApplicationException (it.cnr.jada.comp.ApplicationException)12 RemoteException (java.rmi.RemoteException)10 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)9 UserContext (it.cnr.jada.UserContext)9 SQLException (java.sql.SQLException)9 ApplicationRuntimeException (it.cnr.jada.comp.ApplicationRuntimeException)8 EJBException (javax.ejb.EJBException)8 WorkpackageBulk (it.cnr.contab.config00.latt.bulk.WorkpackageBulk)7 Pdg_variazioneBulk (it.cnr.contab.pdg00.bulk.Pdg_variazioneBulk)7 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)7 BigDecimal (java.math.BigDecimal)7 Collectors (java.util.stream.Collectors)7 Configurazione_cnrComponentSession (it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession)6 CdrBulk (it.cnr.contab.config00.sto.bulk.CdrBulk)6