Search in sources :

Example 1 with Voce_piano_economico_prgBulk

use of it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk in project sigla-main by consiglionazionaledellericerche.

the class SaldoComponent method checkDispPianoEconomicoProgetto.

/**
 * Metodo che verifica la congruenza delle disponibilità sul piano economico del progetto
 *
 * @param userContext
 * @param moduloCosti
 * @param isFromChangeStato indica che la modifica è stata richiesta in fase di cambio stato progetto
 * @throws ComponentException
 */
public void checkDispPianoEconomicoProgetto(UserContext userContext, Pdg_modulo_costiBulk moduloCosti, boolean isFromChangeStato) throws ComponentException {
    try {
        it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession configSession = (it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRCONFIG00_EJB_Configurazione_cnrComponentSession", it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession.class);
        BigDecimal annoFrom = configSession.getIm01(userContext, new Integer(0), null, Configurazione_cnrBulk.PK_GESTIONE_PROGETTI, Configurazione_cnrBulk.SK_PROGETTO_PIANO_ECONOMICO);
        if (Optional.ofNullable(annoFrom).map(BigDecimal::intValue).filter(el -> el.compareTo(moduloCosti.getEsercizio()) <= 0).isPresent()) {
            Progetto_piano_economicoHome ppeHome = (Progetto_piano_economicoHome) getHome(userContext, Progetto_piano_economicoBulk.class);
            List<Progetto_piano_economicoBulk> pianoEconomicoList = (List<Progetto_piano_economicoBulk>) ppeHome.findProgettoPianoEconomicoList(moduloCosti.getPg_progetto());
            List<Pdg_modulo_speseBulk> speseList = (List<Pdg_modulo_speseBulk>) moduloCosti.getDettagliSpese();
            pianoEconomicoList.stream().filter(e -> e.getFl_ctrl_disp() && (e.getEsercizio_piano().equals(0) || e.getEsercizio_piano().equals(moduloCosti.getEsercizio()))).forEach(e -> {
                try {
                    Progetto_piano_economicoBulk bulk = null;
                    Progetto_piano_economicoBulk bulkToFind = new Progetto_piano_economicoBulk();
                    bulkToFind.setVoce_piano_economico(e.getVoce_piano_economico());
                    bulkToFind.setPg_progetto(e.getPg_progetto());
                    bulkToFind.setEsercizio_piano(e.getEsercizio_piano());
                    try {
                        bulk = (Progetto_piano_economicoBulk) getHome(userContext, Progetto_piano_economicoBulk.class).findAndLock(bulkToFind);
                    } catch (ObjectNotFoundException ex) {
                    }
                    if (bulk != null && bulk.getFl_ctrl_disp()) {
                        V_saldi_piano_econom_progettoBulk saldo = ((V_saldi_piano_econom_progettoHome) getHome(userContext, V_saldi_piano_econom_progettoBulk.class)).cercaSaldoPianoEconomico(bulk, "S");
                        BigDecimal dispResiduaFin = saldo.getDispResiduaFinanziamento();
                        if (!isFromChangeStato)
                            dispResiduaFin = dispResiduaFin.subtract(speseList.stream().filter(x -> Optional.ofNullable(x.getVoce_piano_economico()).isPresent()).filter(x -> x.getVoce_piano_economico().equalsByPrimaryKey(e.getVoce_piano_economico())).map(el -> Utility.nvl(el.getIm_spese_gest_decentrata_est())).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)));
                        if (dispResiduaFin.compareTo(BigDecimal.ZERO) < 0)
                            throw new ApplicationException("Impossibile effettuare l'operazione !\n" + "L'importo indicato in previsione per le fonti decentrate esterne supera di " + new it.cnr.contab.util.EuroFormat().format(dispResiduaFin.abs()) + "  l'importo finanziato indicato sul piano economico " + e.getCd_voce_piano() + " del progetto " + (e.getEsercizio_piano().equals(0) ? "" : "per l'esercizio " + e.getEsercizio_piano()) + ".");
                        if (isFromChangeStato && Optional.ofNullable(moduloCosti).flatMap(el -> Optional.ofNullable(el.getPdg_modulo())).flatMap(el -> Optional.ofNullable(el.getProgetto())).flatMap(el -> Optional.ofNullable(el.getOtherField())).flatMap(el -> Optional.ofNullable(el.getTipoFinanziamento())).map(TipoFinanziamentoBulk::getFlAllPrevFin).orElse(Boolean.TRUE) && dispResiduaFin.compareTo(BigDecimal.ZERO) != 0) {
                            Voce_piano_economico_prgBulk vocePianoEconomico = (Voce_piano_economico_prgBulk) ((Voce_piano_economico_prgHome) getHome(userContext, Voce_piano_economico_prgBulk.class)).findByPrimaryKey(e.getVoce_piano_economico());
                            if (Optional.ofNullable(vocePianoEconomico).map(Voce_piano_economico_prgBulk::getFlAllPrevFin).orElse(Boolean.TRUE))
                                throw new ApplicationException("Impossibile effettuare l'operazione !\n" + "L'importo totale indicato in previsione per le fonti decentrate esterne non corrisponde " + "  all'importo finanziato indicato sul piano economico " + e.getCd_voce_piano() + " del progetto " + (e.getEsercizio_piano().equals(0) ? "" : "per l'esercizio " + e.getEsercizio_piano()) + "(diff: " + new it.cnr.contab.util.EuroFormat().format(dispResiduaFin) + ").");
                        }
                        BigDecimal dispResiduaCofin = saldo.getDispResiduaCofinanziamento();
                        if (!isFromChangeStato)
                            dispResiduaCofin = dispResiduaCofin.subtract(speseList.stream().filter(x -> Optional.ofNullable(x.getVoce_piano_economico()).isPresent()).filter(x -> x.getVoce_piano_economico().equalsByPrimaryKey(e.getVoce_piano_economico())).map(el -> Utility.nvl(el.getIm_spese_gest_decentrata_int())).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)));
                        if (dispResiduaCofin.compareTo(BigDecimal.ZERO) < 0)
                            throw new ApplicationException("Impossibile effettuare l'operazione !\n" + "L'importo indicato in previsione per le fonti decentrate interne supera di " + new it.cnr.contab.util.EuroFormat().format(dispResiduaCofin.abs()) + "  l'importo cofinanziato indicato sul piano economico " + e.getCd_voce_piano() + " del progetto " + (e.getEsercizio_piano().equals(0) ? "" : "per l'esercizio " + e.getEsercizio_piano()) + ".");
                    }
                } catch (Exception ex) {
                    throw new RuntimeException(ex);
                }
            });
        }
    } catch (Exception e) {
        if (e instanceof RuntimeException)
            throw handleException(e.getCause());
        throw handleException(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) Voce_piano_economico_prgBulk(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) BulkList(it.cnr.jada.bulk.BulkList) Configurazione_cnrComponentSession(it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession) Configurazione_cnrComponentSession(it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession) BigDecimal(java.math.BigDecimal) ObjectNotFoundException(it.cnr.jada.persistency.ObjectNotFoundException) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) 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) Pdg_modulo_speseBulk(it.cnr.contab.prevent01.bulk.Pdg_modulo_speseBulk) ApplicationException(it.cnr.jada.comp.ApplicationException) java.util(java.util) ObjectNotFoundException(it.cnr.jada.persistency.ObjectNotFoundException)

Example 2 with Voce_piano_economico_prgBulk

use of it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDProgettoAction method doBringBackSearchVoce_piano.

public it.cnr.jada.action.Forward doBringBackSearchVoce_piano(ActionContext context, Progetto_piano_economicoBulk progettoPiaeco, Voce_piano_economico_prgBulk vocePiaeco) throws java.rmi.RemoteException {
    try {
        TestataProgettiRicercaBP bp = (TestataProgettiRicercaBP) getBusinessProcess(context);
        progettoPiaeco.setVoce_piano_economico(vocePiaeco);
        bp.caricaVociPianoEconomicoAssociate(context, progettoPiaeco);
        return context.findDefaultForward();
    } catch (Throwable e) {
        return handleException(context, e);
    }
}
Also used : TestataProgettiRicercaBP(it.cnr.contab.progettiric00.bp.TestataProgettiRicercaBP) AmministraTestataProgettiRicercaBP(it.cnr.contab.progettiric00.bp.AmministraTestataProgettiRicercaBP)

Example 3 with Voce_piano_economico_prgBulk

use of it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk in project sigla-main by consiglionazionaledellericerche.

the class Linea_attivitaComponent method selectVocePianoEconomico2016ByClause.

public SQLBuilder selectVocePianoEconomico2016ByClause(UserContext userContext, WorkpackageBulk linea_attivita, Voce_piano_economico_prgBulk vocePianoEconomico, CompoundFindClause clause) throws ComponentException, PersistencyException {
    Voce_piano_economico_prgHome vocePianoHome = (Voce_piano_economico_prgHome) getHome(userContext, Voce_piano_economico_prgBulk.class);
    Integer pgProgetto = null;
    if (linea_attivita != null && linea_attivita.getProgetto2016() != null && linea_attivita.getProgetto2016().getPg_progetto() != null)
        pgProgetto = linea_attivita.getProgetto2016().getPg_progetto();
    SQLBuilder sql = vocePianoHome.findVocePianoEconomicoPrgList(pgProgetto);
    if (clause != null)
        sql.addClause(clause);
    return sql;
}
Also used : Voce_piano_economico_prgBulk(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Voce_piano_economico_prgHome(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgHome)

Example 4 with Voce_piano_economico_prgBulk

use of it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk in project sigla-main by consiglionazionaledellericerche.

the class RimodulaProgettoRicercaComponent method selectVoce_piano_economicoByClause.

public SQLBuilder selectVoce_piano_economicoByClause(UserContext userContext, Progetto_piano_economicoBulk pianoEconomico, Voce_piano_economico_prgBulk vocePiano, CompoundFindClause clauses) throws ComponentException {
    Voce_piano_economico_prgHome home = (Voce_piano_economico_prgHome) getHome(userContext, Voce_piano_economico_prgBulk.class);
    SQLBuilder sql = home.createSQLBuilder();
    sql.addTableToHeader("UNITA_ORGANIZZATIVA");
    sql.addSQLJoin("VOCE_PIANO_ECONOMICO_PRG.CD_UNITA_ORGANIZZATIVA", "UNITA_ORGANIZZATIVA.CD_UNITA_ORGANIZZATIVA");
    sql.openParenthesis(FindClause.AND);
    sql.addClause(FindClause.OR, "cd_unita_organizzativa", SQLBuilder.EQUALS, pianoEconomico.getProgetto().getCd_unita_organizzativa());
    sql.addSQLClause(FindClause.OR, "UNITA_ORGANIZZATIVA.CD_TIPO_UNITA", SQLBuilder.EQUALS, Tipo_unita_organizzativaHome.TIPO_UO_ENTE);
    sql.closeParenthesis();
    Optional.ofNullable(pianoEconomico.getProgetto()).flatMap(el -> Optional.ofNullable(el.getOtherField())).flatMap(el -> Optional.ofNullable(el.getTipoFinanziamento())).ifPresent(tipoFin -> {
        if (!tipoFin.getFlAssCatVociInd() || !tipoFin.getFlAssCatVociDet() || !tipoFin.getFlAssCatVociAltro()) {
            sql.openParenthesis(FindClause.AND);
            sql.addClause(FindClause.OR, "tipologia", SQLBuilder.ISNULL, null);
            if (!tipoFin.getFlAssCatVociInd())
                sql.addClause(FindClause.OR, "tipologia", SQLBuilder.NOT_EQUALS, Voce_piano_economico_prgBulk.PERSONALE_INDET);
            if (!tipoFin.getFlAssCatVociDet())
                sql.addClause(FindClause.OR, "tipologia", SQLBuilder.NOT_EQUALS, Voce_piano_economico_prgBulk.PERSONALE_DETER);
            if (!tipoFin.getFlAssCatVociAltro())
                sql.addClause(FindClause.OR, "tipologia", SQLBuilder.NOT_EQUALS, Voce_piano_economico_prgBulk.PERSONALE_OTHER);
            sql.closeParenthesis();
        }
    });
    sql.addClause(clauses);
    sql.addOrderBy("cd_voce_piano");
    return sql;
}
Also used : Voce_piano_economico_prgBulk(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk) GsonBuilder(com.google.gson.GsonBuilder) BigDecimal(java.math.BigDecimal) PrintService(it.cnr.contab.reports.service.PrintService) Pdg_variazioneBulk(it.cnr.contab.pdg00.bulk.Pdg_variazioneBulk) AllegatoProgettoRimodulazioneType(it.cnr.contab.progettiric00.enumeration.AllegatoProgettoRimodulazioneType) Ass_progetto_piaeco_voceBulk(it.cnr.contab.progettiric00.core.bulk.Ass_progetto_piaeco_voceBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Tipo_unita_organizzativaHome(it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome) V_doc_passivo_obbligazione_wizardBulk(it.cnr.contab.doccont00.core.bulk.V_doc_passivo_obbligazione_wizardBulk) EJBCommonServices(it.cnr.jada.util.ejb.EJBCommonServices) Collectors(java.util.stream.Collectors) Parametri_cnrBulk(it.cnr.contab.config00.bulk.Parametri_cnrBulk) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) Progetto_rimodulazioneHome(it.cnr.contab.progettiric00.core.bulk.Progetto_rimodulazioneHome) Stream(java.util.stream.Stream) Var_stanz_resBulk(it.cnr.contab.varstanz00.bulk.Var_stanz_resBulk) Query(it.cnr.jada.persistency.sql.Query) SpringUtil(it.cnr.contab.service.SpringUtil) Voce_piano_economico_prgHome(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgHome) UserContext(it.cnr.jada.UserContext) java.util(java.util) Progetto_rimodulazione_variazioneBulk(it.cnr.contab.progettiric00.core.bulk.Progetto_rimodulazione_variazioneBulk) AllegatoProgettoRimodulazioneBulk(it.cnr.contab.progettiric00.core.bulk.AllegatoProgettoRimodulazioneBulk) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) ProgettoHome(it.cnr.contab.progettiric00.core.bulk.ProgettoHome) SimpleDateFormat(java.text.SimpleDateFormat) Utility(it.cnr.contab.util.Utility) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Pdg_variazioneHome(it.cnr.contab.pdg00.bulk.Pdg_variazioneHome) SimpleFindClause(it.cnr.jada.persistency.sql.SimpleFindClause) StoreService(it.cnr.si.spring.storage.StoreService) Elemento_voceHome(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome) FindClause(it.cnr.jada.persistency.sql.FindClause) Progetto_rimodulazione_ppeBulk(it.cnr.contab.progettiric00.core.bulk.Progetto_rimodulazione_ppeBulk) Progetto_piano_economicoBulk(it.cnr.contab.progettiric00.core.bulk.Progetto_piano_economicoBulk) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) Parametri_enteBulk(it.cnr.contab.config00.bulk.Parametri_enteBulk) Progetto_rimodulazione_voceBulk(it.cnr.contab.progettiric00.core.bulk.Progetto_rimodulazione_voceBulk) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Var_stanz_resHome(it.cnr.contab.varstanz00.bulk.Var_stanz_resHome) Print_spoolerBulk(it.cnr.contab.reports.bulk.Print_spoolerBulk) IOException(java.io.IOException) Report(it.cnr.contab.reports.bulk.Report) Unita_organizzativa_enteBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk) ProgettoBulk(it.cnr.contab.progettiric00.core.bulk.ProgettoBulk) it.cnr.jada.bulk(it.cnr.jada.bulk) Progetto_rimodulazioneBulk(it.cnr.contab.progettiric00.core.bulk.Progetto_rimodulazioneBulk) Parametri_cnrHome(it.cnr.contab.config00.bulk.Parametri_cnrHome) ComponentException(it.cnr.jada.comp.ComponentException) StatoProgettoRimodulazione(it.cnr.contab.progettiric00.enumeration.StatoProgettoRimodulazione) CompoundFindClause(it.cnr.jada.persistency.sql.CompoundFindClause) Voce_piano_economico_prgBulk(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Voce_piano_economico_prgHome(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgHome)

Example 5 with Voce_piano_economico_prgBulk

use of it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk in project sigla-main by consiglionazionaledellericerche.

the class ProgettoRicercaComponent method validaQuadraturaPianoEconomico.

private void validaQuadraturaPianoEconomico(UserContext userContext, ProgettoBulk progetto, Integer annoFrom) throws ComponentException {
    try {
        Optional<TipoFinanziamentoBulk> optTipoFin = Optional.ofNullable(progetto.getOtherField()).flatMap(el -> Optional.ofNullable(el.getTipoFinanziamento()));
        if (optTipoFin.flatMap(el -> Optional.ofNullable(el.getFlAllPrevFin())).filter(el -> el.equals(Boolean.TRUE)).isPresent()) {
            progetto.getAllDetailsProgettoPianoEconomico().stream().filter(el -> Optional.ofNullable(el.getVoce_piano_economico()).map(Voce_piano_economico_prgBulk::getFlAllPrevFin).orElse(Boolean.FALSE)).map(Progetto_piano_economicoBulk::getEsercizio_piano).filter(annoPiano -> Optional.ofNullable(annoFrom).map(el -> annoPiano.compareTo(el) >= 0).orElse(Boolean.TRUE)).distinct().forEach(annoPiano -> {
                try {
                    Pdg_modulo_costiHome pdgModuloHome = (Pdg_modulo_costiHome) getHome(userContext, Pdg_modulo_costiBulk.class);
                    SQLBuilder sqlPdgModulo = pdgModuloHome.createSQLBuilder();
                    sqlPdgModulo.addClause(FindClause.AND, "esercizio", SQLBuilder.EQUALS, annoPiano);
                    sqlPdgModulo.addClause(FindClause.AND, "pg_progetto", SQLBuilder.EQUALS, progetto.getPg_progetto());
                    sqlPdgModulo.addTableToHeader("PDG_MODULO");
                    sqlPdgModulo.addSQLJoin("PDG_MODULO_COSTI.ESERCIZIO", "PDG_MODULO.ESERCIZIO");
                    sqlPdgModulo.addSQLJoin("PDG_MODULO_COSTI.CD_CENTRO_RESPONSABILITA", "PDG_MODULO.CD_CENTRO_RESPONSABILITA");
                    sqlPdgModulo.addSQLJoin("PDG_MODULO_COSTI.PG_PROGETTO", "PDG_MODULO.PG_PROGETTO");
                    sqlPdgModulo.addSQLClause(FindClause.AND, "PDG_MODULO.STATO", SQLBuilder.NOT_EQUALS, Pdg_moduloBulk.STATO_AC);
                    List<Pdg_modulo_costiBulk> pdgModuloList = new it.cnr.jada.bulk.BulkList(pdgModuloHome.fetchAll(sqlPdgModulo));
                    if (pdgModuloList.size() > 0 && !(progetto.isStatoPrgApprovato() || progetto.isStatoPrgChiuso())) {
                        throw new ApplicationRuntimeException("Attenzione: il progetto risulta già inserito in previsione. " + "Non è possibile attibuirgli uno stato diverso da Approvato o Chiuso. Operazione non consentita!");
                    }
                    // Verifico se il PDG è chiuso. Per essere tale non deve esserci nemmeno un CDR nell'esercizio controllato
                    // con PDG_ESERCIZIO.STATO!='CG'
                    Pdg_esercizioHome pdgEsercizioHome = (Pdg_esercizioHome) getHome(userContext, Pdg_esercizioBulk.class);
                    SQLBuilder sqlPdgEsercizio = pdgEsercizioHome.createSQLBuilder();
                    sqlPdgEsercizio.addClause(FindClause.AND, "esercizio", SQLBuilder.EQUALS, annoPiano);
                    sqlPdgEsercizio.addClause(FindClause.AND, "stato", SQLBuilder.NOT_EQUALS, Pdg_esercizioBulk.STATO_CHIUSURA_GESTIONALE_CDR);
                    if (sqlPdgEsercizio.executeExistsQuery(getConnection(userContext))) {
                        pdgModuloList.stream().forEach(modCosti -> {
                            try {
                                Utility.createSaldoComponentSession().checkDispPianoEconomicoProgetto(userContext, modCosti, Boolean.TRUE);
                            } catch (Throwable e) {
                                throw new ApplicationRuntimeException(e);
                            }
                        });
                    }
                } catch (Throwable e) {
                    throw new ApplicationRuntimeException(e);
                }
            });
        }
    } catch (Throwable e) {
        throw handleException(e);
    }
}
Also used : EuroFormat(it.cnr.contab.util.EuroFormat) 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) Parametri_cdsBulk(it.cnr.contab.config00.bulk.Parametri_cdsBulk) Voce_piano_economico_prgBulk(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk) BigDecimal(java.math.BigDecimal) Pdg_modulo_entrate_gestHome(it.cnr.contab.pdg01.bulk.Pdg_modulo_entrate_gestHome) Pdg_Modulo_EntrateHome(it.cnr.contab.prevent01.bulk.Pdg_Modulo_EntrateHome) it.cnr.contab.progettiric00.core.bulk(it.cnr.contab.progettiric00.core.bulk) Voce_f_saldi_cdr_lineaBulk(it.cnr.contab.prevent00.bulk.Voce_f_saldi_cdr_lineaBulk) Pdg_variazioneBulk(it.cnr.contab.pdg00.bulk.Pdg_variazioneBulk) Pdg_modulo_costiHome(it.cnr.contab.prevent01.bulk.Pdg_modulo_costiHome) Collection(java.util.Collection) 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) Pdg_modulo_speseBulk(it.cnr.contab.prevent01.bulk.Pdg_modulo_speseBulk) Pdg_esercizioHome(it.cnr.contab.prevent01.bulk.Pdg_esercizioHome) Collectors(java.util.stream.Collectors) Parametri_cnrBulk(it.cnr.contab.config00.bulk.Parametri_cnrBulk) ObjectUtils(org.apache.commons.lang.ObjectUtils) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) RemoteException(java.rmi.RemoteException) IPrintMgr(it.cnr.jada.comp.IPrintMgr) List(java.util.List) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) Pdg_modulo_spese_gestBulk(it.cnr.contab.pdg01.bulk.Pdg_modulo_spese_gestBulk) Var_stanz_resBulk(it.cnr.contab.varstanz00.bulk.Var_stanz_resBulk) Query(it.cnr.jada.persistency.sql.Query) WorkpackageBulk(it.cnr.contab.config00.latt.bulk.WorkpackageBulk) Optional(java.util.Optional) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) Voce_f_saldi_cdr_lineaHome(it.cnr.contab.prevent00.bulk.Voce_f_saldi_cdr_lineaHome) Voce_piano_economico_prgHome(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgHome) UserContext(it.cnr.jada.UserContext) 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) SQLBroker(it.cnr.jada.persistency.sql.SQLBroker) ArrayList(java.util.ArrayList) Pdg_modulo_costiBulk(it.cnr.contab.prevent01.bulk.Pdg_modulo_costiBulk) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk) SQLException(java.sql.SQLException) V_classificazione_vociHome(it.cnr.contab.config00.pdcfin.cla.bulk.V_classificazione_vociHome) Obbligazione_modificaBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_modificaBulk) Pdg_modulo_entrate_gestBulk(it.cnr.contab.pdg01.bulk.Pdg_modulo_entrate_gestBulk) RemoteIterator(it.cnr.jada.util.RemoteIterator) Elemento_voceHome(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome) FindClause(it.cnr.jada.persistency.sql.FindClause) DateUtils(it.cnr.jada.util.DateUtils) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) Parametri_enteBulk(it.cnr.contab.config00.bulk.Parametri_enteBulk) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Iterator(java.util.Iterator) ContrattoBulk(it.cnr.contab.config00.contratto.bulk.ContrattoBulk) Pdg_Modulo_EntrateBulk(it.cnr.contab.prevent01.bulk.Pdg_Modulo_EntrateBulk) Pdg_moduloBulk(it.cnr.contab.prevent01.bulk.Pdg_moduloBulk) CdrBulk(it.cnr.contab.config00.sto.bulk.CdrBulk) BulkList(it.cnr.jada.bulk.BulkList) Stampa_elenco_progetti_laBulk(it.cnr.contab.doccont00.core.bulk.Stampa_elenco_progetti_laBulk) Pdg_preventivo_etr_detBulk(it.cnr.contab.pdg00.bulk.Pdg_preventivo_etr_detBulk) Pdg_variazione_riga_gestHome(it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestHome) Unita_organizzativa_enteBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk) ObbligazioneBulk(it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk) 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) Pdg_modulo_spese_gestHome(it.cnr.contab.pdg01.bulk.Pdg_modulo_spese_gestHome) Pdg_esercizioBulk(it.cnr.contab.prevent01.bulk.Pdg_esercizioBulk) Comparator(java.util.Comparator) Pdg_modulo_speseHome(it.cnr.contab.prevent01.bulk.Pdg_modulo_speseHome) Collections(java.util.Collections) Parametri_cnrHome(it.cnr.contab.config00.bulk.Parametri_cnrHome) ComponentException(it.cnr.jada.comp.ComponentException) Persistent(it.cnr.jada.persistency.Persistent) CompoundFindClause(it.cnr.jada.persistency.sql.CompoundFindClause) Pdg_modulo_costiHome(it.cnr.contab.prevent01.bulk.Pdg_modulo_costiHome) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Pdg_esercizioBulk(it.cnr.contab.prevent01.bulk.Pdg_esercizioBulk) Pdg_modulo_costiBulk(it.cnr.contab.prevent01.bulk.Pdg_modulo_costiBulk) BulkList(it.cnr.jada.bulk.BulkList) Voce_piano_economico_prgBulk(it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) Pdg_esercizioHome(it.cnr.contab.prevent01.bulk.Pdg_esercizioHome)

