it.cnr.contab.missioni00.docs.bulk.AnticipoBulk 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.missioni00.docs.bulk;
import it.cnr.contab.docamm00.bp.IDocumentoAmministrativoSpesaBP;
import java.util.*;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import it.cnr.contab.anagraf00.tabrif.bulk.*;
import it.cnr.contab.anagraf00.core.bulk.BancaBulk;
import it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk;
import it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk;
import it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk;
import it.cnr.contab.docamm00.docs.bulk.IDocumentoAmministrativoSpesaBulk;
import it.cnr.contab.doccont00.core.bulk.*;
import it.cnr.jada.action.*;
import it.cnr.jada.bulk.*;
import it.cnr.jada.persistency.*;
import it.cnr.jada.persistency.beans.*;
import it.cnr.jada.persistency.sql.*;
import it.cnr.jada.util.*;
import it.cnr.jada.util.action.*;
@JsonInclude(value=Include.NON_NULL)
public class AnticipoBulk extends AnticipoBase implements IDefferUpdateSaldi, IDocumentoAmministrativoSpesaBulk
{
private DivisaBulk divisa = new DivisaBulk();
private RimborsoBulk rimborso;
private MissioneBulk missione;
private it.cnr.contab.config00.latt.bulk.WorkpackageBulk lattPerRimborso;
private int annoSolare;
private int esercizioScrivania;
/************* TERZO *********************************/
public final static String ANAG_ALTRO = "A";
public final static String ANAG_DIPENDENTE = "D";
public final static java.util.Dictionary ti_anagraficoKeys;
static
{
ti_anagraficoKeys = new OrderedHashtable();
ti_anagraficoKeys.put("D", "Dipendente");
ti_anagraficoKeys.put("A", "Altro");
}
private V_terzo_per_compensoBulk v_terzo ;
protected BancaBulk banca;
protected Rif_modalita_pagamentoBulk modalita_pagamento;
protected Rif_termini_pagamentoBulk termini_pagamento;
private java.util.Collection modalita;
private java.util.Collection termini;
// Obbligazione
private Vector documentiContabiliCancellati = null;
private Vector dettagliCancellati = null;
private Obbligazione_scadenzarioBulk scadenza_obbligazione = new Obbligazione_scadenzarioBulk();
private Obbligazione_scadenzarioBulk scadenza_obbligazioneClone = new Obbligazione_scadenzarioBulk();
private it.cnr.jada.bulk.PrimaryKeyHashMap deferredSaldi = new PrimaryKeyHashMap();
private java.lang.String riportata = NON_RIPORTATO;
private java.lang.String riportataInScrivania = NON_RIPORTATO;
// Fondo Economale
public final static java.util.Dictionary STATO_FONDO_ECO;
public final static java.lang.String STATO_ASSEGNATO_FONDO_ECO = "A";
public final static java.lang.String STATO_REGISTRATO_FONDO_ECO = "R";
public final static java.lang.String STATO_LIBERO_FONDO_ECO = "N";
// Stati Cofi
public final static java.util.Dictionary STATO_COFI;
public final static String STATO_INIZIALE_COFI = "I";
public final static String STATO_CONTABILIZZATO = "C";
public final static String STATO_PAGATO = "P";
public final static String STATO_ANNULLATO = "A";
// Stati Coge
public final static String STATO_ESCLUSO_COGE = "X";
public final static String STATO_INIZIALE_COGE = "N";
public final static String STATO_CONTABILIZZATO_COGE = "C";
public final static String STATO_RICONTABILIZZARE_COGE = "R";
// Stati Coan
public final static String STATO_INIZIALE_COAN = "N";
public final static String STATO_CONTABILIZZATO_COAN = "C";
public final static String STATO_RICONTABILIZZARE_COAN = "R";
// Stati Manrev
public final static java.util.Dictionary TI_ASSOCIATO_MANREV;
public final static String STATO_INIZIALE_MANREV = "N";
public final static java.lang.String ASSOCIATO_MANREV = "T";
// Stati documento riportato
public final static Dictionary STATI_RIPORTO;
static
{
STATO_FONDO_ECO = new it.cnr.jada.util.OrderedHashtable();
STATO_FONDO_ECO.put(STATO_LIBERO_FONDO_ECO,"Non usare fondo economale");
STATO_FONDO_ECO.put(STATO_ASSEGNATO_FONDO_ECO,"Usa fondo economale");
STATO_FONDO_ECO.put(STATO_REGISTRATO_FONDO_ECO,"Registrato in fondo economale");
TI_ASSOCIATO_MANREV = new it.cnr.jada.util.OrderedHashtable();
TI_ASSOCIATO_MANREV.put(ASSOCIATO_MANREV,"Man/rev associato");
TI_ASSOCIATO_MANREV.put(STATO_INIZIALE_MANREV,"Man/rev non associato");
STATO_COFI = new it.cnr.jada.util.OrderedHashtable();
STATO_COFI.put(STATO_INIZIALE_COFI,"Iniziale");
STATO_COFI.put(STATO_CONTABILIZZATO,"Contabilizzato");
STATO_COFI.put(STATO_PAGATO,"Pagato");
STATO_COFI.put(STATO_ANNULLATO,"Annullato");
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");
}
public AnticipoBulk() {
super();
}
public AnticipoBulk(java.lang.String cd_cds,java.lang.String cd_unita_organizzativa,java.lang.Integer esercizio,java.lang.Long pg_anticipo) {
super(cd_cds,cd_unita_organizzativa,esercizio,pg_anticipo);
}
/**
* Metodo richiesto dall' interfaccia IDefferUpdateSaldi.
* Il metodo aggiunge alla PrimaryKeyHashMap dei saldi il documento contabile (in chiave)
* e i relativi valori di business (in valore). Se la mappa non esiste viene creata
*/
public void addToDefferredSaldi(IDocumentoContabileBulk docCont, java.util.Map values)
{
if (docCont != null)
{
if (deferredSaldi == null)
deferredSaldi = new PrimaryKeyHashMap();
if (!deferredSaldi.containsKey(docCont))
deferredSaldi.put(docCont, values);
else
{
java.util.Map firstValues = (java.util.Map)deferredSaldi.get(docCont);
deferredSaldi.remove(docCont);
deferredSaldi.put(docCont, firstValues);
}
}
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk.
*/
public void addToDettagliCancellati(it.cnr.contab.docamm00.docs.bulk.IDocumentoAmministrativoRigaBulk dettaglio)
{
if (dettaglio != null && ((OggettoBulk)dettaglio).getCrudStatus() == OggettoBulk.NORMAL)
{
getDettagliCancellati().addElement(dettaglio);
addToDocumentiContabiliCancellati(dettaglio.getScadenzaDocumentoContabile());
}
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk.
* La collection 'documentiContabiliCancellati' contiene le scadenze elaborate dall'anticipo
* che devono essere cancellate/inserite/modificate a db
*/
public void addToDocumentiContabiliCancellati(it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk scadenza)
{
if(getDocumentiContabiliCancellati() == null)
setDocumentiContabiliCancellati(new Vector());
// documentiContabiliCancellati contiene le scadenze non piu' agganciate all'anticipo
// che pero' devo essere inserite op aggiornate in tabella
if( (scadenza != null) && (((OggettoBulk)scadenza).getCrudStatus() == OggettoBulk.NORMAL) &&
(!BulkCollections.containsByPrimaryKey(getDocumentiContabiliCancellati(), (OggettoBulk)scadenza)))
{
scadenza.setIm_associato_doc_amm(new java.math.BigDecimal(0));
getDocumentiContabiliCancellati().addElement(scadenza);
}
}
/**
* Quando l'utente seleziona una scadenza, l'applicazione deve sincronizzare le scadenze
* gia' elaborate dall'anticipo.
* Per quanto riguarda la scadenza precedentemente selezionata :
* - se creata da anticipo ma mai salvata dovra' comunque essere inserita in tabella
* con "im_associato_doc_amm" = 0
* - se precedentemente associata ad anticipo salvato devo aggiornarne "im_associato_doc_amm" = 0
* - se sganciata perche' cancellata non devo aggiornrne l'"im_associato_doc_amm"
*/
public void gestisciCambioSelezioneScadenza(Obbligazione_scadenzarioBulk newScadenza)
{
// Sincronizzo le scadenze che ho tra le cancellate perche' l'utente
// potrebbe averle modificate
sincronizzaScadenzeCancellate(newScadenza);
// L'anticipo non aveva associato alcuna scadenza
if((getPg_obbligazione_scadenzario() == null) || (getPg_obbligazione() == null) || (getEsercizio_ori_obbligazione() == null))
return;
// La scadenza associata all'anticipo e' sempre la stessa
if(newScadenza.equalsByPrimaryKey(getScadenza_obbligazione()))
return;
// Se scopro, che la scadenza da sostituire appartiene alla stessa obbligazione
// della nuova scadenza, devo sincronizzarla perchè l'utente prima di riportare
// quella nuova potrebbe avermi modificato quella da sostituire (cioe' quella attulamente
// associata).
if(newScadenza.getObbligazione().equalsByPrimaryKey(getScadenza_obbligazione().getObbligazione()))
{
boolean trovata=false;
BulkList coll = newScadenza.getObbligazione().getObbligazione_scadenzarioColl();
if(coll != null && !coll.isEmpty()) // Se coll e' vuota significa che non arrivo da obbligazione
{ // ma dal filtro di ricerca delle obbligazioni
for ( Iterator i = coll.iterator(); i.hasNext(); )
{
Obbligazione_scadenzarioBulk aScadenza = (Obbligazione_scadenzarioBulk)i.next();
if(aScadenza.equalsByPrimaryKey(getScadenza_obbligazione()))
{
setScadenza_obbligazione(aScadenza);
trovata = true;
}
}
if(!trovata)
return; // significa che la scadenza che sto sostituendo
// e' stata cancellata
}
}
addToDocumentiContabiliCancellati(getScadenza_obbligazione());
if(getDocumentiContabiliCancellati() == null || getDocumentiContabiliCancellati().isEmpty())
return;
// Se la scadenza appena associata all'anticipo l'avevo precedente sganciata dalla
// anticipo e quindi inserita nella collection dei Cancellati, devo rimuoverla da
// tale collection.
for ( Iterator i = ((Vector)getDocumentiContabiliCancellati().clone()).iterator(); i.hasNext(); )
{
Obbligazione_scadenzarioBulk aScadDaSganciare = (Obbligazione_scadenzarioBulk)i.next();
if(aScadDaSganciare.equalsByPrimaryKey(newScadenza))
{
getDocumentiContabiliCancellati().remove(aScadDaSganciare);
break;
}
}
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk.
*/
public it.cnr.contab.docamm00.docs.bulk.AccertamentiTable getAccertamentiHash()
{
return null;
}
/**
* Il metodo ritorna il valore dell'attributo 'annoSolare'
*/
public int getAnnoSolare() {
return annoSolare;
}
/**
* Il metodo ritorna il valore dell'attributo 'banca'
*/
public it.cnr.contab.anagraf00.core.bulk.BancaBulk getBanca() {
return banca;
}
/**
* Il metodo ritorna il valore dell'attributo 'cd_cds_obbligazione'
*/
public java.lang.String getCd_cds_obbligazione() {
it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk scadenza_obbligazione = this.getScadenza_obbligazione();
if (scadenza_obbligazione == null)
return null;
it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk obbligazione = scadenza_obbligazione.getObbligazione();
if (obbligazione == null)
return null;
it.cnr.contab.config00.sto.bulk.CdsBulk cds = obbligazione.getCds();
if (cds == null)
return null;
return cds.getCd_unita_organizzativa();
}
/**
* Il metodo ritorna il valore dell'attributo 'cd_centro_responsabilita'
*/
public java.lang.String getCd_centro_responsabilita() {
it.cnr.contab.config00.latt.bulk.WorkpackageBulk lattPerRimborso = this.getLattPerRimborso();
if (lattPerRimborso == null)
return null;
it.cnr.contab.config00.sto.bulk.CdrBulk centro_responsabilita = lattPerRimborso.getCentro_responsabilita();
if (centro_responsabilita == null)
return null;
return centro_responsabilita.getCd_centro_responsabilita();
}
/**
* Il metodo ritorna il valore dell'attributo 'cd_divisa'
*/
public java.lang.String getCd_divisa() {
it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk divisa = this.getDivisa();
if (divisa == null)
return null;
return divisa.getCd_divisa();
}
/**
* Il metodo ritorna il valore dell'attributo 'cd_linea_attività'
*/
public java.lang.String getCd_linea_attivita() {
it.cnr.contab.config00.latt.bulk.WorkpackageBulk lattPerRimborso = this.getLattPerRimborso();
if (lattPerRimborso == null)
return null;
return lattPerRimborso.getCd_linea_attivita();
}
/**
* Il metodo ritorna il valore dell'attributo 'cd_modalita_pag'
*/
public java.lang.String getCd_modalita_pag() {
it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk modalita_pagamento = this.getModalita_pagamento();
if (modalita_pagamento == null)
return null;
return modalita_pagamento.getCd_modalita_pag();
}
/**
* Il metodo ritorna il valore dell'attributo 'cd_termini_pag'
*/
public java.lang.String getCd_termini_pag() {
it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk termini_pagamento = this.getTermini_pagamento();
if (termini_pagamento == null)
return null;
return termini_pagamento.getCd_termini_pag();
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk.
* Ritorna il tipo di documento = ANTICIPO
*/
public java.lang.String getCd_tipo_doc_amm()
{
return it.cnr.contab.docamm00.docs.bulk.Numerazione_doc_ammBulk.TIPO_ANTICIPO;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk
* Ritorna il valore dell'attributo 'cd_unita_organizzativa'
*/
public java.lang.String getCd_uo()
{
return getCd_unita_organizzativa();
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public java.lang.Class getChildClass()
{
return null;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public java.util.List getChildren()
{
return null;
}
/**
* Metodo richiesto dall' interfaccia IDefferUpdateSaldi
*/
public it.cnr.jada.bulk.PrimaryKeyHashMap getDefferredSaldi()
{
return deferredSaldi;
}
/**
* Metodo richiesto dall' interfaccia IDefferUpdateSaldi
*/
public IDocumentoContabileBulk getDefferredSaldoFor(IDocumentoContabileBulk docCont)
{
if (docCont != null && deferredSaldi != null)
{
for (java.util.Iterator i = deferredSaldi.keySet().iterator(); i.hasNext();)
{
IDocumentoContabileBulk key = (IDocumentoContabileBulk)i.next();
if (((OggettoBulk)docCont).equalsByPrimaryKey((OggettoBulk)key))
return key;
}
}
return null;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk
* Il metodo ritorna la descrizione dell'anticipo
*/
public java.lang.String getDescrizione_spesa()
{
return getDs_anticipo();
}
/**
* Il metodo ritorna il valore dell'attributo 'dettagliCancellati'
*/
public java.util.Vector getDettagliCancellati() {
return dettagliCancellati;
}
/**
* Il metodo ritorna il valore dell'attributo 'divisa'
*/
public DivisaBulk getDivisa() {
return divisa;
}
/**
* Il metodo ritorna il valore dell'attributo 'documentiContabiliCancellati'
*/
public java.util.Vector getDocumentiContabiliCancellati() {
return documentiContabiliCancellati;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public java.lang.Class getDocumentoAmministrativoClassForDelete()
{
return AnticipoBulk.class;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public java.lang.Class getDocumentoContabileClassForDelete()
{
return it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk.class;
}
/**
* Il metodo ritorna l'esercizio dell'obbligazione
*/
public java.lang.Integer getEsercizio_obbligazione() {
it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk scadenza_obbligazione = this.getScadenza_obbligazione();
if (scadenza_obbligazione == null)
return null;
it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk obbligazione = scadenza_obbligazione.getObbligazione();
if (obbligazione == null)
return null;
return obbligazione.getEsercizio();
}
/**
* Il metodo ritorna l'esercizio di scrivania
*/
public int getEsercizioScrivania() {
return esercizioScrivania;
}
/**
* Dato un Timestamp, tale metodo ritorna la relativa istanza di GregorianCalendar
*/
public GregorianCalendar getGregorianCalendar(java.sql.Timestamp ts)
{
if(ts == null)
return null;
GregorianCalendar gc = (GregorianCalendar) GregorianCalendar.getInstance();
gc.setTime(ts);
return(gc);
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
* Il metodo ritorna l'importo dell'anticipo
*/
public java.math.BigDecimal getImporto_netto_spesa()
{
return getImporto_spesa();
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
* Il metodo ritorna l'importo dell'anticipo
*/
public java.math.BigDecimal getImporto_spesa()
{
return getIm_anticipo_divisa();
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
* Il metodo ritorna l'importo dell'anticipo
*/
public java.math.BigDecimal getImportoSignForDelete(java.math.BigDecimal importo)
{
return getIm_anticipo_divisa();
}
/**
* Il metodo ritorna la linea di attivita per il Rimborso
*/
public it.cnr.contab.config00.latt.bulk.WorkpackageBulk getLattPerRimborso() {
return lattPerRimborso;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public java.lang.String getManagerName()
{
return "CRUDAnticipoBP";
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public java.lang.String getManagerOptions()
{
// NON CANCELLARE QUESTO COMMENTO: E' DA ABILITARE AL POSTO DEL RESTO NEL CASO DI APERTURA
// IN MODIFICA
//return "MTh";
return "VTh";
}
/**
* Il metodo ritorna la missione alla quale e' associato l'anticipo
*/
public MissioneBulk getMissione() {
return missione;
}
/**
* Il metodo ritorna le modalità di pagamento dell'anticipo
*/
public java.util.Collection getModalita() {
return modalita;
}
/**
* Il metodo ritorna la modalità di pagamento selezionata per l'anticipo
*/
public it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk getModalita_pagamento() {
return modalita_pagamento;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public it.cnr.contab.docamm00.docs.bulk.ObbligazioniTable getObbligazioniHash()
{
it.cnr.contab.docamm00.docs.bulk.ObbligazioniTable table = new it.cnr.contab.docamm00.docs.bulk.ObbligazioniTable();
table.put(getScadenza_obbligazione(), new java.util.Vector());
return table;
}
/**
* Il metodo ritorna il progressivo della banca dell'anticipo
*/
public java.lang.Long getPg_banca() {
it.cnr.contab.anagraf00.core.bulk.BancaBulk banca = this.getBanca();
if (banca == null)
return null;
return banca.getPg_banca();
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk
* Ritorna il progressivo dell'anticipo
*/
public java.lang.Long getPg_doc_amm()
{
return getPg_anticipo();
}
/**
* Il metodo ritorna l'esercizio originale dell'obbligazione la cui scadenza e' associata all'anticipo
*/
public Integer getEsercizio_ori_obbligazione() {
it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk scadenza_obbligazione = this.getScadenza_obbligazione();
if (scadenza_obbligazione == null)
return null;
it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk obbligazione = scadenza_obbligazione.getObbligazione();
if (obbligazione == null)
return null;
return obbligazione.getEsercizio_originale();
}
/**
* Il metodo ritorna il progressivo dell'obbligazione la cui scadenza e' associata all'anticipo
*/
public java.lang.Long getPg_obbligazione() {
it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk scadenza_obbligazione = this.getScadenza_obbligazione();
if (scadenza_obbligazione == null)
return null;
it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk obbligazione = scadenza_obbligazione.getObbligazione();
if (obbligazione == null)
return null;
return obbligazione.getPg_obbligazione();
}
/**
* Il metodo ritorna il progressivo della scadenza e' associata all'anticipo
*/
public java.lang.Long getPg_obbligazione_scadenzario() {
it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk scadenza_obbligazione = this.getScadenza_obbligazione();
if (scadenza_obbligazione == null)
return null;
return scadenza_obbligazione.getPg_obbligazione_scadenzario();
}
/**
* Il metodo ritorna il Rimborso dell'anticipo
*/
public RimborsoBulk getRimborso() {
return rimborso;
}
/**
* Il metodo ritorna il valore dell'attributo 'riportata'
*/
public java.lang.String getRiportata() {
return riportata;
}
/**
* Insert the method's description here.
* Creation date: (02/11/2004 14.30.02)
* @return java.lang.String
*/
public java.lang.String getRiportataInScrivania() {
return riportataInScrivania;
}
/**
* il metodo ritorna la scadenza associata all'anticipo
*/
public it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk getScadenza_obbligazione() {
return scadenza_obbligazione;
}
/**
* il metodo ritorna una copia della scadenza associata all'anticipo
*/
public it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk getScadenza_obbligazioneClone() {
return scadenza_obbligazioneClone;
}
/**
* Il metodo restituisce il dictionary per la gestione degli stati Cofi dell'anticipo
*/
public java.util.Dictionary getStato_cofiKeys()
{
return STATO_COFI;
}
/**
* Il metodo restituisce il dictionary per la gestione degli stati Cofi dell'anticipo
*/
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_COFI);
return clone;
}
/**
* Il metodo restituisce il dictionary per la gestione degli stati della Registrazione nel Fondo
* Economale dell'anticipo
*/
public java.util.Dictionary getStato_pagamento_fondo_ecoKeys()
{
if (getStato_pagamento_fondo_eco() != null && STATO_REGISTRATO_FONDO_ECO.equalsIgnoreCase(getStato_pagamento_fondo_eco()))
{
return STATO_FONDO_ECO;
}
it.cnr.jada.util.OrderedHashtable oh = (it.cnr.jada.util.OrderedHashtable)((it.cnr.jada.util.OrderedHashtable)STATO_FONDO_ECO).clone();
oh.remove(STATO_REGISTRATO_FONDO_ECO);
return oh;
}
/**
* Il metodo restituisce il dictionary per la gestione degli stati della Registrazione nel Fondo
* Economale dell'anticipo
*/
public java.util.Dictionary getStato_pagamento_fondo_ecoKeysForSearch()
{
return STATO_FONDO_ECO;
}
/**
* Il metodo ritorna i termini di pagamento dell'anticipo
*/
public java.util.Collection getTermini() {
return termini;
}
/**
* Il metodo ritorna il termine di pagamento selezionato per l'anticipo
*/
public it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk getTermini_pagamento() {
return termini_pagamento;
}
/**
* Il metodo ritorna il terzo dell'anticipo, come istanza della tabella 'TerzoBulk'
*/
public it.cnr.contab.anagraf00.core.bulk.TerzoBulk getTerzo()
{
if (getV_terzo()==null)
return null;
return getV_terzo().getTerzo();
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk
* Il metodo ritorna il terzo dell'anticipo
*/
public it.cnr.contab.anagraf00.core.bulk.TerzoBulk getTerzo_spesa()
{
return getTerzo();
}
/**
* Il metodo ritorna il valore dell'attributo 'ti_anagraficoKeys'
*/
public final static java.util.Dictionary getTi_anagraficoKeys() {
return ti_anagraficoKeys;
}
/**
* Il metodo restituisce il dictionary per la gestione di ti_associato_manrev
*/
public java.util.Dictionary getTi_associato_manrevKeys()
{
return TI_ASSOCIATO_MANREV;
}
/**
* Il metodo ritorna il terzo dell'anticipo, come istanza della vista 'V_terzo_per_compensoBulk'
*/
public it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk getV_terzo() {
return v_terzo;
}
/**
* Il metodo ritorna TRUE se l'anticipo e' stato rimborsato
*/
public boolean hasRimborso()
{
return getRimborso() != null ;
}
/**
* Il metodo inzializza l'anticipo da modificare
*/
public OggettoBulk initializeForInsert(CRUDBP bp, 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_unita_organizzativa(unita_organizzativa.getCd_unita_organizzativa());
setCd_uo_origine(getCd_unita_organizzativa());
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setV_terzo(new V_terzo_per_compensoBulk());
setTi_anagrafico(ANAG_DIPENDENTE);
setStato_cofi(STATO_INIZIALE_COFI);
setStato_coge(STATO_INIZIALE_COGE);
setStato_coan(STATO_ESCLUSO_COGE);
setTi_associato_manrev(STATO_INIZIALE_MANREV);
setStato_pagamento_fondo_eco(STATO_LIBERO_FONDO_ECO);
setFl_associato_missione(new Boolean(false));
// La data di registrazione, la data competenza coge da/a
// sono inizializzate dalla Component
return this;
}
/**
* Il metodo inzializza l'anticipo da ricercare
*/
public OggettoBulk initializeForSearch(CRUDBP bp, 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_unita_organizzativa(unita_organizzativa.getCd_unita_organizzativa());
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setV_terzo(new V_terzo_per_compensoBulk());
setTi_anagrafico(null);
if (bp instanceof IDocumentoAmministrativoSpesaBP && ((IDocumentoAmministrativoSpesaBP)bp).isSpesaBP())
{
setStato_cofi(STATO_CONTABILIZZATO);
setStato_pagamento_fondo_eco(STATO_ASSEGNATO_FONDO_ECO);
if (it.cnr.contab.config00.sto.bulk.Tipo_unita_organizzativaHome.TIPO_UO_SAC.equalsIgnoreCase(unita_organizzativa.getCd_tipo_unita()))
setCd_unita_organizzativa(null);
}
return this;
}
/**
* Il metodo inzializza il terzo dell'anticipo con valori NULL
*/
public void inizializzaTerzo()
{
V_terzo_per_compensoBulk vTerzo = new V_terzo_per_compensoBulk();
vTerzo.setTi_dipendente_altro(getTi_anagrafico());
setV_terzo(vTerzo);
setCd_terzo(null);
setNome(null);
setCognome(null);
setRagione_sociale(null);
setCodice_fiscale(null);
setPartita_iva(null);
setTermini(null);
setTermini_pagamento(null);
setModalita(null);
setModalita_pagamento(null);
setBanca(null);
}
/**
* Il metodo stabilisce se i dati relativi alla banca sono abilitati.
* Abilitati :
* - se la modalità di pagamento e' stata selezionata
* - se l'anticipo non e' stato pagato
* - se l'esercizio di scrivania e quello del documento sono diversi da quello solare
* l' obbligazione non deve essere stata riportata (isROPerChiusura)
*/
public boolean isAbledToInsertBank()
{
return !(getV_terzo() != null &&
getV_terzo().getCrudStatus() == OggettoBulk.NORMAL &&
getModalita_pagamento() != null &&
!isPagata() &&
!isROPerChiusura());
}
/**
* Il metodo ritorna TRUE se l'anticipo e' stato cancellato logicamente
*/
public boolean isAnnullato()
{
return STATO_ANNULLATO.equalsIgnoreCase(getStato_cofi());
}
/**
* Il metodo ritorna TRUE se l'anticipo e' associato ad una missione
*/
public boolean isAnticipoConMissione()
{
return (getFl_associato_missione() != null && getFl_associato_missione().booleanValue());
}
/**
* Il metodo ritorna TRUE se l'anticipo non e' pagato via fondo economale
*/
public boolean isByFondoEconomale() {
return !STATO_LIBERO_FONDO_ECO.equalsIgnoreCase(getStato_pagamento_fondo_eco());
}
/**
* il metodo ritorna TRUE se l'anticipo e' stato cancellato logicamente
*/
public boolean isCancellatoLogicamente()
{
return getDt_cancellazione() != null;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
*/
public boolean isDeleting() {
return false;
}
/**
* Il metodo ritorna TRUE se l'anticipo non e' pagato, non e' associato a missione non e'
* stato rimborsato
*/
public boolean isEditable()
{
return (!isPagata() && !isAnticipoConMissione() && !hasRimborso() );
}
/**
* Il metodo riotrna TRUE se l'anticipo e' stato pagato
*/
public boolean isPagata()
{
return (STATO_PAGATO.equalsIgnoreCase(getStato_cofi())) ||
(STATO_REGISTRATO_FONDO_ECO.equalsIgnoreCase(getStato_pagamento_fondo_eco()));
}
/**
* Il metodo ritorna TRUE se l'anticipo e' stato riportato
*/
public boolean isRiportata()
{
return !NON_RIPORTATO.equals(riportata);
}
/**
* isRiportataInScrivania method comment.
*/
public boolean isRiportataInScrivania() {
return !NON_RIPORTATO.equals(riportataInScrivania);
}
/**
* Il metodo stabilisce se il campo cd_centro_responsabilita e' abilitato.
* Disabilitato :
* - se l'anticipo è rimborsato
* - se l'esercizio di scrivania e' diverso da quello solare e l' obbligazione e' stata riportata
* (isROPerChiusura)
*/
public boolean isROCd_centro_responsabilita()
{
return isROCd_linea_attivita();
}
/**
* Il metodo stabilisce se il campo del codice della linea di attivita' e' abilitato.
* Disabilitato :
* - se l'anticipo è rimborsato
* - se l'esercizio di scrivania e quello del documento sono diversi da quello solare
* e l' obbligazione e' stata riportata (isROPerChiusura)
*/
public boolean isROCd_linea_attivita()
{
return isROFind_latt() ||
(getLattPerRimborso() == null ||
(getLattPerRimborso() != null && getLattPerRimborso().getCrudStatus() == OggettoBulk.NORMAL));
}
public boolean isRODivisa()
{
return divisa == null || divisa.getCrudStatus() == NORMAL;
}
/**
* Il metodo stabilisce se il search tool della linea di attivita e' abilitato o meno
* Disabilitato :
* - se l'anticipo e' stato rimborsato
* - se l'esercizio dell'anticipo e quello di scrivania sono diverse da quello solare
* e l'obbligazione e' riportata
*/
public boolean isROFind_latt()
{
if(hasRimborso() || !isPagata())
return true;
if(getEsercizio()==null)
return true;
if(getEsercizio().intValue() == getEsercizioScrivania())
return isRiportata();
//Gennaro Borriello/Luisa Farinella - (03/11/2004 19.04.48)
// Fix sul controllo dello "Stato Riportato"
else if(getEsercizio().intValue() != getEsercizioScrivania())
return !isRiportataInScrivania();
return false;
}
/**
* Il metodo stabilisce se il search tool del terzo e' abilitato o meno.
* Disabilitato :
* - se l'esercizio di scrivania e quello del documento sono diversi da quello solare
* e l' obbligazione e' stata riportata (isROPerChiusura)
* - se l'anticipo e' pagato o associato a missione o rimborsato (isEditable)
*/
public boolean isROFindTerzo()
{
return (!isEditable() || isROPerChiusura());
}
/**
* Il metodo definisce le regole base per l'abilitazione dei campi in caso di obbligazione riportata
* Se carico un anticipo con esercizio precedente a quello solare :
* - esercizio scrivania != anno solare e obbligazione riportata --> nessuna modifica al documento
* - esercizio scrivania != anno solare e obbligazione non riportata --> qualsiasi modifica consentita
* - esercizio scrivania = anno solare e obbligazione riportata --> nessuna modifica tranne CoFi e Annulla
* - esercizio scrivania = anno solare e obbligazione non riportata --> nessuna modifica al documento
*/
public boolean isROPerChiusura()
{
if(getEsercizio()==null)
return false;
// Gennaro Borriello/Farinella Luisa - (05/11/2004 12.23.28)
// Modif. relativa alla nuova gestione di isRiportata()
// MB - (06/11/2004 12.23.28)
if (getEsercizio().intValue() == getEsercizioScrivania()) {
return isRiportata();
} else
return true;
}
/**
* Il metodo stabilisce se il campo 'select' relativo al Fondo Economale e' abilitato o meno.
* Disabilitato :
* - se l'esercizio di scrivania e quello del documento sono diversi da quello solare
* e l' obbligazione e' stata riportata (isROPerChiusura)
* - se l'anticipo e' pagato o associato a missione o rimborsato (isEditable)
*/
public boolean isROStato_pagamento_fondo_eco()
{
return !isEditable() || isROPerChiusura();
}
/**
* Il metodo stabilisce se il terzo e' abilitato o meno.
* Disabilitato :
* - se l'esercizio di scrivania e quello del documento sono diversi da quello solare
* e l' obbligazione e' stata riportata (isROPerChiusura)
* - se l'anticipo e' pagato o associato a missione o rimborsato (isEditable)
*/
public boolean isROTerzo()
{
return !isEditable() || isROPerChiusura() || v_terzo == null || v_terzo.getCrudStatus() == NORMAL;
}
/**
* Il metodo verifico se la scadenza appena associata era stata messa precedentemente tra quelle da
* da cancellare.
* Cio' puo' succedere quando scollego e ricollego una stessa scadenza o la scadenza che gia'
* avevo salvato con l'anticipo (clone) o una scadenza appena creata ma non ancora
* salvata con l'anticipo (numerazione negativa)
*/
public boolean isScadenzaDaRimuovereDaiCancellati()
{
if(getDocumentiContabiliCancellati()==null || getDocumentiContabiliCancellati().isEmpty())
return false;
if(getScadenza_obbligazioneClone()!=null && getScadenza_obbligazione().equalsByPrimaryKey(getScadenza_obbligazioneClone()))
return true;
Obbligazione_scadenzarioBulk scadenza=null;
for ( Iterator i = getDocumentiContabiliCancellati().iterator(); i.hasNext(); )
{
scadenza = (Obbligazione_scadenzarioBulk) i.next();
if(scadenza.equalsByPrimaryKey(getScadenza_obbligazione()))
return true;
}
return false;
}
/**
* Il metodo verifico se il terzo e' valido rispetto alla data di resistrazione dell'anticipo.
*/
public boolean isTerzoValido()
{
if((getV_terzo() == null) || (getV_terzo().getDt_fine_validita_terzo() == null))
return true;
if(getDt_registrazione() == null)
return false;
return((getV_terzo().getDt_fine_validita_terzo().compareTo(getDt_registrazione()) >= 0) );
}
/**
* Metodo richiesto dall' interfaccia IDefferUpdateSaldi
* Il metodo rimuove il documento contabile dalla mappa dei saldi in differita
*/
public void removeFromDefferredSaldi(it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk docCont)
{
if(docCont != null && deferredSaldi != null && deferredSaldi.containsKey(docCont))
deferredSaldi.remove(docCont);
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk
*/
public int removeFromDettagliCancellati(it.cnr.contab.docamm00.docs.bulk.IDocumentoAmministrativoRigaBulk dettaglio)
{
if (BulkCollections.containsByPrimaryKey(getDettagliCancellati(), (OggettoBulk)dettaglio))
getDettagliCancellati().remove(BulkCollections.indexOfByPrimaryKey(getDettagliCancellati(), (OggettoBulk)dettaglio));
return getDettagliCancellati().size()-1;
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoSpesaBulk
*/
public int removeFromDocumentiContabiliCancellati(it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk dettaglio)
{
if(getDocumentiContabiliCancellati() == null)
return -1;
if (BulkCollections.containsByPrimaryKey(getDocumentiContabiliCancellati(), (OggettoBulk)dettaglio))
getDocumentiContabiliCancellati().remove(BulkCollections.indexOfByPrimaryKey(getDocumentiContabiliCancellati(),(OggettoBulk)dettaglio));
return getDocumentiContabiliCancellati().size()-1;
}
/**
* Metodo richiesto dall' interfaccia IDefferUpdateSaldi
* Imposta la mappa dei saldi in differita al valore di default
*/
public void resetDefferredSaldi()
{
deferredSaldi = null;
}
/**
* il metodo imposta il valore della proprietà 'annoSolare'
*/
public void setAnnoSolare(int newAnnoSolare) {
annoSolare = newAnnoSolare;
}
/**
* Il metodo imposta il valore dell'attributo 'banca'
*/
public void setBanca(it.cnr.contab.anagraf00.core.bulk.BancaBulk newBanca) {
banca = newBanca;
}
/**
* Il metodo imposta il valore dell'attributo 'cd_cds_obbligazione'
*/
public void setCd_cds_obbligazione(java.lang.String cd_cds_obbligazione) {
this.getScadenza_obbligazione().getObbligazione().getCds().setCd_unita_organizzativa(cd_cds_obbligazione);
}
/**
* il metodo imposta il valore dell'attributo 'cd_centro_responsabilita' della linea di attività
*/
public void setCd_centro_responsabilita(java.lang.String cd_centro_responsabilita) {
this.getLattPerRimborso().getCentro_responsabilita().setCd_centro_responsabilita(cd_centro_responsabilita);
}
/**
* il metodo imposta il valore dell'attributo 'cd_divisa'
*/
public void setCd_divisa(java.lang.String cd_divisa) {
this.getDivisa().setCd_divisa(cd_divisa);
}
/**
* il metodo imposta il valore dell'attributo 'cd_linea_attività'
*/
public void setCd_linea_attivita(java.lang.String cd_linea_attivita) {
this.getLattPerRimborso().setCd_linea_attivita(cd_linea_attivita);
}
/**
* il metodo imposta il valore dell'attributo 'cd_modalita_pagamento'
*/
public void setCd_modalita_pag(java.lang.String cd_modalita_pag) {
this.getModalita_pagamento().setCd_modalita_pag(cd_modalita_pag);
}
/**
* il metodo imposta il valore dell'attributo 'cd_termini_pag'
*/
public void setCd_termini_pag(java.lang.String cd_termini_pag) {
this.getTermini_pagamento().setCd_termini_pag(cd_termini_pag);
}
/**
* Metodo richiesto dall'interfaccia IDocumentoAmministrativoSpesaBulk
*/
public void setCd_tipo_doc_amm(java.lang.String newCd_tipo_doc_amm) {}
/**
* Metodo richiesto dall'interfaccia IDocumentoAmministrativoSpesaBulk
* Imposta il valore dell'attributo 'cd_unita_organizzativa'
*/
public void setCd_uo(java.lang.String newCd_uo)
{
setCd_unita_organizzativa(newCd_uo);
}
/**
* Il metodo imposta il valore dell'attributo 'dettagliCancellati'
*/
public void setDettagliCancellati(java.util.Vector newDettagliCancellati) {
dettagliCancellati = newDettagliCancellati;
}
/**
* Il metodo imposta il valore dell'attributo 'divisa'
*/
public void setDivisa(DivisaBulk newDivisa)
{
divisa = newDivisa;
if((newDivisa == null) || (newDivisa.getCd_divisa() == null))
setCambio(null);
}
/**
* Il metodo imposta il valore dell'attributo 'documentiContabiliCancellati'
*/
public void setDocumentiContabiliCancellati(java.util.Vector newDocumentiContabiliCancellati) {
documentiContabiliCancellati = newDocumentiContabiliCancellati;
}
/**
* Il metodo imposta il valore dell'attributo 'esercizio_obbligazione'
*/
public void setEsercizio_obbligazione(java.lang.Integer esercizio_obbligazione) {
this.getScadenza_obbligazione().getObbligazione().setEsercizio(esercizio_obbligazione);
}
/**
* Il metodo imposta il valore dell'attributo 'esercizioScrivania'
*/
public void setEsercizioScrivania(int newEsercizioScrivania) {
esercizioScrivania = newEsercizioScrivania;
}
/**
* Il metodo imposta il valore dell'attributo 'isDeleting'
*/
public void setIsDeleting(boolean deletingStatus) {}
/**
* Il metodo imposta il valore dell'attributo 'lattPerRimborso'
*/
public void setLattPerRimborso(it.cnr.contab.config00.latt.bulk.WorkpackageBulk newLattPerRimborso) {
lattPerRimborso = newLattPerRimborso;
}
/**
* Il metodo imposta il valore dell'attributo 'missione'
*/
public void setMissione(MissioneBulk newMissione) {
missione = newMissione;
}
/**
* Il metodo imposta il valore dell'attributo 'modalita'
*/
public void setModalita(java.util.Collection newModalita) {
modalita = newModalita;
}
/**
* Il metodo imposta il valore dell'attributo 'modalita_pagamento'
*/
public void setModalita_pagamento(it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk newModalita_pagamento) {
modalita_pagamento = newModalita_pagamento;
}
/**
* Il metodo imposta il valore dell'attributo 'pg_banca'
*/
public void setPg_banca(java.lang.Long pg_banca) {
this.getBanca().setPg_banca(pg_banca);
}
/**
* Metodo richiesto dall' interfaccia IDocumentoAmministrativoBulk
* il metodo ritorna il progressivo dell'anticipo
*/
public void setPg_doc_amm(java.lang.Long newPg)
{
setPg_anticipo(newPg);
}
/**
* Il metodo imposta il valore dell'attributo 'esercizio_ori_obbligazione'
*/
public void setEsercizio_ori_obbligazione(Integer esercizio_ori_obbligazione) {
this.getScadenza_obbligazione().getObbligazione().setEsercizio_originale(esercizio_ori_obbligazione);
}
/**
* Il metodo imposta il valore dell'attributo 'pg_obbligazione'
*/
public void setPg_obbligazione(java.lang.Long pg_obbligazione) {
this.getScadenza_obbligazione().getObbligazione().setPg_obbligazione(pg_obbligazione);
}
/**
* Il metodo imposta il valore dell'attributo 'pg_obbligazione_scadenzario'
*/
public void setPg_obbligazione_scadenzario(java.lang.Long pg_obbligazione_scadenzario) {
this.getScadenza_obbligazione().setPg_obbligazione_scadenzario(pg_obbligazione_scadenzario);
}
/**
* Il metodo imposta il valore dell'attributo 'rimborso'
*/
public void setRimborso(RimborsoBulk newRimborso) {
rimborso = newRimborso;
}
/**
* Il metodo imposta il valore dell'attributo 'riportata'
*/
public void setRiportata(java.lang.String newRiportata) {
riportata = newRiportata;
}
/**
* Insert the method's description here.
* Creation date: (02/11/2004 14.30.02)
* @param newRiportataInScrivania java.lang.String
*/
public void setRiportataInScrivania(java.lang.String newRiportataInScrivania) {
riportataInScrivania = newRiportataInScrivania;
}
/**
* Il metodo imposta il valore dell'attributo 'scadenza_obbligazione'
*/
public void setScadenza_obbligazione(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk newScadenza_obbligazione) {
scadenza_obbligazione = newScadenza_obbligazione;
}
/**
* Il metodo imposta il valore dell'attributo 'scadenza_obbligazione_clone'
*/
public void setScadenza_obbligazioneClone(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk newScadenza_obbligazioneClone) {
scadenza_obbligazioneClone = newScadenza_obbligazioneClone;
}
/**
* Il metodo imposta il valore dell'attributo 'termini'
*/
public void setTermini(java.util.Collection newTermini) {
termini = newTermini;
}
/**
* Il metodo imposta il valore dell'attributo 'termini_pagamento'
*/
public void setTermini_pagamento(it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk newTermini_pagamento) {
termini_pagamento = newTermini_pagamento;
}
/**
* Il metodo imposta il valore dell'attributo 'v_terzo'
*/
public void setV_terzo(it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk newV_terzo) {
v_terzo = newV_terzo;
}
/**
* Il metodo sincronizza le scadenze elaborate dall'anticipo ad ogni rientro da ogni aggiornamento
* manuale della scadenza associata.
* Se la scadenza appena aggiornata appartiene alla stessa obbligazione di una delle scadenze elaborate,
* l'utente avrebbe potute modificare una di queste.
* Se non dovessi trovare una delle scadenze elaborate dall'anticipo e appartenente alla stessa obbligazione
* di quella appena aggiornata significa che l'utente l'ha eliminata fisicamente.
*/
public void sincronizzaScadenzeCancellate(Obbligazione_scadenzarioBulk newScadenza)
{
if(getDocumentiContabiliCancellati()==null || getDocumentiContabiliCancellati().isEmpty())
return;
if(!newScadenza.getObbligazione().equalsByPrimaryKey(getScadenza_obbligazione().getObbligazione()))
return;
boolean trovata=false;
BulkList coll = newScadenza.getObbligazione().getObbligazione_scadenzarioColl();
if(coll == null)
return;
for ( Iterator c = ((Vector)getDocumentiContabiliCancellati().clone()).iterator(); c.hasNext(); )
{
Obbligazione_scadenzarioBulk aScadCanc = (Obbligazione_scadenzarioBulk)c.next();
trovata = false;
for ( Iterator i = coll.iterator(); i.hasNext(); )
{
Obbligazione_scadenzarioBulk aScadenza = (Obbligazione_scadenzarioBulk)i.next();
if(aScadenza.equalsByPrimaryKey(aScadCanc))
{
getDocumentiContabiliCancellati().remove(aScadCanc);
getDocumentiContabiliCancellati().add(aScadenza);
trovata = true;
}
}
if(!trovata && aScadCanc.getObbligazione().equalsByPrimaryKey(newScadenza.getObbligazione()))
getDocumentiContabiliCancellati().remove(aScadCanc);
}
}
/**
* Il metodo valida la data di registrazione. Essa deve essere nell'esercizio corrente e non può essere futura
*/
public void validaDataRegistrazione(ActionContext context) throws it.cnr.jada.comp.ApplicationException, javax.ejb.EJBException
{
if(getDt_registrazione() == null)
return;
if(getDt_registrazione().after(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()))
throw new it.cnr.jada.comp.ApplicationException("La data di registrazione non puo' essere futura !");
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(getDt_registrazione());
int annoDataRegistrazione = calendar.get(java.util.Calendar.YEAR);
if (annoDataRegistrazione != getEsercizio().intValue())
throw new it.cnr.jada.comp.ApplicationException("La Data registrazione deve essere nell'esercizio in corso");
}
/**
* Il metodo valida i dati del Tab Anagrfico
*/
public void validaTabAnagrafico() throws ValidationException
{
if(getDt_registrazione() == null)
throw new ValidationException("Valorizzare la Data di Registrazione !");
if(getCd_terzo() == null || getV_terzo().getCd_terzo() == null)
throw new ValidationException("Selezionare un Terzo !");
if(getCd_modalita_pag() == null)
throw new it.cnr.jada.action.MessageToUser( "Selezionare la Modalita' di Pagamento" );
if(getPg_banca() == null)
throw new it.cnr.jada.action.MessageToUser( "Selezionare un'altra Modalita' di Pagamento" );
}
/**
* Il metodo valida l'anticipo che si sta creando/modificando
*/
public void validate() throws ValidationException
{
if((getCd_terzo() == null) || getV_terzo() == null || getV_terzo().getCd_terzo() == null)
throw new ValidationException("Selezionare il terzo !");
if((getIm_anticipo_divisa() == null) || (getIm_anticipo_divisa().compareTo(new java.math.BigDecimal(0))==0))
throw new ValidationException("Valorizzare l'importo dell'anticipo !");
setIm_anticipo(getIm_anticipo_divisa());
super.validate();
if(getCd_terzo() == null)
throw new ValidationException("Inserire un terzo !");
if(getDt_registrazione() == null)
throw new ValidationException("Valorizzare la data di registrazione!");
// La validazione della scadenza di obbligazione legata all'anticipo viene fatta nel modificaConBulk
// e nell creaConBulk
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy