use of it.cnr.contab.config00.bulk.Parametri_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class ConsWorkpackageBP method init.
protected void init(it.cnr.jada.action.Config config, it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
try {
Parametri_cnrBulk parCnr = Utility.createParametriCnrComponentSession().getParametriCnr(context.getUserContext(), CNRUserContext.getEsercizio(context.getUserContext()));
setFlNuovoPdg(parCnr.getFl_nuovo_pdg().booleanValue());
setMultiSelection(true);
setPageSize(10);
try {
setBulkInfo(it.cnr.jada.bulk.BulkInfo.getBulkInfo(Class.forName(config.getInitParameter("bulkClassName"))));
OggettoBulk model = (OggettoBulk) getBulkInfo().getBulkClass().newInstance();
setModel(context, model);
} catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) {
throw handleException(e);
}
setColumns(getBulkInfo().getColumnFieldPropertyDictionary());
super.init(config, context);
openIterator(context);
} catch (Throwable e) {
throw new BusinessProcessException(e);
}
}
use of it.cnr.contab.config00.bulk.Parametri_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class SaldoComponent method aggiornaObbligazioniAccertamenti.
/**
* aggiornamento importo relativo a obbligazioni/accertamento
* PreCondition:
* E' stata creato/modificato importo/cancellato un accertamento oppure e' stata
* cancellata un'obbligazione o e' stato diminuito l'importo del dettaglio di una scadenza dell'obbligazione
* PostCondition:
* Viene aggiornato l'importo associato a obbligazioni/accertamenti della voce del piano (di competenza o residuo)
* interessata dall'accertamento o dai dettagli delle scadenze dell'obbligazione
*
* @param userContext lo <code>UserContext</code> che ha generato la richiesta
* @param cd_cdr il codice del CDR per cui effettuare la ricerca del saldo
* @param cd_linea_attivita il codice del Workpackage per cui effettuare la ricerca del saldo
* @param voce <code>Voce_fBulk</code> la voce del piano per cui aggiornare i saldi
* @param esercizio_res l'anno del residuo
* @param tipo_residuo il tipo di residuo (proprio o improprio)
* @param importo l'importo (positivo o negativo) della modifica da apportare al saldo
* @param tipo_doc_cont il tipo di documento contabile
*/
public Voce_f_saldi_cdr_lineaBulk aggiornaObbligazioniAccertamenti(UserContext userContext, String cd_cdr, String cd_linea_attivita, IVoceBilancioBulk voce, Integer esercizio_res, String tipo_residuo, BigDecimal importo, String tipo_doc_cont) throws ComponentException {
try {
Voce_f_saldi_cdr_lineaBulk saldo;
saldo = findAndLock(userContext, voce.getEsercizio(), esercizio_res, cd_cdr, cd_linea_attivita, voce);
if (saldo == null) {
Parametri_cnrBulk parametriCnr = (Parametri_cnrBulk) getHome(userContext, Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(voce.getEsercizio()));
if (parametriCnr == null || !parametriCnr.getFl_nuovo_pdg())
voce = (Voce_fBulk) getHome(userContext, Voce_fBulk.class).findByPrimaryKey(new Voce_fBulk(voce.getCd_voce(), voce.getEsercizio(), voce.getTi_appartenenza(), voce.getTi_gestione()));
Elemento_voceBulk elemento_voce = (Elemento_voceBulk) getHome(userContext, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(voce.getCd_elemento_voce(), voce.getEsercizio(), voce.getTi_appartenenza(), voce.getTi_gestione()));
if (elemento_voce == null)
throw new ApplicationException("Elemento voce non trovato per la Voce: " + voce.getCd_voce());
WorkpackageBulk workpackage = (WorkpackageBulk) getHome(userContext, WorkpackageBulk.class).findByPrimaryKey(new WorkpackageBulk(cd_cdr, cd_linea_attivita));
if ((voce.getTi_gestione().equals(CostantiTi_gestione.TI_GESTIONE_SPESE) && tipo_residuo.equals(Voce_f_saldi_cdr_lineaBulk.TIPO_RESIDUO_PROPRIO) || (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())) || voce.getTi_gestione().equals(CostantiTi_gestione.TI_GESTIONE_ENTRATE)) {
saldo = new Voce_f_saldi_cdr_lineaBulk(voce.getEsercizio(), esercizio_res, cd_cdr, cd_linea_attivita, voce.getTi_appartenenza(), voce.getTi_gestione(), voce.getCd_voce());
saldo.setCd_elemento_voce(elemento_voce.getCd_elemento_voce());
saldo.inizializzaSommeAZero();
saldo.setToBeCreated();
insertBulk(userContext, saldo);
}
if (saldo == null) {
throw handleException(new ApplicationException("Disponibilità inesistente per Esercizio: " + voce.getEsercizio() + " CDR: " + cd_cdr + " G.A.E.: " + cd_linea_attivita + " Voce: " + voce.getCd_voce()));
}
}
if (saldo != null) {
importo = importo.setScale(2, importo.ROUND_HALF_UP);
if (voce.getEsercizio().compareTo(esercizio_res) == 0) {
saldo.setIm_obbl_acc_comp(saldo.getIm_obbl_acc_comp().add(importo));
} else {
if (tipo_residuo.equals(Voce_f_saldi_cdr_lineaBulk.TIPO_RESIDUO_IMPROPRIO)) {
saldo.setIm_obbl_res_imp(saldo.getIm_obbl_res_imp().add(importo));
} else {
saldo.setIm_obbl_res_pro(saldo.getIm_obbl_res_pro().add(importo));
}
}
saldo.setUser(((it.cnr.contab.utenze00.bp.CNRUserContext) userContext).getUser());
saldo.setToBeUpdated();
updateBulk(userContext, saldo);
}
/**
* @author mspasiano
* Aggiorno i saldi negli anni successivi aperti
*/
if ((voce.getTi_gestione().equals(CostantiTi_gestione.TI_GESTIONE_SPESE)) && !(tipo_doc_cont.equalsIgnoreCase(Numerazione_doc_contBulk.TIPO_IMP) || tipo_doc_cont.equalsIgnoreCase(Numerazione_doc_contBulk.TIPO_IMP_RES)))
aggiornaSaldiAnniSuccessivi(userContext, cd_cdr, cd_linea_attivita, voce, esercizio_res, importo, saldo);
return saldo;
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.contab.config00.bulk.Parametri_cnrBulk 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);
}
}
use of it.cnr.contab.config00.bulk.Parametri_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class ConsGAEComResSintBP method init.
protected void init(it.cnr.jada.action.Config config, it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
try {
super.init(config, context);
setMultiSelection(true);
setPageSize(20);
setBulkInfo(it.cnr.jada.bulk.BulkInfo.getBulkInfo(WorkpackageBulk.class));
Parametri_cnrBulk parCnr = Utility.createParametriCnrComponentSession().getParametriCnr(context.getUserContext(), CNRUserContext.getEsercizio(context.getUserContext()));
setFlNuovoPdg(parCnr.getFl_nuovo_pdg().booleanValue());
setColumns(getBulkInfo().getColumnFieldPropertyDictionary(this.isFlNuovoPdg() ? "prg_liv2" : null));
} catch (ComponentException e) {
throw new BusinessProcessException(e);
} catch (RemoteException e) {
throw new BusinessProcessException(e);
}
}
use of it.cnr.contab.config00.bulk.Parametri_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class ConsGAECompBP method init.
protected void init(it.cnr.jada.action.Config config, it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
try {
Integer esercizio = it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext());
Parametri_cnrBulk parCnr = Utility.createParametriCnrComponentSession().getParametriCnr(context.getUserContext(), esercizio);
setFlNuovoPdg(parCnr.getFl_nuovo_pdg().booleanValue());
CompoundFindClause clauses = new CompoundFindClause();
clauses.addClause("AND", "esercizio", SQLBuilder.EQUALS, esercizio);
setBaseclause(clauses);
if (getPathConsultazione() == null) {
if (this instanceof ConsGAECompEtrBP) {
setPathConsultazione(this.LIVELLO_ETRLIN);
setLivelloConsultazione(this.LIVELLO_ETRLIN);
} else {
setPathConsultazione(this.LIVELLO_SPELIN);
setLivelloConsultazione(this.LIVELLO_SPELIN);
}
super.init(config, context);
initVariabili(context, null, getPathConsultazione());
}
} catch (ComponentException e) {
throw new BusinessProcessException(e);
} catch (RemoteException e) {
throw new BusinessProcessException(e);
}
}
Aggregations