Aggregations

Voce_piano_economico_prgBulk (it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgBulk)13 ComponentException (it.cnr.jada.comp.ComponentException)8 Elemento_voceBulk (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk)7 Ass_progetto_piaeco_voceBulk (it.cnr.contab.progettiric00.core.bulk.Ass_progetto_piaeco_voceBulk)7 Progetto_piano_economicoBulk (it.cnr.contab.progettiric00.core.bulk.Progetto_piano_economicoBulk)7 Voce_piano_economico_prgHome (it.cnr.contab.progettiric00.tabrif.bulk.Voce_piano_economico_prgHome)7 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)7 Utility (it.cnr.contab.util.Utility)7 OggettoBulk (it.cnr.jada.bulk.OggettoBulk)7 BigDecimal (java.math.BigDecimal)7 RemoteException (java.rmi.RemoteException)7 Optional (java.util.Optional)7 Elemento_voceHome (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome)6 Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)6 ApplicationException (it.cnr.jada.comp.ApplicationException)6 CompoundFindClause (it.cnr.jada.persistency.sql.CompoundFindClause)6 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)6 List (java.util.List)6 Parametri_enteBulk (it.cnr.contab.config00.bulk.Parametri_enteBulk)5 Tipo_unita_organizzativaHome (it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome)5