it.cnr.contab.docamm00.comp.CambioComponent 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.docamm00.comp;
import java.io.Serializable;
import it.cnr.contab.docamm00.tabrif.bulk.CambioBulk;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.comp.ICRUDMgr;
import it.cnr.jada.persistency.sql.CompoundFindClause;
import it.cnr.jada.util.RemoteIterator;
import java.io.PrintWriter;
public class CambioComponent
extends it.cnr.jada.comp.CRUDComponent
implements ICRUDMgr, ICambioMgr, Cloneable, Serializable {
public CambioComponent()
{
/*Default constructor*/
}
//^^@@
/**
* tutti i controlli superati
* PreCondition:
* validaCambio = true
* PostCondition:
* Consente la modifica del cambio.
* validaCambio non superata
* PreCondition:
* L'inizio del periodo è incongruente.
* PostCondition:
* Viene inviato il messaggio "Attenzione, non si possono creare cambi con data inizio validita inferiore a quella esistente".
*/
//^^@@
public OggettoBulk creaConBulk(UserContext aUC, OggettoBulk cambio) throws ComponentException {
/*
validaCambio(aUC,(CambioBulk)cambio);*/
if (!validaCambio(aUC, (CambioBulk) cambio))
throw handleException(new it.cnr.jada.comp.ApplicationException("Attenzione, il cambio per il periodo impostato già esiste"));
((CambioBulk) cambio).setCd_divisa(((CambioBulk) cambio).getDivisa().getCd_divisa());
return super.creaConBulk(aUC, cambio);
}
/**
* Controllo cambio di default
* PreCondition: Il cambio è quello di default
* PostCondition: Viene sollevata un'eccezione
*
* Tutti i controlli superati.
* PreCondition: Nessun errore rilevato.
* PostCondition: Viene consentita la camcellazione.
*
*/
public void eliminaConBulk(UserContext aUC,OggettoBulk cambio) throws it.cnr.jada.comp.ComponentException {
if (((CambioBulk)cambio).iscambioDefault())
throw handleException( new it.cnr.jada.comp.ApplicationException("Attenzione, l' eliminazione di questi dati non è consentita")) ;
super.eliminaConBulk( aUC, cambio );
}
/**
* Gestisce un cambiamento di pagina su un controllo tabbed {@link it.cnr.jada.util.jsp.JSPUtils.tabbed}
*/
private String getEuro(UserContext userContext) throws ComponentException {
String cd_euro = null;
try {
cd_euro = ((it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession)it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRCONFIG00_EJB_Configurazione_cnrComponentSession", it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession.class)).getVal01(userContext, new Integer(0), "*", "CD_DIVISA", "EURO");
} catch (javax.ejb.EJBException e) {
handleException(e);
} catch (java.rmi.RemoteException e) {
handleException(e);
}
return cd_euro;
}
//^^@@
/**
* Oggetto non esistente
* PreCondition:
* L'OggettoBulk specificato non esiste.
* PostCondition:
* Viene generata una CRUDException con la descrizione dell'errore.
*/
//^^@@
public OggettoBulk inizializzaBulkPerModifica (UserContext aUC,OggettoBulk bulk) throws ComponentException
{
if (((CambioBulk) bulk).getCd_divisa().equals(getEuro(aUC)))
((CambioBulk) bulk).setCambioDefault(true);
return bulk;
}
//^^@@
/**
* Tutti i controlli superati
* PreCondition:
* validaVoceIva = true
* PostCondition:
* Consente la modifica della voce iva.
* validaCambio non superata
* PreCondition:
* validaCambio = false
* PostCondition:
* Viene inviato il messaggio "Attenzione, la modifica di questi dati non è consentita".
*/
//^^@@
public OggettoBulk modificaConBulk (UserContext aUC,OggettoBulk cambio) throws ComponentException
{
throw new it.cnr.jada.comp.ApplicationException("Non e' possibile modificare i cambi");
}
public it.cnr.jada.persistency.sql.SQLBuilder selectDivisaByClause(UserContext aUC,CambioBulk cambio, it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk divisa, CompoundFindClause clauses)
throws ComponentException {
it.cnr.contab.docamm00.tabrif.bulk.DivisaHome divisaHome = (it.cnr.contab.docamm00.tabrif.bulk.DivisaHome)getHome(aUC, it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk.class);
it.cnr.jada.persistency.sql.SQLBuilder sql = divisaHome.createSQLBuilder();
if (cambio.getDivisa()!=null && cambio.getDivisa().getCd_divisa()!=null)
sql.addClause("AND", "cd_divisa", sql.EQUALS, cambio.getDivisa().getCd_divisa());
sql.addClause("AND", "cd_divisa", sql.NOT_EQUALS, getEuro(aUC));
return sql;
}
//^^@@
/**
* Tutti i controlli superati.
* PreCondition:
* Nessuna voce iva di default preesistente.
* PostCondition:
* restituisce true
* Cambio non validato.
* PreCondition:
* E' stato modificata il valore o data inizio validita di un periodo esistente o inserito un nuovo periodo con data inizio inferiore aperiodo esistente.
* PostCondition:
* Ritorna false
*/
//^^@@
public boolean validaCambio (UserContext aUC,CambioBulk cambio)
{
try
{
it.cnr.contab.docamm00.tabrif.bulk.CambioHome cambioH = (it.cnr.contab.docamm00.tabrif.bulk.CambioHome)getHome(aUC,CambioBulk.class);
cambioH.checkInserimentoSuccessivo(cambio);
return cambioH.checkPeriodi(cambio);
}
catch (Exception e)
{
return false;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy