Search in sources :

Example 1 with Elemento_voceBulk

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

the class Stampa_docamm_per_voce_del_pianoAction method doBlankSearchFindUOForPrint.

/**
 * Nuova ricerca di una voce del piano
 *	Quando l'utente azzera il search_tool relativo alla voce del piano, all'UO, il sistema
 *	ripulisce anche il campo relativo alla voce del piano.
 *
 *	@param context, l'<code>ActionContext</code> che ha generato la richiesta.
 *	@param stampa, la <code>Stampa_docamm_per_voce_del_pianoVBulk</code> stampa.
 *
 *	@return <code>it.cnr.jada.action.Forward</code>
 */
public it.cnr.jada.action.Forward doBlankSearchFindUOForPrint(it.cnr.jada.action.ActionContext context, it.cnr.contab.docamm00.docs.bulk.Stampa_doc_gen_per_vpVBulk stampa) {
    // stampa.setVoce_del_piano("");
    stampa.setVocedpForPrint(new Elemento_voceBulk());
    stampa.setUoForPrint(new Unita_organizzativaBulk());
    return context.findDefaultForward();
}
Also used : Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk)

Example 2 with Elemento_voceBulk

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

the class ObbligazioneModificaComponent method inserisciModifiche.

private Obbligazione_modificaBulk inserisciModifiche(UserContext aUC, Obbligazione_modificaBulk bulk) throws it.cnr.jada.comp.ComponentException {
    try {
        Obbligazione_modificaBulk obbMod = (Obbligazione_modificaBulk) bulk;
        ObbligazioneBulk obbligazione = obbMod.getObbligazione();
        BigDecimal percentuale = new BigDecimal(100);
        BigDecimal totaleScad = new BigDecimal(0);
        BigDecimal diffScad = new BigDecimal(0);
        Obbligazione_scad_voceBulk osv;
        Obbligazione_scadenzarioBulk os;
        Obbligazione_scad_voceBulk key = new Obbligazione_scad_voceBulk();
        PrimaryKeyHashtable prcImputazioneFinanziariaTable = getOldRipartizioneCdrVoceLinea(aUC, obbligazione);
        // verifico che nella nuova Obbligazione alle linee/voci siano stati assegnati gli stessi importi
        for (Enumeration e = prcImputazioneFinanziariaTable.keys(); e.hasMoreElements(); ) {
            key = (Obbligazione_scad_voceBulk) e.nextElement();
            totaleScad = new BigDecimal(0);
            for (Iterator s = obbligazione.getObbligazione_scadenzarioColl().iterator(); s.hasNext(); ) {
                os = (Obbligazione_scadenzarioBulk) s.next();
                for (Iterator d = os.getObbligazione_scad_voceColl().iterator(); d.hasNext(); ) {
                    osv = (Obbligazione_scad_voceBulk) d.next();
                    // totale per Cdr e per scadenza
                    if (key.getCd_centro_responsabilita().equals(osv.getCd_centro_responsabilita()) && key.getCd_linea_attivita().equals(osv.getCd_linea_attivita()) && key.getCd_voce().equals(osv.getCd_voce())) {
                        totaleScad = totaleScad.add(Utility.nvl(osv.getIm_voce()));
                    }
                }
            }
            if (totaleScad.compareTo((BigDecimal) prcImputazioneFinanziariaTable.get(key)) != 0) {
                Obbligazione_mod_voceBulk obbModVoce = new Obbligazione_mod_voceBulk(obbMod.getCd_cds(), obbMod.getEsercizio(), obbMod.getPg_modifica(), key.getTi_appartenenza(), key.getTi_gestione(), key.getCd_voce(), key.getCd_centro_responsabilita(), key.getCd_linea_attivita());
                IVoceBilancioBulk voce = null;
                if (((Parametri_cnrHome) getHome(aUC, Parametri_cnrBulk.class)).isNuovoPdg(aUC)) {
                    voce = new Elemento_voceBulk(key.getCd_voce(), obbMod.getEsercizio(), key.getTi_appartenenza(), key.getTi_gestione());
                    voce = (Elemento_voceBulk) getHome(aUC, Elemento_voceBulk.class).findByPrimaryKey(voce);
                } else {
                    voce = new Voce_fBulk(key.getCd_voce(), obbMod.getEsercizio(), key.getTi_appartenenza(), key.getTi_gestione());
                    voce = (Voce_fBulk) getHome(aUC, Voce_fBulk.class).findByPrimaryKey(voce);
                }
                obbModVoce.setVoce(voce);
                WorkpackageBulk linea = new WorkpackageBulk(key.getCd_centro_responsabilita(), key.getCd_linea_attivita());
                linea = (WorkpackageBulk) getHome(aUC, linea).findByPrimaryKey(linea);
                obbModVoce.setLinea_attivita(linea);
                obbModVoce.setIm_modifica(totaleScad.subtract((BigDecimal) prcImputazioneFinanziariaTable.get(key)));
                obbModVoce.setToBeCreated();
                obbMod.addToObbligazione_mod_voceColl(obbModVoce);
            }
        }
        return obbMod;
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : Enumeration(java.util.Enumeration) Obbligazione_scad_voceBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceBulk) Obbligazione_modificaBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_modificaBulk) IVoceBilancioBulk(it.cnr.contab.config00.pdcfin.bulk.IVoceBilancioBulk) Parametri_cnrHome(it.cnr.contab.config00.bulk.Parametri_cnrHome) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) BigDecimal(java.math.BigDecimal) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComponentException(it.cnr.jada.comp.ComponentException) Voce_fBulk(it.cnr.contab.config00.pdcfin.bulk.Voce_fBulk) Obbligazione_mod_voceBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_mod_voceBulk) ObbligazioneBulk(it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk) PrimaryKeyHashtable(it.cnr.jada.bulk.PrimaryKeyHashtable) Iterator(java.util.Iterator) Obbligazione_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk) Parametri_cnrBulk(it.cnr.contab.config00.bulk.Parametri_cnrBulk) WorkpackageBulk(it.cnr.contab.config00.latt.bulk.WorkpackageBulk)

Example 3 with Elemento_voceBulk

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

the class SaldoComponent method aggiornaSaldiAnniSuccessivi.

public void aggiornaSaldiAnniSuccessivi(UserContext userContext, String cd_cdr, String cd_linea_attivita, IVoceBilancioBulk voce, Integer esercizio_res, BigDecimal importo, Voce_f_saldi_cdr_lineaBulk saldoOld) throws ComponentException {
    Voce_f_saldi_cdr_lineaBulk saldoNew;
    try {
        Ass_evold_evnewHome ass_evold_evnewHome = (Ass_evold_evnewHome) getHome(userContext, Ass_evold_evnewBulk.class);
        CdrHome cdrHome = (CdrHome) getHome(userContext, CdrBulk.class);
        CdrBulk cdr = (CdrBulk) cdrHome.findByPrimaryKey(new CdrBulk(cd_cdr));
        getHomeCache(userContext).fetchAll(userContext, cdrHome);
        if (((Parametri_cdsHome) getHome(userContext, Parametri_cdsBulk.class)).isRibaltato(userContext, cdr.getCd_cds())) {
            // RECUPERO L'ELEMENTO DELL'ANNO IN CORSO
            for (Iterator esercizi = ((EsercizioHome) getHome(userContext, EsercizioBulk.class)).findEserciziSuccessivi(new EsercizioBulk(CNRUserContext.getCd_cds(userContext), CNRUserContext.getEsercizio(userContext))).iterator(); esercizi.hasNext(); ) {
                EsercizioBulk esercizio = (EsercizioBulk) esercizi.next();
                String codiceVoce = voce.getCd_voce(), codiceVoceForSaldoNew = null;
                // recupero la voce di ribaltamento
                Elemento_voceBulk elemento_voce = null;
                if (voce instanceof Voce_fBulk) {
                    if (!((Parametri_cnrHome) getHome(userContext, Parametri_cnrBulk.class)).isNuovoPdg(esercizio.getEsercizio())) {
                        voce = (Voce_fBulk) getHome(userContext, Voce_fBulk.class).findByPrimaryKey(new Voce_fBulk(voce.getCd_voce(), esercizio.getEsercizio(), saldoOld.getTi_appartenenza(), saldoOld.getTi_gestione()));
                        getHomeCache(userContext).fetchAll(userContext);
                        if (voce == null)
                            throw new ApplicationException("La voce: " + codiceVoce + " non è presente nell'esercizio: " + esercizio.getEsercizio());
                        saldoNew = findAndLock(userContext, esercizio.getEsercizio(), esercizio_res, cd_cdr, cd_linea_attivita, voce);
                        codiceVoceForSaldoNew = voce.getCd_voce();
                        elemento_voce = (Elemento_voceBulk) getHome(userContext, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(voce.getCd_elemento_voce(), esercizio.getEsercizio(), voce.getTi_appartenenza(), voce.getTi_gestione()));
                    } else {
                        // recupero la voce di ribaltamento
                        // Voce_fBulk voceOld = (Voce_fBulk)getHome(userContext,Voce_fBulk.class).findByPrimaryKey(
                        // new Voce_fBulk(voce.getCd_voce(),CNRUserContext.getEsercizio(userContext),saldoOld.getTi_appartenenza(),saldoOld.getTi_gestione())
                        // );
                        // 
                        // getHomeCache(userContext).fetchAll(userContext);
                        // 
                        // if (voceOld == null)
                        // throw new ApplicationException("La voce: "+ voce.getCd_voce() +" non è presente nell'esercizio: "+CNRUserContext.getEsercizio(userContext));
                        Elemento_voceBulk elementoVoceOld = (Elemento_voceBulk) getHome(userContext, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(saldoOld.getCd_voce(), CNRUserContext.getEsercizio(userContext), saldoOld.getTi_appartenenza(), saldoOld.getTi_gestione()));
                        if (elementoVoceOld == null)
                            throw new ApplicationException("Elemento voce non trovato per la Voce: " + saldoOld.getCd_voce() + " nell'esercizio: " + CNRUserContext.getEsercizio(userContext));
                        // cerco la voce del nuovo anno
                        List listVociNew = ass_evold_evnewHome.findAssElementoVoceNewList(elementoVoceOld);
                        if (!listVociNew.isEmpty()) {
                            if (listVociNew.size() > 1)
                                throw new ApplicationException("Trovate nella tabella di associazione Vecchie/Nuove Voci più elementi voce nel nuovo anno per la Voce: " + elementoVoceOld.getCd_voce() + " nell'esercizio: " + CNRUserContext.getEsercizio(userContext));
                            elemento_voce = (Elemento_voceBulk) listVociNew.get(0);
                        } else {
                            elemento_voce = (Elemento_voceBulk) getHome(userContext, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(elementoVoceOld.getCd_elemento_voce(), esercizio.getEsercizio(), elementoVoceOld.getTi_appartenenza(), elementoVoceOld.getTi_gestione()));
                        }
                        if (elemento_voce == null || elemento_voce.getEsercizio().compareTo(esercizio.getEsercizio()) != 0)
                            throw new ApplicationException("Elemento voce non trovato o associato ad una voce di anno differente rispetto a quello di ribaltamento per la Voce: " + saldoOld.getCd_voce() + " nell'esercizio: " + CNRUserContext.getEsercizio(userContext));
                        saldoNew = findAndLock(userContext, esercizio.getEsercizio(), esercizio_res, cd_cdr, cd_linea_attivita, elemento_voce);
                        codiceVoceForSaldoNew = elemento_voce.getCd_voce();
                    }
                } else {
                    // recupero la voce di ribaltamento
                    Elemento_voceBulk elementoVoceOld = (Elemento_voceBulk) getHome(userContext, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(voce.getCd_elemento_voce(), CNRUserContext.getEsercizio(userContext), voce.getTi_appartenenza(), voce.getTi_gestione()));
                    if (elementoVoceOld == null)
                        throw new ApplicationException("Elemento voce non trovato per la Voce: " + voce.getCd_voce() + " nell'esercizio: " + CNRUserContext.getEsercizio(userContext));
                    getHomeCache(userContext).fetchAll(userContext);
                    // cerco la voce del nuovo anno
                    List listVociNew = ass_evold_evnewHome.findAssElementoVoceNewList(elementoVoceOld);
                    if (!listVociNew.isEmpty()) {
                        if (listVociNew.size() > 1)
                            throw new ApplicationException("Trovate nella tabella di associazione Vecchie/Nuove Voci più elementi voce nel nuovo anno per la Voce: " + elementoVoceOld.getCd_voce() + " nell'esercizio: " + CNRUserContext.getEsercizio(userContext));
                        elemento_voce = (Elemento_voceBulk) listVociNew.get(0);
                    } else {
                        elemento_voce = (Elemento_voceBulk) getHome(userContext, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(elementoVoceOld.getCd_elemento_voce(), esercizio.getEsercizio(), elementoVoceOld.getTi_appartenenza(), elementoVoceOld.getTi_gestione()));
                    }
                    if (elemento_voce == null || elemento_voce.getEsercizio().compareTo(esercizio.getEsercizio()) != 0)
                        throw new ApplicationException("Elemento voce non trovato o associato ad una voce di anno differente rispetto a quello di ribaltamento per la Voce: " + elementoVoceOld.getCd_voce() + " nell'esercizio: " + CNRUserContext.getEsercizio(userContext));
                    saldoNew = findAndLock(userContext, esercizio.getEsercizio(), esercizio_res, cd_cdr, cd_linea_attivita, elemento_voce);
                    codiceVoceForSaldoNew = elemento_voce.getCd_voce();
                }
                getHomeCache(userContext).fetchAll(userContext);
                WorkpackageBulk workpackage = (WorkpackageBulk) getHome(userContext, WorkpackageBulk.class).findByPrimaryKey(new WorkpackageBulk(cd_cdr, cd_linea_attivita));
                // Obbligatorio cofog sulle GAE
                Parametri_cnrBulk par = (Parametri_cnrBulk) getHome(userContext, Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(esercizio.getEsercizio()));
                if (par != null && par.getLivello_pdg_cofog() != 0)
                    if ((workpackage.getTi_gestione().compareTo(CostantiTi_gestione.TI_GESTIONE_SPESE) == 0) && workpackage.getCd_cofog() == null)
                        throw new ApplicationException("Non è possibile utilizzare GAE di spesa in cui non è indicata la classificazione Cofog.");
                getHomeCache(userContext).fetchAll(userContext);
                if (saldoNew == null) {
                    if (elemento_voce == null)
                        throw new ApplicationException("Elemento voce non trovato per la Voce: " + voce.getCd_voce() + " nell'esercizio: " + esercizio.getEsercizio());
                    saldoNew = new Voce_f_saldi_cdr_lineaBulk(esercizio.getEsercizio(), esercizio_res, cd_cdr, cd_linea_attivita, voce.getTi_appartenenza(), voce.getTi_gestione(), codiceVoceForSaldoNew);
                    saldoNew.setCd_elemento_voce(elemento_voce.getCd_elemento_voce());
                    saldoNew.inizializzaSommeAZero();
                    saldoNew.setToBeCreated();
                    insertBulk(userContext, saldoNew);
                }
                if (saldoNew != null) {
                    saldoNew.setIm_stanz_res_improprio(saldoNew.getIm_stanz_res_improprio().subtract(importo));
                    // calcolo i vincoli
                    Pdg_vincoloHome home = (Pdg_vincoloHome) getHome(userContext, Pdg_vincoloBulk.class);
                    List<Pdg_vincoloBulk> listVincoli = home.cercaDettagliVincolati(saldoNew);
                    BigDecimal impVincolo = listVincoli.stream().map(e -> e.getIm_vincolo()).reduce((x, y) -> x.add(y)).orElse(BigDecimal.ZERO);
                    BigDecimal diff = saldoNew.getDispAdImpResiduoImproprio().subtract(impVincolo);
                    if (diff.compareTo(Utility.ZERO) < 0) {
                        if (voce.getTi_gestione().equalsIgnoreCase(Voce_f_saldi_cdr_lineaBulk.TIPO_GESTIONE_SPESA)) {
                            if (!((elemento_voce.getFl_partita_giro() != null && elemento_voce.getFl_partita_giro().booleanValue()) || (elemento_voce.getFl_limite_ass_obblig() != null && !elemento_voce.getFl_limite_ass_obblig().booleanValue() && workpackage.getFl_limite_ass_obblig() != null && !workpackage.getFl_limite_ass_obblig().booleanValue()))) {
                                StringBuilder messaggio = new StringBuilder("Impossibile effettuare l'operazione !\n" + "Nell'esercizio " + esercizio.getEsercizio() + " e per il CdR " + cd_cdr + ", " + " Voce " + voce.getCd_voce() + " e GAE " + cd_linea_attivita + " lo stanziamento Residuo Improprio " + " diventerebbe negativo (" + new it.cnr.contab.util.EuroFormat().format(diff.abs()) + ")");
                                if (impVincolo.compareTo(BigDecimal.ZERO) > 0)
                                    messaggio.append(" in conseguenza della presenza di vincoli di spesa per un importo di " + new it.cnr.contab.util.EuroFormat().format(impVincolo.abs()));
                                throw new ApplicationException(messaggio.toString());
                            }
                        }
                    }
                    saldoNew.setToBeUpdated();
                    updateBulk(userContext, saldoNew);
                }
            }
        }
    } catch (PersistencyException e) {
        throw new ComponentException(e);
    } catch (IntrospectionException 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) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) CdrBulk(it.cnr.contab.config00.sto.bulk.CdrBulk) EsercizioBulk(it.cnr.contab.config00.esercizio.bulk.EsercizioBulk) PersistencyException(it.cnr.jada.persistency.PersistencyException) BulkList(it.cnr.jada.bulk.BulkList) WorkpackageBulk(it.cnr.contab.config00.latt.bulk.WorkpackageBulk) CdrHome(it.cnr.contab.config00.sto.bulk.CdrHome) BigDecimal(java.math.BigDecimal) ApplicationException(it.cnr.jada.comp.ApplicationException) ComponentException(it.cnr.jada.comp.ComponentException)

Example 4 with Elemento_voceBulk

use of it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk 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 Elemento_voceBulk

use of it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk 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)

Aggregations

Elemento_voceBulk (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk)95 ApplicationException (it.cnr.jada.comp.ApplicationException)54 PersistencyException (it.cnr.jada.persistency.PersistencyException)53 ComponentException (it.cnr.jada.comp.ComponentException)45 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)37 RemoteException (java.rmi.RemoteException)33 Iterator (java.util.Iterator)31 Elemento_voceHome (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome)30 BigDecimal (java.math.BigDecimal)29 WorkpackageBulk (it.cnr.contab.config00.latt.bulk.WorkpackageBulk)28 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)28 Parametri_cnrBulk (it.cnr.contab.config00.bulk.Parametri_cnrBulk)27 List (java.util.List)22 Parametri_cnrHome (it.cnr.contab.config00.bulk.Parametri_cnrHome)21 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)21 Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)20 BulkList (it.cnr.jada.bulk.BulkList)20 SQLException (java.sql.SQLException)19 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)18 OggettoBulk (it.cnr.jada.bulk.OggettoBulk)18