Search in sources :

Example 1 with Bene_servizioBulk

use of it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk in project sigla-main by consiglionazionaledellericerche.

the class OrdineAcqComponent method inizializzaBulkPerModifica.

@Override
public OggettoBulk inizializzaBulkPerModifica(UserContext usercontext, OggettoBulk oggettobulk) throws ComponentException {
    OrdineAcqBulk ordine = (OrdineAcqBulk) super.inizializzaBulkPerModifica(usercontext, oggettobulk);
    ordine.setUnicoMagazzinoAbilitato(unicoMagazzinoAbilitato(usercontext, ordine));
    it.cnr.jada.bulk.BulkHome homeRiga = getHome(usercontext, OrdineAcqRigaBulk.class);
    it.cnr.jada.persistency.sql.SQLBuilder sql = homeRiga.createSQLBuilder();
    sql.addClause("AND", "numero", sql.EQUALS, ordine.getNumero());
    sql.addClause("AND", "cdCds", sql.EQUALS, ordine.getCdCds());
    sql.addClause("AND", "cdUnitaOperativa", sql.EQUALS, ordine.getCdUnitaOperativa());
    sql.addClause("AND", "esercizio", sql.EQUALS, ordine.getEsercizio());
    sql.addClause("AND", "cdNumeratore", sql.EQUALS, ordine.getCdNumeratore());
    sql.addOrderBy("cd_cds");
    sql.addOrderBy("cd_unita_operativa");
    sql.addOrderBy("esercizio");
    sql.addOrderBy("cd_numeratore");
    sql.addOrderBy("numero");
    sql.addOrderBy("riga");
    try {
        ordine.setRigheOrdineColl(new it.cnr.jada.bulk.BulkList(homeRiga.fetchAll(sql)));
        for (java.util.Iterator i = ordine.getRigheOrdineColl().iterator(); i.hasNext(); ) {
            OrdineAcqRigaBulk riga = (OrdineAcqRigaBulk) i.next();
            // if (riga.getBeneServizio() != null){
            // Bene_servizioBulk bene = recuperoBeneServizio(usercontext, riga.getCdBeneServizio());
            // riga.setBeneServizio(bene);
            // riga.setTipoConsegnaDefault(bene.getTipoGestione());
            // }
            // if (riga.getUnitaMisura() != null){
            // UnitaMisuraHome home = (UnitaMisuraHome)getHome(usercontext, UnitaMisuraBulk.class);
            // UnitaMisuraBulk um = (UnitaMisuraBulk)home.findByPrimaryKey(new UnitaMisuraBulk(riga.getCdUnitaMisura()));
            // riga.setUnitaMisura(um);
            // }
            // if (riga.getVoceIva() != null){
            // Voce_ivaHome home = (Voce_ivaHome)getHome(usercontext, Voce_ivaBulk.class);
            // Voce_ivaBulk voce = (Voce_ivaBulk)home.findByPrimaryKey(new Voce_ivaBulk(riga.getCdVoceIva()));
            // riga.setVoceIva(voce);
            // }
            it.cnr.jada.bulk.BulkHome homeConsegna = getHome(usercontext, OrdineAcqConsegnaBulk.class);
            it.cnr.jada.persistency.sql.SQLBuilder sqlConsegna = homeConsegna.createSQLBuilder();
            sqlConsegna.addClause("AND", "numero", sql.EQUALS, ordine.getNumero());
            sqlConsegna.addClause("AND", "cdCds", sql.EQUALS, ordine.getCdCds());
            sqlConsegna.addClause("AND", "cdUnitaOperativa", sql.EQUALS, ordine.getCdUnitaOperativa());
            sqlConsegna.addClause("AND", "esercizio", sql.EQUALS, ordine.getEsercizio());
            sqlConsegna.addClause("AND", "cdNumeratore", sql.EQUALS, ordine.getCdNumeratore());
            sqlConsegna.addClause("AND", "riga", sql.EQUALS, riga.getRiga());
            sqlConsegna.addOrderBy("consegna");
            riga.setRigheConsegnaColl(new it.cnr.jada.bulk.BulkList(homeConsegna.fetchAll(sqlConsegna)));
            getHomeCache(usercontext).fetchAll(usercontext);
            Obbligazione_scadenzarioBulk scadenzaComune = null;
            Boolean esisteScadenzaComune = false;
            for (java.util.Iterator c = riga.getRigheConsegnaColl().iterator(); c.hasNext(); ) {
                OggettoBulk consbulk = (OggettoBulk) c.next();
                OrdineAcqConsegnaBulk cons = (OrdineAcqConsegnaBulk) consbulk;
                // }
                if (cons.getObbligazioneScadenzario() != null) {
                    // Obbligazione_scadenzarioBulk scad = retrieveObbligazioneScadenzario(usercontext, cons);
                    // cons.setObbligazioneScadenzario(scad);
                    Obbligazione_scadenzarioBulk scad = cons.getObbligazioneScadenzario();
                    if (scadenzaComune == null || scadenzaComune.equalsByPrimaryKey(scad)) {
                        esisteScadenzaComune = true;
                        scadenzaComune = scad;
                    } else {
                        esisteScadenzaComune = false;
                    }
                } else {
                    esisteScadenzaComune = false;
                }
                if (cons.getUnitaOperativaOrd() != null) {
                    UnitaOperativaOrdBulk uop = recuperoUopDest(usercontext, cons);
                    cons.setUnitaOperativaOrd(uop);
                }
            }
            impostaCampiDspRiga(riga);
            if (esisteScadenzaComune) {
                riga.setDspObbligazioneScadenzario(scadenzaComune);
            }
        }
    } catch (PersistencyException e) {
        throw handleException(e);
    }
    // impostaTotaliOrdine(ordine);
    rebuildObbligazioni(usercontext, ordine);
    return inizializzaOrdine(usercontext, (OggettoBulk) ordine, false);
}
Also used : BulkList(it.cnr.jada.bulk.BulkList) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) it.cnr.jada.persistency.sql(it.cnr.jada.persistency.sql) java.util(java.util) PersistencyException(it.cnr.jada.persistency.PersistencyException) it.cnr.contab.anagraf00.core.bulk(it.cnr.contab.anagraf00.core.bulk) it.cnr.contab.docamm00.tabrif.bulk(it.cnr.contab.docamm00.tabrif.bulk) it.cnr.contab.config00.sto.bulk(it.cnr.contab.config00.sto.bulk) it.cnr.contab.doccont00.core.bulk(it.cnr.contab.doccont00.core.bulk) it.cnr.contab.ordmag.ordini.bulk(it.cnr.contab.ordmag.ordini.bulk)

Example 2 with Bene_servizioBulk

use of it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk in project sigla-main by consiglionazionaledellericerche.

the class RichiestaUopComponent method selectElementoVoceByClause.

public SQLBuilder selectElementoVoceByClause(UserContext userContext, RichiestaUopRigaBulk dett, Elemento_voceBulk elementoVoce, CompoundFindClause clause) throws ComponentException, PersistencyException {
    if (clause == null)
        clause = ((OggettoBulk) elementoVoce).buildFindClauses(null);
    SQLBuilder sql = getHome(userContext, elementoVoce).createSQLBuilder();
    if (clause != null)
        sql.addClause(clause);
    SQLBuilder sqlExists = null;
    Categoria_gruppo_voceHome abilCatVoce = (Categoria_gruppo_voceHome) getHomeCache(userContext).getHome(Categoria_gruppo_voceBulk.class);
    sqlExists = abilCatVoce.createSQLBuilder();
    sqlExists.addSQLJoin("ELEMENTO_VOCE.ESERCIZIO", "CATEGORIA_GRUPPO_VOCE.ESERCIZIO");
    sqlExists.addSQLJoin("ELEMENTO_VOCE.TI_APPARTENENZA", "CATEGORIA_GRUPPO_VOCE.TI_APPARTENENZA");
    sqlExists.addSQLJoin("ELEMENTO_VOCE.TI_GESTIONE", "CATEGORIA_GRUPPO_VOCE.TI_GESTIONE");
    sqlExists.addSQLJoin("ELEMENTO_VOCE.CD_ELEMENTO_VOCE", "CATEGORIA_GRUPPO_VOCE.CD_ELEMENTO_VOCE");
    if (dett.getCdBeneServizio() != null) {
        Bene_servizioHome Home = (Bene_servizioHome) getHome(userContext, Bene_servizioBulk.class);
        Bene_servizioBulk bene = (Bene_servizioBulk) Home.findByPrimaryKey(new Bene_servizioBulk(dett.getCdBeneServizio()));
        sqlExists.addSQLClause("AND", "CATEGORIA_GRUPPO_VOCE.CD_CATEGORIA_GRUPPO", SQLBuilder.EQUALS, bene.getCd_categoria_gruppo());
    }
    sql.addSQLClause("AND", "ELEMENTO_VOCE.ESERCIZIO", sql.EQUALS, it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext));
    if (dett.getLineaAttivita() != null)
        sql.addSQLClause("AND", "ELEMENTO_VOCE.CD_FUNZIONE", sql.EQUALS, dett.getLineaAttivita().getCd_funzione());
    sql.addSQLExistsClause("AND", sqlExists);
    return sql;
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Bene_servizioHome(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioHome) Bene_servizioBulk(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk) Categoria_gruppo_voceHome(it.cnr.contab.docamm00.tabrif.bulk.Categoria_gruppo_voceHome) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) Categoria_gruppo_voceBulk(it.cnr.contab.docamm00.tabrif.bulk.Categoria_gruppo_voceBulk)

Example 3 with Bene_servizioBulk

use of it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk in project sigla-main by consiglionazionaledellericerche.

the class MovimentiMagComponent method caricoDaOrdine.

/**
 * Effetta operazione di carico e/o scarico magazzino a fronte di ordine
 * Ritorna la riga di scarico se create, oggetto vuoto in caso di solo carico
 *
 * @param userContext
 * @param consegna
 * @param evasioneOrdineRiga
 * @param listaMovimentiScarico
 * @return riga di scarico se creata (MovimentiMagBulk)
 * @throws ComponentException
 * @throws PersistencyException
 * @throws ApplicationException
 */
public MovimentiMagBulk caricoDaOrdine(UserContext userContext, OrdineAcqConsegnaBulk consegna, EvasioneOrdineRigaBulk evasioneOrdineRiga) throws ComponentException, PersistencyException, ApplicationException {
    MovimentiMagBulk movimentoScaricoMag = null;
    Bene_servizioHome beneHome = (Bene_servizioHome) getHome(userContext, Bene_servizioBulk.class);
    Bene_servizioBulk bene = (Bene_servizioBulk) beneHome.findByPrimaryKey(consegna.getOrdineAcqRiga().getBeneServizio());
    if (bene.getFlScadenza() != null && bene.getFlScadenza() && consegna.getDtScadenza() == null)
        throw new ApplicationException("Indicare la data di scadenza per la consegna " + consegna.getConsegnaOrdineString());
    // creo il movimento di carico di magazzino
    MovimentiMagBulk movimentoCaricoMag = createMovimentoMagazzino(userContext, consegna, evasioneOrdineRiga, bene);
    // creo il movimento di scarico di magazzino
    if (!consegna.isConsegnaMagazzino()) {
        // creo il movimento di scarico
        // TipoMovimentoMagAzBulk tipoMovimentoAz = new TipoMovimentoMagAzBulk(movimentoCaricoMag.getTipoMovimentoMag().getCdCds(), movimentoCaricoMag.getTipoMovimentoMag().getCdTipoMovimento());
        // TipoMovimentoMagAzHome home = (TipoMovimentoMagAzHome)getHome(userContext,TipoMovimentoMagAzBulk.class);
        // tipoMovimentoAz = (TipoMovimentoMagAzBulk)home.findByPrimaryKey(tipoMovimentoAz);
        Optional.ofNullable(movimentoCaricoMag.getTipoMovimentoMag()).map(TipoMovimentoMagBulk::getTipoMovimentoMagRif).orElseThrow(() -> new ApplicationException("Attenzione! Errore nell'individuazione del tipo movimento di riferimento per l'operazione di scarico."));
        movimentoScaricoMag = createMovimentoMagazzino(userContext, consegna, evasioneOrdineRiga, bene);
        movimentoScaricoMag.setTipoMovimentoMag(movimentoCaricoMag.getTipoMovimentoMag().getTipoMovimentoMagRif());
    }
    movimentoCaricoMag = creaCarico(userContext, movimentoCaricoMag);
    try {
        Utility.createTransitoBeniOrdiniComponentSession().gestioneTransitoInventario(userContext, movimentoCaricoMag);
    } catch (RemoteException e) {
        throw new ComponentException(e);
    }
    if (movimentoScaricoMag != null) {
        // associo il lotto di magazzino al movimento di scarico
        movimentoScaricoMag.setLottoMag(movimentoCaricoMag.getLottoMag());
        // creo il legame del movimento di scarico con il movimento di carico
        movimentoScaricoMag.setMovimentoRif(movimentoCaricoMag);
        movimentoScaricoMag.setToBeCreated();
        movimentoScaricoMag = (MovimentiMagBulk) super.creaConBulk(userContext, movimentoScaricoMag);
        // creo il legame del movimento di carico con il movimento di scarico
        movimentoCaricoMag.setMovimentoRif(movimentoScaricoMag);
        movimentoCaricoMag.setToBeUpdated();
        modificaConBulk(userContext, movimentoCaricoMag);
        // codice di controllo: il lotto creato deve avere le movimentazioni a zero essendo carico/scarico contestuale
        LottoMagHome lottoHome = (LottoMagHome) getHome(userContext, LottoMagBulk.class);
        LottoMagBulk lotto = (LottoMagBulk) lottoHome.findByPrimaryKey(movimentoCaricoMag.getLottoMag());
        if (lotto.getGiacenza().compareTo(BigDecimal.ZERO) != 0 || lotto.getQuantitaValore().compareTo(BigDecimal.ZERO) != 0) {
            lotto.setGiacenza(BigDecimal.ZERO);
            lotto.setQuantitaValore(BigDecimal.ZERO);
            lotto.setToBeUpdated();
            lottoHome.update(lotto, userContext);
        }
    }
    return movimentoScaricoMag;
}
Also used : Bene_servizioHome(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioHome) Bene_servizioBulk(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk) RemoteException(java.rmi.RemoteException)

Example 4 with Bene_servizioBulk

use of it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDOrdineAcqAction method recuperoListaCapitoli.

protected java.util.List recuperoListaCapitoli(ActionContext context, java.util.Iterator selectedModels) throws ComponentException, PersistencyException, IntrospectionException, RemoteException, BusinessProcessException {
    if (selectedModels != null) {
        java.util.List titoliCapitoli = new ArrayList<>();
        java.util.Vector categorieGruppo = new java.util.Vector();
        int count = 0;
        while (selectedModels.hasNext()) {
            count += 1;
            OrdineAcqRigaBulk rigaSelected = (OrdineAcqRigaBulk) selectedModels.next();
            Bene_servizioBulk beneServizio = rigaSelected.getBeneServizio();
            if (beneServizio == null)
                throw new it.cnr.jada.comp.ApplicationException("Valorizzare il bene/servizio per il dettaglio " + ((rigaSelected.getRiga() == null) ? "" : "\"" + rigaSelected.getRiga() + "\"") + "! Operazione interrotta.");
            if (beneServizio.getCategoria_gruppo() == null)
                throw new it.cnr.jada.comp.ApplicationException("Il bene/servizio \"" + beneServizio.getDs_bene_servizio() + "\" non ha definito alcuna categoria di appartenenza! Operazione interrotta.");
            else if (categorieGruppo.isEmpty())
                categorieGruppo.add(beneServizio.getCategoria_gruppo());
            else
                for (java.util.Iterator i = ((java.util.Vector) categorieGruppo.clone()).iterator(); i.hasNext(); ) {
                    Categoria_gruppo_inventBulk cat = (Categoria_gruppo_inventBulk) i.next();
                    if (!it.cnr.jada.bulk.BulkCollections.containsByPrimaryKey(categorieGruppo, beneServizio.getCategoria_gruppo()))
                        categorieGruppo.add(beneServizio.getCategoria_gruppo());
                }
        }
        CategoriaGruppoInventComponentSession h = (CategoriaGruppoInventComponentSession) context.getBusinessProcess().createComponentSession("CNRDOCAMM00_EJB_CategoriaGruppoInventComponentSession", CategoriaGruppoInventComponentSession.class);
        for (java.util.Iterator i = ((java.util.Vector) categorieGruppo.clone()).iterator(); i.hasNext(); ) {
            Categoria_gruppo_inventBulk cat = (Categoria_gruppo_inventBulk) i.next();
            java.util.List titoliCapitoliCatGrp = h.findAssVoceFList(context.getUserContext(), cat);
            if (titoliCapitoliCatGrp == null)
                throw new it.cnr.jada.comp.ApplicationException("Alla categoria " + cat.getCd_categoria_gruppo() + "\" non รจ stato attribuita l'associazione al capitolo di spesa");
            if (titoliCapitoli.isEmpty()) {
                for (java.util.Iterator k = titoliCapitoliCatGrp.iterator(); k.hasNext(); ) {
                    Categoria_gruppo_voceBulk assVoce = (Categoria_gruppo_voceBulk) k.next();
                    titoliCapitoli.add(assVoce.getElemento_voce());
                }
            } else
                for (java.util.Iterator k = titoliCapitoliCatGrp.iterator(); k.hasNext(); ) {
                    Categoria_gruppo_voceBulk assVoce = (Categoria_gruppo_voceBulk) k.next();
                    if (!it.cnr.jada.bulk.BulkCollections.containsByPrimaryKey(titoliCapitoli, assVoce.getElemento_voce()))
                        titoliCapitoli.add(assVoce.getElemento_voce());
                }
        }
        if (titoliCapitoli != null && !titoliCapitoli.isEmpty())
            return titoliCapitoli;
    }
    return null;
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) Iterator(java.util.Iterator) Bene_servizioBulk(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk) ArrayList(java.util.ArrayList) Categoria_gruppo_voceBulk(it.cnr.contab.docamm00.tabrif.bulk.Categoria_gruppo_voceBulk) List(java.util.List) OrdineAcqRigaBulk(it.cnr.contab.ordmag.ordini.bulk.OrdineAcqRigaBulk) Iterator(java.util.Iterator) Categoria_gruppo_inventBulk(it.cnr.contab.docamm00.tabrif.bulk.Categoria_gruppo_inventBulk) CategoriaGruppoInventComponentSession(it.cnr.contab.docamm00.ejb.CategoriaGruppoInventComponentSession)

Example 5 with Bene_servizioBulk

use of it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk in project sigla-main by consiglionazionaledellericerche.

the class TransitoBeniOrdiniComponent method gestioneTransitoInventario.

public Transito_beni_ordiniBulk gestioneTransitoInventario(UserContext userContext, MovimentiMagBulk movimentoCarico) throws ComponentException, PersistencyException, RemoteException, ApplicationException {
    try {
        Bene_servizioHome bene_servizioHome = (Bene_servizioHome) getHome(userContext, Bene_servizioBulk.class);
        Bene_servizioBulk bene_servizioBulk = (Bene_servizioBulk) bene_servizioHome.findByPrimaryKey(movimentoCarico.getLottoMag().getBeneServizio());
        if (bene_servizioBulk.getFl_gestione_inventario()) {
            for (int i = 0; i < movimentoCarico.getQuantita().intValue(); i++) {
                Transito_beni_ordiniBulk bene = new Transito_beni_ordiniBulk();
                Id_inventarioHome inventarioHome = (Id_inventarioHome) getHome(userContext, Id_inventarioBulk.class);
                Id_inventarioBulk inventario = inventarioHome.findInventarioFor(userContext, false);
                // NON ESISTE UN INVENTARIO ASSOCIATO ALLA UO DI SCRIVANIA
                if (inventario == null)
                    throw new it.cnr.jada.comp.ApplicationException("Attenzione: non esiste alcun inventario associato alla UO");
                bene.setInventario(inventario);
                bene.setMovimentiMag(movimentoCarico);
                bene.setStato(Transito_beni_ordiniBulk.STATO_INSERITO);
                LottoMagHome LottoMagHome = (LottoMagHome) getHome(userContext, LottoMagBulk.class);
                LottoMagBulk LottoMagBulk = (LottoMagBulk) LottoMagHome.findByPrimaryKey(movimentoCarico.getLottoMag());
                bene.setValore_unitario(LottoMagBulk.getCostoUnitario());
                bene.setDs_bene(bene_servizioBulk.getDs_bene_servizio());
                bene.setDt_acquisizione(movimentoCarico.getDtRiferimento());
                bene.setValore_iniziale(bene.getValore_unitario());
                OrdineAcqHome ordineAcqHome = (OrdineAcqHome) getHome(userContext, OrdineAcqBulk.class);
                OrdineAcqBulk ordineAcqBulk = (OrdineAcqBulk) ordineAcqHome.findByPrimaryKey(movimentoCarico.getLottoMag().getOrdineAcqConsegna().getOrdineAcqRiga().getOrdineAcq());
                bene.setTi_commerciale_istituzionale(ordineAcqBulk.getTiAttivita());
                bene.setToBeCreated();
                creaConBulk(userContext, bene);
            }
            return null;
        }
    } catch (ComponentException | PersistencyException | IntrospectionException e) {
        throw new ComponentException(e);
    }
    return null;
}
Also used : it.cnr.jada.comp(it.cnr.jada.comp) Bene_servizioBulk(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Bene_servizioHome(it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioHome) PersistencyException(it.cnr.jada.persistency.PersistencyException) Transito_beni_ordiniBulk(it.cnr.contab.inventario00.docs.bulk.Transito_beni_ordiniBulk)

Aggregations

Bene_servizioBulk (it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk)19 PersistencyException (it.cnr.jada.persistency.PersistencyException)14 ApplicationException (it.cnr.jada.comp.ApplicationException)11 ComponentException (it.cnr.jada.comp.ComponentException)11 RemoteException (java.rmi.RemoteException)11 Elemento_voceBulk (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk)8 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)8 Rif_modalita_pagamentoBulk (it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk)7 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)7 OggettoBulk (it.cnr.jada.bulk.OggettoBulk)7 List (java.util.List)7 Collectors (java.util.stream.Collectors)7 NazioneBulk (it.cnr.contab.anagraf00.tabter.bulk.NazioneBulk)6 Bene_servizioHome (it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioHome)6 Categoria_gruppo_inventBulk (it.cnr.contab.docamm00.tabrif.bulk.Categoria_gruppo_inventBulk)6 Voce_ivaBulk (it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk)6 it.cnr.contab.doccont00.core.bulk (it.cnr.contab.doccont00.core.bulk)6 UserContext (it.cnr.jada.UserContext)6 ValidationException (it.cnr.jada.bulk.ValidationException)6 ContrattoBulk (it.cnr.contab.config00.contratto.bulk.ContrattoBulk)5