it.cnr.contab.compensi00.comp.AddizionaliComponent 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.compensi00.comp;
import java.sql.Timestamp;
import java.util.Iterator;
import java.util.List;
import it.cnr.contab.anagraf00.tabter.bulk.ComuneBulk;
import it.cnr.contab.anagraf00.tabter.bulk.ComuneHome;
import it.cnr.contab.compensi00.tabrif.bulk.AddizionaliBulk;
import it.cnr.contab.compensi00.tabrif.bulk.AddizionaliHome;
import it.cnr.contab.compensi00.tabrif.bulk.ScaglioneBulk;
import it.cnr.contab.compensi00.tabrif.bulk.ScaglioneHome;
import it.cnr.contab.config00.esercizio.bulk.EsercizioHome;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ApplicationException;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.sql.SQLBuilder;
public class AddizionaliComponent extends it.cnr.jada.comp.CRUDComponent{
public AddizionaliComponent() {
super();
}
public AddizionaliBulk verifica_aggiornamento(UserContext usercontext, AddizionaliBulk addizionale) throws ComponentException {
ScaglioneBulk scaglione=null;
try{
ComuneHome home = (ComuneHome)getHome(usercontext, ComuneBulk.class);
ComuneBulk comune = home.findComune(usercontext, addizionale.getCd_catastale());
if(comune!=null && comune.getPg_comune()!=null){
ScaglioneHome home_scaglione =(ScaglioneHome)getHome(usercontext,ScaglioneBulk.class);
scaglione =home_scaglione.findScaglione(usercontext, addizionale, comune);
}else{
addizionale.setNota("Comune non trovato - Codice Catastale: "+addizionale.getCd_catastale()+" - "+addizionale.getDs_comune());
}
if(comune.getDs_comune()!=null && comune.getDs_comune().compareTo(addizionale.getDs_comune())!=0)
addizionale.setNota("Descrizione Comune non verificata - Codice Catastale: "+addizionale.getCd_catastale()+" - "+addizionale.getDs_comune()+" - in Archivio - "+comune.getDs_comune());
if (scaglione != null && scaglione.getAliquota()!=null && scaglione.getAliquota().compareTo(addizionale.getAliquota())!=0){
addizionale.setOld_aliquota(scaglione.getAliquota());
addizionale.setToBeCreated();
creaConBulk(usercontext, addizionale);
return addizionale;
}else if (addizionale.getNota()== null && scaglione == null)
addizionale.setNota("Non esistono scaglioni da aggiornare o esistono più scaglioni validi - Codice Catastale: "+addizionale.getCd_catastale()+" - "+addizionale.getDs_comune());
if(addizionale.getNota()!=null){
addizionale.setOld_aliquota(null);
addizionale.setToBeCreated();
creaConBulk(usercontext, addizionale);
return addizionale;
}
else
return null;
}catch(it.cnr.jada.persistency.PersistencyException ex){
throw handleException(ex);
}
}
public void Aggiornamento_scaglione(UserContext usercontext, AddizionaliBulk addizionale) throws ComponentException {
try{
ScaglioneBulk scaglione=null;
ScaglioneBulk nuovo_scaglione=null;
for(Iterator i=addizionale.getDettagli().iterator();i.hasNext();){
AddizionaliBulk nuova=(AddizionaliBulk)i.next();
ComuneHome home = (ComuneHome)getHome(usercontext, ComuneBulk.class);
ComuneBulk comune = home.findComune(usercontext, nuova.getCd_catastale());
if(comune!=null){
ScaglioneHome home_scaglione =(ScaglioneHome)getHome(usercontext,ScaglioneBulk.class);
scaglione =home_scaglione.findScaglione(usercontext, nuova, comune);
}
nuovo_scaglione=scaglione;
scaglione.setToBeUpdated();
scaglione.setDt_fine_validita(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate());
modificaConBulk(usercontext,scaglione);
java.util.GregorianCalendar gc = getGregorianCalendar();
gc.setTime(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate());
gc.add(java.util.Calendar.DAY_OF_YEAR,+1);
nuovo_scaglione.setDt_inizio_validita(new Timestamp(gc.getTime().getTime()));
nuovo_scaglione.setDt_fine_validita(EsercizioHome.DATA_INFINITO);
nuovo_scaglione.setAliquota(nuova.getAliquota());
nuovo_scaglione.setCrudStatus(OggettoBulk.TO_BE_CREATED);
super.creaConBulk(usercontext,nuovo_scaglione);
nuova.setToBeDeleted();
eliminaConBulk(usercontext,nuova);
}
}catch(it.cnr.jada.persistency.PersistencyException ex){
throw handleException(ex);
}
}
protected java.util.GregorianCalendar getGregorianCalendar() {
java.util.GregorianCalendar gc = (java.util.GregorianCalendar)java.util.GregorianCalendar.getInstance();
gc.set(java.util.Calendar.HOUR, 0);
gc.set(java.util.Calendar.MINUTE, 0);
gc.set(java.util.Calendar.SECOND, 0);
gc.set(java.util.Calendar.MILLISECOND, 0);
gc.set(java.util.Calendar.AM_PM, java.util.Calendar.AM);
return gc;
}
public void cancella_pendenti(UserContext usercontext) throws ComponentException{
AddizionaliHome home=(AddizionaliHome)getHome(usercontext, AddizionaliBulk.class);
SQLBuilder sql = home.createSQLBuilder();
try {
List canc = home.fetchAll(sql);
for (Iterator i=canc.iterator();i.hasNext();){
AddizionaliBulk bulk=(AddizionaliBulk)i.next();
bulk.setToBeDeleted();
eliminaConBulk(usercontext,bulk);
}
} catch (PersistencyException e) {
handleException(e);
}
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy