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);
}
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;
}
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;
}
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;
}
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;
}
Aggregations