it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk Maven / Gradle / Ivy
/*
* Copyright (C) 2019 Consiglio Nazionale delle Ricerche
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package it.cnr.contab.compensi00.docs.bulk;
import it.cnr.contab.anagraf00.core.bulk.TerzoBulk;
import java.util.*;
import it.cnr.contab.compensi00.tabrif.bulk.Tipo_prestazione_compensoBulk;
import it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk;
import it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk;
import it.cnr.contab.doccont00.core.bulk.IDefferUpdateSaldi;
import it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk;
import it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk;
import it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_annoBulk;
import it.cnr.jada.bulk.*;
import it.cnr.jada.persistency.*;
import it.cnr.jada.persistency.beans.*;
import it.cnr.jada.persistency.sql.*;
public class MinicarrieraBulk
extends MinicarrieraBase
implements IDefferUpdateSaldi {
public static final Dictionary STATI;
public static final Dictionary STATI_ASS_COMPENSO;
public final static Dictionary TIPI_COMPENSO;
public static Dictionary ANTICIPO_POSTICIPO;
public static final String STATO_ATTIVA = "A";
public static final String STATO_SOSPESA = "S";
public static final String STATO_RIPRISTINATA = "R";
public static final String STATO_RINNOVATA = "P";
public static final String STATO_CESSATA = "C";
public static final String STATO_NON_ASS_COMPENSO = "N";
public static final String STATO_PARZIALE_ASS_COMPENSO = "P";
public static final String STATO_TOTALE_ASS_COMPENSO = "T";
public static final String TIPO_NESSUNO = "N";
public static final String TIPO_ANTICIPO = "A";
public static final String TIPO_POSTICIPO = "P";
public final static String TIPO_COMPENSO_COMMERCIALE = "C";
public final static String TIPO_COMPENSO_ISTITUZIONALE = "I";
static {
STATI = new it.cnr.jada.util.OrderedHashtable();
STATI.put(STATO_ATTIVA, "Attiva");
STATI.put(STATO_SOSPESA, "Sospesa");
STATI.put(STATO_RIPRISTINATA, "Ripristinata");
STATI.put(STATO_RINNOVATA, "Rinnovata");
STATI.put(STATO_CESSATA, "Cessata");
STATI_ASS_COMPENSO = new it.cnr.jada.util.OrderedHashtable();
STATI_ASS_COMPENSO.put(STATO_NON_ASS_COMPENSO, "Non associata a compenso");
STATI_ASS_COMPENSO.put(STATO_PARZIALE_ASS_COMPENSO, "Parzialmente associata a compenso");
STATI_ASS_COMPENSO.put(STATO_TOTALE_ASS_COMPENSO, "Totalmente associata a compenso");
TIPI_COMPENSO = new it.cnr.jada.util.OrderedHashtable();
TIPI_COMPENSO.put(TIPO_COMPENSO_COMMERCIALE,"Commerciale");
TIPI_COMPENSO.put(TIPO_COMPENSO_ISTITUZIONALE,"Istituzionale");
}
private java.lang.Long pgMinicarrieraPerClone;
private it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk tipo_rapporto = null;
private it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk tipo_trattamento = null;
private it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk modalita_pagamento = null;
private it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk termini_pagamento = null;
private it.cnr.contab.anagraf00.core.bulk.BancaBulk banca = null;
private V_terzo_per_compensoBulk percipiente = null;
private BulkList minicarriera_rate = new BulkList();
private Collection dettagliCancellati = null;
private java.util.Collection modalita;
private java.util.Collection termini;
private java.util.Collection tipiRapporto;
private java.util.Collection tipiTrattamento;
private MinicarrieraBulk minicarriera_origine = null;
private PrimaryKeyHashMap deferredSaldi = new PrimaryKeyHashMap();
private boolean aliquotaCalcolata = false;
private Incarichi_repertorioBulk incarichi_repertorio;
private boolean visualizzaIncarico = true;
private Tipo_prestazione_compensoBulk tipoPrestazioneCompenso;
private java.util.Collection tipiPrestazioneCompenso;
private boolean visualizzaPrestazione = true;
public MinicarrieraBulk() {
super();
}
public MinicarrieraBulk(java.lang.String cd_cds,java.lang.String cd_unita_organizzativa,java.lang.Integer esercizio,java.lang.Long pg_minicarriera) {
super(cd_cds,cd_unita_organizzativa,esercizio,pg_minicarriera);
}
/**
* 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(
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);
}
}
}
/**
* Richiesto ma non usato
*/
public void addToDettagliCancellati(Minicarriera_rataBulk rata) {
}
/**
* Crea, inizializza e aggiunge una rata su richiesta utente (bottone nuovo)
*/
public int addToMinicarriera_rate(Minicarriera_rataBulk rata) {
rata.setMinicarriera(this);
long max = 0;
for (Iterator i = getMinicarriera_rate().iterator(); i.hasNext();) {
long prog = ((Minicarriera_rataBulk)i.next()).getPg_rata().longValue();
if (prog > max) max = prog;
}
rata.setPg_rata(new Long(max+1));
rata.initialize();
rata.setUser(getUser());
int realSize = getMinicarriera_rate().size()-1;
java.sql.Timestamp dataUltimaFine = ((Minicarriera_rataBulk)getMinicarriera_rate().get(realSize)).getDt_fine_rata();
java.sql.Timestamp dataInizio = !getMinicarriera_rate().isEmpty() ? incrementaData(dataUltimaFine) : getDataOdierna();
rata.setDt_inizio_rata(dataInizio);
rata.setDt_fine_rata(dataInizio);
rata.setDt_scadenza(dataInizio);
getMinicarriera_rate().add(rata);
removeFromDettagliCancellati(rata);
if (STATO_TOTALE_ASS_COMPENSO.equalsIgnoreCase(getStato_ass_compenso()))
setStato_ass_compenso(STATO_PARZIALE_ASS_COMPENSO);
return getMinicarriera_rate().size()-1;
}
/**
* Restituisce un boolean 'true' se il tipo anticipo/posticipo non è modificabile
*/
private boolean basicROImportiIrpef() {
return isSospesa() ||
isCessata() ||
isAssociataACompensoConTassazioneSeparata() ||
(getFl_tassazione_separata() == null || !getFl_tassazione_separata().booleanValue());
}
/**
* Calcola il totale di tutte le rate
*/
public java.math.BigDecimal calcolaTotaleRate() {
return calcolaTotaleRate(getMinicarriera_rate());
}
/**
* Calcola il totale delle rate selezionate
*/
public java.math.BigDecimal calcolaTotaleRate(List rateSelezionate) {
java.math.BigDecimal tot = new java.math.BigDecimal(0);
if (rateSelezionate != null)
for (Iterator i = rateSelezionate.iterator(); i.hasNext();)
tot = tot.add(((Minicarriera_rataBulk)i.next()).getIm_rata());
return tot;
}
/**
* Decrementa di un giorno la data 'data'
*/
public static java.sql.Timestamp decrementaData(java.sql.Timestamp data){
java.util.GregorianCalendar gc = (java.util.GregorianCalendar)java.util.GregorianCalendar.getInstance();
gc.setTime(data);
gc.set(java.util.Calendar.HOUR, 0);
gc.set(java.util.Calendar.MINUTE, 0);
gc.set(java.util.Calendar.SECOND, 0);
gc.set(java.util.Calendar.MILLISECOND, 0);
gc.set(java.util.Calendar.AM_PM, java.util.Calendar.AM);
gc.add(java.util.Calendar.DATE, -1);
return new java.sql.Timestamp(gc.getTime().getTime());
}
/**
* Restituisce l'anno della data 'data'. Se data non è impostata restituisce l'anno corrente
*/
public static int getAnno(java.sql.Timestamp data) {
try {
java.util.Calendar gc = java.util.Calendar.getInstance();
gc.setTime((data != null) ? data : it.cnr.jada.util.ejb.EJBCommonServices.getServerTimestamp());
gc.set(java.util.Calendar.HOUR, 0);
gc.set(java.util.Calendar.MINUTE, 0);
gc.set(java.util.Calendar.SECOND, 0);
gc.set(java.util.Calendar.MILLISECOND, 0);
gc.set(java.util.Calendar.AM_PM, java.util.Calendar.AM);
return gc.get(Calendar.YEAR);
} catch (javax.ejb.EJBException e) {
throw new it.cnr.jada.DetailedRuntimeException(e);
}
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:40:55 PM)
* @return it.cnr.contab.anagraf00.core.bulk.BancaBulk
*/
public it.cnr.contab.anagraf00.core.bulk.BancaBulk getBanca() {
return banca;
}
/**
* Insert the method's description here.
* Creation date: (19/02/2002 14.22.21)
* @return it.cnr.contab.anagraf00.core.bulk.BancaBulk
*/
public BulkCollection[] getBulkLists() {
return new it.cnr.jada.bulk.BulkCollection[] { getMinicarriera_rate() };
}
public java.lang.String getCd_cds_minicarriera_ori() {
it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk minicarriera_origine = this.getMinicarriera_origine();
if (minicarriera_origine == null)
return null;
return minicarriera_origine.getCd_cds();
}
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();
}
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();
}
public java.lang.Integer getCd_terzo() {
it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk percipiente = this.getPercipiente();
if (percipiente == null)
return super.getCd_terzo();
return percipiente.getCd_terzo();
}
public java.lang.String getCd_tipo_rapporto() {
it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk tipo_rapporto = this.getTipo_rapporto();
if (tipo_rapporto == null)
return null;
return tipo_rapporto.getCd_tipo_rapporto();
}
public java.lang.String getCd_trattamento() {
it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk tipo_trattamento = this.getTipo_trattamento();
if (tipo_trattamento == null)
return super.getCd_trattamento();
return tipo_trattamento.getCd_trattamento();
}
public java.lang.String getCd_uo_minicarriera_ori() {
it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk minicarriera_origine = this.getMinicarriera_origine();
if (minicarriera_origine == null)
return null;
return minicarriera_origine.getCd_unita_organizzativa();
}
/**
* Restituisce la data odierna
*/
public static java.sql.Timestamp getDataOdierna() {
try {
return getDataOdierna(it.cnr.jada.util.ejb.EJBCommonServices.getServerTimestamp());
} catch (javax.ejb.EJBException e) {
throw new it.cnr.jada.DetailedRuntimeException(e);
}
}
/**
* Restituisce la data 'dataOdierna' com ore, minuti e secondi impostati a 0
*/
public static java.sql.Timestamp getDataOdierna(java.sql.Timestamp dataOdierna) {
java.util.Calendar gc = java.util.Calendar.getInstance();
gc.setTime(dataOdierna);
gc.set(java.util.Calendar.HOUR, 0);
gc.set(java.util.Calendar.MINUTE, 0);
gc.set(java.util.Calendar.SECOND, 0);
gc.set(java.util.Calendar.MILLISECOND, 0);
gc.set(java.util.Calendar.AM_PM, java.util.Calendar.AM);
return new java.sql.Timestamp(gc.getTime().getTime());
}
/**
* 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;
}
/**
* Restituisce se esiste il documento contabile con key = a docCont
*/
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: (27/05/2002 12.54.21)
* @return java.util.Vector
*/
public java.util.Vector getDettagliCancellati() {
return null;
}
public java.lang.Integer getEsercizio_minicarriera_ori() {
it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk minicarriera_origine = this.getMinicarriera_origine();
if (minicarriera_origine == null)
return null;
return minicarriera_origine.getEsercizio();
}
/**
* Insert the method's description here.
* Creation date: (6/24/2002 3:36:33 PM)
* @return it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk
*/
public MinicarrieraBulk getMinicarriera_origine() {
return minicarriera_origine;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 3:59:28 PM)
* @return it.cnr.jada.bulk.BulkList
*/
public it.cnr.jada.bulk.BulkList getMinicarriera_rate() {
return minicarriera_rate;
}
/**
* Insert the method's description here.
* Creation date: (19/02/2002 14.24.54)
* @return java.util.Collection
*/
public java.util.Collection getModalita() {
return modalita;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:39:04 PM)
* @return it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk
*/
public it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk getModalita_pagamento() {
return modalita_pagamento;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 2:27:05 PM)
* @return it.cnr.contab.anagraf00.core.bulk.TerzoBulk
*/
public V_terzo_per_compensoBulk getPercipiente() {
return percipiente;
}
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();
}
public java.lang.Long getPg_minicarriera_ori() {
it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk minicarriera_origine = this.getMinicarriera_origine();
if (minicarriera_origine == null)
return null;
return minicarriera_origine.getPg_minicarriera();
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 5:27:58 PM)
* @return java.lang.Long
*/
public java.lang.Long getPgMinicarrieraPerClone() {
return pgMinicarrieraPerClone;
}
/**
* Insert the method's description here.
* Creation date: (23/04/2002 12.40.29)
* @return java.lang.Long
*/
public java.lang.Long getPgMinicarrieraPos() {
if (getPg_minicarriera() !=null && getPg_minicarriera().intValue() < 0)
return null;
return getPg_minicarriera();
}
/**
* Restituisce un vettore di rate contenente tutte e sole le rate associate ad un
* compenso
*/
public Vector getRateAssociateACompenso() {
Vector associate = new Vector();
if (getMinicarriera_rate() != null)
for (Iterator i = getMinicarriera_rate().iterator(); i.hasNext();) {
Minicarriera_rataBulk associata = (Minicarriera_rataBulk)i.next();
if (associata.getCompenso() != null)
associate.add(associata);
}
return associate;
}
/**
* Restituisce un dictionary di stati validi per l'associazione a compenso
*/
public java.util.Dictionary getStato_ass_compensoKeys() {
return STATI_ASS_COMPENSO;
}
/**
* Insert the method's description here.
* Creation date: (26/02/2002 11.19.49)
* @return java.util.Collection
*/
public java.util.Dictionary getStatoKeys() {
return STATI;
}
/**
* Insert the method's description here.
* Creation date: (19/02/2002 14.25.07)
* @return java.util.Collection
*/
public java.util.Collection getTermini() {
return termini;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:39:57 PM)
* @return it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk
*/
public it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk getTermini_pagamento() {
return termini_pagamento;
}
/**
* Insert the method's description here.
* Creation date: (19/02/2002 14.25.23)
* @return it.cnr.contab.anagraf00.core.bulk.TerzoBulk
*/
public TerzoBulk getTerzo() {
if (getPercipiente() == null)
return null;
return getPercipiente().getTerzo();
}
public java.lang.String getTi_anagrafico() {
it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk percipiente = this.getPercipiente();
if (percipiente == null)
return super.getTi_anagrafico();
return percipiente.getTi_dipendente_altro();
}
public java.lang.String getTi_anagraficoForSearch() {
if (getTi_anagrafico() == null)
return "T";
return getTi_anagrafico();
}
/**
* Insert the method's description here.
* Creation date: (12/02/2002 11.49.26)
* @return java.util.Dictionary
*/
public java.util.Dictionary getTi_anagraficoKeys() {
return Tipo_rapportoBulk.DIPENDENTE_ALTRO;
}
/**
* Insert the method's description here.
* Creation date: (12/02/2002 11.49.26)
* @return java.util.Dictionary
*/
public java.util.Dictionary getTi_anagraficoKeysForSearch() {
it.cnr.jada.util.OrderedHashtable DIPENDENTE_ALTRO_FOR_SEARCH = new it.cnr.jada.util.OrderedHashtable();
DIPENDENTE_ALTRO_FOR_SEARCH.put("T","Tutti");
DIPENDENTE_ALTRO_FOR_SEARCH.put(Tipo_rapportoBulk.DIPENDENTE,"Dipendenti");
DIPENDENTE_ALTRO_FOR_SEARCH.put(Tipo_rapportoBulk.ALTRO,"Altri soggetti");
return DIPENDENTE_ALTRO_FOR_SEARCH;
}
/**
* Insert the method's description here.
* Creation date: (12/02/2002 11.49.26)
* @return java.util.Dictionary
*/
public java.util.Dictionary getTi_anticipo_posticipoKeys() {
if (ANTICIPO_POSTICIPO == null) {
ANTICIPO_POSTICIPO = new it.cnr.jada.util.OrderedHashtable();
ANTICIPO_POSTICIPO.put(TIPO_NESSUNO, "Nessuno");
ANTICIPO_POSTICIPO.put(TIPO_ANTICIPO, "Anticipo");
ANTICIPO_POSTICIPO.put(TIPO_POSTICIPO, "Posticipo");
}
return ANTICIPO_POSTICIPO;
}
/**
* Restituisce il Dictionary per la gestione dei tipi di compenso.
*
* @return java.util.Dictionary
*/
public Dictionary getTi_istituz_commercKeys() {
return TIPI_COMPENSO;
}
/**
* Insert the method's description here.
* Creation date: (26/02/2002 11.19.49)
* @return java.util.Collection
*/
public java.util.Collection getTipiRapporto() {
return tipiRapporto;
}
/**
* Insert the method's description here.
* Creation date: (26/02/2002 11.58.06)
* @return java.util.Collection
*/
public java.util.Collection getTipiTrattamento() {
return tipiTrattamento;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:35:19 PM)
* @return it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk
*/
public it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk getTipo_rapporto() {
return tipo_rapporto;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:35:55 PM)
* @return it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk
*/
public it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk getTipo_trattamento() {
return tipo_trattamento;
}
/**
* Restituisce un boolean 'true' nel caso in cui almeno una rata sia associata a
* compenso
*/
public boolean hasRateAssociateACompenso() {
return !getRateAssociateACompenso().isEmpty();
}
/**
* Incrementa di un giorno la data 'data'
*/
public static java.sql.Timestamp incrementaData(java.sql.Timestamp data){
java.util.GregorianCalendar gc = (java.util.GregorianCalendar)java.util.GregorianCalendar.getInstance();
gc.setTime(data);
gc.set(java.util.Calendar.HOUR, 0);
gc.set(java.util.Calendar.MINUTE, 0);
gc.set(java.util.Calendar.SECOND, 0);
gc.set(java.util.Calendar.MILLISECOND, 0);
gc.set(java.util.Calendar.AM_PM, java.util.Calendar.AM);
gc.add(java.util.Calendar.DATE, 1);
return new java.sql.Timestamp(gc.getTime().getTime());
}
/**
* inizializza il modello per la modifica
*/
public OggettoBulk initializeForEdit(it.cnr.jada.util.action.CRUDBP bp,it.cnr.jada.action.ActionContext context) {
super.initializeForEdit(bp,context);
setTipo_trattamento(new Tipo_trattamentoBulk());
return this;
}
/**
* inizializza il modello per la ricerca libera
*/
public OggettoBulk initializeForFreeSearch(it.cnr.jada.util.action.CRUDBP bp,it.cnr.jada.action.ActionContext context) {
super.initializeForFreeSearch(bp,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());
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setCd_unita_organizzativa(it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context).getCd_unita_organizzativa());
setPercipiente(new V_terzo_per_compensoBulk());
// setTi_anagrafico(Tipo_rapportoBulk.ALTRO);
setMinicarriera_origine(new MinicarrieraBulk());
return this;
}
/**
* inizializza il modello per l'inserimento
*/
public OggettoBulk initializeForInsert(it.cnr.jada.util.action.CRUDBP bp,it.cnr.jada.action.ActionContext context) {
super.initializeForInsert(bp,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());
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setCd_unita_organizzativa(it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context).getCd_unita_organizzativa());
reset(context);
return this;
}
/**
* inizializza il modello per la ricerca
*/
public OggettoBulk initializeForSearch(it.cnr.jada.util.action.CRUDBP bp,it.cnr.jada.action.ActionContext context) {
super.initializeForSearch(bp,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());
setEsercizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setCd_unita_organizzativa(it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context).getCd_unita_organizzativa());
setPercipiente(new V_terzo_per_compensoBulk());
// setTi_anagrafico(Tipo_rapportoBulk.ALTRO);
setMinicarriera_origine(new MinicarrieraBulk());
return this;
}
/**
* Restituisce un boolean 'true' nel caso in cui NON posso ricercare banche
*/
public boolean isAbledToInsertBank() {
return !(getTerzo()!= null &&
getModalita_pagamento() != null &&
!isROPercipiente());
}
/**
* Insert the method's description here.
* Creation date: (1/8/2003 12:25:41 PM)
* @return boolean
*/
public boolean isAliquotaCalcolata() {
return aliquotaCalcolata;
}
/**
* Restituisce un boolean 'true' se la minicarriera è associata parzialmente o
* totalmente a compenso
*/
public boolean isAssociataACompenso() {
return getStato_ass_compenso() != null &&
(STATO_TOTALE_ASS_COMPENSO.equalsIgnoreCase(getStato_ass_compenso()) ||
STATO_PARZIALE_ASS_COMPENSO.equalsIgnoreCase(getStato_ass_compenso()));
}
/**
* Restituisce un boolean 'true' se la minicarriera è associata parzialmente o
* totalmente a compenso
*/
public boolean isAssociataACompensoConTassazioneSeparata() {
if (!isAssociataACompenso()) return false;
if (getMinicarriera_rate() != null)
for (Iterator i = getMinicarriera_rate().iterator(); i.hasNext();) {
Minicarriera_rataBulk unaRata = (Minicarriera_rataBulk)i.next();
if (unaRata.isAssociataACompenso() &&
isRataATassazioneSeparata(unaRata))
return true;
}
return false;
}
/**
* Restituisce un boolean 'true' se la minicarriera è in stato attivo
*/
public boolean isAttiva() {
return getStato() == null || STATO_ATTIVA.equalsIgnoreCase(getStato());
}
/**
* Restituisce un boolean 'true' se la minicarriera è in stato cessato
*/
public boolean isCessata() {
return getStato() != null && STATO_CESSATA.equalsIgnoreCase(getStato());
}
/**
* Restituisce un boolean 'true' se la minicarriera è in stato attivo o sospeso.
* permette la modifica in questo caso del modello
*/
public boolean isEditable() {
return isAttiva() || isSospesa();
}
/**
* Restituisce un boolean 'true' se nemmeno una rata è associata a compenso
*/
public boolean isNonAssociataACompenso() {
return !isAssociataACompenso() && !isParzialmenteAssociataACompenso();
}
/**
* Restituisce un boolean 'true' se la minicarriera è associata parzialmente
* a compenso
*/
public boolean isParzialmenteAssociataACompenso() {
return getStato_ass_compenso() != null && STATO_PARZIALE_ASS_COMPENSO.equalsIgnoreCase(getStato_ass_compenso());
}
public boolean isRataATassazioneSeparata(Minicarriera_rataBulk rata) {
if (rata == null || rata.getDt_fine_rata() == null)
return false;
return getFl_tassazione_separata() != null &&
getFl_tassazione_separata().booleanValue() &&
getAnno(rata.getDt_fine_rata()) < getEsercizio().intValue();
}
/**
* Restituisce un boolean 'true' se la minicarriera è in stato rinnovato
*/
public boolean isRinnovata() {
return getStato() != null && STATO_RINNOVATA.equalsIgnoreCase(getStato());
}
/**
* Restituisce un boolean 'true' se la minicarriera è in stato ripristinato
*/
public boolean isRipristinata() {
return getStato() != null && STATO_RIPRISTINATA.equalsIgnoreCase(getStato());
}
/**
* Restituisce un boolean 'true' se il tipo anticipo/posticipo non è modificabile
*/
public boolean isROBottoniImportiIrpef() {
return basicROImportiIrpef();
}
/**
* Restituisce un boolean 'true' se la data cessazione non è modificabile
*/
public boolean isRODtCessazione() {
return (getCrudStatus() != OggettoBulk.NORMAL && !isToBeUpdated()) ||
(!isAttiva() && !isSospesa()) ||
(getPgMinicarrieraPos() == null && getMinicarriera_origine() != null);
}
/**
* Restituisce un boolean 'true' se la data inizio validità non è modificabile
*/
public boolean isRODtInizioFineValidita() {
return //(getMinicarriera_rate() != null && !getMinicarriera_rate().isEmpty()) ||
isROField() || hasRateAssociateACompenso();
}
/**
* Restituisce un boolean 'true' se la data inizio validità non è modificabile
*/
public boolean isRODtRegistrazione() {
return hasRateAssociateACompenso();
}
/**
* Restituisce un boolean 'true' se la data rinnovo non è modificabile
*/
public boolean isRODtRinnovo() {
return (getCrudStatus() != OggettoBulk.NORMAL && !isToBeUpdated()) ||
!isAttiva() ||
(getPgMinicarrieraPos() == null && getMinicarriera_origine() != null);
// L'ultima condizione serve quando sono in creazione di una minicarriera con
// minicarriera di origine
}
/**
* Restituisce un boolean 'true' se la data ripristino non è modificabile
*/
public boolean isRODtRipristino() {
return (getCrudStatus() != OggettoBulk.NORMAL && !isToBeUpdated()) ||
!isSospesa() ||
(getPgMinicarrieraPos() == null && getMinicarriera_origine() != null);
}
/**
* Restituisce un boolean 'true' se la data sospensione non è modificabile
*/
public boolean isRODtSospensione() {
return (getCrudStatus() != OggettoBulk.NORMAL && !isToBeUpdated()) ||
isSospesa() ||
(getPgMinicarrieraPos() == null && getMinicarriera_origine() != null);
}
/**
* Restituisce un boolean 'true' se lo stato non è attivo
*/
public boolean isROField() {
return !isAttiva();
}
/**
* Restituisce un boolean 'true' se i campi anagrafici relativi al percipiente
* selezionato non sono modificabili
*/
public boolean isROFl_escludi_qvaria_deduzione() {
return (getMinicarriera_rate() != null &&
!getMinicarriera_rate().isEmpty());
}
/**
* Restituisce un boolean 'true' se i campi anagrafici relativi al percipiente
* selezionato non sono modificabili
*/
public boolean isROFl_tassazione_separata() {
return isROPercipiente() ||
(getMinicarriera_rate() != null && !getMinicarriera_rate().isEmpty());
}
/**
* Restituisce un boolean 'true' se il tipo anticipo/posticipo non è modificabile
*/
public boolean isROImportiIrpef() {
return basicROImportiIrpef() ||
isAliquotaCalcolata();
}
/**
* Restituisce un boolean 'true' se l'importo totale non è modificabile
*/
public boolean isROImporto() {
return (getStato_ass_compenso() != null && getStato_ass_compenso().equalsIgnoreCase(STATO_TOTALE_ASS_COMPENSO)) ||
isROField();
}
/**
* Restituisce un boolean 'true' se l'aspetto mesi per anticipo/posticipo
* non è modificabile
*/
public boolean isROMesiAnticipoPosticipo() {
return isROField() || TIPO_NESSUNO.equalsIgnoreCase(getTi_anticipo_posticipo());
}
/**
* Restituisce un boolean 'true' se il numero delle rate non è modificabile
*/
public boolean isRONumeroRate() {
return (getStato_ass_compenso() != null && getStato_ass_compenso().equalsIgnoreCase(STATO_TOTALE_ASS_COMPENSO)) ||
isROField();
}
/**
* Restituisce un boolean 'true' se il percipiente non è modificabile
*/
public boolean isROPercipiente() {
return (getMinicarriera_origine() != null &&
(getMinicarriera_origine().getCrudStatus() == OggettoBulk.NORMAL ||
getMinicarriera_origine().getCrudStatus() == OggettoBulk.TO_BE_UPDATED)) ||
(getStato_ass_compenso() != null &&
!STATO_NON_ASS_COMPENSO.equalsIgnoreCase(getStato_ass_compenso()) &&
getCrudStatus() != OggettoBulk.UNDEFINED) ||
!(getStato() == null ||
getPercipiente() == null ||
isAttiva());
}
/**
* Restituisce un boolean 'true' se i campi anagrafici relativi al percipiente
* selezionato non sono modificabili
*/
public boolean isROPercipienteAnag() {
return getPercipiente() == null ||
getPercipiente().getCrudStatus() == OggettoBulk.NORMAL ||
isROPercipiente();
}
/**
* Insert the method's description here.
* Creation date: (10/4/2001 2:42:26 PM)
* @return boolean
*/
public boolean isROTi_istituz_commerc() {
return isROPercipiente();
}
/**
* Restituisce un boolean 'true' se il tipo anticipo/posticipo non è modificabile
*/
public boolean isROTiAnticipoPosticipo() {
return isROField() || (getMinicarriera_rate() != null && !getMinicarriera_rate().isEmpty());
}
/**
* Restituisce un boolean 'true' se la inicarriera è in stato sospeso
*/
public boolean isSospesa() {
return getStato() != null && STATO_SOSPESA.equalsIgnoreCase(getStato());
}
/**
* Restituisce un boolean 'true' se il modello è temporaneo
*/
public boolean isTemporaneo() {
if (getPg_minicarriera() == null)
return false;
return getPg_minicarriera().longValue() < 0;
}
/**
* 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);
}
/**
* Richeisto non usato
*/
public int removeFromDettagliCancellati(Minicarriera_rataBulk rata) {
return 0;
}
/**
* Rimuove la rata all'indice 'indiceDiLinea' dalla minicarriera
*/
public Minicarriera_rataBulk removeFromMinicarriera_rate(int indiceDiLinea) {
Minicarriera_rataBulk element = (Minicarriera_rataBulk)getMinicarriera_rate().get(indiceDiLinea);
addToDettagliCancellati(element);
getMinicarriera_rate().remove(indiceDiLinea);
if (STATO_PARZIALE_ASS_COMPENSO.equalsIgnoreCase(getStato_ass_compenso()) &&
getRateAssociateACompenso().size() == getMinicarriera_rate().size())
setStato_ass_compenso(STATO_TOTALE_ASS_COMPENSO);
return element;
}
/**
* Valori di default per l'inizializzazione dell'oggetto
*/
private void reset(it.cnr.jada.action.ActionContext context) {
setStato(STATO_ATTIVA);
setStato_ass_compenso(STATO_NON_ASS_COMPENSO);
setIm_totale_minicarriera(new java.math.BigDecimal(0).setScale(2, java.math.BigDecimal.ROUND_HALF_UP));
setNumero_rate(new Integer(1));
try {
java.sql.Timestamp date = getDataOdierna();
int esercizioInScrivania = it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()).intValue();
if (getAnno(date) != esercizioInScrivania)
date = getDataOdierna(new java.sql.Timestamp(new java.text.SimpleDateFormat("dd/MM/yyyy").parse("31/12/" + esercizioInScrivania).getTime()));
setDt_registrazione(date);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
setDt_inizio_minicarriera(new java.sql.Timestamp(sdf.parse("01/01/"+getEsercizio().intValue()).getTime()));
setDt_fine_minicarriera(new java.sql.Timestamp(sdf.parse("31/12/"+getEsercizio().intValue()).getTime()));
} catch (java.text.ParseException e) {
setDt_registrazione(getDataOdierna());
setDt_inizio_minicarriera(getDataOdierna());
setDt_fine_minicarriera(getDataOdierna());
}
setNumero_rate(new Integer(it.cnr.jada.util.DateUtils.monthsBetweenDates(new Date(getDt_inizio_minicarriera().getTime()),new Date(getDt_fine_minicarriera().getTime()))));
setPercipiente(new V_terzo_per_compensoBulk());
setTi_anagrafico(Tipo_rapportoBulk.ALTRO);
setFl_tassazione_separata(Boolean.FALSE);
setFl_escludi_qvaria_deduzione(Boolean.FALSE);
setTi_istituz_commerc(TIPO_COMPENSO_ISTITUZIONALE);
resetTassazioneSeparataData();
setTi_anticipo_posticipo(TIPO_NESSUNO);
setMesi_anticipo_posticipo(new Integer(0));
}
/**
* Imposta la mappa dei saldi in differita al valore di default
*/
public void resetDefferredSaldi() {
deferredSaldi = null;
}
/**
* Valori di default per l'inizializzazione dell'oggetto
*/
public void resetTassazioneSeparataData() {
setImponibile_irpef_eseprec1(new java.math.BigDecimal(0).setScale(2, java.math.BigDecimal.ROUND_HALF_UP));
setImponibile_irpef_eseprec2(new java.math.BigDecimal(0).setScale(2, java.math.BigDecimal.ROUND_HALF_UP));
setAliquota_irpef_media(new java.math.BigDecimal(0).setScale(2, java.math.BigDecimal.ROUND_HALF_UP));
setAliquotaCalcolata(false);
}
/**
* Insert the method's description here.
* Creation date: (1/8/2003 12:25:41 PM)
* @param newAliquotaCalcolata boolean
*/
public void setAliquotaCalcolata(boolean newAliquotaCalcolata) {
aliquotaCalcolata = newAliquotaCalcolata;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:40:55 PM)
* @param newBanca it.cnr.contab.anagraf00.core.bulk.BancaBulk
*/
public void setBanca(it.cnr.contab.anagraf00.core.bulk.BancaBulk newBanca) {
banca = newBanca;
}
public void setCd_cds_minicarriera_ori(java.lang.String cd_cds_minicarriera_ori) {
this.getMinicarriera_origine().setCd_cds(cd_cds_minicarriera_ori);
}
public void setCd_modalita_pag(java.lang.String cd_modalita_pag) {
this.getModalita_pagamento().setCd_modalita_pag(cd_modalita_pag);
}
public void setCd_termini_pag(java.lang.String cd_termini_pag) {
this.getTermini_pagamento().setCd_termini_pag(cd_termini_pag);
}
public void setCd_terzo(java.lang.Integer cd_terzo) {
if (getPercipiente() != null)
this.getPercipiente().setCd_terzo(cd_terzo);
else super.setCd_terzo(cd_terzo);
}
public void setCd_tipo_rapporto(java.lang.String cd_tipo_rapporto) {
this.getTipo_rapporto().setCd_tipo_rapporto(cd_tipo_rapporto);
}
public void setCd_trattamento(java.lang.String cd_trattamento) {
if (getTipo_trattamento() != null)
getTipo_trattamento().setCd_trattamento(cd_trattamento);
else super.setCd_trattamento(cd_trattamento);
}
public void setCd_uo_minicarriera_ori(java.lang.String cd_uo_minicarriera_ori) {
this.getMinicarriera_origine().setCd_unita_organizzativa(cd_uo_minicarriera_ori);
}
/**
* Insert the method's description here.
* Creation date: (27/05/2002 12.54.21)
* @param newDettagliCancellati java.util.Vector
*/
public void setDefferredSaldi(PrimaryKeyHashMap newDefferedSaldi) {
deferredSaldi = newDefferedSaldi;
}
/**
* Insert the method's description here.
* Creation date: (27/05/2002 12.54.21)
* @param newDettagliCancellati java.util.Vector
*/
public void setDettagliCancellati(java.util.Vector newDettagliCancellati) {}
public void setEsercizio_minicarriera_ori(java.lang.Integer esercizio_minicarriera_ori) {
this.getMinicarriera_origine().setEsercizio(esercizio_minicarriera_ori);
}
/**
* Insert the method's description here.
* Creation date: (6/24/2002 3:36:33 PM)
* @param newMinicarriera_origine it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk
*/
public void setMinicarriera_origine(MinicarrieraBulk newMinicarriera_origine) {
minicarriera_origine = newMinicarriera_origine;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 3:59:28 PM)
* @param newMinicarriera_rate it.cnr.jada.bulk.BulkList
*/
public void setMinicarriera_rate(it.cnr.jada.bulk.BulkList newMinicarriera_rate) {
minicarriera_rate = newMinicarriera_rate;
}
/**
* Insert the method's description here.
* Creation date: (19/02/2002 14.24.54)
* @param newModalita java.util.Collection
*/
public void setModalita(java.util.Collection newModalita) {
modalita = newModalita;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:39:04 PM)
* @param newModalita_pagamento it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk
*/
public void setModalita_pagamento(it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk newModalita_pagamento) {
modalita_pagamento = newModalita_pagamento;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 2:27:05 PM)
* @param newTerzo it.cnr.contab.anagraf00.core.bulk.TerzoBulk
*/
public void setPercipiente(V_terzo_per_compensoBulk newTerzo) {
percipiente = newTerzo;
}
public void setPg_banca(java.lang.Long pg_banca) {
this.getBanca().setPg_banca(pg_banca);
}
public void setPg_minicarriera_ori(java.lang.Long pg_minicarriera_ori) {
this.getMinicarriera_origine().setPg_minicarriera(pg_minicarriera_ori);
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 5:27:58 PM)
* @param newPgMinicarrieraPerClone java.lang.Long
*/
public void setPgMinicarrieraPerClone(java.lang.Long newPgMinicarrieraPerClone) {
pgMinicarrieraPerClone = newPgMinicarrieraPerClone;
}
/**
* Insert the method's description here.
* Creation date: (23/04/2002 12.40.29)
* @param newPgCompensoPos java.lang.Long
*/
public void setPgMinicarrieraPos(java.lang.Long newPgMinicarrieraPos) {
if (newPgMinicarrieraPos == null || newPgMinicarrieraPos.longValue() < 0)
setPg_minicarriera(null);
else
setPg_minicarriera(newPgMinicarrieraPos);
}
/**
* Insert the method's description here.
* Creation date: (19/02/2002 14.25.07)
* @param newTermini java.util.Collection
*/
public void setTermini(java.util.Collection newTermini) {
termini = newTermini;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:39:57 PM)
* @param newTermine_pagamento it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk
*/
public void setTermini_pagamento(it.cnr.contab.anagraf00.tabrif.bulk.Rif_termini_pagamentoBulk newTermini_pagamento) {
termini_pagamento = newTermini_pagamento;
}
public void setTi_anagrafico(java.lang.String ti_anagrafico) {
if (getPercipiente() != null)
this.getPercipiente().setTi_dipendente_altro(ti_anagrafico);
else super.setTi_anagrafico(ti_anagrafico);
}
public void setTi_anagraficoForSearch(java.lang.String ti_anagrafico) {
if (ti_anagrafico == null || ti_anagrafico.equalsIgnoreCase("T"))
setTi_anagrafico(null);
else setTi_anagrafico(ti_anagrafico);
}
/**
* Insert the method's description here.
* Creation date: (26/02/2002 11.19.49)
* @param newTipiRapporto java.util.Collection
*/
public void setTipiRapporto(java.util.Collection newTipiRapporto) {
tipiRapporto = newTipiRapporto;
}
/**
* Insert the method's description here.
* Creation date: (26/02/2002 11.58.06)
* @param newTipiTrattamento java.util.Collection
*/
public void setTipiTrattamento(java.util.Collection newTipiTrattamento) {
tipiTrattamento = newTipiTrattamento;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:35:19 PM)
* @param newTipo_rapporto it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk
*/
public void setTipo_rapporto(it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk newTipo_rapporto) {
tipo_rapporto = newTipo_rapporto;
}
/**
* Insert the method's description here.
* Creation date: (6/21/2002 1:35:55 PM)
* @param newTipo_trattamento it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk
*/
public void setTipo_trattamento(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk newTipo_trattamento) {
tipo_trattamento = newTipo_trattamento;
}
/**
* Valida la minicarriera
*/
public void validaCorpo() throws ValidationException{
validaImponibiliIrpef();
if (getIm_totale_minicarriera() == null ||
getIm_totale_minicarriera().compareTo(new java.math.BigDecimal(0)) <= 0)
throw new ValidationException("Specificare l'importo totale della minicarriera.");
if (getNumero_rate() == null ||
getNumero_rate().intValue() <= 0)
throw new ValidationException("Specificare il numero di rate della minicarriera.");
if (!TIPO_NESSUNO.equalsIgnoreCase(getTi_anticipo_posticipo())) {
if (getMesi_anticipo_posticipo() == null ||
getMesi_anticipo_posticipo().intValue() <= 0)
throw new ValidationException("Specificare il numero di mesi di anticipo/posticipo.");
}
}
/**
* Valida le date e i periodi della minicarriera
*/
public void validaDate() throws ValidationException {
if (getDt_registrazione() == null)
throw new ValidationException("Inserire la data registrazione");
if (getDt_registrazione().after(getDataOdierna()) &&
!getDt_registrazione().equals(getDataOdierna()))
throw new ValidationException("La data registrazione non può essere successiva ad oggi.");
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
java.sql.Timestamp dataInizioEsercizio = null;
try {
dataInizioEsercizio = getDataOdierna(new java.sql.Timestamp(sdf.parse("01/01/"+getEsercizio().intValue()).getTime()));
} catch (java.text.ParseException e) {
throw new ValidationException("Impossibile stabilire la data di inizio esercizio");
}
if (getDt_registrazione().before(dataInizioEsercizio) &&
!getDt_registrazione().equals(dataInizioEsercizio))
throw new ValidationException("La data di registrazione non può essere precedente alla data di inizio dell'esercizio di scrivania.");
validaDateValidita();
}
/**
* Valida le date di inizio e fine validità e relativi periodi della minicarriera
*/
public void validaDateValidita() throws ValidationException {
if (getDt_inizio_minicarriera() == null || getDt_fine_minicarriera() == null)
throw new ValidationException("Inserire le date di validità della minicarriera.");
if (getDt_fine_minicarriera().before(getDt_inizio_minicarriera()))
throw new ValidationException("Date di validità minicarriera non corrette. Verificare i periodi.");
if (getFl_tassazione_separata() == null)
throw new ValidationException("Impostare il flag di tassazione separata!");
if (getFl_tassazione_separata().booleanValue()) {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
java.util.Calendar gc = java.util.GregorianCalendar.getInstance();
gc.setTime(new java.util.Date(getDt_inizio_minicarriera().getTime()));
int anno = gc.get(gc.YEAR);
if (anno >= getEsercizio().intValue())
throw new ValidationException("Quando il flag di tassazione separata è impostato, la data di inizio validità della minicarriera\ndeve essere anteriore all'esercizio di creazione!");
}
}
/**
* Valida la minicarriera
*/
public void validaImponibiliIrpef() throws ValidationException{
if (getImponibile_irpef_eseprec1() == null) {
if (getFl_tassazione_separata() != null && getFl_tassazione_separata().booleanValue())
throw new ValidationException("Specificare l'importo dell'imponibile irpef 1 della minicarriera.");
else
setImponibile_irpef_eseprec1(new java.math.BigDecimal(0).setScale(6, java.math.BigDecimal.ROUND_HALF_UP));
}
if (getImponibile_irpef_eseprec2() == null) {
if (getFl_tassazione_separata() != null && getFl_tassazione_separata().booleanValue())
throw new ValidationException("Specificare l'importo dell'imponibile irpef 2 della minicarriera.");
else
setImponibile_irpef_eseprec2(new java.math.BigDecimal(0).setScale(6, java.math.BigDecimal.ROUND_HALF_UP));
}
}
/**
* Valida il percipiente e suoi attributi
*/
public int validaPercipiente(boolean throwExc) throws ValidationException{
if (getPercipiente() == null || getPercipiente().getCrudStatus() != OggettoBulk.NORMAL) {
if (!throwExc) return V_terzo_per_compensoBulk.TERZO_ASSENTE;
throw new ValidationException("Selezionare un percipiente.");
}
if (getTerzo().getDt_fine_rapporto()!=null)
if (getTerzo().getDt_fine_rapporto().compareTo(getDt_registrazione())<0) {
if (!throwExc)
return V_terzo_per_compensoBulk.TERZO_NON_VALIDO;
throw new ValidationException("Il percipiente selezionato non è valido");
}
if (getModalita_pagamento() == null) {
if (!throwExc)
return V_terzo_per_compensoBulk.TERZO_SENZA_MOD_PAG;
throw new ValidationException ("Inserire le modalità di pagamento");
}
if (getTipo_rapporto() == null) {
if (!throwExc)
return V_terzo_per_compensoBulk.TIPO_RAPP_ASSENTE;
throw new ValidationException ("Inserire il tipo rapporto");
}
if (getTipo_trattamento() == null) {
if (!throwExc)
return V_terzo_per_compensoBulk.TIPO_TRATT_ASSENTE;
throw new ValidationException("Inserire il tipo trattamento");
}
if (getDt_registrazione().compareTo(getTipo_trattamento().getDt_ini_validita())<0 || getDt_registrazione().compareTo(getTipo_trattamento().getDt_fin_validita())>0) {
if (!throwExc)
return V_terzo_per_compensoBulk.TIPO_TRATT_NON_VALIDO;
throw new ValidationException("Il tipo trattamento selezionato non è valido alla data registrazione specificata");
}
return V_terzo_per_compensoBulk.TUTTO_BENE;
}
/**
* Valida la minicarriera
*/
public void validate() throws ValidationException{
super.validate();
validaTestata();
validaPercipiente(true);
validaCorpo();
}
public void validaTestata() throws ValidationException {
// Validazione Date
validaDate();
}
public Incarichi_repertorioBulk getIncarichi_repertorio() {
return incarichi_repertorio;
}
public void setIncarichi_repertorio(
Incarichi_repertorioBulk incarichi_repertorio) {
this.incarichi_repertorio = incarichi_repertorio;
}
public java.lang.Integer getEsercizio_rep() {
if (getIncarichi_repertorio() == null)
return null;
return getIncarichi_repertorio().getEsercizio();
}
public void setEsercizio_rep(java.lang.Integer esercizio_rep ) {
this.getIncarichi_repertorio().setEsercizio(esercizio_rep);
}
public java.lang.Long getPg_repertorio() {
if (getIncarichi_repertorio() == null)
return null;
return getIncarichi_repertorio().getPg_repertorio();
}
public void setPg_repertorio(java.lang.Long pg_repertorio ) {
this.getIncarichi_repertorio().setPg_repertorio(pg_repertorio);
}
public boolean isVisualizzaIncarico() {
return visualizzaIncarico;
}
public void setVisualizzaIncarico(boolean visualizzaIncarico) {
this.visualizzaIncarico = visualizzaIncarico;
}
public void impostaTipo_rapporto(Tipo_rapportoBulk newTipoRapporto) {
for(java.util.Iterator i = getTipiRapporto().iterator();i.hasNext();){
Tipo_rapportoBulk tipo = (Tipo_rapportoBulk)i.next();
if (tipo.equalsByPrimaryKey(newTipoRapporto))
setTipo_rapporto(tipo);
}
}
public void impostaTipo_tratt(Tipo_trattamentoBulk newTipoTrattamento) {
for(java.util.Iterator i = getTipiTrattamento().iterator();i.hasNext();){
Tipo_trattamentoBulk tipo = (Tipo_trattamentoBulk)i.next();
if (tipo.equalsByPrimaryKey(newTipoTrattamento))
setTipo_trattamento(tipo);
}
}
public void impostaVisualizzaIncarico()
{
if(!this.isVisualizzaPrestazione()
||
(this.isVisualizzaPrestazione()
&& this.getTipoPrestazioneCompenso()!=null
&& this.getTipoPrestazioneCompenso().getFl_incarico() != null
&& !this.getTipoPrestazioneCompenso().getFl_incarico()
)
)
{
if(getIncarichi_repertorio()!=null)
{
setIncarichi_repertorio(null);
}
setVisualizzaIncarico(false);
}
else
{
setVisualizzaIncarico(true);
}
}
public Tipo_prestazione_compensoBulk getTipoPrestazioneCompenso() {
return tipoPrestazioneCompenso;
}
public void setTipoPrestazioneCompenso(
Tipo_prestazione_compensoBulk tipoPrestazioneCompenso) {
this.tipoPrestazioneCompenso = tipoPrestazioneCompenso;
}
public java.lang.String getTi_prestazione() {
Tipo_prestazione_compensoBulk tipoPrestazioneCompenso = this
.getTipoPrestazioneCompenso();
if (tipoPrestazioneCompenso == null)
return null;
return tipoPrestazioneCompenso.getCd_ti_prestazione();
}
public void setTi_prestazione(java.lang.String ti_prestazione) {
this.getTipoPrestazioneCompenso().setCd_ti_prestazione(ti_prestazione);
}
public java.util.Collection getTipiPrestazioneCompenso() {
return tipiPrestazioneCompenso;
}
public void setTipiPrestazioneCompenso(
java.util.Collection tipiPrestazioneCompenso) {
this.tipiPrestazioneCompenso = tipiPrestazioneCompenso;
}
public boolean isVisualizzaPrestazione() {
return visualizzaPrestazione;
}
public void setVisualizzaPrestazione(boolean visualizzaPrestazione) {
this.visualizzaPrestazione = visualizzaPrestazione;
}
public void impostaVisualizzaPrestazione()
{
if(isPrestazioneCompensoEnabled())
{
setVisualizzaPrestazione(true);
}
else
{
if(getTipoPrestazioneCompenso()!=null)
setTipoPrestazioneCompenso(null);
setVisualizzaPrestazione(false);
}
}
public boolean isPrestazioneCompensoEnabled() {
if ( (this.getTipo_trattamento() != null
&& this.getTipo_trattamento().getFl_tipo_prestazione_obbl() != null && !this
.getTipo_trattamento().getFl_tipo_prestazione_obbl()))
return false;
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy