it.cnr.contab.inventario00.bp.CRUDAggiornamentoInventarioBP 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.inventario00.bp;
import java.rmi.RemoteException;
import java.util.Iterator;
import java.util.Vector;
import it.cnr.contab.inventario00.docs.bulk.Inventario_beniBulk;
import it.cnr.contab.inventario00.docs.bulk.Inventario_utilizzatori_laBulk;
import it.cnr.contab.inventario00.docs.bulk.Utilizzatore_CdrVBulk;
import it.cnr.contab.inventario00.docs.bulk.Aggiornamento_inventarioBulk;
import it.cnr.contab.inventario00.ejb.*;
import it.cnr.jada.DetailedRuntimeException;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.BusinessProcessException;
import it.cnr.jada.bulk.BulkCollections;
import it.cnr.jada.bulk.BusyResourceException;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.bulk.OutdatedResourceException;
import it.cnr.jada.bulk.SimpleBulkList;
import it.cnr.jada.bulk.ValidationException;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.util.RemoteIterator;
import it.cnr.jada.util.action.SelectionListener;
import it.cnr.jada.util.action.SimpleDetailCRUDController;
public class CRUDAggiornamentoInventarioBP extends it.cnr.jada.util.action.SimpleCRUDBP implements SelectionListener{
private final SimpleDetailCRUDController vUtilizzatori = new SimpleDetailCRUDController("VUtilizzatori",Utilizzatore_CdrVBulk.class,"v_utilizzatoriColl",this){
public void validate(ActionContext context,OggettoBulk model) throws ValidationException {
validate_Percentuali_LA(context,model);
}
};
private final SimpleDetailCRUDController utilizzatori = new SimpleDetailCRUDController("Utilizzatori",Inventario_utilizzatori_laBulk.class,"buono_cs_utilizzatoriColl",vUtilizzatori);
private it.cnr.jada.persistency.sql.CompoundFindClause clauses;
public CRUDAggiornamentoInventarioBP() {
super();
}
/**
* CRUDTrasferimentoInventarioBP constructor comment.
* @param function java.lang.String
*/
public CRUDAggiornamentoInventarioBP(String function) {
super(function);
setTab("tab","tabAggiornamentoInventarioTestata");
}
/**
* Imposta come attivi i tab di default.
*
* @param context ActionContext
*/
protected void init(it.cnr.jada.action.Config config,it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
Aggiornamento_inventarioBulk agg = (Aggiornamento_inventarioBulk)getModel();
super.init(config,context);
dettagliCRUDController.setMultiSelection(false);
dettagliCRUDController.setPaged(true);
resetTabs();
}
/**
* Disabilito il bottone di ricerca libera.
*/
public boolean isNewButtonHidden() {
return true;
}
public boolean isFreeSearchButtonHidden() {
return true;
}
/**
* Disabilito il bottone di ricerca.
*/
public boolean isSearchButtonHidden() {
return true;
}
public boolean isDeleteButtonHidden() {
return true;
}
/**
* Imposta come attivi i tab di default.
*
* @param context ActionContext
*/
public void resetTabs() {
setTab("tab","tabAggiornamentoInventarioTestata");
}
public OggettoBulk initializeModelForInsert(ActionContext context,OggettoBulk bulk) throws BusinessProcessException {
return super.initializeModelForInsert(context, bulk);
}
/**
* Restituisce il valore della proprietà 'utilizzatori'
*
* @return utilizzatori SimpleDetailCRUDController il valore
*/
public final SimpleDetailCRUDController getUtilizzatori() {
return utilizzatori;
}
/**
* Restituisce il valore della proprietà 'vutilizzatori'
*
* @return Il valore della proprietà 'vutilizzatori'
*/
public final SimpleDetailCRUDController getVutilizzatori() {
return vUtilizzatori;
}
/**
* Insert the method's description here.
* Creation date: (12/09/2002 11.06.12)
* @param newClauses it.cnr.jada.persistency.sql.CompoundFindClause
*/
public void setClauses(it.cnr.jada.persistency.sql.CompoundFindClause newClauses) {
clauses = newClauses;
}
/**
* Insert the method's description here.
* Creation date: (12/09/2002 11.06.12)
* @return it.cnr.jada.persistency.sql.CompoundFindClause
*/
public it.cnr.jada.persistency.sql.CompoundFindClause getClauses() {
return clauses;
}
/**
* Restituisce il valore della proprietà 'dettagliCRUDController'
*
* @return SimpleDetailCRUDController il valore della proprietà 'dettagliCRUDController'
*/
public final SimpleDetailCRUDController getDettagliCRUDController() {
return dettagliCRUDController;
}
private final SimpleDetailCRUDController dettagliCRUDController = new SimpleDetailCRUDController("dettaglioCRUDController",Inventario_beniBulk.class,"dettagli",this){
public void validate(ActionContext context,OggettoBulk model) throws ValidationException {
}
};
public void aggiornamento_beni (ActionContext context) throws BusinessProcessException, DetailedRuntimeException, ComponentException, RemoteException, PersistencyException, OutdatedResourceException, BusyResourceException{
it.cnr.contab.inventario00.docs.bulk.Aggiornamento_inventarioBulk aggiorno = (it.cnr.contab.inventario00.docs.bulk.Aggiornamento_inventarioBulk)getModel();
it.cnr.contab.inventario00.ejb.Aggiornamento_inventarioComponentSession h = (it.cnr.contab.inventario00.ejb.Aggiornamento_inventarioComponentSession)createComponentSession();
setModel(context,h.AggiornaBeni(context.getUserContext(),aggiorno));
setMessage("Salvataggio eseguito in modo corretto.");
}
public void validate_Percentuali_LA(ActionContext context,OggettoBulk model) throws ValidationException {
Utilizzatore_CdrVBulk cdrUtilizzatore = (Utilizzatore_CdrVBulk)model;
SimpleBulkList utilizzatori_LA = cdrUtilizzatore.getBuono_cs_utilizzatoriColl();
java.math.BigDecimal percentuale_utilizzo_LA = new java.math.BigDecimal("0");
Vector cdr = new Vector();
java.math.BigDecimal cento = new java.math.BigDecimal(100);
if (utilizzatori_LA.size()>0){
Iterator i = utilizzatori_LA.iterator();
while (i.hasNext()){
Inventario_utilizzatori_laBulk utilizzatore_LA = (Inventario_utilizzatori_laBulk)i.next();
// Controlla che sia stata specificata la line di Attività
if (utilizzatore_LA.getLinea_attivita()==null || utilizzatore_LA.getLinea_attivita().getCd_linea_attivita() == null){
throw new ValidationException ("GAE non valido. Indicare sia il codice del GAE, sia la sua percentuale di utilizzo");
}
// Controlla che non vi siano Linee di Attività DUPLICATE
if (BulkCollections.containsByPrimaryKey(cdr,utilizzatore_LA.getLinea_attivita())){
throw new ValidationException ("GAE duplicato. Non è possibile indicare più volte uno stesso GAE");
}
else {
cdr.add(utilizzatore_LA.getLinea_attivita());
}
// Controlla che sia stata indicata una PERCENTUALE DI UTILIZZO VALIDA per Linea di Attività
if (utilizzatore_LA.getPercentuale_utilizzo_la()!=null){
percentuale_utilizzo_LA = percentuale_utilizzo_LA.add(utilizzatore_LA.getPercentuale_utilizzo_la());
}
else{
throw new ValidationException ("La percentuale di utilizzo per i GAE non può essere nulla");
}
}
// Controlla che il totale delle percentuali di utilizzo delle Linee di Attività sia 100
if (percentuale_utilizzo_LA.compareTo(cento)!=0)
throw new ValidationException ("La percentuale di utilizzo per i GAE non è valida");
}
}
/**
* Restituisce la Selezione fatta sul Controller dei Beni Associati.
*
* @param context la ActionContext che ha generato la richiesta
* @param beni OggettoBulk[] i beni selezionati dall'utente.
* @param currentSelection la BitSet selezione attuale.
*
* @return currentSelection la BitSet selezione attuale.
**/
public java.util.BitSet getSelection(it.cnr.jada.action.ActionContext context, it.cnr.jada.bulk.OggettoBulk[] bulks, java.util.BitSet currentSelection) {
return currentSelection;
}
/**
* initializeSelection method comment.
*
* @param context la ActionContext che ha generato la richiesta
**/
public void initializeSelection(it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
}
/**
* E' stata generata la richiesta di annullare tutte le operazioni effettuate sul Buono di
* Scarico Inventario.
* Viene invocato il metodo Aggiornamento_inventarioComponent.annullaModificaScaricoBeni
*
* @param context la ActionContext che ha generato la richiesta.
*/
public void clearSelection(it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
}
/**
* Imposta la Selezione fatta sul Controller dei Beni che si stanno aggiornando.
*
* @param context la ActionContext che ha generato la richiesta
* @param beni OggettoBulk[] i beni selezionati dall'utente.
* @param oldSelection la BitSet selezione precedente.
* @param newSelection la BitSet selezione attuale.
*
* @return currentSelection la BitSet selezione attuale.
**/
public java.util.BitSet setSelection(it.cnr.jada.action.ActionContext context, it.cnr.jada.bulk.OggettoBulk[] bulks, java.util.BitSet oldSelection, java.util.BitSet newSelection) throws it.cnr.jada.action.BusinessProcessException {
for (int i = 0;i < bulks.length;i++) {
Inventario_beniBulk bene = (Inventario_beniBulk)bulks[i];
if (oldSelection.get(i) != newSelection.get(i)) {
getDettagliCRUDController().add(context,bene);
}
}
return newSelection;
}
/**
* Metodo richiesto dall'interfaccia SelectionListener.
*
* @param context la ActionContext che ha generato la richiesta
**/
public void deselectAll(it.cnr.jada.action.ActionContext context) {}
/**
* Seleziona tutti i beni da una finestra di Selezione.
* L'utente sta selezionando i beni da aggiornare, e decide di aggiornare tutti i beni risultati
* dalla ricerca di beni disponibili.
* Invoca il metodo Aggiornamento_inventarioComponentSession.aggiornaTuttiBeni
*
* @param userContext lo UserContext che ha generato la richiesta.
**/
public void selectAll(it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
try {
setModel(context,((Aggiornamento_inventarioComponentSession)createComponentSession()).aggiornaTuttiBeni(
context.getUserContext(),
(Aggiornamento_inventarioBulk)getModel(),
getClauses()));
} catch(it.cnr.jada.comp.ComponentException e) {
throw handleException(e);
} catch(java.rmi.RemoteException e) {
throw handleException(e);
}
}
/**
* E' stata generata la richiesta di cercare i beni disponibili per una operazione d Scarico.
* Vengono invocati due diversi metodi della Component Aggiornamento_inventarioComponent, a seconda
* che il Buono di Scarico sia creato da una Fattura Attiva oppure no:
* - invoca il metodo Aggiornamento_inventarioComponentt.cercaBeniAssociabili, se
* proviene da Fattura Attiva;
* - invoca il metodo Aggiornamento_inventarioComponent.cercaBeniScaricabili, altrimenti.
*
* @param userContext lo UserContext che ha generato la richiesta.
* @param no_accessori boolean indica se escludere i beni accessori dalla ricerca
* @param beni_da_escludere SimpleBulkList i beni da escludere dalla ricerca, magari perchè già selezionati
* @param clauses CompoundFindClause le clausole della selezione.
*
* @return l'Iteratore RemoteIterator sui beni trovati.
**/
public RemoteIterator getListaBeniDaAggiornare(
it.cnr.jada.UserContext userContext,
SimpleBulkList beni_da_escludere,
it.cnr.jada.persistency.sql.CompoundFindClause clauses) throws BusinessProcessException, java.rmi.RemoteException, it.cnr.jada.comp.ComponentException {
return ((Aggiornamento_inventarioComponentSession)createComponentSession()).cercaBeniAggiornabili(userContext, (Aggiornamento_inventarioBulk)this.getModel(), clauses);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy