it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk 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.docs.bulk;
import it.cnr.contab.docamm00.bp.*;
import it.cnr.contab.docamm00.tabrif.bulk.*;
import it.cnr.contab.anagraf00.core.bulk.*;
import it.cnr.contab.anagraf00.tabrif.bulk.*;
import it.cnr.contab.bollo00.tabrif.bulk.Tipo_atto_bolloBulk;
import java.util.*;
import it.cnr.contab.doccont00.core.bulk.*;
import it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk;
import it.cnr.contab.inventario01.bulk.Buono_carico_scaricoBulk;
import it.cnr.contab.config00.esercizio.bulk.EsercizioBulk;
import it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk;
import it.cnr.jada.bulk.*;
import it.cnr.jada.comp.ApplicationException;
import it.cnr.jada.persistency.*;
import it.cnr.jada.persistency.beans.*;
import it.cnr.jada.persistency.sql.*;
import it.cnr.jada.util.OrderedHashtable;
import it.cnr.jada.util.action.*;
public class Documento_genericoBulk extends Documento_genericoBase implements IDocumentoAmministrativoSpesaBulk, Voidable, IDefferUpdateSaldi {
protected BulkList documento_generico_dettColl= new BulkList();
private java.util.Vector dettagliCancellati= new Vector();
private int num_dettColl= 0;
protected DivisaBulk valuta;
private java.util.Collection valute;
private java.sql.Timestamp fine_validita_valuta;
private java.sql.Timestamp inizio_validita_valuta;
private char changeOperation= MOLTIPLICA;
public static final char DIVISIONE= '/';
public static final char MOLTIPLICA= '*';
private java.util.Vector documentiContabiliCancellati= new Vector();
public final static String STATO_PAGATO= "P";
public final static String STATO_INIZIALE= "I";
public final static String STATO_PARZIALE= "Q";
public final static String STATO_ANNULLATO= "A";
public final static String STATO_CONTABILIZZATO= "C";
public final static String GENERICO_E= Numerazione_doc_ammBulk.TIPO_DOC_GENERICO_E;
public final static String GENERICO_S= Numerazione_doc_ammBulk.TIPO_DOC_GENERICO_S;
public final static String ISTITUZIONALE= "I";
public final static String COMMERCIALE= "C";
public final static Dictionary STATO;
public final static String ASSOCIATO_A_MANDATO= "T";
public final static String NON_ASSOCIATO_A_MANDATO= "N";
public final static String PARZIALMENTE_ASSOCIATO_A_MANDATO= "P";
public final static java.util.Dictionary STATO_MANDATO;
public final static String NO_FONDO_ECO = "N";
public final static String FONDO_ECO = "A";
public final static String REGISTRATO_IN_FONDO_ECO = "R";
private Tipo_documento_genericoBulk tipoDocumentoGenerico;
private ObbligazioniTable documento_generico_obbligazioniHash= null;
private AccertamentiTable documento_generico_accertamentiHash= null;
private java.math.BigDecimal importoTotalePerObbligazione= new java.math.BigDecimal(0);
private java.math.BigDecimal importoTotalePerAccertamento= new java.math.BigDecimal(0);
private boolean flagEnte;
private String uo_CNR;
private String cds_CNR;
private char ti_entrate_spese;
private boolean passivo_ente= false;
public final static char ENTRATE= 'E';
public final static char SPESE= 'S';
public final static Dictionary flagEnteKeys;
public final static Dictionary entrate_speseKeys;
protected TerzoBulk terzo_uo_cds;
protected TerzoBulk terzo_spesa;
private PrimaryKeyHashMap deferredSaldi= new PrimaryKeyHashMap();
public final static String NON_REGISTRATO_IN_COGE= "N";
public final static String REGISTRATO_IN_COGE= "C";
public final static String DA_RIREGISTRARE_IN_COGE= "R";
public final static String DA_NON_REGISTRARE_IN_COGE= "X";
public final static String NON_CONTABILIZZATO_IN_COAN = "N";
public final static String CONTABILIZZATO_IN_COAN = "C";
public final static String DA_RICONTABILIZZARE_IN_COAN = "R";
public final static Dictionary TIPO;
public final static Dictionary STATO_COGE;
public final static Dictionary STATO_FONDO_ECO;
public final static Dictionary STATO_COAN;
public final static Dictionary STATI_RIPORTO;
private java.util.Collection tipi_doc;
private java.util.Collection tipi_doc_for_search;
private Tipo_documento_ammBulk tipo_documento;
protected boolean defaultValuta = false;
private java.lang.String riportata = NON_RIPORTATO;
private java.lang.String riportataInScrivania = NON_RIPORTATO;
private Integer esercizioInScrivania;
private java.sql.Timestamp dataInizioObbligoRegistroUnico;
/*
* Le variabili isDetailDoubled e isDocumentoModificabile servono per gestire il caso in cui l'utente
* non potendo modificare il documento procede solo a sdoppiare la riga di dettaglio. In tal caso la
* procedura provvede a non rieffettuare la ricontabilizzazione in COAN e COGE.
*
*/
private boolean isDetailDoubled = false; //serve per sapere se è stata sdoppiata una riga di dettaglio
private boolean isDocumentoModificabile = true; //serve per sapere se il documento è modificabile o meno
private Lettera_pagam_esteroBulk lettera_pagamento_estero = null;
public final static Dictionary STATO_LIQUIDAZIONE;
public final static Dictionary CAUSALE;
static {
TIPO = new it.cnr.jada.util.OrderedHashtable();
TIPO.put(COMMERCIALE,"Commerciale");
TIPO.put(ISTITUZIONALE,"Istituzionale");
STATO= new it.cnr.jada.util.OrderedHashtable();
STATO.put(STATO_INIZIALE, "Iniziale");
STATO.put(STATO_CONTABILIZZATO, "Contabilizzato");
STATO.put(STATO_PARZIALE, "Parziale");
STATO.put(STATO_PAGATO, "Pagato");
STATO.put(STATO_ANNULLATO, "Annullato");
flagEnteKeys= new it.cnr.jada.util.OrderedHashtable();
flagEnteKeys.put(new Boolean(false), "N");
flagEnteKeys.put(new Boolean(true), "Y");
entrate_speseKeys= new it.cnr.jada.util.OrderedHashtable();
entrate_speseKeys.put(String.valueOf(ENTRATE), "ENTRATE");
entrate_speseKeys.put(String.valueOf(SPESE), "SPESE");
STATO_MANDATO= new it.cnr.jada.util.OrderedHashtable();
STATO_MANDATO.put(NON_ASSOCIATO_A_MANDATO, "Man/rev non associato");
STATO_MANDATO.put(PARZIALMENTE_ASSOCIATO_A_MANDATO, "Parzialmente associato a man/rev");
STATO_MANDATO.put(ASSOCIATO_A_MANDATO, "Man/rev associato");
STATO_COGE = new it.cnr.jada.util.OrderedHashtable();
STATO_COGE.put(NON_REGISTRATO_IN_COGE,"Non registrato");
STATO_COGE.put(REGISTRATO_IN_COGE,"Registrato");
STATO_COGE.put(DA_RIREGISTRARE_IN_COGE,"Da registrare nuovamente");
STATO_COGE.put(DA_NON_REGISTRARE_IN_COGE,"Da non registrare");
STATO_COAN = new it.cnr.jada.util.OrderedHashtable();
STATO_COAN.put(NON_CONTABILIZZATO_IN_COAN,"Non contabilizzato");
STATO_COAN.put(CONTABILIZZATO_IN_COAN,"Contabilizzato");
STATO_COAN.put(DA_RICONTABILIZZARE_IN_COAN,"Da contabilizzare nuovamente");
STATI_RIPORTO = new it.cnr.jada.util.OrderedHashtable();
STATI_RIPORTO.put(NON_RIPORTATO,"Non riportata");
STATI_RIPORTO.put(PARZIALMENTE_RIPORTATO,"Parzialmente riportata");
STATI_RIPORTO.put(COMPLETAMENTE_RIPORTATO,"Completamente riportata");
STATO_FONDO_ECO = new it.cnr.jada.util.OrderedHashtable();
STATO_FONDO_ECO.put(NO_FONDO_ECO,"Non usare fondo economale");
STATO_FONDO_ECO.put(FONDO_ECO,"Usa fondo economale");
STATO_FONDO_ECO.put(REGISTRATO_IN_FONDO_ECO,"Registrato in fondo economale");
STATO_LIQUIDAZIONE = new it.cnr.jada.util.OrderedHashtable();
STATO_LIQUIDAZIONE.put(LIQ, "Liquidabile");
STATO_LIQUIDAZIONE.put(NOLIQ, "Non Liquidabile");
STATO_LIQUIDAZIONE.put(SOSP, "Liquidazione sospesa");
CAUSALE= new it.cnr.jada.util.OrderedHashtable();
CAUSALE.put(ATTLIQ,"In attesa di liquidazione");
CAUSALE.put(CONT,"Contenzioso");
}
public final static java.util.Dictionary ti_bonifico_mezzoKeys = Lettera_pagam_esteroBulk.ti_bonifico_mezzoKeys,
ti_ammontare_debitoKeys = Lettera_pagam_esteroBulk.ti_ammontare_debitoKeys, ti_commissione_speseKeys = Lettera_pagam_esteroBulk.ti_commissione_speseKeys;
private java.sql.Timestamp dt_termine_creazione_docamm = null;
private CarichiInventarioTable carichiInventarioHash = null;
private AssociazioniInventarioTable associazioniInventarioHash = null;
private Boolean ha_beniColl;
public Documento_genericoBulk() {
super();
}
public Documento_genericoBulk(java.lang.String cd_cds,java.lang.String cd_tipo_documento_amm,java.lang.String cd_unita_organizzativa,java.lang.Integer esercizio,java.lang.Long pg_documento_generico) {
super(cd_cds,cd_tipo_documento_amm,cd_unita_organizzativa,esercizio,pg_documento_generico);
setTipo_documento(new it.cnr.contab.docamm00.docs.bulk.Tipo_documento_ammBulk(cd_tipo_documento_amm));
}
/**
* Insert the method's description here.
* Creation date: (5/15/2002 10:50:29 AM)
* @param docCont it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk
*/
public void addToDefferredSaldi(it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk docCont, java.util.Map values) {
if (docCont != null) {
if (deferredSaldi == null)
deferredSaldi= new PrimaryKeyHashMap();
if (!deferredSaldi.containsKey(docCont))
deferredSaldi.put(docCont, values);
else {
Map firstValues= (Map) deferredSaldi.get(docCont);
deferredSaldi.remove(docCont);
deferredSaldi.put(docCont, firstValues);
}
}
}
public void addToDettagliCancellati(IDocumentoAmministrativoRigaBulk dettaglio) {
if (dettaglio != null && ((OggettoBulk)dettaglio).getCrudStatus() == OggettoBulk.NORMAL) {
getDettagliCancellati().addElement(dettaglio);
addToDocumentiContabiliCancellati(dettaglio.getScadenzaDocumentoContabile());
}
}
public void addToDocumentiContabiliCancellati(it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk dettaglio) {
if (dettaglio != null && ((OggettoBulk)dettaglio).getCrudStatus() == OggettoBulk.NORMAL &&
!BulkCollections.containsByPrimaryKey(getDocumentiContabiliCancellati(), (OggettoBulk)dettaglio))
getDocumentiContabiliCancellati().addElement(dettaglio);
}
public void addToDocumento_generico_accertamentiHash(
it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioBulk accertamento,
Documento_generico_rigaBulk rigaDoc) {
if (documento_generico_accertamentiHash == null)
documento_generico_accertamentiHash = new AccertamentiTable();
Vector righeAssociate = (Vector)documento_generico_accertamentiHash.get(accertamento);
if (righeAssociate == null) {
righeAssociate = new Vector();
//documento_generico_accertamentiHash.put(accertamento, righeAssociate);
}
if (rigaDoc != null && !righeAssociate.contains(rigaDoc)) {
righeAssociate.add(rigaDoc);
//Sono costretto alla rimozione della scadenza per evitare disallineamenti sul pg_ver_rec.
//e quindi errori del tipo RisorsaNonPiuValida in fase di salvataggio
if (documento_generico_accertamentiHash.containsKey(accertamento))
documento_generico_accertamentiHash.remove(accertamento);
//documento_generico_accertamentiHash.put(accertamento, righeAssociate);
}
documento_generico_accertamentiHash.put(accertamento, righeAssociate);
if (getDocumentiContabiliCancellati() != null &&
it.cnr.jada.bulk.BulkCollections.containsByPrimaryKey(getDocumentiContabiliCancellati(), accertamento))
removeFromDocumentiContabiliCancellati(accertamento);
}
public int addToDocumento_generico_dettColl( Documento_generico_rigaBulk nuovoRigo )
{
nuovoRigo.setTi_associato_manrev(nuovoRigo.NON_ASSOCIATO_A_MANDATO);
nuovoRigo.setTerzo(new TerzoBulk());
if (getTi_entrate_spese()==ENTRATE){
nuovoRigo.setTerzo_uo_cds(getTerzo_uo_cds());
}
nuovoRigo.setDocumento_generico(this);
try {
java.sql.Timestamp ts = it.cnr.jada.util.ejb.EJBCommonServices.getServerTimestamp();
nuovoRigo.setDt_da_competenza_coge((getDt_da_competenza_coge() == null)?ts : getDt_da_competenza_coge());
nuovoRigo.setDt_a_competenza_coge((getDt_a_competenza_coge() == null)?ts : getDt_a_competenza_coge());
} catch (javax.ejb.EJBException e) {
throw new it.cnr.jada.DetailedRuntimeException(e);
}
nuovoRigo.setStato_cofi(STATO_INIZIALE);
long max = 0;
for (Iterator i = documento_generico_dettColl.iterator(); i.hasNext();) {
long prog = ((Documento_generico_rigaBulk)i.next()).getProgressivo_riga().longValue();
if (prog > max) max = prog;
}
nuovoRigo.setProgressivo_riga(new Long(max+1));
documento_generico_dettColl.add(nuovoRigo);
return documento_generico_dettColl.size()-1;
}
public void addToDocumento_generico_obbligazioniHash(
it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk obbligazione,
Documento_generico_rigaBulk rigaDoc) {
if (documento_generico_obbligazioniHash == null)
documento_generico_obbligazioniHash = new ObbligazioniTable();
Vector righeAssociate = (Vector)documento_generico_obbligazioniHash.get(obbligazione);
if (righeAssociate == null) {
righeAssociate = new Vector();
//documento_generico_obbligazioniHash.put(obbligazione, righeAssociate);
}
if (rigaDoc != null && !righeAssociate.contains(rigaDoc)) {
righeAssociate.add(rigaDoc);
//Sono costretto alla rimozione della scadenza per evitare disallineamenti sul pg_ver_rec.
//e quindi errori del tipo RisorsaNonPiuValida in fase di salvataggio
if (documento_generico_obbligazioniHash.containsKey(obbligazione))
documento_generico_obbligazioniHash.remove(obbligazione);
//documento_generico_obbligazioniHash.put(obbligazione, righeAssociate);
}
documento_generico_obbligazioniHash.put(obbligazione, righeAssociate);
if (getDocumentiContabiliCancellati() != null &&
it.cnr.jada.bulk.BulkCollections.containsByPrimaryKey(getDocumentiContabiliCancellati(), obbligazione))
removeFromDocumentiContabiliCancellati(obbligazione);
}
/**
* Insert the method's description here.
* Creation date: (10/4/2001 2:42:26 PM)
* @return boolean
*/
public boolean controllaCompatibilitaPer1210() {
//controlla compatibilità dei clienti/fornitori x accertamenti/obbligazioni
if (getDocumento_generico_dettColl() == null ||
getDocumento_generico_dettColl().isEmpty() )
return false;
TerzoBulk terzo = null;
Rif_modalita_pagamentoBulk modalita = null;
int count = 0;
for (java.util.Iterator i = getDocumento_generico_dettColl().iterator(); i.hasNext(); count++) {
Documento_generico_rigaBulk riga = (Documento_generico_rigaBulk) i.next();
if (count == 0) {
terzo = riga.getTerzo();
modalita = riga.getModalita_pagamento();
} else if (modalita == null || terzo == null ||
riga.getTerzo() == null || riga.getModalita_pagamento() == null ||
!terzo.equalsByPrimaryKey(riga.getTerzo()) ||
!modalita.getTi_pagamento().equals(riga.getModalita_pagamento().getTi_pagamento()))
return false;
}
return true;
}
public AccertamentiTable getAccertamentiHash() {
return getDocumento_generico_accertamentiHash();
}
public BulkCollection[] getBulkLists() {
// Metti solo le liste di oggetti che devono essere resi persistenti
return new it.cnr.jada.bulk.BulkCollection[] {
documento_generico_dettColl
};
}
public java.lang.String getCd_divisa() {
it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk valuta = this.getValuta();
if (valuta == null)
return null;
return valuta.getCd_divisa();
}
/**
* Insert the method's description here.
* Creation date: (5/28/2002 1:14:55 PM)
* @return java.lang.Integer
*/
public java.lang.String getCd_tipo_doc_amm() {
return getCd_tipo_documento_amm();
}
public java.lang.String getCd_tipo_documento_amm() {
it.cnr.contab.docamm00.docs.bulk.Tipo_documento_ammBulk tipo_documento = this.getTipo_documento();
if (tipo_documento == null)
return null;
return tipo_documento.getCd_tipo_documento_amm();
}
/**
* Insert the method's description here.
* Creation date: (5/28/2002 1:14:55 PM)
* @return java.lang.Integer
*/
public java.lang.String getCd_uo() {
return getCd_unita_organizzativa();
}
/**
* Insert the method's description here.
* Creation date: (22/02/2002 16.09.10)
* @return java.lang.String
*/
public java.lang.String getCds_CNR() {
return cds_CNR;
}
/**
* Insert the method's description here.
* Creation date: (15/10/2001 13.24.17)
* @return char
*/
public char getChangeOperation() {
return changeOperation;
}
/**
* Insert the method's description here.
* Creation date: (2/13/2002 9:59:40 AM)
* @return it.cnr.contab.docamm00.docs.bulk.ObbligazioniTable
*/
public java.lang.Class getChildClass() {
return null;
}
public List getChildren() {
return getDocumento_generico_dettColl();
}
public static Calendar getDateCalendar(java.sql.Timestamp date) {
if (date == null)
try {
date = it.cnr.jada.util.ejb.EJBCommonServices.getServerTimestamp();
} catch (javax.ejb.EJBException e) {
throw new it.cnr.jada.DetailedRuntimeException(e);
}
java.util.Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(new Date(date.getTime()));
calendar.set(java.util.Calendar.HOUR, 0);
calendar.set(java.util.Calendar.MINUTE, 0);
calendar.set(java.util.Calendar.SECOND, 0);
calendar.set(java.util.Calendar.MILLISECOND, 0);
calendar.set(java.util.Calendar.AM_PM, java.util.Calendar.AM);
return calendar;
}
/**
* Insert the method's description here.
* Creation date: (5/15/2002 10:50:29 AM)
* @param docCont it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk
*/
public it.cnr.jada.bulk.PrimaryKeyHashMap getDefferredSaldi() {
return deferredSaldi;
}
/**
* Insert the method's description here.
* Creation date: (5/15/2002 10:50:29 AM)
* @param docCont it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk
*/
public IDocumentoContabileBulk getDefferredSaldoFor(IDocumentoContabileBulk docCont) {
if (docCont != null && deferredSaldi != null)
for (Iterator i= deferredSaldi.keySet().iterator(); i.hasNext();) {
IDocumentoContabileBulk key= (IDocumentoContabileBulk) i.next();
if (((OggettoBulk) docCont).equalsByPrimaryKey((OggettoBulk) key))
return key;
}
return null;
}
/**
* Insert the method's description here.
* Creation date: (5/28/2002 1:14:55 PM)
* @return java.lang.String
*/
public java.lang.String getDescrizione_spesa() {
return getDs_documento_generico();
}
/**
* Insert the method's description here.
* Creation date: (18/02/2002 16.41.41)
* @return java.util.Vector
*/
public java.util.Vector getDettagliCancellati() {
return dettagliCancellati;
}
/**
* Insert the method's description here.
* Creation date: (2/15/2002 2:28:51 PM)
* @return java.util.Vector
*/
public java.util.Vector getDettagliNonContabilizzati() {
Vector dettagliNonContabilizzati = new Vector();
if (getDocumento_generico_dettColl() != null) {
for (Iterator i = getDocumento_generico_dettColl().iterator(); i.hasNext();) {
Documento_generico_rigaBulk dettaglio = (Documento_generico_rigaBulk)i.next();
if (dettaglio.STATO_INIZIALE.equals(dettaglio.getStato_cofi()))
dettagliNonContabilizzati.add(dettaglio);
}
}
return dettagliNonContabilizzati;
}
/**
* Insert the method's description here.
* Creation date: (2/15/2002 2:28:51 PM)
* @return java.util.Vector
*/
public java.util.Vector getDettagliPagati() {
Vector dettagliPagati = new Vector();
if (getDocumento_generico_dettColl() != null) {
for (Iterator i = getDocumento_generico_dettColl().iterator(); i.hasNext();) {
Documento_generico_rigaBulk dettaglio = (Documento_generico_rigaBulk)i.next();
if (dettaglio.STATO_PAGATO.equals(dettaglio.getStato_cofi()))
dettagliPagati.add(dettaglio);
}
}
return dettagliPagati;
}
/**
* Insert the method's description here.
* Creation date: (18/02/2002 16.39.28)
* @return java.util.Vector
*/
public java.util.Vector getDocumentiContabiliCancellati() {
return documentiContabiliCancellati;
}
/**
* Insert the method's description here.
* Creation date: (03/12/2001 14.10.38)
* @return it.cnr.contab.docamm00.docs.bulk.ObbligazioniTable
*/
public AccertamentiTable getDocumento_generico_accertamentiHash() {
return documento_generico_accertamentiHash;
}
/**
* Insert the method's description here.
* Creation date: (21/09/2001 10.54.15)
* @return it.cnr.jada.bulk.BulkList
*/
public it.cnr.jada.bulk.BulkList getDocumento_generico_dettColl() {
return documento_generico_dettColl;
}
/**
* Insert the method's description here.
* Creation date: (03/12/2001 14.10.38)
* @return it.cnr.contab.docamm00.docs.bulk.ObbligazioniTable
*/
public ObbligazioniTable getDocumento_generico_obbligazioniHash() {
return documento_generico_obbligazioniHash;
}
/**
* getDocumentoAmministrativoClassForDelete method comment.
*/
public java.lang.Class getDocumentoAmministrativoClassForDelete() {
return null;
}
/**
* getDocumentoContabileClassForDelete method comment.
*/
public java.lang.Class getDocumentoContabileClassForDelete() {
return null;
}
/**
* Insert the method's description here.
* Creation date: (11/07/2003 11.04.01)
* @return java.sql.Timestamp
*/
public java.sql.Timestamp getDt_termine_creazione_docamm() {
return dt_termine_creazione_docamm;
}
public java.lang.Integer getEsercizio_lettera() {
it.cnr.contab.docamm00.docs.bulk.Lettera_pagam_esteroBulk lettera_pagamento_estero = this.getLettera_pagamento_estero();
if (lettera_pagamento_estero == null)
return null;
return lettera_pagamento_estero.getEsercizio();
}
/**
* Creation date: (08/11/2004 13.34.04)
* @param newEsercizioInScrivania java.lang.Integer
*/
public void setEsercizioInScrivania(java.lang.Integer newEsercizioInScrivania) {
esercizioInScrivania = newEsercizioInScrivania;
}
/**
* Insert the method's description here.
* Insert the method's description here.
* Creation date: (08/11/2004 13.34.04)
* @return java.lang.Integer
*/
public java.lang.Integer getEsercizioInScrivania() {
return esercizioInScrivania;
}
/**
* Insert the method's description here.
* Creation date: (15/10/2001 11.47.47)
* @return java.sql.Timestamp
*/
public java.sql.Timestamp getFine_validita_valuta() {
return fine_validita_valuta;
}
/**
* Insert the method's description here.
* Creation date: (5/28/2002 1:14:55 PM)
* @return java.math.BigDecimal
*/
public java.math.BigDecimal getImporto_netto_spesa() {
return getImporto_spesa();
}
/**
* Insert the method's description here.
* Creation date: (5/28/2002 1:14:55 PM)
* @return java.math.BigDecimal
*/
public java.math.BigDecimal getImporto_spesa() {
return getIm_totale();
}
public java.math.BigDecimal getImportoSignForDelete(java.math.BigDecimal importo) {
if (importo == null) return null;
return importo.negate();
}
/**
* Insert the method's description here.
* Creation date: (03/12/2001 16.04.00)
* @return java.math.BigDecimal
*/
public java.math.BigDecimal getImportoTotalePerAccertamento() {
return importoTotalePerAccertamento;
}
/**
* Insert the method's description here.
* Creation date: (03/12/2001 16.04.00)
* @return java.math.BigDecimal
*/
public java.math.BigDecimal getImportoTotalePerObbligazione() {
return importoTotalePerObbligazione;
}
/**
* Insert the method's description here.
* Creation date: (15/10/2001 11.47.47)
* @return java.sql.Timestamp
*/
public java.sql.Timestamp getInizio_validita_valuta() {
return inizio_validita_valuta;
}
/**
* Insert the method's description here.
* Creation date: (09/07/2002 16.29.09)
* @author: CNRADM
* @return it.cnr.contab.docamm00.docs.bulk.Lettera_pagam_esteroBulk
*/
public Lettera_pagam_esteroBulk getLettera_pagamento_estero() {
return lettera_pagamento_estero;
}
public String getManagerName() {
if (Documento_genericoBulk.GENERICO_E.equalsIgnoreCase(getCd_tipo_documento_amm()) ||
Numerazione_doc_ammBulk.TIPO_TRASF_E.equalsIgnoreCase(getCd_tipo_documento_amm()) ||
Numerazione_doc_ammBulk.TIPO_REGOLA_E.equalsIgnoreCase(getCd_tipo_documento_amm()) ||
Numerazione_doc_ammBulk.TIPO_GEN_IVA_E.equalsIgnoreCase(getCd_tipo_documento_amm()) ||
"GEN_CORA_E".equalsIgnoreCase(getCd_tipo_documento_amm()) ||
"GEN_CORV_E".equalsIgnoreCase(getCd_tipo_documento_amm()) ||
"GEN_RC_DAT".equalsIgnoreCase(getCd_tipo_documento_amm()))
return "CRUDGenericoAttivoBP";
return "CRUDGenericoPassivoBP";
}
/**
* Insert the method's description here.
* Creation date: (3/22/2002 2:36:40 PM)
* @return it.cnr.contab.docamm00.docs.bulk.ObbligazioniTable
*/
public java.lang.String getManagerOptions() {
return "VTh";
}
/**
* Insert the method's description here.
* Creation date: (03/10/2001 14.27.01)
* @return int
*/
public int getNum_dettColl() {
return num_dettColl;
}
public ObbligazioniTable getObbligazioniHash() {
return getDocumento_generico_obbligazioniHash();
}
/**
* Insert the method's description here.
* Creation date: (5/28/2002 1:14:55 PM)
* @return java.lang.Integer
*/
public java.lang.Long getPg_doc_amm() {
return getPg_documento_generico();
}
public java.lang.Long getPg_lettera() {
it.cnr.contab.docamm00.docs.bulk.Lettera_pagam_esteroBulk lettera_pagamento_estero = this.getLettera_pagamento_estero();
if (lettera_pagamento_estero == null)
return null;
return lettera_pagamento_estero.getPg_lettera();
}
/**
* Insert the method's description here.
* Creation date: (30/05/2003 15.55.11)
* @return java.lang.String
*/
public java.lang.String getRiportata() {
return riportata;
}
/**
* Insert the method's description here.
* Creation date: (02/11/2004 14.12.35)
* @return java.lang.String
*/
public java.lang.String getRiportataInScrivania() {
return riportataInScrivania;
}
/*
* Getter dell'attributo riportata
*/
public Dictionary getRiportataKeys() {
return STATI_RIPORTO;
}
public Dictionary getStato_cofiKeys() {
return STATO;
}
/**
* Restituisce il Dictionary per la gestione dei tipi di documento.
*
* @return java.util.Dictionary
*/
public Dictionary getStato_cofiKeysForSearch() {
it.cnr.jada.util.OrderedHashtable d = (it.cnr.jada.util.OrderedHashtable)getStato_cofiKeys();
if (d == null) return null;
it.cnr.jada.util.OrderedHashtable clone = (it.cnr.jada.util.OrderedHashtable)d.clone();
clone.remove(STATO_INIZIALE);
return clone;
}
/**
* Restituisce il Dictionary per la gestione dei tipi di documento.
*
* @return java.util.Dictionary
*/
public Dictionary getStato_pagamento_fondo_ecoKeys() {
if (getStato_pagamento_fondo_eco() != null &&
REGISTRATO_IN_FONDO_ECO.equalsIgnoreCase(getStato_pagamento_fondo_eco())) {
return STATO_FONDO_ECO;
}
OrderedHashtable oh = (OrderedHashtable)((OrderedHashtable)STATO_FONDO_ECO).clone();
oh.remove(REGISTRATO_IN_FONDO_ECO);
return oh;
}
/**
* Restituisce il Dictionary per la gestione dei tipi di documento.
*
* @return java.util.Dictionary
*/
public Dictionary getStato_pagamento_fondo_ecoKeysForSearch() {
//OrderedHashtable d = (OrderedHashtable)getStato_pagamento_fondo_ecoKeys();
//if (d == null) return null;
//OrderedHashtable clone = (OrderedHashtable)d.clone();
//clone.remove(REGISTRATO_IN_FONDO_ECO);
//return clone;
return STATO_FONDO_ECO;
}
/**
* Insert the method's description here.
* Creation date: (29/05/2002 10.45.09)
* @author: Alfonso Ardire
* @return it.cnr.contab.anagraf00.core.bulk.TerzoBulk
*/
public it.cnr.contab.anagraf00.core.bulk.TerzoBulk getTerzo_spesa() {
return terzo_spesa;
}
/**
* Insert the method's description here.
* Creation date: (07/03/2002 12.26.47)
* @return it.cnr.contab.anagraf00.core.bulk.TerzoBulk
*/
public it.cnr.contab.anagraf00.core.bulk.TerzoBulk getTerzo_uo_cds() {
return terzo_uo_cds;
}
/*
* Getter dell'attributo ti_associato_manrev
*/
public Dictionary getTi_associato_manrevKeys() {
return STATO_MANDATO;
}
/*
* Getter dell'attributo ti_associato_manrev
*/
public Dictionary getTi_associato_manrevKeysForSearch() {
return getTi_associato_manrevKeys();
}
/**
* Insert the method's description here.
* Creation date: (11/02/2002 17.26.16)
* @return char
*/
public char getTi_entrate_spese() {
return ti_entrate_spese;
}
/**
* Restituisce il Dictionary per la gestione dei tipi di fattura.
*
* @return java.util.Dictionary
*/
public Dictionary getTi_istituz_commercKeys() {
return TIPO;
}
/**
* Insert the method's description here.
* Creation date: (29/05/2002 11.35.49)
* @author: Alfonso Ardire
* @return java.util.Collection
*/
public java.util.Collection getTipi_doc() {
return tipi_doc;
}
/**
* Insert the method's description here.
* Creation date: (04/06/2002 10.26.49)
* @author: Alfonso Ardire
* @return java.util.Collection
*/
public java.util.Collection getTipi_doc_for_search() {
return tipi_doc_for_search;
}
/**
* Insert the method's description here.
* Creation date: (29/05/2002 15.34.43)
* @author: Alfonso Ardire
* @return it.cnr.contab.docamm00.docs.bulk.Tipo_documento_ammBulk
*/
public Tipo_documento_ammBulk getTipo_documento() {
return tipo_documento;
}
/**
* Insert the method's description here.
* Creation date: (6/7/2002 3:17:11 PM)
* @return it.cnr.contab.doccont00.core.bulk.SospesoBulk
*/
public java.util.Dictionary getTipo_sospesoKeys() {
java.util.Dictionary tipi = new java.util.Hashtable();
tipi.put(it.cnr.contab.doccont00.core.bulk.SospesoBulk.TIPO_ENTRATA, "Entrata");
tipi.put(it.cnr.contab.doccont00.core.bulk.SospesoBulk.TIPO_SPESA, "Spesa");
return tipi;
}
/**
* Insert the method's description here.
* Creation date: (22/02/2002 16.09.10)
* @return java.lang.String
*/
public java.lang.String getUo_CNR() {
return uo_CNR;
}
/**
* Insert the method's description here.
* Creation date: (15/10/2001 11.47.47)
* @return it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk
*/
public it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk getValuta() {
return valuta;
}
/**
* Insert the method's description here.
* Creation date: (15/10/2001 11.47.47)
* @return java.util.Collection
*/
public java.util.Collection getValute() {
return valute;
}
/**
* Indica se la competenza COGE è stata indicata nell'anno precedente. Regola valida SOLO nel caso di
* ESERCIZIO == ESERCIZIO_INIZIO
*/
public boolean hasCompetenzaCOGEInAnnoPrecedente() {
return getDateCalendar(getDt_a_competenza_coge()).get(Calendar.YEAR) == getEsercizio().intValue()-1;
}
public boolean hasDettagliNonContabilizzati() {
return !getDettagliNonContabilizzati().isEmpty();
}
/**
* Insert the method's description here.
* Creation date: (13/05/2002 11.33.25)
* @return boolean
*/
public boolean hasDettagliPagati() {
return !getDettagliPagati().isEmpty();
}
public OggettoBulk initialize(CRUDBP bp,it.cnr.jada.action.ActionContext context) {
it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk unita_organizzativa = null;
unita_organizzativa = it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context);
setCd_cds(unita_organizzativa.getUnita_padre().getCd_unita_organizzativa());
setCd_cds_origine(getCd_cds());
setCd_uo_origine(it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context).getCd_unita_organizzativa());
return super.initialize(bp,context);
}
public OggettoBulk initializeForFreeSearch(CRUDBP bp,it.cnr.jada.action.ActionContext context) {
//initializeForInsert NON è errore --> la chiamata è voluta
super.initializeForInsert(bp,context);
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setCd_unita_organizzativa(it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context).getCd_unita_organizzativa());
setCd_cds(null); // ho aggiunto CD_CDS nelle findFieldProperties -> imposto a NULL per escluderlo dai filtri di ricerca
if (bp instanceof CRUDDocumentoGenericoPassivoBP && ((CRUDDocumentoGenericoPassivoBP)bp).isSpesaBP()){
setStato_cofi(this.STATO_CONTABILIZZATO);
setCd_tipo_documento_amm(this.GENERICO_S);
setStato_pagamento_fondo_eco(FONDO_ECO);
it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk uo = it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context);
setCd_cds(uo.getCd_unita_padre());
setCd_cds_origine(uo.getCd_unita_padre());
if (it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome.TIPO_UO_SAC.equalsIgnoreCase(uo.getCd_tipo_unita())){
setCd_unita_organizzativa(null);
setCd_uo_origine(null);
}else{
setCd_unita_organizzativa(uo.getCd_unita_organizzativa());
setCd_uo_origine(uo.getCd_unita_organizzativa());
}
}
return this;
}
public OggettoBulk initializeForInsert(CRUDBP bp,it.cnr.jada.action.ActionContext context) {
if (getStato_cofi()==null)
setStato_cofi(STATO_INIZIALE);
setTi_associato_manrev(this.NON_ASSOCIATO_A_MANDATO);
setStato_coan("N");
setStato_pagamento_fondo_eco("N");
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
if (bp instanceof CRUDDocumentoGenericoPassivoBP ){
if(this.getCd_tipo_documento_amm()!=null && this.getCd_tipo_documento_amm().compareTo(GENERICO_S)==0){
setStato_liquidazione(SOSP);
setCausale(ATTLIQ);
}else{
setStato_liquidazione(null);
setCausale(null);
}
}
return super.initializeForInsert(bp,context);
}
public OggettoBulk initializeForSearch(CRUDBP bp,it.cnr.jada.action.ActionContext context) {
//initializeForInsert NON è errore --> la chiamata è voluta
super.initializeForInsert(bp,context);
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setCd_cds(null); // ho aggiunto CD_CDS nelle findFieldProperties -> imposto a NULL per escluderlo dai filtri di ricerca
if (bp instanceof CRUDDocumentoGenericoPassivoBP && ((CRUDDocumentoGenericoPassivoBP)bp).isSpesaBP()){
setStato_cofi(this.STATO_CONTABILIZZATO);
setTipo_documento(new Tipo_documento_ammBulk());
setCd_tipo_documento_amm(this.GENERICO_S);
setStato_pagamento_fondo_eco(FONDO_ECO);
setStato_liquidazione(LIQ);
it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk uo = it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context);
setCd_cds(uo.getCd_unita_padre());
setCd_cds_origine(uo.getCd_unita_padre());
if (it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome.TIPO_UO_SAC.equalsIgnoreCase(uo.getCd_tipo_unita())){
setCd_unita_organizzativa(null);
setCd_uo_origine(null);
}else{
setCd_unita_organizzativa(uo.getCd_unita_organizzativa());
setCd_uo_origine(uo.getCd_unita_organizzativa());
}
}
return this;
}
public boolean isAbledToDeleteLettera() {
return isGenericoAttivo() ||
getLettera_pagamento_estero() == null ||
isPagata() ||
isPagataParzialmente()||
isROStatoTrasmissioneLettera();
}
public boolean isAbledToDisassociaLettera() {
return isGenericoAttivo() ||
getLettera_pagamento_estero() == null ||
isPagata() ||
isPagataParzialmente()||
!isROStatoTrasmissioneLettera();
}
/**
* Insert the method's description here.
* Creation date: (10/4/2001 2:42:26 PM)
* @return boolean
*/
public boolean isAbledToInsertLettera() {
return (getLettera_pagamento_estero() != null) ||
isPagata() ||
isPagataParzialmente() || //richiesta 02449A
isByFondoEconomale() ||
!controllaCompatibilitaPer1210();
}
/**
* Insert the method's description here.
* Creation date: (10/4/2001 2:42:26 PM)
* @return boolean
*/
public boolean isAbledToModifyTipoFattura() {
return false;
}
/**
* Insert the method's description here.
* Creation date: (13/05/2002 10.43.32)
* @return boolean
*/
public boolean isAnnullato() {
return STATO_ANNULLATO.equalsIgnoreCase(getStato_cofi());
}
/**
* Insert the method's description here.
* Creation date: (10/4/2001 2:42:26 PM)
* @return boolean
*/
public boolean isByFondoEconomale() {
return !NO_FONDO_ECO.equalsIgnoreCase(getStato_pagamento_fondo_eco());
}
/**
* Insert the method's description here.
* Creation date: (12/06/2002 10.24.57)
* @author: Alfonso Ardire
* @return boolean
*/
public boolean isDefaultValuta() {
return defaultValuta;
}
/**
* isDeleting method comment.
*/
public boolean isDeleting() {
return false;
}
public boolean isDoc1210Associato() {
return !isGenericoAttivo() &&
getLettera_pagamento_estero() != null &&
getLettera_pagamento_estero().getIm_pagamento() != null &&
getLettera_pagamento_estero().getIm_pagamento().compareTo(new java.math.BigDecimal(0).setScale(2, java.math.BigDecimal.ROUND_HALF_UP)) != 0;
}
public boolean isEditable() {
try{
return !(isPagata() ||
isAnnullato() ||
(!((getEsercizio().intValue() == getEsercizioInScrivania().intValue())&& !isRiportata()) &&
!isDeleting()));
}catch(NullPointerException e){
return false;
}
}
/**
* Insert the method's description here.
* Creation date: (22/02/2002 12.50.26)
* @return boolean
*/
public boolean isFlagEnte() {
return flagEnte;
}
/**
* Insert the method's description here.
* Creation date: (20/03/2002 13.29.19)
* @return boolean
*/
public boolean isGenericoAttivo() {
return getTi_entrate_spese() == ENTRATE;
}
/**
* Insert the method's description here.
* Creation date: (2/15/2002 2:28:51 PM)
* @return java.util.Vector
*/
public boolean isPagata() {
return STATO_PAGATO.equalsIgnoreCase(getStato_cofi()) ||
REGISTRATO_IN_FONDO_ECO.equalsIgnoreCase(getStato_pagamento_fondo_eco());
}
/**
* Insert the method's description here.
* Creation date: (2/15/2002 2:28:51 PM)
* @return java.util.Vector
*/
public boolean isPagataParzialmente() {
return STATO_PARZIALE.equalsIgnoreCase(getStato_cofi());
}
/**
* Insert the method's description here.
* Creation date: (20/03/2002 13.29.19)
* @return boolean
*/
public boolean isPassivo_ente() {
return passivo_ente;
}
public boolean isRiportata() {
return !NON_RIPORTATO.equals(riportata);
}
public boolean isRiportataInScrivania() {
return !NON_RIPORTATO.equals(riportataInScrivania);
}
/**
* Insert the method's description here.
* Creation date: (20/03/2002 13.29.19)
* @return boolean
*/
public boolean isROCambio() {
return isDefaultValuta()
|| isGenericoAttivo() ;
}
/**
* Insert the method's description here.
* Creation date: (10/4/2001 2:42:26 PM)
* @return boolean
*/
public boolean isRODateCompetenzaCOGE() {
return getDocumento_generico_dettColl() != null &&
!getDocumento_generico_dettColl().isEmpty();
}
/**
* Insert the method's description here.
* Creation date: (22/02/2002 12.50.26)
* @return boolean
*/
public boolean isROFlagEnte() {
return //Questo controllo evita problemi del tipo "cambiamenti di chiave" quando il doc è già salvato
isToBeUpdated() ||
getCrudStatus() == OggettoBulk.NORMAL ||
//*****************************************************************************************
((this.isPassivo_ente() &&
(this.getUo_CNR()!=null && this.getUo_CNR().equals(getCd_uo_origine()))) ||
this.isGenericoAttivo() && this.getAccertamentiHash() != null && !this.getAccertamentiHash().isEmpty()) ||
(!this.isGenericoAttivo() && this.getObbligazioniHash() != null && !this.getObbligazioniHash().isEmpty()||
(!this.isGenericoAttivo() && this.getLettera_pagamento_estero()!=null));
}
/**
* Insert the method's description here.
* Creation date: (22/02/2002 12.50.26)
* @return boolean
*/
public boolean isROProgressivo() {
return true;
}
/**
* Insert the method's description here.
* Creation date: (6/11/2002 5:10:59 PM)
*/
public boolean isROSospeso() {
return getLettera_pagamento_estero() == null ||
getLettera_pagamento_estero().getSospeso() == null ||
getLettera_pagamento_estero().getSospeso().getCrudStatus() == OggettoBulk.NORMAL;
}
/**
* Insert the method's description here.
* Creation date: (6/11/2002 5:10:59 PM)
*/
public boolean isROSospesoSearchTool() {
return false;
}
/**
* Insert the method's description here.
* Creation date: (10/4/2001 2:42:26 PM)
* @return boolean
*/
public boolean isROStato_pagamento_fondo_eco() {
return isPagata() ||
isPagataParzialmente() ||
getLettera_pagamento_estero() != null ||
(tipo_documento!=null &&
tipo_documento.getFl_solo_partita_giro()!=null &&
tipo_documento.getFl_solo_partita_giro().booleanValue()) ||
(getCd_unita_organizzativa()!=null && !getCd_uo_origine().equals(getCd_unita_organizzativa()));
}
public boolean isROStatoTrasmissioneLettera() {
if (lettera_pagamento_estero == null)
return true;
if (!lettera_pagamento_estero.getStato_trasmissione().equalsIgnoreCase(MandatoBulk.STATO_TRASMISSIONE_NON_INSERITO))
return true;
return false;
}
/**
* Insert the method's description here.
* Creation date: (20/03/2002 13.29.19)
* @return boolean
*/
public boolean isROValuta() {
return isGenericoAttivo() || (tipo_documento!=null && tipo_documento.getFl_solo_partita_giro()!=null && tipo_documento.getFl_solo_partita_giro().booleanValue());
}
/**
* Insert the method's description here.
* Creation date: (13/05/2002 10.43.32)
*/
public boolean isVoidable() {
return ((STATO_CONTABILIZZATO.equals(getStato_cofi()) &&
ASSOCIATO_A_MANDATO.equals(getTi_associato_manrev())) ||
(STATO_CONTABILIZZATO.equals(getStato_cofi()) &&
PARZIALMENTE_ASSOCIATO_A_MANDATO.equals(getTi_associato_manrev())) ||
!NON_REGISTRATO_IN_COGE.equalsIgnoreCase(getStato_coge()) ||
!NON_CONTABILIZZATO_IN_COAN.equalsIgnoreCase(getStato_coan()) ||
// Gennaro Borriello - (02/11/2004 16.48.21)
// Fix sul controllo dello "Stato Riportato": controlla che il documento sia stato riportato
// DA UN ES. PRECEDENTE a quello di scrivania.
(isRiportataInScrivania() && !isRiportata()) ) &&
!"GEN_RC_DAT".equalsIgnoreCase(getCd_tipo_documento_amm());
}
/**
* Insert the method's description here.
* Creation date: (5/15/2002 10:50:29 AM)
* @param docCont it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk
*/
public void removeFromDefferredSaldi(it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk docCont) {
if (docCont != null && deferredSaldi != null &&
deferredSaldi.containsKey(docCont))
deferredSaldi.remove(docCont);
}
public int removeFromDettagliCancellati(IDocumentoAmministrativoRigaBulk dettaglio) {
if (BulkCollections.containsByPrimaryKey(getDettagliCancellati(), (OggettoBulk)dettaglio))
getDettagliCancellati().remove(BulkCollections.indexOfByPrimaryKey(getDettagliCancellati(), (OggettoBulk)dettaglio));
return dettagliCancellati.size()-1;
}
public int removeFromDocumentiContabiliCancellati(it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk dettaglio) {
if (BulkCollections.containsByPrimaryKey(getDocumentiContabiliCancellati(), (OggettoBulk)dettaglio))
getDocumentiContabiliCancellati().remove(BulkCollections.indexOfByPrimaryKey(getDocumentiContabiliCancellati(), (OggettoBulk)dettaglio));
return documentiContabiliCancellati.size()-1;
}
public void removeFromDocumento_generico_accertamentiHash(
Documento_generico_rigaBulk riga) {
Vector righeAssociate = (Vector)documento_generico_accertamentiHash.get(riga.getAccertamento_scadenziario());
//if (righeAssociate != null) {
//righeAssociate.remove(riga);
//if (righeAssociate.isEmpty())
//documento_generico_accertamentiHash.remove(riga.getAccertamento_scadenziario());
//}
if (righeAssociate != null) {
righeAssociate.remove(riga);
if (righeAssociate.isEmpty()) {
documento_generico_accertamentiHash.remove(riga.getAccertamento_scadenziario());
riga.getAccertamento_scadenziario().setIm_associato_doc_amm(new java.math.BigDecimal(0).setScale(2, java.math.BigDecimal.ROUND_HALF_UP));
addToDocumentiContabiliCancellati(riga.getAccertamento_scadenziario());
}
} else
addToDocumentiContabiliCancellati(riga.getAccertamento_scadenziario());
}
public Documento_generico_rigaBulk removeFromDocumento_generico_dettColl( int indiceDiLinea )
{
Documento_generico_rigaBulk element = (Documento_generico_rigaBulk)documento_generico_dettColl.get(indiceDiLinea);
addToDettagliCancellati(element);
if (element != null && getTi_entrate_spese()==ENTRATE && element.getAccertamento_scadenziario() != null)
removeFromDocumento_generico_accertamentiHash(element);
if (element != null && getTi_entrate_spese()==SPESE && element.getObbligazione_scadenziario() != null)
removeFromDocumento_generico_obbligazioniHash(element);
//int righe_pagate= 0;
//int righe_contabilizzate= 0;
//int righe_ass_man_rev= 0;
//int righe= 0;
//Documento_generico_rigaBulk riga= null;
//for (java.util.Iterator i= this.getDocumento_generico_dettColl().iterator(); i.hasNext();) {
//riga= (Documento_generico_rigaBulk) i.next();
//if (!riga.equals(element)) {
//if (Documento_generico_rigaBulk.STATO_PAGATO.equals(riga.getStato_cofi()))
//righe_pagate++;
//if (Documento_generico_rigaBulk.STATO_CONTABILIZZATO.equals(riga.getStato_cofi()))
//righe_contabilizzate++;
//if (Documento_generico_rigaBulk.ASSOCIATO_A_MANDATO.equals(riga.getTi_associato_manrev()));
//righe_ass_man_rev++;
//righe++;
//}
//}
//if (righe==0 || (righe_pagate == 0 && righe_contabilizzate == 0))
//this.setStato_cofi(this.STATO_INIZIALE);
//else if (righe_pagate == righe)
//this.setStato_cofi(this.STATO_PAGATO);
//else if (righe_contabilizzate == righe)
//this.setStato_cofi(this.STATO_CONTABILIZZATO);
//else if (righe_pagate != 0)
//this.setStato_cofi(this.STATO_PARZIALE);
//if (righe==0 || righe_ass_man_rev==0)
//this.setTi_associato_manrev(NON_ASSOCIATO_A_MANDATO);
//else if (righe_ass_man_rev!=0 && righe_ass_man_rev getEsercizio().intValue()+1)
throw new ValidationException("La data di fine competenza deve appartenere all'esercizio di scrivania o al successivo!");
} catch (ValidationException e) {
int annoPrecedente = getEsercizio().intValue()-1;
if ((annoCompetenzaA < annoPrecedente) ||
(annoCompetenzaDa < annoPrecedente))
throw e;
else if (annoCompetenzaDa == annoPrecedente) {
if (annoCompetenzaA > annoPrecedente)
throw new ValidationException("La data di \"competenza a\" deve appartenere all'esercizio dell'anno " + annoPrecedente + ".");
if (isGenericoAttivo() && getData_registrazione().after(getDt_termine_creazione_docamm())) {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
throw new ValidationException("Non è possibile inserire documenti con competenza nell'anno precedente con data di registrazione successiva al " + sdf.format(getDt_termine_creazione_docamm()) + "!");
}
} else
throw e;
}
}
private void validaDateCompetenzaNonEnte(
Calendar competenzaDa,
Calendar competenzaA)
throws ValidationException {
int annoCompetenzaDa = competenzaDa.get(Calendar.YEAR);
int annoCompetenzaA = competenzaA.get(Calendar.YEAR);
try {
if (annoCompetenzaDa != getEsercizio().intValue())
throw new ValidationException("La data di inizio competenza deve appartenere all'esercizio di scrivania!");
if (isGenericoAttivo()) {
if (annoCompetenzaA > getEsercizio().intValue())
throw new ValidationException("La data di fine competenza deve appartenere all'esercizio di scrivania!");
} else {
if (annoCompetenzaA > getEsercizio().intValue()+1)
throw new ValidationException("La data di fine competenza deve appartenere all'esercizio di scrivania o al successivo!");
}
} catch (ValidationException e) {
int annoPrecedente = getEsercizio().intValue()-1;
if (isGenericoAttivo())
throw e;
if ((annoCompetenzaA < annoPrecedente) ||
(annoCompetenzaDa < annoPrecedente))
throw e;
else if (annoCompetenzaDa == annoPrecedente) {
if (annoCompetenzaA > annoPrecedente)
throw new ValidationException("La data di \"competenza a\" deve appartenere all'esercizio dell'anno " + annoPrecedente + ".");
if (isGenericoAttivo() && getData_registrazione().after(getDt_termine_creazione_docamm())) {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
throw new ValidationException("Non è possibile inserire documenti con competenza nell'anno precedente con data di registrazione successiva al " + sdf.format(getDt_termine_creazione_docamm()) + "!");
}
} else
throw e;
}
}
public void validate() throws ValidationException {
if (getTipo_documento()==null)
throw new ValidationException("Selezionare un tipo di documento");
if(getTipo_documento().getCd_tipo_documento_amm().compareTo(GENERICO_S)==0)
if (dataInizioObbligoRegistroUnico!=null && getData_registrazione().after(dataInizioObbligoRegistroUnico))
{
if(getStato_liquidazione()==null)
throw new ValidationException("Inserire lo stato della liquidazione!");
if(getStato_liquidazione()!=null && getStato_liquidazione().compareTo(this.LIQ)!=0 && getCausale()==null)
throw new ValidationException("Inserire la causale.");
}
if (getLettera_pagamento_estero() != null)
getLettera_pagamento_estero().validate();
if (getStato_cofi()==null)
setStato_cofi(STATO_INIZIALE);
if (getStato_coge()==null)
setStato_coge(NON_REGISTRATO_IN_COGE);
if (getTi_entrate_spese() == Documento_genericoBulk.SPESE)
{
for (Iterator i = documento_generico_dettColl.iterator(); i.hasNext();) {
Documento_generico_rigaBulk riga = ((Documento_generico_rigaBulk)i.next());
if (riga.getObbligazione_scadenziario() != null &&
riga.getObbligazione_scadenziario().getObbligazione() != null &&
riga.getObbligazione_scadenziario().getObbligazione().getFl_netto_sospeso())
setStato_coge(DA_NON_REGISTRARE_IN_COGE);
}
}
if (getTi_istituz_commerc()==null)
setTi_istituz_commerc(ISTITUZIONALE);
if (getIm_totale()==null)
setIm_totale(new java.math.BigDecimal(0));
if (getData_registrazione()!=null && getDt_scadenza()!=null && getData_registrazione().after(getDt_scadenza()))
throw new ValidationException("La data di registrazione deve essere precedente a quella di scadenza!");
if (getDs_documento_generico()==null)
throw new ValidationException("Inserire una descrizione del documento.");
//if (getFl_modifica_coge()==null)
//setFl_modifica_coge(Boolean.FALSE);
java.util.Calendar limInf = null;
java.util.Calendar limSup = null;
java.util.Calendar today = getDateCalendar(null);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
java.util.Calendar dataRegistrazione = getDateCalendar(getData_registrazione());
try {
int compare = getEsercizio().compareTo(new Integer(dataRegistrazione.get(Calendar.YEAR)));
if (compare == 0) {
limSup = today;
limInf = getDateCalendar(new java.sql.Timestamp(sdf.parse("01/01/"+getEsercizio().intValue()).getTime()));
} else if (compare > 0) {
limSup = getDateCalendar(new java.sql.Timestamp(sdf.parse("31/12/"+getEsercizio().intValue()).getTime()));
limInf = getDateCalendar(new java.sql.Timestamp(sdf.parse("01/01/"+getEsercizio().intValue()).getTime()));
} else
throw new ValidationException("La data di registrazione deve appartenere all'esercizio " + getEsercizio().intValue() + "!");
if (!((dataRegistrazione.after(limInf) || (dataRegistrazione.equals(limInf))) &&
(dataRegistrazione.before(limSup) || (dataRegistrazione.equals(limSup)))))
throw new ValidationException("La data di registrazione deve essere compresa tra il " + sdf.format(limInf.getTime()) + " e il " + sdf.format(limSup.getTime()) + "!");
} catch (java.text.ParseException e) {
throw new ValidationException("Data registrazione NON valida!");
}
validaDateCompetenza();
super.validate();
}
public boolean isDetailDoubled() {
return isDetailDoubled;
}
public void setDetailDoubled(boolean isDetailDoubled) {
this.isDetailDoubled = isDetailDoubled;
}
public boolean isDocumentoModificabile() {
return isDocumentoModificabile;
}
public void setDocumentoModificabile(boolean isDocumentoModificabile) {
this.isDocumentoModificabile = isDocumentoModificabile;
}
public void addToAssociazioniInventarioHash(
Ass_inv_bene_fatturaBulk ass,
Documento_generico_rigaBulk riga) {
if (associazioniInventarioHash == null)
associazioniInventarioHash = new AssociazioniInventarioTable();
Vector righeAssociate = (Vector)associazioniInventarioHash.get(ass);
if (righeAssociate == null) {
righeAssociate = new Vector();
associazioniInventarioHash.put(ass, righeAssociate);
}
if (riga != null && !righeAssociate.contains(riga))
righeAssociate.add(riga);
}
public void addToCarichiInventarioHash(
Buono_carico_scaricoBulk buonoCS,
Documento_generico_rigaBulk riga) {
if (carichiInventarioHash == null)
carichiInventarioHash = new CarichiInventarioTable();
Vector righeAssociate = (Vector)carichiInventarioHash.get(buonoCS);
if (righeAssociate == null) {
righeAssociate = new Vector();
carichiInventarioHash.put(buonoCS, righeAssociate);
}
if (riga != null && !righeAssociate.contains(riga))
righeAssociate.add(riga);
}
public AssociazioniInventarioTable getAssociazioniInventarioHash() {
return associazioniInventarioHash;
}
public void setAssociazioniInventarioHash(
AssociazioniInventarioTable associazioniInventarioHash) {
this.associazioniInventarioHash = associazioniInventarioHash;
}
public CarichiInventarioTable getCarichiInventarioHash() {
return carichiInventarioHash;
}
public void setCarichiInventarioHash(
CarichiInventarioTable carichiInventarioHash) {
this.carichiInventarioHash = carichiInventarioHash;
}
public void removeFromAssociazioniInventarioHash(
Ass_inv_bene_fatturaBulk ass,
Documento_generico_rigaBulk riga) {
if (associazioniInventarioHash == null) return;
Vector righeAssociate = (Vector)associazioniInventarioHash.get(ass);
if (righeAssociate != null) {
if (riga != null && righeAssociate.contains(riga))
righeAssociate.remove(riga);
if (righeAssociate.isEmpty())
associazioniInventarioHash.remove(ass);
}
}
public void removeFromCarichiInventarioHash(
Buono_carico_scaricoBulk buonoCS,
Documento_generico_rigaBulk riga) {
if (carichiInventarioHash == null) return;
Vector righeAssociate = (Vector)carichiInventarioHash.get(buonoCS);
if (righeAssociate != null) {
if (riga != null && righeAssociate.contains(riga))
righeAssociate.remove(riga);
if (righeAssociate.isEmpty())
carichiInventarioHash.remove(buonoCS);
}
}
/**
* @return
*/
public Boolean getHa_beniColl() {
if (ha_beniColl!=null )
return ha_beniColl;
else
return Boolean.FALSE;
}
/**
* @param boolean1
*/
public void setHa_beniColl(Boolean boolean1) {
ha_beniColl = boolean1;
}
public Ass_inv_bene_fatturaBulk getAssociationWithInventarioFor(Documento_generico_rigaBulk riga) {
if (associazioniInventarioHash == null || riga == null) return null;
for (Enumeration e = associazioniInventarioHash.keys(); e.hasMoreElements();) {
Ass_inv_bene_fatturaBulk ass = (Ass_inv_bene_fatturaBulk)e.nextElement();
Vector righeAssociate = (Vector)associazioniInventarioHash.get(ass);
if (righeAssociate != null && !righeAssociate.isEmpty() &&
BulkCollections.containsByPrimaryKey(righeAssociate, riga))
return ass;
}
return null;
}
public Dictionary getStato_liquidazioneKeys() {
return STATO_LIQUIDAZIONE;
}
public Dictionary getCausaleKeys(){
return CAUSALE;
}
public java.sql.Timestamp getDataInizioObbligoRegistroUnico() {
return dataInizioObbligoRegistroUnico;
}
public void setDataInizioObbligoRegistroUnico(
java.sql.Timestamp dataInizioObbligoRegistroUnico) {
this.dataInizioObbligoRegistroUnico = dataInizioObbligoRegistroUnico;
}
public Tipo_documento_genericoBulk getTipoDocumentoGenerico() {
return tipoDocumentoGenerico;
}
public void setTipoDocumentoGenerico(Tipo_documento_genericoBulk tipoDocumentoGenerico) {
this.tipoDocumentoGenerico = tipoDocumentoGenerico;
}
@Override
public Integer getIdTipoDocumentoGenerico() {
return Optional.ofNullable(getTipoDocumentoGenerico())
.map(Tipo_documento_genericoBulk::getId)
.orElse(null);
}
@Override
public void setIdTipoDocumentoGenerico(Integer idTipoDocumentoGenerico) {
Optional.ofNullable(getTipoDocumentoGenerico()).ifPresent(el->el.setId(idTipoDocumentoGenerico));
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy