it.cnr.contab.preventvar00.comp.ConsVarStanzCompetenzaComponent Maven / Gradle / Ivy
/*
* Copyright (C) 2019 Consiglio Nazionale delle Ricerche
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package it.cnr.contab.preventvar00.comp;
import java.rmi.RemoteException;
import it.cnr.contab.compensi00.docs.bulk.CompensoBulk;
import it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk;
import it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome;
import it.cnr.contab.config00.pdcfin.cla.bulk.Classificazione_vociBulk;
import it.cnr.contab.config00.pdcfin.cla.bulk.Parametri_livelliBulk;
import it.cnr.contab.config00.pdcfin.cla.bulk.Parametri_livelliHome;
import it.cnr.contab.config00.pdcfin.cla.bulk.V_classificazione_vociBulk;
import it.cnr.contab.doccont00.singconto.bulk.V_voce_f_sing_contoBulk;
import it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestHome;
import it.cnr.contab.preventvar00.consultazioni.bulk.V_cons_var_pdggBulk;
import it.cnr.contab.preventvar00.consultazioni.bulk.V_cons_var_pdggHome;
import it.cnr.contab.utenze00.bp.CNRUserContext;
import it.cnr.jada.UserContext;
import it.cnr.jada.comp.ApplicationException;
import it.cnr.jada.comp.CRUDComponent;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.IntrospectionException;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.sql.*;
/**
* Insert the type's description here.
* Creation date: (13/09/2006)
* @author: Flavia Giardina
*/
public class ConsVarStanzCompetenzaComponent extends CRUDComponent{
/**
* VarBilancioComponent constructor comment.
*/
//private String tabAlias;
public ConsVarStanzCompetenzaComponent() {
super();
}
public it.cnr.jada.util.RemoteIterator findVariazioni(UserContext userContext, V_cons_var_pdggBulk variazioni) throws PersistencyException, IntrospectionException, ComponentException, RemoteException
{
V_cons_var_pdggHome variazioniHome = (V_cons_var_pdggHome)getHome(userContext, V_cons_var_pdggBulk.class);
Elemento_voceHome elemento_voceHome = (Elemento_voceHome)getHome(userContext, Elemento_voceBulk.class);
SQLBuilder sql = variazioniHome.createSQLBuilder();
sql.setDistinctClause(true);
SQLBuilder sql2 = elemento_voceHome.createSQLBuilder();
sql2.resetColumns();
sql2.addColumn("1");
sql2.addTableToHeader("PDG_VARIAZIONE_RIGA_GEST");
sql2.addTableToHeader("V_CLASSIFICAZIONE_VOCI");
sql2.addSQLJoin("PDG_VARIAZIONE_RIGA_GEST.ESERCIZIO",sql2.EQUALS,"V_CONS_VAR_PDGG.ESERCIZIO");
sql2.addSQLJoin("PDG_VARIAZIONE_RIGA_GEST.PG_VARIAZIONE_PDG",sql2.EQUALS,"V_CONS_VAR_PDGG.PG_VARIAZIONE_PDG");
sql2.addSQLJoin("PDG_VARIAZIONE_RIGA_GEST.ESERCIZIO",sql2.EQUALS,"ELEMENTO_VOCE.ESERCIZIO");
sql2.addSQLJoin("PDG_VARIAZIONE_RIGA_GEST.TI_APPARTENENZA",sql2.EQUALS,"ELEMENTO_VOCE.TI_APPARTENENZA");
sql2.addSQLJoin("PDG_VARIAZIONE_RIGA_GEST.TI_GESTIONE",sql2.EQUALS,"ELEMENTO_VOCE.TI_GESTIONE");
sql2.addSQLJoin("PDG_VARIAZIONE_RIGA_GEST.CD_ELEMENTO_VOCE",sql2.EQUALS,"ELEMENTO_VOCE.CD_ELEMENTO_VOCE");
sql2.addSQLJoin("ELEMENTO_VOCE.ID_CLASSIFICAZIONE",sql2.EQUALS,"V_CLASSIFICAZIONE_VOCI.ID_CLASSIFICAZIONE");
sql2.addSQLClause("AND","PDG_VARIAZIONE_RIGA_GEST.TI_GESTIONE",sql2.EQUALS,variazioni.getTi_gestione());
sql2.addSQLClause("AND","V_CLASSIFICAZIONE_VOCI.CD_LIVELLO1",sql2.EQUALS,variazioni.getV_classificazione_voci().getCd_livello1());
sql2.addSQLClause("AND","ROWNUM",sql2.LESS,"2");
sql.addSQLClause("AND","V_CONS_VAR_PDGG.ESERCIZIO",sql.EQUALS,CNRUserContext.getEsercizio(userContext));
sql.addSQLBetweenClause("AND","V_CONS_VAR_PDGG.DT_APPROVAZIONE",variazioni.getDt_approvazione_da(),variazioni.getDt_approvazione_a());
sql.addSQLBetweenClause("AND","V_CONS_VAR_PDGG.ABS_TOT_VARIAZIONE",variazioni.getAbs_tot_variazione_da(),variazioni.getAbs_tot_variazione_a());
sql.addSQLExistsClause("AND",sql2);
sql.openParenthesis("AND");
if (variazioni.getRagr_NO_TIPO()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"NO_TIPO");
if (variazioni.getRagr_PREL_FON()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"PREL_FON");
if (variazioni.getRagr_STO_E_CDS()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"STO_E_CDS");
if (variazioni.getRagr_STO_E_TOT()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"STO_E_TOT");
if (variazioni.getRagr_STO_S_CDS()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"STO_S_CDS");
if (variazioni.getRagr_STO_S_TOT()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"STO_S_TOT");
if (variazioni.getRagr_VAR_MENO_CDS()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"VAR_MENO_CDS");
if (variazioni.getRagr_VAR_MENO_TOT()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"VAR_MENO_TOT");
if (variazioni.getRagr_VAR_PIU_CDS()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"VAR_PIU_CDS");
if (variazioni.getRagr_VAR_PIU_TOT()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"VAR_PIU_TOT");
if (variazioni.getRagr_REST_FOND()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"REST_FOND");
if (variazioni.getRagr_STO_E_AREA()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"STO_E_AREA");
if (variazioni.getRagr_STO_S_AREA()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"STO_S_AREA");
if (variazioni.getRagr_VAR_MENO_FON()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"VAR_MENO_FON");
if (variazioni.getRagr_VAR_PIU_FON()==true)
sql.addSQLClause("OR","V_CONS_VAR_PDGG.TIPOLOGIA",sql.EQUALS,"VAR_PIU_FON");
sql.closeParenthesis();
return iterator(userContext,sql,V_cons_var_pdggBulk.class,null);
}
public Parametri_livelliBulk findParametriLivelli(UserContext userContext, Integer esercizio) throws it.cnr.jada.comp.ComponentException {
try
{
Parametri_livelliHome parametri_livelliHome = (Parametri_livelliHome) getHome(userContext, Parametri_livelliBulk.class );
Parametri_livelliBulk parametri_livelliBulk = (Parametri_livelliBulk)parametri_livelliHome.findByPrimaryKey(new Parametri_livelliBulk(esercizio));
if (parametri_livelliBulk==null)
throw new ApplicationException("Parametri Livelli non definiti per l'esercizio " + esercizio + ".");
return parametri_livelliBulk;
}
catch (Exception e )
{
throw handleException( e );
}
}
public String getDsLivelloClassificazione(UserContext userContext, Integer esercizio, String tipo, Integer livello) throws it.cnr.jada.comp.ComponentException {
Parametri_livelliBulk parametri = findParametriLivelli(userContext, esercizio);
if (tipo.equals(V_cons_var_pdggBulk.TI_GESTIONE_ENTRATE))
return parametri.getDs_livello_etr(livello.intValue());
else
return parametri.getDs_livello_spe(livello.intValue());
}
/**
* Ritorna la Descrizione del Livello a cui appartiene la classificazione indicata.
*/
public String getDsLivelloClassificazione(UserContext userContext, Classificazione_vociBulk cla) throws it.cnr.jada.comp.ComponentException {
Parametri_livelliBulk parametri = findParametriLivelli(userContext, cla.getEsercizio());
if (cla.getTi_gestione().equals(V_cons_var_pdggBulk.TI_GESTIONE_ENTRATE))
return parametri.getDs_livello_etr(cla.getLivelloMax().intValue());
else
return parametri.getDs_livello_spe(cla.getLivelloMax().intValue());
}
public SQLBuilder selectV_classificazione_vociByClause(UserContext userContext,V_cons_var_pdggBulk variazioni,V_classificazione_vociBulk classificazioneVoci,CompoundFindClause clause) throws ComponentException, PersistencyException {
SQLBuilder sql = getHome(userContext, classificazioneVoci).createSQLBuilder();
sql.addClause(clause);
sql.addClause("AND", "esercizio", sql.EQUALS, it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext));
sql.addClause("AND", "ti_gestione", sql.EQUALS, variazioni.getTi_gestione());
sql.addClause("AND", "cd_livello1", sql.ISNOTNULL , null);
sql.addClause("AND", "cd_livello2", sql.ISNULL , null);
if (clause != null)
sql.addClause(clause);
return sql;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy