Search in sources :

Example 26 with ComponentException

use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.

the class ObbligazioneComponent method validaCampi.

private void validaCampi(UserContext uc, ObbligazioneBulk obbligazione) throws ComponentException {
    try {
        // controlli di validazione del campo MOTIVAZIONE
        Parametri_cnrBulk bulkCNR = (Parametri_cnrBulk) getHome(uc, Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(CNRUserContext.getEsercizio(uc)));
        if (bulkCNR == null)
            throw new ApplicationException("Parametri CNR non presenti per l'anno " + CNRUserContext.getEsercizio(uc));
        if (!obbligazione.isObbligazioneResiduo() && bulkCNR.getFl_motivazione_su_imp() && obbligazione.getMotivazione() == null) {
            if (obbligazione.isToBeUpdated()) {
                BigDecimal impObbl = obbligazione.getIm_obbligazione();
                ObbligazioneBulk oldObbl = (ObbligazioneBulk) getHome(uc, ObbligazioneBulk.class).findByPrimaryKey(obbligazione);
                BigDecimal oldImpObbl = oldObbl.getIm_obbligazione();
                if (Utility.nvl(impObbl.subtract(oldImpObbl)).compareTo(Utility.nvl(bulkCNR.getImporto_max_imp())) >= 0 && Utility.nvl(oldImpObbl).compareTo(Utility.nvl(impObbl)) != 0)
                    throw new ApplicationException("Attenzione: il campo MOTIVAZIONE è obbligatorio.");
            } else {
                throw new ApplicationException("Attenzione: il campo MOTIVAZIONE è obbligatorio.");
            }
        }
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) Parametri_cnrBulk(it.cnr.contab.config00.bulk.Parametri_cnrBulk) BigDecimal(java.math.BigDecimal) ObjectNotFoundException(it.cnr.jada.persistency.ObjectNotFoundException) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) 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) ApplicationMessageFormatException(it.cnr.contab.util.ApplicationMessageFormatException) ComponentException(it.cnr.jada.comp.ComponentException)

Example 27 with ComponentException

use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.

the class ObbligazioneComponent method checkDispObbligazioniAccertamenti.

private void checkDispObbligazioniAccertamenti(UserContext userContext, ObbligazioneBulk obbligazione) throws ComponentException {
    BigDecimal importo = Utility.ZERO;
    Obbligazione_scad_voceBulk scad_voceDB;
    Parametri_cdsBulk parametri_cds = null;
    try {
        parametri_cds = (Parametri_cdsBulk) getHome(userContext, Parametri_cdsBulk.class).findByPrimaryKey(new Parametri_cdsBulk(CNRUserContext.getCd_cds(userContext), CNRUserContext.getEsercizio(userContext)));
    } catch (PersistencyException e) {
        throw new ComponentException(e);
    }
    String messaggio = "";
    if (parametri_cds != null && (parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_ERROR) || parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_WARNING))) {
        try {
            SQLBroker broker = getHome(userContext, Obbligazione_scad_voceBulk.class).createBroker(((ObbligazioneHome) getHome(userContext, ObbligazioneBulk.class)).findObbligazione_scad_voceDistinctList(obbligazione));
            while (broker.next()) {
                String cd_voce = (String) broker.fetchPropertyValue("cd_voce", String.class);
                String cd_centro_responsabilita = (String) broker.fetchPropertyValue("cd_centro_responsabilita", String.class);
                String cd_linea_attivita = (String) broker.fetchPropertyValue("cd_linea_attivita", String.class);
                if ((!obbligazione.isCheckDisponibilitaCdrGAEEseguito() || parametri_cds != null && parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_ERROR))) {
                    Voce_fBulk voce = new Voce_fBulk(cd_voce, obbligazione.getEsercizio(), obbligazione.getTi_appartenenza(), obbligazione.getTi_gestione());
                    try {
                        String mess = createSaldoComponentSession().checkDispObbligazioniAccertamenti(userContext, cd_centro_responsabilita, cd_linea_attivita, voce, obbligazione.getEsercizio_originale(), (obbligazione.isObbligazioneResiduo() || obbligazione.isObbligazioneResiduoImproprio()) ? Voce_f_saldi_cdr_lineaBulk.TIPO_RESIDUO_IMPROPRIO : Voce_f_saldi_cdr_lineaBulk.TIPO_COMPETENZA, parametri_cds.getBlocco_impegni_cdr_gae());
                        if (parametri_cds != null && mess != null && parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_ERROR))
                            throw new ApplicationException(mess);
                        if (mess != null)
                            messaggio = messaggio + (messaggio.equals("") ? "" : "<BR>") + mess;
                    } catch (RemoteException e) {
                        throw new ComponentException(e);
                    }
                }
            }
        } catch (IntrospectionException e) {
            throw new ComponentException(e);
        } catch (PersistencyException e) {
            throw new ComponentException(e);
        }
    }
    if (!messaggio.equals("")) {
        if (parametri_cds != null && parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_WARNING))
            throw handleException(new CheckDisponibilitaCdrGAEFailed(messaggio));
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) SQLBroker(it.cnr.jada.persistency.sql.SQLBroker) ComponentException(it.cnr.jada.comp.ComponentException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Parametri_cdsBulk(it.cnr.contab.config00.bulk.Parametri_cdsBulk) PersistencyException(it.cnr.jada.persistency.PersistencyException) RemoteException(java.rmi.RemoteException) BigDecimal(java.math.BigDecimal) Voce_fBulk(it.cnr.contab.config00.pdcfin.bulk.Voce_fBulk)

Example 28 with ComponentException

use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.

the class ObbligazioneComponent method sdoppiaScadenzaInAutomatico.

public IScadenzaDocumentoContabileBulk sdoppiaScadenzaInAutomatico(UserContext userContext, IScadenzaDocumentoContabileBulk scad, DatiFinanziariScadenzeDTO dati) throws ComponentException {
    String nuovaGae = dati.getCdLineaAttivita();
    String nuovaDescrizione = dati.getNuovaDescrizione();
    Timestamp nuovaScadenza = dati.getNuovaScadenza();
    String cdr = dati.getCdCentroResponsabilita();
    String voce = dati.getCdVoce();
    BigDecimal nuovoImportoScadenzaVecchia = dati.getNuovoImportoScadenzaVecchia();
    Obbligazione_scadenzarioBulk scadenzaVecchia = (Obbligazione_scadenzarioBulk) scad;
    if (nuovoImportoScadenzaVecchia.compareTo(scad.getIm_scadenza()) == 0)
        throw handleException(new ApplicationException("Sdoppiamento in automatico non necessario!"));
    if (nuovoImportoScadenzaVecchia.compareTo(new BigDecimal(0)) < 0)
        throw handleException(new ApplicationException("L'importo della scadenza deve essere maggiore di 0"));
    if (nuovoImportoScadenzaVecchia.compareTo(scad.getIm_scadenza()) == 1)
        throw new ApplicationException("L'importo nuovo da assegnare alla scadenza dell'impegno deve essere inferiore al valore originario!");
    try {
        java.math.BigDecimal importoAssociatoScadenzaVecchia = scadenzaVecchia.getIm_associato_doc_amm();
        java.math.BigDecimal vecchioImportoScadenzaVecchia = scadenzaVecchia.getIm_scadenza();
        java.math.BigDecimal importoScadenzaNuova = vecchioImportoScadenzaVecchia.subtract(nuovoImportoScadenzaVecchia);
        BigDecimal newImportoOsv = Utility.ZERO, totImporto = Utility.ZERO;
        ObbligazioneHome obbligazioneHome = (ObbligazioneHome) getHome(userContext, ObbligazioneBulk.class);
        ObbligazioneBulk obbligazione = (ObbligazioneBulk) obbligazioneHome.findByPrimaryKey(scadenzaVecchia.getObbligazione());
        obbligazione = (ObbligazioneBulk) inizializzaBulkPerModifica(userContext, obbligazione);
        // cerco nell'obbligazione riletto la scadenza indicata
        for (Iterator s = obbligazione.getObbligazione_scadenzarioColl().iterator(); s.hasNext(); ) {
            Obbligazione_scadenzarioBulk os = (Obbligazione_scadenzarioBulk) s.next();
            if (os.equalsByPrimaryKey(scadenzaVecchia)) {
                scadenzaVecchia = os;
                if (dati.getMantieniImportoAssociatoScadenza()) {
                    scadenzaVecchia.setIm_associato_doc_amm(importoAssociatoScadenzaVecchia);
                }
                break;
            }
        }
        if (scadenzaVecchia == null)
            throw new ApplicationException("Scadenza da sdoppiare non trovata nell'impegno indicato!");
        Obbligazione_scadenzarioBulk scadenzaNuova = new Obbligazione_scadenzarioBulk();
        scadenzaNuova.setDt_scadenza(nuovaScadenza != null ? nuovaScadenza : scadenzaVecchia.getDt_scadenza());
        scadenzaNuova.setDs_scadenza(nuovaDescrizione != null ? nuovaDescrizione : scadenzaVecchia.getDs_scadenza());
        scadenzaNuova.setPg_obbligazione(dati.getNuovoPgObbligazioneScadenzario());
        obbligazione.addToObbligazione_scadenzarioColl(scadenzaNuova);
        // Rigenero i relativi dettagli
        generaDettagliScadenzaObbligazione(userContext, obbligazione, scadenzaNuova, false);
        for (Iterator s = scadenzaVecchia.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) {
            Obbligazione_scad_voceBulk osvOld = (Obbligazione_scad_voceBulk) s.next();
            if (nuovaGae != null && cdr != null) {
                if (osvOld.getCd_linea_attivita() != null && osvOld.getCd_linea_attivita().equals(nuovaGae) && osvOld.getCd_centro_responsabilita() != null && osvOld.getCd_centro_responsabilita().equals(cdr)) {
                    aggiornaImportoScadVoceScadenzaNuova(importoScadenzaNuova, scadenzaNuova, osvOld);
                    osvOld.setIm_voce(nuovoImportoScadenzaVecchia);
                    osvOld.setToBeUpdated();
                }
            } else {
                newImportoOsv = nuovoImportoScadenzaVecchia.multiply(osvOld.getIm_voce()).divide(vecchioImportoScadenzaVecchia, 2, BigDecimal.ROUND_HALF_UP);
                aggiornaImportoScadVoceScadenzaNuova(newImportoOsv, scadenzaNuova, osvOld);
                osvOld.setIm_voce(newImportoOsv);
                osvOld.setToBeUpdated();
            }
        }
        // Quadro la sommatoria sulla vecchia scadenza
        for (Iterator s = scadenzaVecchia.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) totImporto = totImporto.add(((Obbligazione_scad_voceBulk) s.next()).getIm_voce());
        if (totImporto.compareTo(nuovoImportoScadenzaVecchia) != 0) {
            // recupero il primo dettaglio e lo aggiorno per quadrare
            for (Iterator s = scadenzaVecchia.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) {
                Obbligazione_scad_voceBulk osv = (Obbligazione_scad_voceBulk) s.next();
                BigDecimal arrotondamento = nuovoImportoScadenzaVecchia.subtract(totImporto);
                if (osv.getIm_voce().add(arrotondamento).compareTo(Utility.ZERO) != -1) {
                    osv.setIm_voce(osv.getIm_voce().add(arrotondamento));
                    scadenzaNuova.getObbligazione_scad_voceColl().stream().filter(el -> el.getCd_centro_responsabilita().equals(osv.getCd_centro_responsabilita())).filter(el -> el.getCd_linea_attivita().equals(osv.getCd_linea_attivita())).findFirst().ifPresent(osvNew -> osvNew.setIm_voce(osvNew.getIm_voce().subtract(arrotondamento)));
                    break;
                }
            }
        }
        totImporto = Utility.ZERO;
        // Quadro la sommatoria sulla nuova scadenza
        for (Iterator s = scadenzaNuova.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) totImporto = totImporto.add(((Obbligazione_scad_voceBulk) s.next()).getIm_voce());
        if (totImporto.compareTo(importoScadenzaNuova) != 0) {
            // recupero il primo dettaglio e lo aggiorno per quadrare
            for (Iterator s = scadenzaNuova.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) {
                Obbligazione_scad_voceBulk osv = (Obbligazione_scad_voceBulk) s.next();
                if (osv.getIm_voce().add(importoScadenzaNuova.subtract(totImporto)).compareTo(Utility.ZERO) != -1) {
                    osv.setIm_voce(osv.getIm_voce().add(importoScadenzaNuova.subtract(totImporto)));
                    break;
                }
            }
        }
        scadenzaVecchia.setIm_scadenza(nuovoImportoScadenzaVecchia);
        scadenzaVecchia.setToBeUpdated();
        scadenzaNuova.setIm_scadenza(importoScadenzaNuova);
        scadenzaNuova.setToBeCreated();
        obbligazione.setToBeUpdated();
        /**
         * Viene posto il campo che verifica se il controllo della disponibilità
         * è stato effettuato a TRUE, in quanto, l'obbligazione è in modifica
         * e lo sdoppiamento delle righe non cambia il valore complessivo
         * dell'obbligazione
         */
        obbligazione.setCheckDisponibilitaContrattoEseguito(true);
        obbligazione.setCheckDisponibilitaIncaricoRepertorioEseguito(true);
        modificaConBulk(userContext, obbligazione);
        return scadenzaNuova;
    } catch (PersistencyException e) {
        throw handleException(e);
    }
}
Also used : EsercizioBulk(it.cnr.contab.config00.esercizio.bulk.EsercizioBulk) Parametri_cdsBulk(it.cnr.contab.config00.bulk.Parametri_cdsBulk) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome) IVoceBilancioBulk(it.cnr.contab.config00.pdcfin.bulk.IVoceBilancioBulk) BigDecimal(java.math.BigDecimal) CostantiTi_gestione(it.cnr.contab.config00.latt.bulk.CostantiTi_gestione) ObjectNotFoundException(it.cnr.jada.persistency.ObjectNotFoundException) ValidationException(it.cnr.jada.bulk.ValidationException) Incarichi_repertorioHome(it.cnr.contab.incarichi00.bulk.Incarichi_repertorioHome) UtenteBulk(it.cnr.contab.utenze00.bulk.UtenteBulk) PersistentHome(it.cnr.jada.persistency.sql.PersistentHome) Classificazione_vociBulk(it.cnr.contab.config00.pdcfin.cla.bulk.Classificazione_vociBulk) Timestamp(java.sql.Timestamp) CdsHome(it.cnr.contab.config00.sto.bulk.CdsHome) BulkHome(it.cnr.jada.bulk.BulkHome) LoggableStatement(it.cnr.jada.persistency.sql.LoggableStatement) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Tipo_unita_organizzativaHome(it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome) EJBCommonServices(it.cnr.jada.util.ejb.EJBCommonServices) Parametri_cnrBulk(it.cnr.contab.config00.bulk.Parametri_cnrBulk) Esercizio_baseBulk(it.cnr.contab.config00.esercizio.bulk.Esercizio_baseBulk) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) Serializable(java.io.Serializable) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) IPrintMgr(it.cnr.jada.comp.IPrintMgr) Stream(java.util.stream.Stream) Pdg_modulo_spese_gestBulk(it.cnr.contab.pdg01.bulk.Pdg_modulo_spese_gestBulk) Query(it.cnr.jada.persistency.sql.Query) LocalDate(java.time.LocalDate) WorkpackageBulk(it.cnr.contab.config00.latt.bulk.WorkpackageBulk) Ass_evold_evnewBulk(it.cnr.contab.config00.pdcfin.bulk.Ass_evold_evnewBulk) AnagraficoBulk(it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk) Types(java.sql.Types) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) SaldoComponentSession(it.cnr.contab.doccont00.ejb.SaldoComponentSession) 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) PrimaryKeyHashtable(it.cnr.jada.bulk.PrimaryKeyHashtable) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) Parametri_cdsHome(it.cnr.contab.config00.bulk.Parametri_cdsHome) ProgettoHome(it.cnr.contab.progettiric00.core.bulk.ProgettoHome) Utility(it.cnr.contab.util.Utility) it.cnr.contab.doccont00.core.bulk(it.cnr.contab.doccont00.core.bulk) it.cnr.contab.prevent00.bulk(it.cnr.contab.prevent00.bulk) SQLBroker(it.cnr.jada.persistency.sql.SQLBroker) Anagrafico_terzoBulk(it.cnr.contab.anagraf00.core.bulk.Anagrafico_terzoBulk) FunzioneBulk(it.cnr.contab.config00.pdcfin.bulk.FunzioneBulk) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk) Ass_evold_evnewHome(it.cnr.contab.config00.pdcfin.bulk.Ass_evold_evnewHome) ContrattoHome(it.cnr.contab.config00.contratto.bulk.ContrattoHome) SQLException(java.sql.SQLException) Ass_contratto_uoBulk(it.cnr.contab.config00.contratto.bulk.Ass_contratto_uoBulk) EnteBulk(it.cnr.contab.config00.sto.bulk.EnteBulk) PrimaryKeyHashMap(it.cnr.jada.bulk.PrimaryKeyHashMap) NaturaBulk(it.cnr.contab.config00.pdcfin.bulk.NaturaBulk) Elemento_voceHome(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome) ICRUDMgr(it.cnr.jada.comp.ICRUDMgr) FindClause(it.cnr.jada.persistency.sql.FindClause) V_struttura_organizzativaBulk(it.cnr.contab.config00.sto.bulk.V_struttura_organizzativaBulk) DateUtils(it.cnr.jada.util.DateUtils) Esercizio_baseHome(it.cnr.contab.config00.esercizio.bulk.Esercizio_baseHome) Voce_fBulk(it.cnr.contab.config00.pdcfin.bulk.Voce_fBulk) AnagraficoHome(it.cnr.contab.anagraf00.core.bulk.AnagraficoHome) 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) CdrBulk(it.cnr.contab.config00.sto.bulk.CdrBulk) Incarichi_repertorioBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk) BulkList(it.cnr.jada.bulk.BulkList) DatiFinanziariScadenzeDTO(it.cnr.contab.doccont00.core.DatiFinanziariScadenzeDTO) Unita_organizzativa_enteBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk) ProgettoBulk(it.cnr.contab.progettiric00.core.bulk.ProgettoBulk) CdsBulk(it.cnr.contab.config00.sto.bulk.CdsBulk) DateTimeFormatter(java.time.format.DateTimeFormatter) Pdg_preventivo_spe_detBulk(it.cnr.contab.pdg00.bulk.Pdg_preventivo_spe_detBulk) ApplicationMessageFormatException(it.cnr.contab.util.ApplicationMessageFormatException) Unita_organizzativaHome(it.cnr.contab.config00.sto.bulk.Unita_organizzativaHome) Ass_incarico_uoBulk(it.cnr.contab.incarichi00.bulk.Ass_incarico_uoBulk) Parametri_cnrHome(it.cnr.contab.config00.bulk.Parametri_cnrHome) ComponentException(it.cnr.jada.comp.ComponentException) CompoundFindClause(it.cnr.jada.persistency.sql.CompoundFindClause) Timestamp(java.sql.Timestamp) BigDecimal(java.math.BigDecimal) BigDecimal(java.math.BigDecimal) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException)

Example 29 with ComponentException

use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.

the class ObbligazionePGiroComponent method inizializzaBulkPerModifica.

/**
 *  inizializzazione per modifica
 *    PreCondition:
 *      La richiesta di inizializzazione di un ImpegnoPGiroBulk per modifica
 *      e' stata generata
 *    PostCondition:
 *      Vengono recuperati la scadenza e il dettaglio di scadenza associati all'impegno.
 *      Viene recuperata l'associazione fra l'impegno e l'accertamento
 *		 Viene recuperato l'accertamento associato all'impegno e la relativa scadenza e dettaglio scadenza
 *
 * @param aUC lo <code>UserContext</code> che ha generato la richiesta
 * @param bulk <code>OggettoBulk</code> l'impegno su partita di giro da inizializzare per la modifica
 *
 * @return imp_pgiro l'impegno su partita di giro inizializzato per la modifica
 */
public OggettoBulk inizializzaBulkPerModifica(UserContext aUC, OggettoBulk bulk) throws ComponentException {
    try {
        if (bulk instanceof V_obbligazione_im_mandatoBulk) {
            V_obbligazione_im_mandatoBulk v_obbligazione = (V_obbligazione_im_mandatoBulk) bulk;
            bulk = (OggettoBulk) getHome(aUC, ImpegnoPGiroBulk.class).findByPrimaryKey(new ImpegnoPGiroBulk(v_obbligazione.getCd_cds(), v_obbligazione.getEsercizio(), v_obbligazione.getEsercizio_originale(), v_obbligazione.getPg_obbligazione()));
            if (bulk == null)
                throw new ApplicationException("L'impegno e' stato cancellato");
        }
        bulk = super.inizializzaBulkPerModifica(aUC, bulk);
        ImpegnoPGiroBulk imp_pgiro = (ImpegnoPGiroBulk) bulk;
        AccertamentoPGiroBulk accert_pgiro = null;
        imp_pgiro.setCd_terzo_iniziale(imp_pgiro.getCd_terzo());
        imp_pgiro.setIm_iniziale_obbligazione(imp_pgiro.getIm_obbligazione());
        // query per recuperare la scadenza dell'obbligazione
        // impegnoPgiro.getObbligazione_scadenzarioColl().add( scadenza );
        Obbligazione_scadenzarioHome obblig_scadHome = (Obbligazione_scadenzarioHome) getHome(aUC, Obbligazione_scadenzarioBulk.class);
        SQLBuilder sql = obblig_scadHome.createSQLBuilder();
        sql.addClause("AND", "cd_cds", sql.EQUALS, imp_pgiro.getCd_cds());
        sql.addClause("AND", "esercizio", sql.EQUALS, imp_pgiro.getEsercizio());
        sql.addClause("AND", "esercizio_originale", sql.EQUALS, imp_pgiro.getEsercizio_originale());
        sql.addClause("AND", "pg_obbligazione", sql.EQUALS, imp_pgiro.getPg_obbligazione());
        List result = obblig_scadHome.fetchAll(sql);
        Obbligazione_scadenzarioBulk obblig_scad = (Obbligazione_scadenzarioBulk) result.get(0);
        imp_pgiro.setDt_scadenza(obblig_scad.getDt_scadenza());
        imp_pgiro.getObbligazione_scadenzarioColl().add(obblig_scad);
        obblig_scad.setObbligazione(imp_pgiro);
        // carico l'eventuale doc.amministrativo legato alla scadenza
        V_doc_passivo_obbligazioneBulk docPassivo = obblig_scadHome.findDoc_passivo(obblig_scad);
        if (docPassivo != null) {
            obblig_scad.setEsercizio_doc_passivo(docPassivo.getEsercizio());
            obblig_scad.setPg_doc_passivo(docPassivo.getPg_documento_amm());
            imp_pgiro.setEsercizio_doc_passivo(docPassivo.getEsercizio());
            imp_pgiro.setPg_doc_passivo(docPassivo.getPg_documento_amm());
            imp_pgiro.setCd_tipo_documento_amm(docPassivo.getCd_tipo_documento_amm());
        }
        // carico l'eventuale mandato associato
        Mandato_rigaBulk mandato = obblig_scadHome.findMandato(obblig_scad);
        if (mandato != null) {
            imp_pgiro.setEsercizio_mandato(mandato.getEsercizio());
            imp_pgiro.setPg_mandato(mandato.getPg_mandato());
        }
        // query per recuperare scad_voce dell'obbligazione
        // scadenza.getObbligazione_scad_voceColl().add( scad_voce );
        Obbligazione_scad_voceHome obblig_scad_voceHome = (Obbligazione_scad_voceHome) getHome(aUC, Obbligazione_scad_voceBulk.class);
        sql = obblig_scad_voceHome.createSQLBuilder();
        sql.addClause("AND", "cd_cds", sql.EQUALS, imp_pgiro.getCd_cds());
        sql.addClause("AND", "esercizio", sql.EQUALS, imp_pgiro.getEsercizio());
        sql.addClause("AND", "esercizio_originale", sql.EQUALS, imp_pgiro.getEsercizio_originale());
        sql.addClause("AND", "pg_obbligazione", sql.EQUALS, imp_pgiro.getPg_obbligazione());
        result = obblig_scad_voceHome.fetchAll(sql);
        Obbligazione_scad_voceBulk obblig_scad_voce = (Obbligazione_scad_voceBulk) result.get(0);
        obblig_scad.getObbligazione_scad_voceColl().add(obblig_scad_voce);
        obblig_scad_voce.setObbligazione_scadenzario(obblig_scad);
        // query associazione
        // impegnoPgiro.setAssociazione( associazione );
        // associazione.setObbligazione ( impegnoPgiro);
        Ass_obb_acr_pgiroHome associazioneHome = (Ass_obb_acr_pgiroHome) getHome(aUC, Ass_obb_acr_pgiroBulk.class);
        sql = associazioneHome.createSQLBuilder();
        sql.addClause("AND", "cd_cds", sql.EQUALS, imp_pgiro.getCd_cds());
        sql.addClause("AND", "esercizio", sql.EQUALS, imp_pgiro.getEsercizio());
        sql.addClause("AND", "esercizio_ori_obbligazione", sql.EQUALS, imp_pgiro.getEsercizio_originale());
        sql.addClause("AND", "pg_obbligazione", sql.EQUALS, imp_pgiro.getPg_obbligazione());
        result = associazioneHome.fetchAll(sql);
        if (result.size() > 0) {
            Ass_obb_acr_pgiroBulk associazione = (Ass_obb_acr_pgiroBulk) result.get(0);
            imp_pgiro.setAssociazione(associazione);
            associazione.setImpegno(imp_pgiro);
            // query per recuperare l'accertamentoPgiro
            // associazione.setAccertamento( accertamentoPgiro);
            // accertamentoPgiro.setAssociazione( associazione )
            AccertamentoPGiroHome accert_pgiroHome = (AccertamentoPGiroHome) getHome(aUC, AccertamentoPGiroBulk.class);
            sql = accert_pgiroHome.createSQLBuilder();
            sql.addClause("AND", "cd_cds", sql.EQUALS, associazione.getCd_cds());
            sql.addClause("AND", "esercizio", sql.EQUALS, associazione.getEsercizio());
            sql.addClause("AND", "esercizio_originale", sql.EQUALS, associazione.getEsercizio_ori_accertamento());
            sql.addClause("AND", "pg_accertamento", sql.EQUALS, associazione.getPg_accertamento());
            result = accert_pgiroHome.fetchAll(sql);
            accert_pgiro = (AccertamentoPGiroBulk) result.get(0);
            accert_pgiro.setAssociazione(associazione);
            associazione.setAccertamento(accert_pgiro);
            if (accert_pgiro.getCapitolo() != null) {
                Elemento_voceBulk ev = (Elemento_voceBulk) getHome(aUC, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(accert_pgiro.getCapitolo().getCd_voce(), accert_pgiro.getCapitolo().getEsercizio(), accert_pgiro.getCapitolo().getTi_appartenenza(), accert_pgiro.getCapitolo().getTi_gestione()));
                imp_pgiro.setElemento_voceContr(ev);
            }
            // query per recuperare la scadenza dell'accertamento
            // accertamentoPgiro.getAccertamento_scadenzarioColl().add( scadenza );
            Accertamento_scadenzarioHome accert_scadHome = (Accertamento_scadenzarioHome) getHome(aUC, Accertamento_scadenzarioBulk.class);
            sql = accert_scadHome.createSQLBuilder();
            sql.addClause("AND", "cd_cds", sql.EQUALS, accert_pgiro.getCd_cds());
            sql.addClause("AND", "esercizio", sql.EQUALS, accert_pgiro.getEsercizio());
            sql.addClause("AND", "esercizio_originale", sql.EQUALS, accert_pgiro.getEsercizio_originale());
            sql.addClause("AND", "pg_accertamento", sql.EQUALS, accert_pgiro.getPg_accertamento());
            result = accert_scadHome.fetchAll(sql);
            Accertamento_scadenzarioBulk accert_scad = (Accertamento_scadenzarioBulk) result.get(0);
            accert_pgiro.setDt_scadenza(accert_scad.getDt_scadenza_incasso());
            accert_pgiro.getAccertamento_scadenzarioColl().add(accert_scad);
            accert_scad.setAccertamento(accert_pgiro);
            // carico l'eventuale doc.amministrativo legato alla scadenza
            V_doc_attivo_accertamentoBulk docAttivo = accert_scadHome.findDoc_attivo(accert_scad);
            if (docAttivo != null) {
                accert_scad.setEsercizio_doc_attivo(docAttivo.getEsercizio());
                accert_scad.setPg_doc_attivo(docAttivo.getPg_documento_amm());
            }
            // query per recuperare scad_voce dell'accertamento
            // scadenza.getAccertamento_scad_voceColl().add( scad_voce );
            Accertamento_scad_voceHome accert_scad_voceHome = (Accertamento_scad_voceHome) getHome(aUC, Accertamento_scad_voceBulk.class);
            sql = accert_scad_voceHome.createSQLBuilder();
            sql.addClause("AND", "cd_cds", sql.EQUALS, accert_pgiro.getCd_cds());
            sql.addClause("AND", "esercizio", sql.EQUALS, accert_pgiro.getEsercizio());
            sql.addClause("AND", "esercizio_originale", sql.EQUALS, accert_pgiro.getEsercizio_originale());
            sql.addClause("AND", "pg_accertamento", sql.EQUALS, accert_pgiro.getPg_accertamento());
            result = accert_scad_voceHome.fetchAll(sql);
            Accertamento_scad_voceBulk accert_scad_voce = (Accertamento_scad_voceBulk) result.get(0);
            accert_scad.getAccertamento_scad_voceColl().add(accert_scad_voce);
            accert_scad_voce.setAccertamento_scadenzario(accert_scad);
        }
        // query per recuperare cd_uo_ente dell'impegno
        Unita_organizzativa_enteHome uo_enteHome = (Unita_organizzativa_enteHome) getHome(aUC, Unita_organizzativa_enteBulk.class);
        sql = uo_enteHome.createSQLBuilder();
        result = uo_enteHome.fetchAll(sql);
        Unita_organizzativa_enteBulk uo_ente = (Unita_organizzativa_enteBulk) result.get(0);
        imp_pgiro.setCd_uo_ente(uo_ente.getCd_unita_organizzativa());
        if (accert_pgiro != null) {
            accert_pgiro.setCd_uo_ente(uo_ente.getCd_unita_organizzativa());
            if ((accert_pgiro.getDt_cancellazione() == null && imp_pgiro.getDt_cancellazione() != null) || (accert_pgiro.getDt_cancellazione() != null && imp_pgiro.getDt_cancellazione() == null)) {
                accert_pgiro.setFl_isTronco(true);
                imp_pgiro.setFl_isTronco(true);
            }
        }
        return imp_pgiro;
    } catch (Exception e) {
        throw handleException(bulk, e);
    }
}
Also used : Ass_obb_acr_pgiroHome(it.cnr.contab.doccont00.core.bulk.Ass_obb_acr_pgiroHome) AccertamentoPGiroHome(it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroHome) Unita_organizzativa_enteBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Obbligazione_scadenzarioHome(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioHome) V_doc_attivo_accertamentoBulk(it.cnr.contab.doccont00.core.bulk.V_doc_attivo_accertamentoBulk) Obbligazione_scad_voceBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceBulk) Accertamento_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioBulk) Obbligazione_scad_voceHome(it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceHome) V_obbligazione_im_mandatoBulk(it.cnr.contab.doccont00.core.bulk.V_obbligazione_im_mandatoBulk) Mandato_rigaBulk(it.cnr.contab.doccont00.core.bulk.Mandato_rigaBulk) Ass_obb_acr_pgiroBulk(it.cnr.contab.doccont00.core.bulk.Ass_obb_acr_pgiroBulk) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) SQLException(java.sql.SQLException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComponentException(it.cnr.jada.comp.ComponentException) ImpegnoPGiroBulk(it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk) Accertamento_scad_voceBulk(it.cnr.contab.doccont00.core.bulk.Accertamento_scad_voceBulk) V_doc_passivo_obbligazioneBulk(it.cnr.contab.doccont00.core.bulk.V_doc_passivo_obbligazioneBulk) Accertamento_scadenzarioHome(it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioHome) ApplicationException(it.cnr.jada.comp.ApplicationException) Unita_organizzativa_enteHome(it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteHome) List(java.util.List) Obbligazione_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk) AccertamentoPGiroBulk(it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk) Accertamento_scad_voceHome(it.cnr.contab.doccont00.core.bulk.Accertamento_scad_voceHome)

Example 30 with ComponentException

use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.

the class ObbligazionePGiroComponent method creaObbligazione_scad_voce.

/**
 *  creazione
 *    PreCondition:
 *      una scadenza di un impegno pgiro e' stata creata ed e' necessario creare il suo dettaglio
 *    PostCondition:
 *      Il dettaglio di scadenza (Obbligazione_scad_voceBulk) viene creato
 *      con linea attività uguale alla linea di attività definita nella Configurazione CNR come Linea attività Spesa ENTE
 *      e importo uguale all'importo della scadenza dell'obbligazione
 *  errore - Configurazione CNR
 *    PreCondition:
 *      una richiesta di creazione di un dettaglio di scadenza di un impegno pgiro e' stata generata
 *      ma non e' stata definita in Configurazione CNR la Linea attività Spesa ENTE
 *    PostCondition:
 *      Un messaggio di errore segnala all'utente la mancata definizione in Configurazione CNR della linea di attivita' Spesa ENTE
 *
 * @param uc lo <code>UserContext</code> che ha generato la richiesta
 * @param obblig_scad <code>Obbligazione_scadenzarioBulk</code> la scadenza dell'impegno pgiro creata
 *
 * @return obblig_scad_voce Il dettaglio di scadenza dell'impegno pgiro creato
 */
private Obbligazione_scad_voceBulk creaObbligazione_scad_voce(UserContext uc, Obbligazione_scadenzarioBulk obblig_scad) throws ComponentException {
    try {
        Obbligazione_scad_voceBulk obblig_scad_voce = new Obbligazione_scad_voceBulk();
        obblig_scad_voce.setUser(obblig_scad.getObbligazione().getUser());
        obblig_scad_voce.setToBeCreated();
        // campi chiave
        obblig_scad_voce.setObbligazione_scadenzario(obblig_scad);
        // altri campi chiave
        obblig_scad_voce.setTi_appartenenza(obblig_scad.getObbligazione().getTi_appartenenza());
        obblig_scad_voce.setTi_gestione(obblig_scad.getObbligazione().getTi_gestione());
        obblig_scad_voce.setCd_voce(obblig_scad.getObbligazione().getElemento_voce().getCd_elemento_voce());
        it.cnr.contab.config00.bulk.Configurazione_cnrBulk config = createConfigurazioneCnrComponentSession().getConfigurazione(uc, null, null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_LINEA_ATTIVITA_SPECIALE, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_LINEA_ATTIVITA_SPESA_ENTE);
        if (config != null) {
            it.cnr.contab.config00.latt.bulk.WorkpackageBulk latt = new it.cnr.contab.config00.latt.bulk.WorkpackageBulk(config.getVal01(), config.getVal02());
            obblig_scad_voce.setLinea_attivita(latt);
        } else
            throw new ApplicationException("Configurazione CNR: manca la definizione del GAE SPESA ENTE");
        // altri campi
        obblig_scad_voce.setIm_voce(obblig_scad.getObbligazione().getIm_obbligazione());
        // obblig_scad_voce.setCd_fondo_ricerca( obblig_scad.getObbligazione().getCd_fondo_ricerca() );
        obblig_scad.getObbligazione_scad_voceColl().add(obblig_scad_voce);
        return obblig_scad_voce;
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) Obbligazione_scad_voceBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceBulk) SQLException(java.sql.SQLException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComponentException(it.cnr.jada.comp.ComponentException)

Aggregations

ComponentException (it.cnr.jada.comp.ComponentException)1112 PersistencyException (it.cnr.jada.persistency.PersistencyException)670 ApplicationException (it.cnr.jada.comp.ApplicationException)504 RemoteException (java.rmi.RemoteException)491 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)341 EJBException (javax.ejb.EJBException)255 SQLException (java.sql.SQLException)248 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)202 BigDecimal (java.math.BigDecimal)201 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)195 UserContext (it.cnr.jada.UserContext)175 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)158 List (java.util.List)153 Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)151 Iterator (java.util.Iterator)143 BulkList (it.cnr.jada.bulk.BulkList)142 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)131 ApplicationRuntimeException (it.cnr.jada.comp.ApplicationRuntimeException)129 ApplicationMessageFormatException (it.cnr.contab.util.ApplicationMessageFormatException)124 OggettoBulk (it.cnr.jada.bulk.OggettoBulk)117