Search in sources :

Example 1 with DetailedRuntimeException

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

the class ScritturaPartitaDoppiaFromDocumentoComponent method caricaScrittura.

protected void caricaScrittura(UserContext userContext, IDocumentoCogeBulk documentoCogeBulk) throws ComponentException {
    try {
        if (Optional.ofNullable(getHome(userContext, Configurazione_cnrBulk.class)).filter(Configurazione_cnrHome.class::isInstance).map(Configurazione_cnrHome.class::cast).orElseThrow(() -> new DetailedRuntimeException("Configurazione Home not found")).isAttivaEconomicaParallela(userContext)) {
            Scrittura_partita_doppiaHome partitaDoppiaHome = Optional.ofNullable(getHome(userContext, Scrittura_partita_doppiaBulk.class)).filter(Scrittura_partita_doppiaHome.class::isInstance).map(Scrittura_partita_doppiaHome.class::cast).orElseThrow(() -> new DetailedRuntimeException("Partita doppia Home not found"));
            final Optional<Scrittura_partita_doppiaBulk> scritturaOpt = partitaDoppiaHome.findByDocumentoAmministrativo(documentoCogeBulk);
            if (scritturaOpt.isPresent()) {
                Scrittura_partita_doppiaBulk scrittura = scritturaOpt.get();
                scrittura.setMovimentiDareColl(new BulkList(((Scrittura_partita_doppiaHome) getHome(userContext, scrittura.getClass())).findMovimentiDareColl(userContext, scrittura)));
                scrittura.setMovimentiAvereColl(new BulkList(((Scrittura_partita_doppiaHome) getHome(userContext, scrittura.getClass())).findMovimentiAvereColl(userContext, scrittura)));
                documentoCogeBulk.setScrittura_partita_doppia(scrittura);
            }
        }
    } catch (PersistencyException | ComponentException e) {
        throw handleException((OggettoBulk) documentoCogeBulk, e);
    }
}
Also used : Scrittura_partita_doppiaHome(it.cnr.contab.coepcoan00.core.bulk.Scrittura_partita_doppiaHome) ComponentException(it.cnr.jada.comp.ComponentException) PersistencyException(it.cnr.jada.persistency.PersistencyException) BulkList(it.cnr.jada.bulk.BulkList) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) Scrittura_partita_doppiaBulk(it.cnr.contab.coepcoan00.core.bulk.Scrittura_partita_doppiaBulk) Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException)

Example 2 with DetailedRuntimeException

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

the class CRUDFatturaPassivaBP method associaOrdineRigaFattura.

