Search in sources :

Example 1 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class VLimiteSpesaDetHome method selectByClause.

public SQLBuilder selectByClause(UserContext usercontext, CompoundFindClause compoundfindclause) throws PersistencyException {
    SQLBuilder sql = super.selectByClause(usercontext, compoundfindclause);
    sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, CNRUserContext.getEsercizio(usercontext));
    PersistentHome uoEnteHome = getHomeCache().getHome(Unita_organizzativa_enteBulk.class);
    List result = uoEnteHome.fetchAll(uoEnteHome.createSQLBuilder());
    String cdsEnte = ((Unita_organizzativaBulk) result.get(0)).getCd_cds();
    if (CNRUserContext.getCd_cds(usercontext).compareTo(cdsEnte) != 0)
        sql.addClause("AND", "cd_cds", SQLBuilder.EQUALS, CNRUserContext.getCd_cds(usercontext));
    return sql;
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) List(java.util.List) PersistentHome(it.cnr.jada.persistency.sql.PersistentHome)

Example 2 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class DocumentiAmministrativiRistampabiliAction method doCerca.

/**
 * Gestisce una richiesta di ricerca.
 *
 * L'implementazione di default utilizza il metodo astratto <code>read</code>
 * di <code>CRUDBusinessProcess</code>.
 * Se la ricerca fornisce più di un risultato viene creato un
 * nuovo <code>SelezionatoreListaBP</code> per la selezione di un elemento.
 * Al business process viene anche chiesto l'elenco delle colonne da
 * visualizzare.
 */
public Forward doCerca(ActionContext context) throws java.rmi.RemoteException, InstantiationException, javax.ejb.RemoveException {
    DocumentiAmministrativiRistampabiliBP bp = (DocumentiAmministrativiRistampabiliBP) context.getBusinessProcess();
    try {
        fillModel(context);
        completaSoggetto(context);
        Filtro_ricerca_doc_amm_ristampabileVBulk filtro = (Filtro_ricerca_doc_amm_ristampabileVBulk) bp.getModel();
        filtro.setPgStampa(null);
        try {
            filtro.validateClauses();
        } catch (it.cnr.jada.bulk.ValidationException e) {
            return handleException(context, e);
        }
        OggettoBulk instance = (OggettoBulk) filtro.getInstance();
        Unita_organizzativaBulk unita_organizzativa = CNRUserInfo.getUnita_organizzativa(context);
        CompoundFindClause clauses = new CompoundFindClause();
        clauses.addClause("AND", "cd_cds_origine", SQLBuilder.EQUALS, unita_organizzativa.getUnita_padre().getCd_unita_organizzativa());
        clauses.addClause("AND", "cd_uo_origine", SQLBuilder.EQUALS, unita_organizzativa.getCd_unita_organizzativa());
        if (filtro.isProtocolliClause()) {
            clauses.addClause("AND", "cd_tipo_sezionale", SQLBuilder.EQUALS, filtro.getTipo_sezionale().getCd_tipo_sezionale());
            clauses.addClause("AND", "protocollo_iva", SQLBuilder.GREATER_EQUALS, filtro.getDa_protocollo_iva());
            clauses.addClause("AND", "protocollo_iva", SQLBuilder.LESS_EQUALS, filtro.getA_protocollo_iva());
        } else if (filtro.isProtocolliGeneraleClause()) {
            clauses.addClause("AND", "cd_tipo_sezionale", SQLBuilder.EQUALS, filtro.getTipo_sezionale().getCd_tipo_sezionale());
            clauses.addClause("AND", "protocollo_iva_generale", SQLBuilder.GREATER_EQUALS, filtro.getDa_protocollo_iva_generale());
            clauses.addClause("AND", "protocollo_iva_generale", SQLBuilder.LESS_EQUALS, filtro.getA_protocollo_iva_generale());
        } else {
            clauses.addClause("AND", "protocollo_iva", SQLBuilder.ISNOTNULL, null);
            clauses.addClause("AND", "protocollo_iva_generale", SQLBuilder.ISNOTNULL, null);
            clauses.addClause("AND", "dt_emissione", SQLBuilder.GREATER_EQUALS, filtro.getDt_da_stampa());
            clauses.addClause("AND", "dt_emissione", SQLBuilder.LESS_EQUALS, filtro.getDt_a_stampa());
        }
        clauses.addClause("AND", "stato_cofi", SQLBuilder.NOT_EQUALS, Fattura_attivaBulk.STATO_ANNULLATO);
        filtro.setSQLClauses(clauses);
        it.cnr.jada.util.RemoteIterator ri = bp.find(context, clauses, instance);
        if (ri == null || ri.countElements() == 0) {
            it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
            bp.setMessage("La ricerca non ha fornito alcun risultato.");
            return context.findDefaultForward();
        } else {
            bp.setModel(context, filtro);
            IDocumentoAmministrativoBP docAmmBP = getBusinessProcessForDocAmm(context, (IDocumentoAmministrativoBulk) instance);
            SelezionatoreListaBP nbp = (SelezionatoreListaBP) context.createBusinessProcess("Selezionatore", new Object[] { "Th" });
            nbp.setMultiSelection(true);
            nbp.setSelectionListener(context, getSelectionListener(context, (it.cnr.contab.docamm00.bp.CRUDFatturaAttivaBP) docAmmBP, (FatturaAttivaSingolaComponentSession) docAmmBP.createComponentSession(), filtro));
            nbp.setIterator(context, ri);
            BulkInfo bulkInfo = BulkInfo.getBulkInfo(filtro.getInstance().getClass());
            nbp.setBulkInfo(bulkInfo);
            docAmmBP = getBusinessProcessForDocAmm(context, filtro.getInstance());
            if (docAmmBP instanceof IGenericSearchDocAmmBP) {
                String columnsetName = ((IGenericSearchDocAmmBP) docAmmBP).getColumnsetForGenericSearch();
                if (columnsetName != null)
                    nbp.setColumns(bulkInfo.getColumnFieldPropertyDictionary(columnsetName));
            }
            context.addHookForward("seleziona", this, "doRiportaSelezione");
            return context.addBusinessProcess(nbp);
        }
    } catch (Throwable e) {
        try {
            ((BusinessProcess) bp).rollbackUserTransaction();
        } catch (BusinessProcessException ex) {
            return handleException(context, ex);
        }
        return handleException(context, e);
    }
}
Also used : CompoundFindClause(it.cnr.jada.persistency.sql.CompoundFindClause) Filtro_ricerca_doc_amm_ristampabileVBulk(it.cnr.contab.docamm00.docs.bulk.Filtro_ricerca_doc_amm_ristampabileVBulk) IGenericSearchDocAmmBP(it.cnr.contab.docamm00.bp.IGenericSearchDocAmmBP) Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) DocumentiAmministrativiRistampabiliBP(it.cnr.contab.docamm00.bp.DocumentiAmministrativiRistampabiliBP) IDocumentoAmministrativoBP(it.cnr.contab.docamm00.bp.IDocumentoAmministrativoBP) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) BulkInfo(it.cnr.jada.bulk.BulkInfo) FatturaAttivaSingolaComponentSession(it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession) SelezionatoreListaBP(it.cnr.jada.util.action.SelezionatoreListaBP)

Example 3 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class DocumentiAmministrativiProtocollabiliAction method doCerca.

/**
 * Gestisce una richiesta di ricerca.
 *
 * L'implementazione di default utilizza il metodo astratto <code>read</code>
 * di <code>CRUDBusinessProcess</code>.
 * Se la ricerca fornisce più di un risultato viene creato un
 * nuovo <code>SelezionatoreListaBP</code> per la selezione di un elemento.
 * Al business process viene anche chiesto l'elenco delle colonne da
 * visualizzare.
 */
public Forward doCerca(ActionContext context) throws java.rmi.RemoteException, InstantiationException, javax.ejb.RemoveException {
    DocumentiAmministrativiProtocollabiliBP bp = (DocumentiAmministrativiProtocollabiliBP) context.getBusinessProcess();
    try {
        fillModel(context);
        completaSoggetto(context);
        Filtro_ricerca_doc_amm_protocollabileVBulk filtro = (Filtro_ricerca_doc_amm_protocollabileVBulk) bp.getModel();
        filtro.setPgStampa(null);
        filtro.setPgProtocollazioneIVA(null);
        OggettoBulk instance = (OggettoBulk) filtro.getInstance();
        Unita_organizzativaBulk unita_organizzativa = CNRUserInfo.getUnita_organizzativa(context);
        CompoundFindClause clauses = new CompoundFindClause();
        clauses.addClause("AND", "esercizio", SQLBuilder.EQUALS, it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()));
        clauses.addClause("AND", "cd_cds_origine", SQLBuilder.EQUALS, unita_organizzativa.getUnita_padre().getCd_unita_organizzativa());
        clauses.addClause("AND", "cd_uo_origine", SQLBuilder.EQUALS, unita_organizzativa.getCd_unita_organizzativa());
        clauses.addClause("AND", "protocollo_iva", SQLBuilder.ISNULL, null);
        clauses.addClause("AND", "protocollo_iva_generale", SQLBuilder.ISNULL, null);
        clauses.addClause("AND", "flFatturaElettronica", SQLBuilder.EQUALS, Boolean.FALSE);
        clauses.addClause("AND", "dt_emissione", SQLBuilder.ISNULL, null);
        clauses.addClause("AND", "stato_cofi", SQLBuilder.NOT_EQUALS, it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk.STATO_ANNULLATO);
        filtro.setSQLClauses(clauses);
        it.cnr.jada.util.RemoteIterator ri = bp.find(context, clauses, instance);
        if (ri == null || ri.countElements() == 0) {
            it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context, ri);
            bp.setMessage("La ricerca non ha fornito alcun risultato.");
            return context.findDefaultForward();
        } else {
            bp.setModel(context, filtro);
            IDocumentoAmministrativoBP docAmmBP = getBusinessProcessForDocAmm(context, (IDocumentoAmministrativoBulk) instance);
            SelezionatoreListaBP nbp = (SelezionatoreListaBP) context.createBusinessProcess("Selezionatore", new Object[] { "Th" });
            nbp.setMultiSelection(true);
            nbp.setSelectionListener(context, getSelectionListener(context, (it.cnr.contab.docamm00.bp.CRUDFatturaAttivaBP) docAmmBP, (FatturaAttivaSingolaComponentSession) docAmmBP.createComponentSession(), filtro));
            nbp.setIterator(context, ri);
            BulkInfo bulkInfo = BulkInfo.getBulkInfo(instance.getClass());
            nbp.setBulkInfo(bulkInfo);
            if (docAmmBP instanceof IGenericSearchDocAmmBP) {
                String columnsetName = ((IGenericSearchDocAmmBP) docAmmBP).getColumnsetForGenericSearch();
                if (columnsetName != null)
                    nbp.setColumns(bulkInfo.getColumnFieldPropertyDictionary(columnsetName));
            }
            context.addHookForward("seleziona", this, "doRiportaSelezione");
            return context.addBusinessProcess(nbp);
        }
    } catch (Throwable e) {
        try {
            ((BusinessProcess) bp).rollbackUserTransaction();
        } catch (BusinessProcessException ex) {
            return handleException(context, ex);
        }
        return handleException(context, e);
    }
}
Also used : CompoundFindClause(it.cnr.jada.persistency.sql.CompoundFindClause) DocumentiAmministrativiProtocollabiliBP(it.cnr.contab.docamm00.bp.DocumentiAmministrativiProtocollabiliBP) IGenericSearchDocAmmBP(it.cnr.contab.docamm00.bp.IGenericSearchDocAmmBP) Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) IDocumentoAmministrativoBP(it.cnr.contab.docamm00.bp.IDocumentoAmministrativoBP) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) BulkInfo(it.cnr.jada.bulk.BulkInfo) Filtro_ricerca_doc_amm_protocollabileVBulk(it.cnr.contab.docamm00.docs.bulk.Filtro_ricerca_doc_amm_protocollabileVBulk) FatturaAttivaSingolaComponentSession(it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession) SelezionatoreListaBP(it.cnr.jada.util.action.SelezionatoreListaBP)

Example 4 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk 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 5 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class ReversaleComponent method findUnita_organizzativa.

/**
 * ricerca uo a cui assegnare la reversale per cds diverso da SAC
 * PreCondition:
 * E' stato generata la richiesta di creazione di una reversale di trasferimento
 * Il Cds beneficiario dell'accreditamento è diverso dal SAC
 * PostCondition:
 * L'UO-cds del Cds beneficiario dell'accreditamento viene restituito
 * <p>
 * ricerca uo a cui assegnare la reversale per cds uguale a SAC
 * PreCondition:
 * E' stato generata la richiesta di creazione di una reversale di trasferimento
 * Il Cds beneficiario dell'accreditamento è uguale al SAC
 * PostCondition:
 * Viene letta da Configurazione CNR il codice dell'uo per l'accreditamento SAC e vengono resituiti
 * i dati di tale UO
 *
 * @param userContext lo <code>UserContext</code> che ha generato la richiesta
 * @param mandato     <code>MandatoAccreditamentoBulk</code> il mandato di accreditamento da generare
 * @return Unita_organizzativaBulk l'uo a cui assegnare la reversale di trasferimento
 */
private Unita_organizzativaBulk findUnita_organizzativa(UserContext userContext, MandatoAccreditamentoBulk mandato) throws ComponentException {
    try {
        // verifico se è il cds SAC
        boolean isSac = false;
        SQLBuilder sql = getHome(userContext, CdsBulk.class).createSQLBuilder();
        sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", SQLBuilder.EQUALS, mandato.getCodice_cds());
        sql.addSQLClause("AND", "CD_TIPO_UNITA", SQLBuilder.EQUALS, Tipo_unita_organizzativaHome.TIPO_UO_SAC);
        List result = getHome(userContext, CdsBulk.class).fetchAll(sql);
        if (result.size() != 0)
            isSac = true;
        if (!isSac) {
            // cerco l'uo-cds
            sql = getHome(userContext, Unita_organizzativaBulk.class).createSQLBuilder();
            sql.addSQLClause("AND", "CD_UNITA_PADRE", SQLBuilder.EQUALS, mandato.getCodice_cds());
            sql.addSQLClause("AND", "FL_UO_CDS", SQLBuilder.EQUALS, "Y");
            result = getHome(userContext, Unita_organizzativaBulk.class).fetchAll(sql);
            if (result.size() != 1)
                throw new ApplicationException("Non è possibile identificare l'uo-cds per il Cds " + mandato.getCodice_cds());
            return ((Unita_organizzativaBulk) result.get(0));
        } else {
            // cerco l'uo in configurazione CNR
            String cdUo = Optional.ofNullable(((Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class)).getUoAccreditamentoSac(CNRUserContext.getEsercizio(userContext))).orElseThrow(() -> new ApplicationException("Configurazione CNR: manca la definizione dell'UO_SPECIALE per ACCREDITAMENTO SAC per l'esercizio " + CNRUserContext.getEsercizio(userContext) + "."));
            return (Unita_organizzativaBulk) getHome(userContext, Unita_organizzativaBulk.class).findByPrimaryKey(new Unita_organizzativaBulk(cdUo));
        }
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : BulkList(it.cnr.jada.bulk.BulkList) Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) ParseException(java.text.ParseException) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) SQLException(java.sql.SQLException) PersistencyException(it.cnr.jada.persistency.PersistencyException) IOException(java.io.IOException) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk)

Aggregations

Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)238 ComponentException (it.cnr.jada.comp.ComponentException)103 PersistencyException (it.cnr.jada.persistency.PersistencyException)101 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)101 Unita_organizzativaHome (it.cnr.contab.config00.sto.bulk.Unita_organizzativaHome)52 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)52 RemoteException (java.rmi.RemoteException)52 Unita_organizzativa_enteBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk)46 ApplicationException (it.cnr.jada.comp.ApplicationException)46 CdrBulk (it.cnr.contab.config00.sto.bulk.CdrBulk)37 EJBException (javax.ejb.EJBException)37 List (java.util.List)35 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)33 Iterator (java.util.Iterator)33 CdsBulk (it.cnr.contab.config00.sto.bulk.CdsBulk)31 UserContext (it.cnr.jada.UserContext)28 TerzoBulk (it.cnr.contab.anagraf00.core.bulk.TerzoBulk)26 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)22 SQLException (java.sql.SQLException)21 BulkList (it.cnr.jada.bulk.BulkList)20