use of it.cnr.contab.config00.pdcfin.bulk.Voce_fHome in project sigla-main by consiglionazionaledellericerche.
the class StampaSingoloContoComponent method selectVoce_fByClause.
public it.cnr.jada.persistency.sql.SQLBuilder selectVoce_fByClause(UserContext userContext, V_voce_f_sing_contoBulk filtro, Voce_fBulk voce_f, CompoundFindClause clauses) throws ComponentException {
Voce_fHome voceFHome = (Voce_fHome) getHome(userContext, voce_f);
it.cnr.jada.persistency.sql.SQLBuilder sql = voceFHome.createSQLBuilder();
sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, ((CNRUserContext) userContext).getEsercizio());
if (Optional.ofNullable(filtro).filter(fil -> !Optional.ofNullable(fil.getFl_partita_giro()).orElse(Boolean.FALSE) || Optional.ofNullable(fil.getFl_ente()).orElse(Boolean.FALSE)).filter(fil -> !Optional.ofNullable(fil.isEnteInScrivania()).orElse(Boolean.FALSE)).isPresent()) {
sql.addClause("AND", "cd_cds", SQLBuilder.EQUALS, ((CNRUserContext) userContext).getCd_cds());
String uo = (((CNRUserContext) userContext).getCd_unita_organizzativa());
try {
Unita_organizzativaBulk bulk = (Unita_organizzativaBulk) getHome(userContext, Unita_organizzativaBulk.class).findByPrimaryKey(new Unita_organizzativaBulk(uo));
if (!bulk.getFl_uo_cds().booleanValue())
sql.addClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, ((CNRUserContext) userContext).getCd_unita_organizzativa());
} catch (PersistencyException e) {
handleException(e);
}
}
if (Optional.ofNullable(filtro).filter(fil -> !Optional.ofNullable(fil.getFl_partita_giro()).orElse(Boolean.FALSE)).filter(fil -> Optional.ofNullable(fil.isEnteInScrivania()).orElse(Boolean.FALSE)).isPresent()) {
sql.addClause("AND", "cd_cds", SQLBuilder.EQUALS, filtro.getCd_cds_proprio());
}
sql.addClause("AND", "cd_elemento_voce", SQLBuilder.EQUALS, filtro.getCd_elemento_voce());
if (filtro.getTi_gestione().compareTo(SospesoBulk.TIPO_ENTRATA) == 0) {
sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, SospesoBulk.TIPO_ENTRATA);
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "C");
if (filtro.getUnita_organizzativa() != null)
sql.addClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, filtro.getUnita_organizzativa().getCd_unita_organizzativa());
} else {
sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, SospesoBulk.TIPO_SPESA);
if (filtro.getFl_ente().booleanValue() || (filtro.getCd_proprio_voce() != null) || filtro.isEnteInScrivania()) {
sql.addClause("AND", "cd_proprio_voce", SQLBuilder.EQUALS, filtro.getCd_proprio_voce());
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "C");
} else {
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "D");
}
}
sql.addClause("AND", "fl_mastrino", SQLBuilder.EQUALS, true);
sql.addClause(clauses);
return sql;
}
use of it.cnr.contab.config00.pdcfin.bulk.Voce_fHome in project sigla-main by consiglionazionaledellericerche.
the class LiquidazioneRateMinicarrieraComponent method findVoceF.
/**
* Ricerca il capitolo (VoceF) dato l'elemento voce e la linea di attivita
*
* Pre-post-conditions
*
* Nome: Esiste un solo capitolo
* Pre: Viene richiesto il capitolo associato all'elemento voce e alla linea di attivita selezionate
* Post: Viene restituito il capitolo corrispondente
*
* Nome: Esiste + di un capitolo
* Pre: Esistono + capitoli associati all'elemento voce e alla linea di attivita selezionate
* Post: Viene restituito una eccezione con la descrizione dell'errore
*
* Nome: Non esistono capitoli
* Pre: Non esistono capitoli associati all'elemento voce e alla linea di attivita selezionate
* Post: Viene restituito una eccezione con la descrizione dell'errore
*
* @param userContext lo userContext che ha generato la richiesta
* @param bulk il filtro che contiene l'elemento voce e la linea di attivita selezionate dall'utente
* @return il capitolo (Voce_fBulk) associato
*/
public Voce_fBulk findVoceF(UserContext userContext, Liquidazione_rate_minicarrieraBulk bulk) throws ComponentException {
try {
Voce_fHome voceHome = (Voce_fHome) getHome(userContext, Voce_fBulk.class);
SQLBuilder sql = (SQLBuilder) voceHome.createSQLBuilder();
sql.addClause("AND", "esercizio", sql.EQUALS, CNRUserContext.getEsercizio(userContext));
sql.addClause("AND", "cd_cds", sql.EQUALS, bulk.getUoScrivania().getCd_unita_padre());
sql.addClause("AND", "ti_appartenenza", sql.EQUALS, bulk.getElementoVoce().getTi_appartenenza());
sql.addClause("AND", "ti_gestione", sql.EQUALS, bulk.getElementoVoce().getTi_gestione());
sql.addClause("AND", "fl_mastrino", sql.EQUALS, Boolean.TRUE);
sql.addClause("AND", "cd_titolo_capitolo", sql.EQUALS, bulk.getElementoVoce().getCd_elemento_voce());
sql.addClause("AND", "cd_parte", sql.EQUALS, bulk.getElementoVoce().getCd_parte());
sql.addClause("AND", "cd_funzione", sql.EQUALS, bulk.getLineaAttivita().getCd_funzione());
if (Tipo_unita_organizzativaHome.TIPO_UO_SAC.equalsIgnoreCase(bulk.getUoScrivania().getCd_tipo_unita())) {
sql.addClause("AND", "cd_proprio_voce", sql.EQUALS, bulk.getUoScrivania().getCd_proprio_unita());
sql.addClause("AND", "cd_unita_organizzativa", sql.EQUALS, recuperaCdUOPerVoceF(userContext, bulk.getUoScrivania()));
} else
sql.addClause("AND", "cd_unita_organizzativa", sql.EQUALS, bulk.getUoScrivania().getCd_unita_organizzativa());
java.util.List l = voceHome.fetchAll(sql);
if (l.isEmpty() || l.size() > 1)
throw new ApplicationException("Impossibile recuperare il capitolo per l'elemento voce e i GAE selezionati");
return (Voce_fBulk) l.get(0);
} catch (PersistencyException ex) {
throw handleException(ex);
}
}
use of it.cnr.contab.config00.pdcfin.bulk.Voce_fHome in project sigla-main by consiglionazionaledellericerche.
the class AccertamentoPGiroHome method selectCapitoloByClause.
/**
* Metodo per selezionare i capitoli di Entrata Cnr o Cds.
*
* @param acc <code>AccertamentoPGiroBulk</code> l'accertamento su partita di giro
* @param home istanza di <code>Voce_fHome</code>
* @param voce_f <code>Voce_fBulk</code> i capitoli di entrata o di spesa
* @param clause <code>CompoundFindClause</code> le clausole della selezione
* @return sql i capitoli di Entrata definiti per l'accertamento
*/
public SQLBuilder selectCapitoloByClause(AccertamentoBulk acc, V_voce_f_partita_giroHome home, V_voce_f_partita_giroBulk voce_f, CompoundFindClause clause) throws IntrospectionException, PersistencyException, java.sql.SQLException {
AccertamentoPGiroBulk bulk = (AccertamentoPGiroBulk) acc;
SQLBuilder sql = getHomeCache().getHome(V_voce_f_partita_giroBulk.class).createSQLBuilder();
boolean isNuovoPdg = ((Parametri_cnrHome) getHomeCache().getHome(Parametri_cnrBulk.class)).isNuovoPdg(bulk.getEsercizio());
final boolean isUOSac = Optional.ofNullable(bulk.getCd_cds_origine()).map(s -> new Unita_organizzativaBulk(s)).map(unita_organizzativaBulk -> {
try {
return (Unita_organizzativaBulk) getHomeCache().getHome(unita_organizzativaBulk).findByPrimaryKey(unita_organizzativaBulk);
} catch (PersistencyException e) {
return null;
}
}).map(Unita_organizzativaBulk::getCd_tipo_unita).filter(s -> s.equals(Tipo_unita_organizzativaHome.TIPO_UO_SAC)).isPresent();
if (acc instanceof AccertamentoPGiroResiduoBulk)
sql.addSQLClause("AND", "fl_solo_competenza", SQLBuilder.EQUALS, "N");
else if (acc instanceof AccertamentoPGiroBulk)
sql.addSQLClause("AND", "fl_solo_residuo", SQLBuilder.EQUALS, "N");
if (bulk.getCd_uo_ente().equals(bulk.getCd_unita_organizzativa())) {
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, Elemento_voceHome.APPARTENENZA_CNR);
/* simona 14.5.2002
CdsBulk cds = findCdsSAC();
sql.addClause("AND", "cd_cds", SQLBuilder.EQUALS, cds.getCd_unita_organizzativa() ); */
if (!isNuovoPdg) {
if (acc instanceof AccertamentoPGiroResiduoBulk) {
sql.openParenthesis("AND");
sql.openParenthesis("AND");
sql.addSQLClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, bulk.getCd_uo_origine());
sql.addSQLClause("OR", "cd_unita_organizzativa", SQLBuilder.ISNULL, null);
sql.closeParenthesis();
sql.closeParenthesis();
} else {
sql.openParenthesis("AND");
sql.openParenthesis("AND");
sql.addSQLClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, bulk.getCd_uo_origine());
sql.addSQLClause("AND", "fl_azzera_residui", SQLBuilder.EQUALS, "N");
sql.closeParenthesis();
sql.openParenthesis("OR");
sql.addSQLClause("OR", "cd_unita_organizzativa", SQLBuilder.ISNULL, null);
sql.addSQLClause("AND", "fl_azzera_residui", SQLBuilder.EQUALS, "Y");
sql.closeParenthesis();
sql.closeParenthesis();
}
}
} else // == ACCERT_PGIRO
{
if (!isNuovoPdg)
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, Elemento_voceHome.APPARTENENZA_CDS);
}
sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, bulk.getEsercizio());
// sql.addClause("AND", "ti_voce", SQLBuilder.EQUALS, Elemento_voceHome.TIPO_CAPITOLO );
sql.addClause("AND", "fl_mastrino", SQLBuilder.EQUALS, new Boolean(true));
sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, Elemento_voceHome.GESTIONE_ENTRATE);
sql.addSQLClause("AND", "FL_PARTITA_GIRO", SQLBuilder.EQUALS, "Y");
if (!isUOSac)
sql.addSQLClause("AND", "FL_VOCE_SAC", SQLBuilder.EQUALS, "N");
sql.addClause(clause);
return sql;
}
use of it.cnr.contab.config00.pdcfin.bulk.Voce_fHome in project sigla-main by consiglionazionaledellericerche.
the class PdGVariazioniComponent method aggiornaSaldiCdrLinea.
private void aggiornaSaldiCdrLinea(UserContext userContext, Pdg_preventivo_detBulk pdg_det) throws ComponentException {
Pdg_preventivo_spe_detBulk pdg_spe_det = null;
Pdg_preventivo_etr_detBulk pdg_etr_det = null;
BigDecimal impDaAggiornare = Utility.ZERO;
if (pdg_det instanceof Pdg_preventivo_spe_detBulk) {
pdg_spe_det = (Pdg_preventivo_spe_detBulk) pdg_det;
} else if (pdg_det instanceof Pdg_preventivo_etr_detBulk) {
pdg_etr_det = (Pdg_preventivo_etr_detBulk) pdg_det;
}
try {
String cd_voce = getVoce_FdaEV(userContext, pdg_det.getEsercizio(), pdg_det.getTi_appartenenza(), pdg_det.getTi_gestione(), pdg_det.getCd_elemento_voce(), pdg_det.getCd_centro_responsabilita(), pdg_det.getCd_linea_attivita());
Voce_fHome voce_fHome = ((Voce_fHome) getHome(userContext, Voce_fBulk.class));
Voce_fBulk voce = new Voce_fBulk(cd_voce, pdg_det.getEsercizio(), pdg_det.getTi_appartenenza(), pdg_det.getTi_gestione());
voce = (Voce_fBulk) voce_fHome.findByPrimaryKey(voce);
getHomeCache(userContext).fetchAll(userContext, voce_fHome);
if (pdg_det.getTi_gestione().equals(Elemento_voceHome.GESTIONE_SPESE)) {
impDaAggiornare = pdg_spe_det.getIm_ri_ccs_spese_odc().add(pdg_spe_det.getIm_rk_ccs_spese_ogc().add(pdg_spe_det.getIm_rq_ssc_costi_odc().add(pdg_spe_det.getIm_rs_ssc_costi_ogc().add(pdg_spe_det.getIm_ru_spese_costi_altrui()))));
} else if (pdg_det.getTi_gestione().equals(Elemento_voceHome.GESTIONE_ENTRATE)) {
impDaAggiornare = pdg_etr_det.getIm_ra_rce().add(pdg_etr_det.getIm_rc_esr());
}
Utility.createSaldoComponentSession().aggiornaVariazioneStanziamento(userContext, pdg_det.getCd_centro_responsabilita(), pdg_det.getCd_linea_attivita(), voce, pdg_det.getEsercizio(), Voce_f_saldi_cdr_lineaBulk.TIPO_RESIDUO_PROPRIO, impDaAggiornare);
} catch (PersistencyException e) {
throw new ComponentException(e);
} catch (RemoteException e) {
throw new ComponentException(e);
} catch (EJBException e) {
throw new ComponentException(e);
}
}
use of it.cnr.contab.config00.pdcfin.bulk.Voce_fHome in project sigla-main by consiglionazionaledellericerche.
the class AccertamentoHome method selectCapitoloByClause.
/**
* Metodo per selezionare i capitoli di Entrata Cnr.
*
* @param bulk <code>AccertamentoBulk</code> l'accertamento
* @param home istanza di <code>Voce_fHome</code>
* @param voce_f <code>Voce_fBulk</code> i capitoli di entrata o di spesa
* @param clause <code>CompoundFindClause</code> le clausole della selezione
* @return sql i capitoli di Entrata Cnr definiti per l'accertamento
*/
public SQLBuilder selectCapitoloByClause(AccertamentoBulk bulk, V_voce_f_partita_giroHome home, V_voce_f_partita_giroBulk voce_f, CompoundFindClause clause) throws IntrospectionException, PersistencyException, ApplicationException, SQLException {
PersistentHome parCNRHome = getHomeCache().getHome(Parametri_cnrBulk.class);
Parametri_cnrBulk parCNR = (Parametri_cnrBulk) parCNRHome.findByPrimaryKey(new Parametri_cnrBulk(bulk.getEsercizio()));
final boolean isUOSac = Optional.ofNullable(bulk.getCd_cds_origine()).map(s -> new Unita_organizzativaBulk(s)).map(unita_organizzativaBulk -> {
try {
return (Unita_organizzativaBulk) getHomeCache().getHome(unita_organizzativaBulk).findByPrimaryKey(unita_organizzativaBulk);
} catch (PersistencyException e) {
return null;
}
}).map(Unita_organizzativaBulk::getCd_tipo_unita).filter(s -> s.equals(Tipo_unita_organizzativaHome.TIPO_UO_SAC)).isPresent();
PersistentHome voceHome = getHomeCache().getHome(V_voce_f_partita_giroBulk.class);
SQLBuilder sql = voceHome.createSQLBuilder();
// la cui natura non e' nulla nella tabella ASS_EV_EV
if (bulk instanceof AccertamentoOrdBulk)
sql.addSQLClause("AND", "fl_solo_residuo", sql.EQUALS, "N");
if (bulk instanceof AccertamentoResiduoBulk)
sql.addSQLClause("AND", "fl_solo_competenza", sql.EQUALS, "N");
sql.addClause(clause);
sql.openParenthesis("AND");
sql.openParenthesis("AND");
sql.addSQLClause("AND", "cd_unita_organizzativa", sql.EQUALS, bulk.getCd_uo_origine());
sql.addSQLClause("OR", "cd_unita_organizzativa", sql.ISNULL, null);
sql.closeParenthesis();
sql.closeParenthesis();
sql.addSQLClause("AND", "esercizio", sql.EQUALS, bulk.getEsercizio());
sql.addSQLClause("AND", "ti_appartenenza", sql.EQUALS, Elemento_voceHome.APPARTENENZA_CNR);
sql.addSQLClause("AND", "ti_gestione", sql.EQUALS, Elemento_voceHome.GESTIONE_ENTRATE);
if (!parCNR.getFl_nuovo_pdg())
sql.addSQLClause("AND", "ti_voce", sql.EQUALS, Elemento_voceHome.TIPO_ARTICOLO);
sql.addSQLClause("AND", "fl_partita_giro", sql.EQUALS, "N");
if (isUOSac)
sql.addSQLClause("AND", "fl_voce_sac", sql.NOT_EQUALS, "X");
else
/* se in scrivania non ho il cds SAC devo escludere le voce_f riseravte SAC - clausola FL_VOCE_SAC != "Y" */
sql.addSQLClause("AND", "fl_voce_sac", sql.NOT_EQUALS, "Y");
SQLBuilder sqlExist = getHomeCache().getHome(Ass_ev_evBulk.class).createSQLBuilder();
sqlExist.setStatement(" SELECT DISTINCT * FROM " + it.cnr.jada.util.ejb.EJBCommonServices.getDefaultSchema() + "ASS_EV_EV " + "WHERE ASS_EV_EV.CD_NATURA IS NOT NULL AND " + "V_VOCE_F_PARTITA_GIRO.TI_GESTIONE = ASS_EV_EV.TI_GESTIONE AND " + "V_VOCE_F_PARTITA_GIRO.TI_APPARTENENZA = ASS_EV_EV.TI_APPARTENENZA AND " + "V_VOCE_F_PARTITA_GIRO.CD_TITOLO_CAPITOLO = ASS_EV_EV.CD_ELEMENTO_VOCE AND " + "V_VOCE_F_PARTITA_GIRO.ESERCIZIO = ASS_EV_EV.ESERCIZIO ");
sql.addSQLExistsClause("AND", sqlExist);
return sql;
}
Aggregations