public boolean associaOrdineRigaFattura(ActionContext context, Fattura_passiva_rigaBulk fattura_passiva_rigaBulk) throws BusinessProcessException {
    return Optional.ofNullable(createComponentSession()).filter(FatturaPassivaComponentSession.class::isInstance).map(FatturaPassivaComponentSession.class::cast).map(fatturaPassivaComponentSession -> {
        try {
            List<EvasioneOrdineRigaBulk> evasioneOrdineRigas = fatturaPassivaComponentSession.findContabilizzaRigaByClause(context.getUserContext(), fattura_passiva_rigaBulk, CompoundFindClause.identity(new SimpleFindClause("ordineAcqConsegna.ordineAcqRiga.imImponibileDivisa", SQLBuilder.EQUALS, fattura_passiva_rigaBulk.getIm_imponibile())));
            return Optional.ofNullable(evasioneOrdineRigas).filter(evasioneOrdineRigaBulks -> !evasioneOrdineRigaBulks.isEmpty()).filter(evasioneOrdineRigaBulks -> evasioneOrdineRigaBulks.size() == 1).map(evasioneOrdineRigaBulks -> {
                final EvasioneOrdineRigaBulk evasioneOrdineRigaBulk = evasioneOrdineRigaBulks.get(0);
                try {
                    fattura_passiva_rigaBulk.setBene_servizio(Optional.ofNullable(fattura_passiva_rigaBulk.getBene_servizio()).orElseGet(() -> evasioneOrdineRigaBulk.getOrdineAcqConsegna().getOrdineAcqRiga().getBeneServizio()));
                    fattura_passiva_rigaBulk.setVoce_iva(Optional.ofNullable(fattura_passiva_rigaBulk.getVoce_iva()).orElseGet(() -> evasioneOrdineRigaBulk.getOrdineAcqConsegna().getOrdineAcqRiga().getVoce_iva()));
                    fattura_passiva_rigaBulk.setDs_riga_fattura(Optional.ofNullable(fattura_passiva_rigaBulk.getDs_riga_fattura()).orElseGet(() -> evasioneOrdineRigaBulk.getOrdineAcqConsegna().getOrdineAcqRiga().getBeneServizio().getDs_bene_servizio()));
                    fattura_passiva_rigaBulk.setPrezzo_unitario(Optional.ofNullable(fattura_passiva_rigaBulk.getPrezzo_unitario()).orElseGet(() -> evasioneOrdineRigaBulk.getOrdineAcqConsegna().getOrdineAcqRiga().getPrezzoUnitario()));
                    fattura_passiva_rigaBulk.setQuantita(Optional.ofNullable(fattura_passiva_rigaBulk.getQuantita()).orElseGet(() -> evasioneOrdineRigaBulk.getQuantitaEvasa()));
                    associaOrdineRigaFattura(context, evasioneOrdineRigaBulk, fattura_passiva_rigaBulk);
                } catch (BusinessProcessException e) {
                    throw new DetailedRuntimeException(e);
                }
                return true;
            }).orElse(false);
        } catch (ComponentException | RemoteException e) {
            throw new DetailedRuntimeException(e);
        }
    }).orElse(false);
}
Also used : FatturaOrdineBulk(it.cnr.contab.ordmag.ordini.bulk.FatturaOrdineBulk) Transformer(javax.xml.transform.Transformer) ServletException(javax.servlet.ServletException) EsercizioBulk(it.cnr.contab.config00.esercizio.bulk.EsercizioBulk) StreamResult(javax.xml.transform.stream.StreamResult) ActionContext(it.cnr.jada.action.ActionContext) EconomicaDareDetailCRUDController(it.cnr.contab.coepcoan00.bp.EconomicaDareDetailCRUDController) IDefferedUpdateSaldiBP(it.cnr.contab.doccont00.bp.IDefferedUpdateSaldiBP) Ass_inv_bene_fatturaBulk(it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk) FatturaPassivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaPassivaComponentSession) BigDecimal(java.math.BigDecimal) SimpleDetailCRUDController(it.cnr.jada.util.action.SimpleDetailCRUDController) it.cnr.contab.docamm00.fatturapa.bulk(it.cnr.contab.docamm00.fatturapa.bulk) BigInteger(java.math.BigInteger) Accertamento_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioBulk) CollapsableDetailCRUDController(it.cnr.jada.util.action.CollapsableDetailCRUDController) ValidationException(it.cnr.jada.bulk.ValidationException) StorageObject(it.cnr.si.spring.storage.StorageObject) Timestamp(java.sql.Timestamp) BuonoCaricoScaricoComponentSession(it.cnr.contab.inventario01.ejb.BuonoCaricoScaricoComponentSession) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) it.cnr.contab.docamm00.docs.bulk(it.cnr.contab.docamm00.docs.bulk) CRUDScritturaPDoppiaBP(it.cnr.contab.coepcoan00.bp.CRUDScritturaPDoppiaBP) EconomicaAvereDetailCRUDController(it.cnr.contab.coepcoan00.bp.EconomicaAvereDetailCRUDController) IDefferUpdateSaldi(it.cnr.contab.doccont00.core.bulk.IDefferUpdateSaldi) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) RicercaDocContComponentSession(it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) List(java.util.List) Stream(java.util.stream.Stream) OrdineAcqConsegnaBulk(it.cnr.contab.ordmag.ordini.bulk.OrdineAcqConsegnaBulk) Optional(java.util.Optional) StoragePropertyNames(it.cnr.si.spring.storage.config.StoragePropertyNames) Bene_servizioBulk(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk) SpringUtil(it.cnr.contab.service.SpringUtil) HttpActionContext(it.cnr.jada.action.HttpActionContext) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) TransformerException(javax.xml.transform.TransformerException) StreamSource(javax.xml.transform.stream.StreamSource) Utility(it.cnr.contab.util.Utility) Source(javax.xml.transform.Source) Fattura_passiva_intraBulk(it.cnr.contab.docamm00.intrastat.bulk.Fattura_passiva_intraBulk) AllegatiCRUDBP(it.cnr.contab.util00.bp.AllegatiCRUDBP) SimpleFindClause(it.cnr.jada.persistency.sql.SimpleFindClause) EvasioneOrdineRigaBulk(it.cnr.contab.ordmag.ordini.bulk.EvasioneOrdineRigaBulk) StoreService(it.cnr.si.spring.storage.StoreService) OutputStream(java.io.OutputStream) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Voce_ivaBulk(it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk) Iterator(java.util.Iterator) ContrattoBulk(it.cnr.contab.config00.contratto.bulk.ContrattoBulk) HttpServletResponse(javax.servlet.http.HttpServletResponse) IOException(java.io.IOException) BulkList(it.cnr.jada.bulk.BulkList) TreeMap(java.util.TreeMap) ObbligazioneBulk(it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk) TransformerFactory(javax.xml.transform.TransformerFactory) Obbligazione_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk) ComponentException(it.cnr.jada.comp.ComponentException) CompoundFindClause(it.cnr.jada.persistency.sql.CompoundFindClause) InputStream(java.io.InputStream) EvasioneOrdineRigaBulk(it.cnr.contab.ordmag.ordini.bulk.EvasioneOrdineRigaBulk) SimpleFindClause(it.cnr.jada.persistency.sql.SimpleFindClause) List(java.util.List) BulkList(it.cnr.jada.bulk.BulkList) FatturaPassivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaPassivaComponentSession) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException)

Example 3 with DetailedRuntimeException

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

the class CRUDFatturaAttivaBP method gestioneBeneBolloVirtuale.

// public String getDocumentiCollegatiFileName(){
// Fattura_attivaBulk fattura = (Fattura_attivaBulk)getModel();
// if (mandato != null){
// return "Contabile ".
// concat(String.valueOf(mandato.getEsercizio())).
// concat("-").concat(mandato.getCd_cds()==null?"":mandato.getCd_cds()).
// concat("-").concat(String.valueOf(mandato.getPg_mandato())).
// concat(" .pdf");
// }
// return null;
// }
public void gestioneBeneBolloVirtuale(ActionContext actioncontext) throws BusinessProcessException {
    Fattura_attiva_rigaBulk riga = (Fattura_attiva_rigaIBulk) getDettaglio().getModel();
    if (riga.getBene_servizio().getFl_bollo() && !Fattura_attivaBulk.TARIFFARIO.equals(riga.getFattura_attiva().getTi_causale_emissione())) {
        try {
            BigDecimal importoBollo = ((FatturaAttivaSingolaComponentSession) createComponentSession()).getImportoBolloVirtuale(actioncontext.getUserContext(), riga.getFattura_attiva());
            if (importoBollo != null) {
                riga.setPrezzo_unitario(importoBollo);
                riga.setQuantita(BigDecimal.ONE);
            }
        } catch (ComponentException | RemoteException | EJBException | DetailedRuntimeException e) {
            throw handleException(e);
        }
    }
}
Also used : ComponentException(it.cnr.jada.comp.ComponentException) FatturaAttivaSingolaComponentSession(it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) BigDecimal(java.math.BigDecimal) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException)

Example 4 with DetailedRuntimeException

use of it.cnr.jada.DetailedRuntimeException 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 5 with DetailedRuntimeException

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

the class ReversaleAutomaticaComponent method creaReversaleAutomaticaDaDocAttivi.

private OggettoBulk creaReversaleAutomaticaDaDocAttivi(UserContext userContext, ReversaleAutomaticaWizardBulk wizard, Collection<V_doc_attivo_accertamento_wizardBulk> docAttiviColl) throws ComponentException {
    try {
        Map<Integer, Map<Optional<String>, Map<Optional<Long>, List<V_doc_attivo_accertamento_wizardBulk>>>> mapTerzo = docAttiviColl.stream().collect(Collectors.groupingBy(V_doc_attivo_accertamento_wizardBulk::getCd_terzo, Collectors.groupingBy(p -> Optional.ofNullable(p.getCd_modalita_pag()), Collectors.groupingBy(q -> Optional.ofNullable(q.getPg_banca())))));
        mapTerzo.keySet().stream().forEach(aCdTerzo -> {
            mapTerzo.get(aCdTerzo).keySet().forEach(aCdModalitaPag -> {
                mapTerzo.get(aCdTerzo).get(aCdModalitaPag).keySet().forEach(aPgBanca -> {
                    try {
                        List docAttiviCompetenzaColl = new ArrayList();
                        List docAttiviResiduiColl = new ArrayList();
                        mapTerzo.get(aCdTerzo).get(aCdModalitaPag).get(aPgBanca).forEach(docTerzo -> {
                            try {
                                Accertamento_scadenzarioBulk as = (Accertamento_scadenzarioBulk) getHome(userContext, Accertamento_scadenzarioBulk.class).findAndLock(new Accertamento_scadenzarioBulk(docTerzo.getCd_cds(), docTerzo.getEsercizio(), docTerzo.getEsercizio_ori_accertamento(), docTerzo.getPg_accertamento(), docTerzo.getPg_accertamento_scadenzario()));
                                if (as.getIm_scadenza().compareTo(docTerzo.getIm_scadenza()) != 0 || as.getIm_associato_doc_contabile().compareTo(docTerzo.getIm_associato_doc_contabile()) != 0)
                                    throw new ApplicationException("Operazione non possibile! E' stata utilizzata da un altro utente la scadenza nr." + docTerzo.getPg_accertamento_scadenzario() + " dell'accertamento " + docTerzo.getEsercizio_ori_accertamento() + "/" + docTerzo.getPg_accertamento());
                                if (docTerzo.isCompetenza() || wizard.isFlGeneraReversaleUnica())
                                    docAttiviCompetenzaColl.add(docTerzo);
                                else
                                    docAttiviResiduiColl.add(docTerzo);
                            } catch (Exception e) {
                                throw new ApplicationRuntimeException(e);
                            }
                        });
                        ReversaleBulk reversaleCompetenza, reversaleResiduo;
                        if (!docAttiviCompetenzaColl.isEmpty()) {
                            reversaleCompetenza = creaReversaleAutomatica(userContext, wizard, MandatoBulk.TIPO_COMPETENZA);
                            reversaleCompetenza.setReversale_terzo(creaReversaleTerzo(reversaleCompetenza, cercaTerzo(userContext, aCdTerzo), wizard.getReversale_terzo().getTipoBollo()));
                            reversaleCompetenza = aggiungiDocAttivi(userContext, reversaleCompetenza, docAttiviCompetenzaColl);
                            reversaleCompetenza.refreshImporto();
                            verificaReversale(userContext, reversaleCompetenza, Boolean.TRUE);
                            super.creaConBulk(userContext, reversaleCompetenza);
                            aggiornaStatoFattura(userContext, reversaleCompetenza, INSERIMENTO_REVERSALE_ACTION);
                            wizard.getReversaliColl().add(reversaleCompetenza);
                        }
                        if (!docAttiviResiduiColl.isEmpty()) {
                            reversaleResiduo = creaReversaleAutomatica(userContext, wizard, MandatoBulk.TIPO_RESIDUO);
                            reversaleResiduo.setReversale_terzo(creaReversaleTerzo(reversaleResiduo, cercaTerzo(userContext, aCdTerzo), wizard.getReversale_terzo().getTipoBollo()));
                            reversaleResiduo = aggiungiDocAttivi(userContext, reversaleResiduo, docAttiviResiduiColl);
                            reversaleResiduo.refreshImporto();
                            verificaReversale(userContext, reversaleResiduo, Boolean.TRUE);
                            super.creaConBulk(userContext, reversaleResiduo);
                            aggiornaStatoFattura(userContext, reversaleResiduo, INSERIMENTO_REVERSALE_ACTION);
                            wizard.getReversaliColl().add(reversaleResiduo);
                        }
                    } catch (Exception e) {
                        throw new DetailedRuntimeException(e);
                    }
                });
            });
        });
        return wizard;
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) UserContext(it.cnr.jada.UserContext) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) java.util(java.util) 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.doccont00.core.bulk(it.cnr.contab.doccont00.core.bulk) BigDecimal(java.math.BigDecimal) ObbligazioneWizard(it.cnr.contab.doccont00.core.ObbligazioneWizard) Modalita_pagamentoBulk(it.cnr.contab.anagraf00.core.bulk.Modalita_pagamentoBulk) BancaBulk(it.cnr.contab.anagraf00.core.bulk.BancaBulk) FindClause(it.cnr.jada.persistency.sql.FindClause) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) V_anagrafico_terzoBulk(it.cnr.contab.anagraf00.core.bulk.V_anagrafico_terzoBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Documento_genericoBulk(it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk) AccertamentoWizard(it.cnr.contab.doccont00.core.AccertamentoWizard) Tipo_bolloHome(it.cnr.contab.doccont00.tabrif.bulk.Tipo_bolloHome) Collectors(java.util.stream.Collectors) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) CdsBulk(it.cnr.contab.config00.sto.bulk.CdsBulk) Tipo_bolloBulk(it.cnr.contab.doccont00.tabrif.bulk.Tipo_bolloBulk) ComponentException(it.cnr.jada.comp.ComponentException) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) ComponentException(it.cnr.jada.comp.ComponentException) ApplicationException(it.cnr.jada.comp.ApplicationException) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException)

Aggregations

DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)81 ComponentException (it.cnr.jada.comp.ComponentException)53 RemoteException (java.rmi.RemoteException)53 PersistencyException (it.cnr.jada.persistency.PersistencyException)36 Utility (it.cnr.contab.util.Utility)31 Collectors (java.util.stream.Collectors)30 ApplicationException (it.cnr.jada.comp.ApplicationException)29 BigDecimal (java.math.BigDecimal)29 UserContext (it.cnr.jada.UserContext)28 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)27 OggettoBulk (it.cnr.jada.bulk.OggettoBulk)24 java.util (java.util)24 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)23 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)23 Timestamp (java.sql.Timestamp)18 EJBException (javax.ejb.EJBException)18 Configurazione_cnrComponentSession (it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession)16 EsercizioBulk (it.cnr.contab.config00.esercizio.bulk.EsercizioBulk)15 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)15 Elemento_voceBulk (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk)14