it.cnr.contab.config00.sto.bulk.CdsBulk 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.config00.sto.bulk;
import it.cnr.jada.bulk.BulkCollection;
import it.cnr.jada.bulk.BulkList;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.bulk.ValidationException;
import it.cnr.jada.util.OrderedHashtable;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@JsonInclude(value=Include.NON_NULL)
public class CdsBulk extends CdsBase {
private it.cnr.contab.anagraf00.core.bulk.TerzoBulk responsabile = new it.cnr.contab.anagraf00.core.bulk.TerzoBulk();
private OrderedHashtable tipologiaKeys;
private BulkList percentuali = new BulkList();
private Integer esercizioDiScrivania;
private Area_scientificaBulk area_scientifica;
public CdsBulk() {
super();
inizializza();
}
public CdsBulk(java.lang.String cd_unita_organizzativa) {
super(cd_unita_organizzativa);
inizializza();
this.setCd_unita_organizzativa(cd_unita_organizzativa);
}
/**
* Aggiunge alla lista delle percentuali di copertura obbligazione la nuova percentuale
*
*
* @param prr nuova percentuale
* @return ritorna l'ampiezza della lista percentuali prima dell'aggiunzione
*/
public int addToPercentuali( Prc_copertura_obbligBulk prc )
{
percentuali.add(prc);
// prc.setCd_unita_organizzativa( getCd_unita_organizzativa());
prc.setCds(this);
prc.setUser(this.getUser());
return percentuali.size()-1;
}
/**
*
* Restituisce il valore della proprietà 'area_scientifica'
*
* @return Il valore della proprietà 'area_scientifica'
*/
public Area_scientificaBulk getArea_scientifica() {
return area_scientifica;
}
public BulkCollection[] getBulkLists()
{
return new it.cnr.jada.bulk.BulkCollection[] {
percentuali };
}
public String getCd_area_scientifica() {
Area_scientificaBulk area_scientifica = this.getArea_scientifica();
if (area_scientifica == null)
return null;
return area_scientifica.getCd_area_scientifica();
}
/**
*
* Restituisce il valore della proprietà 'cd_ds_cds'
*
* @return Il valore della proprietà 'cd_ds_cds'
*/
public String getCd_ds_cds() {
return getCd_unita_organizzativa() + " - " + getDs_unita_organizzativa();
}
public java.lang.Integer getCd_responsabile() {
it.cnr.contab.anagraf00.core.bulk.TerzoBulk responsabile = this.getResponsabile();
if (responsabile == null)
return null;
return responsabile.getCd_terzo();
}
/**
*
* Restituisce il valore della proprietà 'ds_responsabile'
*
* @return Il valore della proprietà 'ds_responsabile'
*/
public java.lang.String getDs_responsabile() {
if ( responsabile != null && responsabile.getAnagrafico() != null )
return responsabile.getAnagrafico().getCognome() + " " + responsabile.getAnagrafico().getNome();
return "";
}
/**
*
* Restituisce il valore della proprietà 'esercizioDiScrivania'
*
* @return Il valore della proprietà 'esercizioDiScrivania'
*/
public java.lang.Integer getEsercizioDiScrivania() {
return esercizioDiScrivania;
}
/**
*
* Restituisce il valore della proprietà 'percentuali'
*
* @return Il valore della proprietà 'percentuali'
*/
public it.cnr.jada.bulk.BulkList getPercentuali() {
return percentuali;
}
/**
* @return it.cnr.contab.anagraf00.core.bulk.TerzoBulk
*/
public it.cnr.contab.anagraf00.core.bulk.TerzoBulk getResponsabile() {
return responsabile;
}
/**
* @return java.util.Hashtable
*/
public OrderedHashtable getTipologiaKeys() {
return tipologiaKeys;
}
/**
* Metodo per la gestione del campo esercizio.
*/
public OggettoBulk initializeForInsert(it.cnr.jada.util.action.CRUDBP bp,it.cnr.jada.action.ActionContext context) {
setEsercizio_inizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setEsercizioDiScrivania(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setEsercizio_fine( it.cnr.contab.config00.esercizio.bulk.EsercizioBulk.ESERCIZIO_FINE);
setResponsabile(new it.cnr.contab.anagraf00.core.bulk.V_terzo_persona_fisicaBulk());
return this;
}
/**
* Metodo per la gestione del campo esercizio.
*/
public OggettoBulk initializeForSearch(it.cnr.jada.util.action.CRUDBP bp,it.cnr.jada.action.ActionContext context) {
// setEsercizio_inizio(it.cnr.contab.utenze00.bulk.CNRUserInfo.getEsercizio(context));
setResponsabile(new it.cnr.contab.anagraf00.core.bulk.V_terzo_persona_fisicaBulk());
return this;
}
/**
* Inizializza gli attributi specifici del Cds
*/
protected void inizializza()
{
setFl_cds( new Boolean( true ) );
}
/**
* Determina quando abilitare o meno nell'interfaccia utente il campo responsabile
* @return boolean true quando il campo deve essere disabilitato
*/
public boolean isROResponsabile() {
return responsabile == null || responsabile.getCrudStatus() == NORMAL;
}
/**
* Rimuove una percentuale dalla lista delle percentuali copertura obbligazioni per indice
*
*
* @param index indice della percentuale da rimuvere
* @return percentuale rimossa
*/
public Prc_copertura_obbligBulk removeFromPercentuali(int index)
{
return (Prc_copertura_obbligBulk)percentuali.remove(index);
}
/**
*
* Imposta il valore della proprietà 'area_scientifica'
*
* @param newArea_scientifica Il valore da assegnare a 'area_scientifica'
*/
public void setArea_scientifica(Area_scientificaBulk newArea_scientifica) {
area_scientifica = newArea_scientifica;
}
public void setCd_area_scientifica(String cd_area_scientifica) {
this.getArea_scientifica().setCd_area_scientifica(cd_area_scientifica);
}
public void setCd_responsabile(java.lang.Integer cd_responsabile) {
this.getResponsabile().setCd_terzo(cd_responsabile);
}
/**
*
* Imposta il valore della proprietà 'esercizioDiScrivania'
*
* @param newEsercizioDiScrivania Il valore da assegnare a 'esercizioDiScrivania'
*/
public void setEsercizioDiScrivania(java.lang.Integer newEsercizioDiScrivania) {
esercizioDiScrivania = newEsercizioDiScrivania;
}
/**
*
* Imposta il valore della proprietà 'percentuali'
*
* @param newPercentuali Il valore da assegnare a 'percentuali'
*/
public void setPercentuali(it.cnr.jada.bulk.BulkList newPercentuali) {
percentuali = newPercentuali;
}
/**
* @param newResponsabile it.cnr.contab.anagraf00.core.bulk.TerzoBulk
*/
public void setResponsabile(it.cnr.contab.anagraf00.core.bulk.TerzoBulk newResponsabile) {
responsabile = newResponsabile;
}
/**
* @param newTipologiaKeys java.util.Hashtable
*/
public void setTipologiaKeys(OrderedHashtable newTipologiaKeys) {
tipologiaKeys = newTipologiaKeys;
}
/**
* Esegue la validazione formale dei campi di input
*/
public void validate() throws ValidationException
{
if ( isNullOrEmpty( getCd_tipo_unita() ))
throw new ValidationException( "Il campo TIPOLOGIA è obbligatorio. " );
if ( getCd_tipo_unita().equals( Tipo_unita_organizzativaHome.TIPO_UO_SAC ) &&
!getEsercizio_fine().equals( it.cnr.contab.config00.esercizio.bulk.EsercizioBulk.ESERCIZIO_FINE))
throw new ValidationException( "L'esercizio fine per un CDS di tipo SAC deve essere uguale a " + it.cnr.contab.config00.esercizio.bulk.EsercizioBulk.ESERCIZIO_FINE );
if ( getEsercizio_fine() == null )
{
setEsercizio_fine( it.cnr.contab.config00.esercizio.bulk.EsercizioBulk.ESERCIZIO_FINE);
throw new ValidationException( "Il campo Esercizio di Terminazione deve essere valorizzato. " );
}
if ( getEsercizio_fine().compareTo( getEsercizio_inizio()) < 0 )
throw new ValidationException( "L' esercizio di terminazione non può essere minore dell'esercizio di creazione. " );
if ( getEsercizio_fine().toString().length() != 4 )
throw new ValidationException( "Il campo Esercizio di terminazione deve essere di quattro cifre. " );
if ( responsabile.getCd_terzo() == null )
throw new ValidationException( "Il campo RESPONSABILE è obbligatorio. " );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy