All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.cnr.contab.config00.bulk.Configurazione_cnrHome 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.config00.bulk;

import it.cnr.contab.utenze00.bp.CNRUserContext;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.BulkHome;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.PersistentCache;
import it.cnr.jada.persistency.sql.SQLBuilder;

import java.math.BigDecimal;
import java.util.List;
import java.util.Optional;

public class Configurazione_cnrHome extends BulkHome {
    public static final Integer ANNI_ALL = 0;
    public static final String ASTERISCO = "*";

    /**
     * 
     * Costruisce un Configurazione_cnrHome
     *
     * @param conn La java.sql.Connection su cui vengono effettuate le operazione di persistenza
     */
    public Configurazione_cnrHome(java.sql.Connection conn) {
        super(Configurazione_cnrBulk.class, conn);
    }

    /**
     * 
     * Costruisce un Configurazione_cnrHome
     *
     * @param conn            La java.sql.Connection su cui vengono effettuate le operazione di persistenza
     * @param persistentCache La PersistentCache in cui vengono cachati gli oggetti persistenti caricati da questo Home
     */
    public Configurazione_cnrHome(java.sql.Connection conn, PersistentCache persistentCache) {
        super(Configurazione_cnrBulk.class, conn, persistentCache);
    }

    public java.util.List findTipoVariazioniPdg() throws PersistencyException {

        SQLBuilder sql = createSQLBuilder();

        sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, new Integer(0));
        sql.addClause("AND", "cd_unita_funzionale", SQLBuilder.EQUALS, Configurazione_cnrBulk.PK_PDG_VARIAZIONE);
        sql.addClause("AND", "cd_chiave_primaria", SQLBuilder.EQUALS, Configurazione_cnrBulk.SK_TIPO_VAR_APPROVA_CDS);

        return fetchAll(sql);
    }

    public java.util.List findTipoVariazioniStanz_res() throws PersistencyException {

        SQLBuilder sql = createSQLBuilder();

        sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, new Integer(0));
        sql.addClause("AND", "cd_unita_funzionale", SQLBuilder.EQUALS, Configurazione_cnrBulk.PK_VAR_STANZ_RES);
        sql.addClause("AND", "cd_chiave_primaria", SQLBuilder.EQUALS, Configurazione_cnrBulk.SK_TIPO_VAR_APPROVA_CDS);

        return fetchAll(sql);
    }

    public java.util.List findTipoVariazioniEnteStanz_res() throws PersistencyException {

        SQLBuilder sql = createSQLBuilder();

        sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, new Integer(0));
        sql.addClause("AND", "cd_unita_funzionale", SQLBuilder.EQUALS, Configurazione_cnrBulk.PK_VAR_STANZ_RES);
        sql.addClause("AND", "cd_chiave_primaria", SQLBuilder.EQUALS, Configurazione_cnrBulk.SK_TIPO_VAR_APPROVA_CNR);

        return fetchAll(sql);
    }

    /**
     * Indica se la uo indicata è proprio quella speciale tutta sac
     *
     * @param esercizio l'esercizio di ricerca - Lasciare vuoto per ricercare il parametro generale (esercizio=0).
     * @param cdUnitaOrganizzativa l'unità organizzativa di cui si chiede se si tratta della Uo Speciale Tutta SAC
     * @return boolean
     * @throws PersistencyException
     */
    public boolean isUOSpecialeDistintaTuttaSAC(Integer esercizio, String cdUnitaOrganizzativa) throws PersistencyException {
        return Optional.ofNullable(this.getUoDistintaTuttaSac(esercizio))
                    .filter(uoDistintaTuttaSac -> uoDistintaTuttaSac.equals(cdUnitaOrganizzativa))
                    .isPresent();
    }

    /**
     * Ritorna il record puntuale richiesto sulla base dei parametri indicati.
     * 

ATTENZIONE: in questo metodo viene ricercato puntualmente il record con l'esercizio indicato

*

Se si desidera avere, in caso di assenza, il record con esercizio=0 utilizzare il metodo {@link #getConfigurazione(UserContext,String,String,String)} o il * metodo {@link #getConfigurazione(Integer,String,String,String)}

* * @param esercizio l'esercizio di ricerca - Lasciare vuoto per ricercare il parametro generale (esercizio=0). * @param unita_funzionale Unità funzionale - Lasciare vuoto per ricercare il parametro generale (unita_funzionale='*'). * @param chiave_primaria Chiave Primaria - Campo Obbligatorio * @param chiave_secondaria Chiave Secondaria - Lasciare vuoto per ricercare il parametro generale (chiave_secondaria='*') * @return il record ConfigurazioneCNR richiesto sulla base dei parametri indicati * @throws PersistencyException */ public Configurazione_cnrBulk getConfigurazioneCnrBulk(Integer esercizio, String unita_funzionale, String chiave_primaria, String chiave_secondaria) throws PersistencyException { if (esercizio == null) esercizio = new Integer(0); if (unita_funzionale == null) unita_funzionale = ASTERISCO; if (chiave_secondaria == null) chiave_secondaria = ASTERISCO; return (Configurazione_cnrBulk) getHomeCache().getHome(Configurazione_cnrBulk.class).findByPrimaryKey(new it.cnr.contab.config00.bulk.Configurazione_cnrKey(chiave_primaria, chiave_secondaria, unita_funzionale, esercizio)); } /** * Ritorna il record richiesto sulla base dei parametri indicati. *

ATTENZIONE: in questo metodo viene ricercato prima il record con esercizio di scrivania prelevato dallo Usercontext e, * in caso di assenza, viene ricercato il record con anno=0

*

Se si desidera avere il record puntuale per i parametri impostati utilizzare il metodo {@link #getConfigurazioneCnrBulk(Integer,String,String,String)}

* * @param userContext lo UserContext da cui recupera l'esercizio di scrivania * @param unita_funzionale Unità funzionale - Lasciare vuoto per ricercare il parametro generale (unita_funzionale='*'). * @param chiave_primaria Chiave Primaria - Campo Obbligatorio * @param chiave_secondaria Chiave Secondaria - Lasciare vuoto per ricercare il parametro generale (chiave_secondaria='*') * @return il record ConfigurazioneCNR richiesto sulla base dei parametri indicati * @throws PersistencyException */ public Configurazione_cnrBulk getConfigurazione(UserContext userContext, String unita_funzionale, String chiave_primaria, String chiave_secondaria) throws PersistencyException { return getConfigurazione(CNRUserContext.getEsercizio(userContext),unita_funzionale,chiave_primaria, chiave_secondaria); } /** * Ritorna il record richiesto sulla base dei parametri indicati. *

ATTENZIONE: in questo metodo viene ricercato prima il record con l'esercizio indicato e, in caso di assenza, viene ricercato il record con esercizio=0

*

Se si desidera avere il record puntuale per i parametri impostati utilizzare il metodo {@link #getConfigurazioneCnrBulk(Integer,String,String,String)}

* * @param esercizio l'esercizio di ricerca - se non esistono configurazioni per l'esercizio indicato viene cercata la configurazione con esercizio=0 * @param unita_funzionale Unità funzionale - Lasciare vuoto per ricercare il parametro generale (unita_funzionale='*'). * @param chiave_primaria Chiave Primaria - Campo Obbligatorio * @param chiave_secondaria Chiave Secondaria - Lasciare vuoto per ricercare il parametro generale (chiave_secondaria='*') * @return il record ConfigurazioneCNR richiesto sulla base dei parametri indicati * @throws PersistencyException */ public Configurazione_cnrBulk getConfigurazione(Integer esercizio, String unita_funzionale, String chiave_primaria, String chiave_secondaria) throws PersistencyException { Configurazione_cnrBulk config = null; if (Optional.ofNullable(esercizio).isPresent()) config = getConfigurazioneCnrBulk(esercizio,unita_funzionale,chiave_primaria,chiave_secondaria); if (!Optional.ofNullable(config).isPresent() && Optional.ofNullable(esercizio).filter(ese->!ese.equals(ANNI_ALL)).isPresent()) config = getConfigurazioneCnrBulk(ANNI_ALL,unita_funzionale,chiave_primaria,chiave_secondaria); return config; } /** * Ritorna il codice uo della Ragioneria *

chiave_primaria: UO_SPECIALE *

chiave_secondaria: UO_RAGIONERIA * * @param esercizio l'esercizio di ricerca - se non esistono configurazioni per l'esercizio indicato viene cercata la configurazione con esercizio=0 * @return String - il codice uo della Ragioneria * @throws PersistencyException */ public String getUoRagioneria(Integer esercizio) throws PersistencyException { return Optional.ofNullable( this.getConfigurazione(esercizio,null,Configurazione_cnrBulk.PK_UO_SPECIALE, Configurazione_cnrBulk.SK_UO_RAGIONERIA)) .map(Configurazione_cnrBulk::getVal01) .orElse(null); } /** * Ritorna il codice cdr del personale *

chiave_primaria: CDR_SPECIALE *

chiave_secondaria: CDR_PERSONALE * * @param esercizio l'esercizio di ricerca - se non esistono configurazioni per l'esercizio indicato viene cercata la configurazione con esercizio=0 * @return String - il codice cdr del personale * @throws PersistencyException */ public String getCdrPersonale(Integer esercizio) throws PersistencyException { return Optional.ofNullable( this.getConfigurazione(esercizio,null,Configurazione_cnrBulk.PK_CDR_SPECIALE, Configurazione_cnrBulk.SK_CDR_PERSONALE)) .map(Configurazione_cnrBulk::getVal01) .orElse(null); } /** * Ritorna il codice cdr servizio ente *

chiave_primaria: CDR_SPECIALE *

chiave_secondaria: CDR_SERVIZIO_ENTE * * @param esercizio l'esercizio di ricerca - se non esistono configurazioni per l'esercizio indicato viene cercata la configurazione con esercizio=0 * @return String - il codice cdr servizio ente * @throws PersistencyException */ public String getCdrServizioEnte(Integer esercizio) throws PersistencyException { return Optional.ofNullable( this.getConfigurazione(esercizio,null,Configurazione_cnrBulk.PK_CDR_SPECIALE, Configurazione_cnrBulk.SK_CDR_SERVIZIO_ENTE)) .map(Configurazione_cnrBulk::getVal01) .orElse(null); } /** * Ritorna il codice uo di Accreditamento Sac *

chiave_primaria: UO_SPECIALE *

chiave_secondaria: UO_RAGIONERIA * * @param esercizio l'esercizio di ricerca - se non esistono configurazioni per l'esercizio indicato viene cercata la configurazione con esercizio=0 * @return String - il codice uo di Accreditamento Sac * @throws PersistencyException */ public String getUoAccreditamentoSac(Integer esercizio) throws PersistencyException { return Optional.ofNullable( this.getConfigurazione(esercizio,null,Configurazione_cnrBulk.PK_UO_SPECIALE, Configurazione_cnrBulk.SK_UO_ACCREDITAMENTO_SAC)) .map(Configurazione_cnrBulk::getVal01) .orElse(null); } /** * Ritorna il codice uo distinta tutta sac *

chiave_primaria: UO_SPECIALE *

chiave_secondaria: UO_DISTINTA_TUTTA_SAC * * @param esercizio l'esercizio di ricerca - se non esistono configurazioni per l'esercizio indicato viene cercata la configurazione con esercizio=0 * @return String - il codice codice uo distinta tutta sac * @throws PersistencyException */ public String getUoDistintaTuttaSac(Integer esercizio) throws PersistencyException { return Optional.ofNullable( this.getConfigurazione(esercizio,null,Configurazione_cnrBulk.PK_UO_SPECIALE, Configurazione_cnrBulk.SK_UO_DISTINTA_TUTTA_SAC)) .map(Configurazione_cnrBulk::getVal01) .orElse(null); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy