it.cnr.contab.gestiva00.comp.LiquidIvaInterfComponent 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.gestiva00.comp;
/**
* Insert the type's description here.
* Creation date: (08/10/2001 15:39:09)
* @author: CNRADM
*/
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Enumeration;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
import it.cnr.contab.config00.sto.bulk.CdsBulk;
import it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk;
import it.cnr.contab.gestiva00.core.bulk.Liquid_iva_interfBulk;
import it.cnr.contab.gestiva00.core.bulk.Liquid_iva_interfHome;
import it.cnr.contab.gestiva00.core.bulk.Liquidazione_definitiva_ivaVBulk;
import it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaBulk;
import it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaHome;
import it.cnr.contab.gestiva00.core.bulk.Liquidazione_iva_ripart_finBulk;
import it.cnr.contab.gestiva00.core.bulk.Liquidazione_iva_ripart_finHome;
import it.cnr.contab.gestiva00.core.bulk.Liquidazione_massa_ivaVBulk;
import it.cnr.contab.utenze00.bp.CNRUserContext;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.BulkList;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ApplicationException;
import it.cnr.jada.comp.CRUDComponent;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.IntrospectionException;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.Persistent;
import it.cnr.jada.persistency.sql.CompoundFindClause;
import it.cnr.jada.persistency.sql.Query;
import it.cnr.jada.persistency.sql.SQLBuilder;
/**
* @author rpagano
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class LiquidIvaInterfComponent extends CRUDComponent {
public boolean contaRiga(UserContext userContext, Liquid_iva_interfBulk liquid_iva) throws ComponentException{
try
{
Liquid_iva_interfHome testataHome = (Liquid_iva_interfHome)getHome(userContext, Liquid_iva_interfBulk.class);
SQLBuilder sql = testataHome.createSQLBuilder();
sql.addSQLClause("AND","ESERCIZIO", sql.EQUALS, it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext));
sql.addSQLClause("AND","CD_CDS", sql.EQUALS, it.cnr.contab.utenze00.bp.CNRUserContext.getCd_cds(userContext));
sql.addSQLClause("AND","DT_INIZIO", sql.EQUALS, liquid_iva.getDt_inizio());
try {
return sql.executeExistsQuery(testataHome.getConnection());
} catch (java.sql.SQLException e) {
throw handleSQLException(e);
}
}
catch ( Exception e )
{
throw handleException( e );
}
}
public void inserisciRighe(UserContext userContext, Liquid_iva_interfBulk liquid_iva) throws ComponentException{
it.cnr.contab.config00.sto.bulk.CdsHome cdsHome = (it.cnr.contab.config00.sto.bulk.CdsHome)getHome(userContext, CdsBulk.class);
java.util.List listaUoCds;
try {
listaUoCds = cdsHome.findUoCds(userContext,it.cnr.contab.utenze00.bp.CNRUserContext.getCd_cds(userContext));
for (java.util.ListIterator i = listaUoCds.listIterator();i.hasNext();) {
Unita_organizzativaBulk uo = (Unita_organizzativaBulk)i.next();
for (Enumeration j = liquid_iva.getTIPI_LIQ().keys();j.hasMoreElements();) {
Liquid_iva_interfBulk liquid = new Liquid_iva_interfBulk(new Integer(0),it.cnr.contab.utenze00.bp.CNRUserContext.getCd_cds(userContext),it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext),uo.getCd_unita_organizzativa(),liquid_iva.getDt_fine(),liquid_iva.getDt_inizio(),(String)j.nextElement());
liquid.setFl_gia_eleborata(new Boolean(false));
liquid.setIva_credito(new BigDecimal("0"));
liquid.setIva_debito(new BigDecimal("0"));
liquid.setNote(new String("Per liquidazione iva "+liquid_iva.getMese()));
liquid.setToBeCreated();
super.creaConBulk(userContext,liquid);
}
}
} catch (PersistencyException e) {
throw new ComponentException(e);
} catch (IntrospectionException e) {
throw new ComponentException(e);
}
}
public Query select(UserContext userContext,CompoundFindClause clauses,OggettoBulk bulk) throws ComponentException, it.cnr.jada.persistency.PersistencyException
{
SQLBuilder sql = (SQLBuilder)super.select(userContext,clauses,bulk);
sql.addOrderBy("DT_INIZIO, DT_FINE, CD_UNITA_ORGANIZZATIVA, TI_LIQUIDAZIONE");
//sql.addSQLClause("AND","ESERCIZIO",sql.LESS_EQUALS,CNRUserContext.getEsercizio(userContext));
return sql;
}
public Liquidazione_definitiva_ivaVBulk inizializzaMese(UserContext aUC,Liquidazione_definitiva_ivaVBulk bulk) throws ComponentException{
try {
if (bulk!=null) {
bulk.setRipartizione_finanziaria( new BulkList());
bulk.setLiquidazioniProvvisorie( new BulkList());
bulk.setVariazioni_associate( new BulkList());
bulk.setMandato_righe_associate( new BulkList());
if (bulk.getMese()!=null) {
Unita_organizzativaBulk uoScrivania = ((Unita_organizzativaBulk)getHome(aUC, Unita_organizzativaBulk.class).findByPrimaryKey(new Unita_organizzativaBulk(CNRUserContext.getCd_unita_organizzativa(aUC))));
boolean isUoEnte = uoScrivania.getCd_tipo_unita().compareTo(it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome.TIPO_UO_ENTE)==0;
if (isUoEnte) {
Liquidazione_ivaHome home= (Liquidazione_ivaHome) getHome(aUC, Liquidazione_ivaBulk.class);
if (bulk.getProspetti_stampati()!=null) {
for (Iterator iterator = bulk.getProspetti_stampati().iterator(); iterator.hasNext();) {
Liquidazione_ivaBulk liq = (Liquidazione_ivaBulk) iterator.next();
Calendar cal = new GregorianCalendar();
cal.setTime(liq.getDt_inizio());
if (bulk.getMesi_int().get(bulk.getMese()).equals(cal.get(Calendar.MONTH)+1)) {
bulk.setMandato_righe_associate( new BulkList( home.findMandatoRigheAssociateList(liq) ));
break;
}
}
}
} else {
Liquidazione_ivaHome home= (Liquidazione_ivaHome) getHome(aUC, Liquidazione_ivaBulk.class);
bulk.setRipartizione_finanziaria( new BulkList( home.findRipartizioneFinanziariaList( bulk ) ));
if (!bulk.isRegistroStampato(bulk.getMese())) {
bulk.setLiquidazioniProvvisorie( new BulkList( home.findLiquidazioniProvvisorieList( bulk ) ));
} else {
bulk.setVariazioni_associate( new BulkList( home.findVariazioniAssociateList( bulk ) ));
}
getHomeCache(aUC).fetchAll(aUC);
}
}
}
return bulk;
}
catch( Exception e )
{
throw handleException( e );
}
}
public Liquidazione_massa_ivaVBulk inizializzaMese(UserContext aUC,Liquidazione_massa_ivaVBulk bulk) throws ComponentException{
try {
if (bulk!=null) {
bulk.setLiquidazioniProvvisorie( new BulkList());
bulk.setLiquidazioniDefinitive( new BulkList());
if (bulk.getMese()!=null) {
Liquidazione_ivaHome home= (Liquidazione_ivaHome) getHome(aUC, Liquidazione_ivaBulk.class);
bulk.setLiquidazioniProvvisorie( new BulkList( home.findLiquidazioniMassiveProvvisorieList( bulk ) ));
bulk.setLiquidazioniDefinitive( new BulkList( home.findLiquidazioniMassiveDefinitiveList( bulk ) ));
getHomeCache(aUC).fetchAll(aUC);
}
}
return bulk;
}
catch( Exception e )
{
throw handleException( e );
}
}
public void saveRipartizioneFinanziaria(UserContext aUC,Liquidazione_definitiva_ivaVBulk bulk) throws ComponentException{
try {
if (bulk!=null && bulk.getRipartizione_finanziaria()!=null) {
Liquidazione_ivaHome home= (Liquidazione_ivaHome) getHome(aUC, Liquidazione_ivaBulk.class);
Liquidazione_iva_ripart_finHome homeRipart= (Liquidazione_iva_ripart_finHome) getHome(aUC, Liquidazione_iva_ripart_finBulk.class);
//cancello prima tutta la vecchia ripartizione
List listDB = home.findRipartizioneFinanziariaList( bulk );
for (Object object : listDB) {
((OggettoBulk)object).setToBeDeleted();
deleteBulk(aUC, (OggettoBulk)object);
}
//poi reinserisco
long pg_dettaglio = 1;
for (Object object : bulk.getRipartizione_finanziaria()) {
if(((Liquidazione_iva_ripart_finBulk)object).getEsercizio_variazione()==null)
throw new ApplicationException("Indicare l'esercizio della variazione");
else if(((Liquidazione_iva_ripart_finBulk)object).getIm_variazione()==null)
throw new ApplicationException("Indicare l'importo della variazione");
else{
((Liquidazione_iva_ripart_finBulk)object).setPg_dettaglio(pg_dettaglio++);
((OggettoBulk)object).setUser(CNRUserContext.getUser(aUC));
((OggettoBulk)object).setToBeCreated();
homeRipart.insert((Persistent)object, aUC);
}
}
}
}
catch( Exception e )
{
throw handleException( e );
}
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy