use of it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome in project sigla-main by consiglionazionaledellericerche.
the class ObbligazioneComponent method verificaObbligazione.
/**
* Tutti controlli superati - anno di creazione obbligazione < anno competenza dell'obbligazione
* PreCondition:
* testata dell'obbligazione verificata (controllato nel metodo verificaTestataObbligazione).
* sum(scadenzario.importo) = obbligazione.importo
* sum(scad_voce.importo) = scadenzario.importo
* dettagli d'imputazione finanziaria specificati
* almeno una scadenza definita
* verfiche per spese per costi altrui superate (metodo verificaFl_spese_costi_altrui)
* L'anno di competenza dell'obbligazione è superiore all'anno di creazione dell'obbligazione
* PostCondition:
* Il sistema può proseguire con la creazione/modifica dell'obbligazione, ma non verranno aggiornati i saldi
* dei capitoli di spesa CdS.
*
* Tutti controlli superati - anno di creazione obbligazione = anno competenza
* PreCondition:
* testata dell'obbligazione verificata (controllato nel metodo verificaTestataObbligazione).
* sum(scadenzario.import) = obbligazione.import.
* sum(scad_voce.importo) = scadenzario.importo
* dettagli d'imputazione finanziaria specificati
* almeno una scadenza definita
* verfiche per spese per costi altrui superate (metodo verificaFl_spese_costi_altrui)
* L'anno di competenza dell'obbligazione è uguale all'anno di creazione dell'obbligazione
* PostCondition:
* Il sistema può proseguire con la creazione/modifica dell'obbligazione e dovrà effettuare l'aggiornamento
* dei saldi dei capitoli di spesa CdS. (Questo processo viene eseguito dal metodo 'aggiornaCapitoloSaldoObbligazione').
*
* sum(scadenzario.importo) not = obbligazione.importo
* PreCondition:
* La somma degli importi delle scadenze dell'obbligazione non è uguale all'importo dell'obbligazione in elaborazione.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
* se l'importo non è uguale alla somma degli importi delle scadenze dell'obbligazione.
*
* sum(scad_voce.importo) not = scadenzario.importo
* PreCondition:
* L'utente ha selezionato l'imputazione manuale degli importi dei dettagli delle scadenze e la somma degli importi
* dei dettagli di una scadenza dell'obbligazione non è uguale all'importo della scadenza
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
* se l'importo della scadenza non è uguale alla somma degli importi dei dettagli della scadenza dell'obbligazione.
*
* dettagli d'imputazione finanziaria non specificati al livello di obbligazione
* PreCondition:
* I dettagli d'imputazione finanziaria (capitolo di spesa, linea d'attività) non sono stati specificati
* al livello di obbligazione
* PostCondition:
* Il sistema segnala l'impossibilità di craere/aggiornare l'obbligazione fino a quando l'imputazione finanziaria non viene completata
*
* scadenze non definite
* PreCondition:
* Non sono state definite scadenze per l'obbligazione
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
* se non viene definita almento una scadenza
*
* spese per costi altrui
* PreCondition:
* L'utente ha specificato di voler emettere un'obbligazione non di tipo spese per costi altrui
* ma ha selezionato linee di attività appartenenti a cdr che non sipendono dall'uo di scrivania
* (questo controllo viene effettuato dal metodo 'verificaFl_spese_costi_altrui')
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
*
* @param aUC lo user context
* @param obbligazione l'istanza di <code>ObbligazioneBulk</code> da verificare
*/
public void verificaObbligazione(UserContext aUC, ObbligazioneBulk obbligazione) throws ComponentException {
Obbligazione_scadenzarioBulk os;
Obbligazione_scad_voceBulk osv;
BigDecimal totalObbligazione = new BigDecimal(0);
BigDecimal totalScadenza;
verificaTestataObbligazione(aUC, obbligazione);
// non e' stata fatta l'imputazione finanziaria
if (obbligazione.getLineeAttivitaSelezionateColl().size() == 0 && obbligazione.getNuoveLineeAttivitaColl().size() == 0)
throw handleException(new it.cnr.jada.comp.ApplicationException("E' necessario effettuare l'imputazione finanziaria"));
// non ci sono scadenze
if (obbligazione.getObbligazione_scadenzarioColl().isEmpty())
throw handleException(new it.cnr.jada.comp.ApplicationException("E' necessario creare almeno una scadenza"));
for (Iterator i = obbligazione.getObbligazione_scadenzarioColl().iterator(); i.hasNext(); ) {
os = (Obbligazione_scadenzarioBulk) i.next();
totalObbligazione = totalObbligazione.add(os.getIm_scadenza());
totalScadenza = new BigDecimal(0);
for (Iterator j = os.getObbligazione_scad_voceColl().iterator(); j.hasNext(); ) {
osv = (Obbligazione_scad_voceBulk) j.next();
if (osv.getIm_voce() == null)
throw handleException(new it.cnr.jada.comp.ApplicationException("E' necessario inserire l'importo di un dettaglio per la scadenza del " + String.valueOf(os.getDt_scadenza()).substring(0, 10)));
totalScadenza = totalScadenza.add(osv.getIm_voce());
}
if (totalScadenza.compareTo(os.getIm_scadenza()) != 0)
throw handleException(new it.cnr.jada.comp.ApplicationException("La somma degli importi dei singoli dettagli della scadenza e' diverso dall'importo complessivo della scadenza"));
}
if (totalObbligazione.compareTo(obbligazione.getIm_obbligazione()) > 0)
throw handleException(new it.cnr.jada.comp.ApplicationException("La somma degli importi delle singole scadenze supera l'importo complessivo dell'impegno"));
if (totalObbligazione.compareTo(obbligazione.getIm_obbligazione()) < 0)
throw handleException(new it.cnr.jada.comp.ApplicationException("La somma degli importi delle singole scadenze e' inferiore all'importo complessivo dell'impegno"));
if ((obbligazione.getContratto() != null && obbligazione.getContratto().getFigura_giuridica_esterna() != null && !(obbligazione.getCreditore().equalsByPrimaryKey(obbligazione.getContratto().getFigura_giuridica_esterna()) || verificaAssociato(aUC, obbligazione.getContratto().getFigura_giuridica_esterna(), obbligazione))))
throw new it.cnr.jada.comp.ApplicationException("Il Creditore (Codice Terzo:" + obbligazione.getCreditore().getCd_terzo() + ") \n" + "non è congruente con quello del contratto (Codice Terzo:" + obbligazione.getContratto().getFigura_giuridica_esterna().getCd_terzo() + ")");
if ((obbligazione.getIncarico_repertorio() != null && obbligazione.getIncarico_repertorio().getTerzo() != null && !(obbligazione.getCreditore().equalsByPrimaryKey(obbligazione.getIncarico_repertorio().getTerzo()) || verificaAssociato(aUC, obbligazione.getIncarico_repertorio().getTerzo(), obbligazione))))
throw new it.cnr.jada.comp.ApplicationException("Il Creditore (Codice Terzo:" + obbligazione.getCreditore().getCd_terzo() + ") \n" + "non è congruente con quello dell'incarico (Codice Terzo:" + obbligazione.getIncarico_repertorio().getTerzo().getCd_terzo() + ")");
verificaFl_spese_costi_altrui(aUC, obbligazione);
if (obbligazione.getFl_gara_in_corso().booleanValue() && obbligazione.isObbligazioneResiduo() && obbligazione.getStato_obbligazione().equals(obbligazione.STATO_OBB_PROVVISORIO))
throw new ApplicationException("Non e' possibile modificare un'impegno residuo con gara di appalto in corso di espletamento, si prega di riportarlo indietro all'esercizio precedente e di renderlo definitivo");
/*
* Controllo l'eventuale obbligatorietà del Contratto
*/
Elemento_voceHome home = (Elemento_voceHome) getHome(aUC, Elemento_voceBulk.class);
Elemento_voceBulk elemento_voce;
try {
elemento_voce = (Elemento_voceBulk) home.findByPrimaryKey(new Elemento_voceBulk(obbligazione.getCd_elemento_voce(), obbligazione.getEsercizio(), obbligazione.getTi_appartenenza(), obbligazione.getTi_gestione()));
} catch (PersistencyException e) {
throw new ComponentException(e);
}
if (elemento_voce.getFl_recon().booleanValue()) {
Parametri_cdsHome paramHome = (Parametri_cdsHome) getHome(aUC, Parametri_cdsBulk.class);
Parametri_cdsBulk param_cds;
try {
param_cds = (Parametri_cdsBulk) paramHome.findByPrimaryKey(new Parametri_cdsBulk(obbligazione.getCd_cds(), obbligazione.getEsercizio()));
} catch (PersistencyException e) {
throw new ComponentException(e);
}
if (obbligazione.getFl_gara_in_corso().booleanValue() && obbligazione.getDs_gara_in_corso() == null)
throw new it.cnr.jada.comp.ApplicationException("La gara di appalto risulta essere in corso di espletamento. Campo \"Descrizione gara di appalto\" obbligatorio!");
if (obbligazione.getFl_gara_in_corso().booleanValue() && (obbligazione.getPg_contratto() != null || obbligazione.getPg_repertorio() != null))
throw new it.cnr.jada.comp.ApplicationException("La gara di appalto risulta essere in corso di espletamento. Non è possibile valorizzare il campo contratto e/o incarico. Disattivare il flag \"Gara in corso di espletamento\" e ripetere l'operazione!");
if (obbligazione.getPg_contratto() != null && obbligazione.getPg_repertorio() != null)
throw new it.cnr.jada.comp.ApplicationException("Il campo contratto e incarico non possono essere valorizzati contemporaneamente. Eliminare uno dei due e ripetere l'operazione!");
if (param_cds != null && param_cds.getIm_soglia_contratto_s() != null && obbligazione.getIm_obbligazione().compareTo(param_cds.getIm_soglia_contratto_s()) != -1)
if (!obbligazione.getFl_gara_in_corso().booleanValue() && obbligazione.getPg_contratto() == null && obbligazione.getPg_repertorio() == null)
throw new it.cnr.jada.comp.ApplicationException("I campi contratto e incarico non possono essere contemporaneamente nulli in assenza di una gara in corso di espletamento. Importo dell'Impegno superiore al limite stabilito!");
}
verificaGestioneTrovato(aUC, obbligazione, elemento_voce);
verificaGestioneMissioni(aUC, obbligazione, elemento_voce);
}
use of it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome in project sigla-main by consiglionazionaledellericerche.
the class StampaSingoloContoComponent method selectElemento_voceByClause.
public it.cnr.jada.persistency.sql.SQLBuilder selectElemento_voceByClause(UserContext userContext, V_voce_f_sing_contoBulk filtro, Elemento_voceBulk elementoVoce, CompoundFindClause clauses) throws ComponentException {
Elemento_voceHome elementoVoceHome = (Elemento_voceHome) getHome(userContext, elementoVoce);
it.cnr.jada.persistency.sql.SQLBuilder sql = elementoVoceHome.createSQLBuilder();
sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, ((CNRUserContext) userContext).getEsercizio());
if (filtro.getTi_gestione().compareTo(SospesoBulk.TIPO_ENTRATA) == 0) {
sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, SospesoBulk.TIPO_ENTRATA);
sql.addClause("AND", "ti_elemento_voce", SQLBuilder.EQUALS, "C");
if (!filtro.isEnteInScrivania() && filtro.getFl_partita_giro())
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "D");
else
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "C");
} else {
sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, SospesoBulk.TIPO_SPESA);
sql.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "D");
sql.addClause("AND", "ti_elemento_voce", SQLBuilder.EQUALS, "C");
}
sql.addClause("AND", "fl_partita_giro", SQLBuilder.EQUALS, filtro.getFl_partita_giro());
sql.addClause(clauses);
return sql;
}
use of it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome in project sigla-main by consiglionazionaledellericerche.
the class LiquidazioneRateMinicarrieraComponent method selectElementoVoceByClause.
/**
* Costruisce l'struzione SQL corrispondente ad una ricerca con le clausole specificate.
* Aggiunge una clausola a tutte le operazioni di ricerca eseguite sulle Linee di Attivita
*
* Nome: Richiesta di ricerca di una Linea di Attivita
* Pre: E' stata generata la richiesta di ricerca della Linea di Attivita
* Post: Viene restituito l'SQLBuilder per filtrare le Linee di Attivita
*
* @param userContext lo userContext che ha generato la richiesta
* @param compenso l'OggettoBulk che rappresenta il contesto della ricerca.
* @param lineaAttivita l'OggettoBulk da usare come prototipo della ricerca; sul prototipo vengono
* costruite delle clausole aggiuntive che vengono aggiunte in AND alle clausole specificate.
* @param clauses L'albero logico delle clausole da applicare alla ricerca
* @return Un'istanza di SQLBuilder contenente l'istruzione SQL da eseguire e tutti i parametri
* della query.
*/
public SQLBuilder selectElementoVoceByClause(UserContext userContext, Liquidazione_rate_minicarrieraBulk bulk, Elemento_voceBulk elementoVoce, CompoundFindClause clauses) throws ComponentException {
Elemento_voceHome home = (Elemento_voceHome) getHome(userContext, elementoVoce);
SQLBuilder sql = home.createSQLBuilder();
sql.addClause("AND", "esercizio", sql.EQUALS, CNRUserContext.getEsercizio(userContext));
sql.addClause("AND", "fl_partita_giro", sql.EQUALS, Boolean.FALSE);
sql.addClause("AND", "ti_elemento_voce", sql.EQUALS, home.TIPO_CAPITOLO);
sql.addClause("AND", "ti_appartenenza", sql.EQUALS, home.APPARTENENZA_CDS);
sql.addClause("AND", "ti_gestione", sql.EQUALS, home.GESTIONE_SPESE);
sql.addClause("AND", "cd_parte", sql.EQUALS, home.PARTE_1);
if (!Tipo_unita_organizzativaHome.TIPO_UO_SAC.equalsIgnoreCase(bulk.getUoScrivania().getCd_tipo_unita()))
sql.addClause("AND", "fl_voce_sac", SQLBuilder.EQUALS, Boolean.FALSE);
sql.addClause(clauses);
return sql;
}
use of it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome in project sigla-main by consiglionazionaledellericerche.
the class DocumentoGenericoComponent method inizializzaBulkPerModifica.
// ^^@@
/**
* normale
* PreCondition:
* Viene richiesta una possibile operazione di modifica.
* PostCondition:
* L'OggettoBulk viene aggiornato con tutti gli oggetti collegati e preparato per una operazione di modifica.
*/
// ^^@@
public OggettoBulk inizializzaBulkPerModifica(UserContext userContext, OggettoBulk bulk) throws ComponentException {
if (bulk == null)
throw new ComponentException("Attenzione: non esiste alcun documento corrispondente ai criteri di ricerca!");
Documento_genericoBulk generico = (Documento_genericoBulk) bulk;
if (generico.getEsercizio() == null)
throw new it.cnr.jada.comp.ApplicationException("L'esercizio del documento non è valorizzato! Impossibile proseguire.");
if (generico.getEsercizio().intValue() > it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext).intValue())
throw new it.cnr.jada.comp.ApplicationException("Il documento deve appartenere o all'esercizio di scrivania o ad esercizi precedenti per essere aperto in modifica!");
generico = (Documento_genericoBulk) super.inizializzaBulkPerModifica(userContext, generico);
try {
lockBulk(userContext, generico);
// setDt_termine_creazione_docamm(userContext, generico);
} catch (Throwable t) {
throw handleException(t);
}
try {
// imposta il tipo di documento
if (generico.getCd_tipo_documento_amm() == null && generico.getTipo_documento().getCd_tipo_documento_amm() != null)
generico.setCd_tipo_documento_amm(generico.getTipo_documento().getCd_tipo_documento_amm());
// generico.setCd_tipo_documento_amm(generico.getTipo_documento().getCd_tipo_documento_amm());
// it.cnr.jada.bulk.BulkHome homeTD= getHome(userContext, Tipo_documento_ammBulk.class);
// it.cnr.jada.persistency.sql.SQLBuilder sqlTD= homeTD.createSQLBuilder();
// sqlTD.addClause("AND", "cd_tipo_documento_amm", sqlTD.EQUALS, generico.getCd_tipo_documento_amm());
// it.cnr.jada.persistency.Broker brokerTD= homeTD.createBroker(sqlTD);
// generico.setTipo_documento((Tipo_documento_ammBulk) brokerTD.fetch(Tipo_documento_ammBulk.class));
// brokerTD.close();
// }
// generico =(Documento_genericoBulk) super.inizializzaBulkPerModifica(userContext, generico);
it.cnr.jada.bulk.BulkHome home = getHome(userContext, Documento_generico_rigaBulk.class);
it.cnr.jada.persistency.sql.SQLBuilder sql = home.createSQLBuilder();
sql.addClause("AND", "pg_documento_generico", SQLBuilder.EQUALS, generico.getPg_documento_generico());
sql.addClause("AND", "cd_cds", SQLBuilder.EQUALS, generico.getCd_cds());
sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, generico.getEsercizio());
sql.addClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, generico.getCd_unita_organizzativa());
sql.addClause("AND", "cd_tipo_documento_amm", SQLBuilder.EQUALS, generico.getCd_tipo_documento_amm());
getHomeCache(userContext).fetchAll(userContext);
generico.setDocumento_generico_dettColl(new it.cnr.jada.bulk.BulkList(home.fetchAll(sql)));
// to be chkd
generico.setTi_entrate_spese(generico.getTipo_documento().getTi_entrata_spesa().charAt(0));
// 03/03/04 - BORRIELLO
// Corretto Errore interno: questa operazione deve essere fatta DOPO aver impostato il
// <code>Ti_entrate_spese</code>, altrimenti la dt_termine_creazione_docamm NON viene impostata e,
// in fase di salvataggio, genera un errore di NullPointerException.
setDt_termine_creazione_docamm(userContext, generico);
try {
generico.setDataInizioObbligoRegistroUnico(Utility.createConfigurazioneCnrComponentSession().getDt01(userContext, new Integer(0), null, "REGISTRO_UNICO_FATPAS", "DATA_INIZIO"));
} catch (Exception e) {
throw handleException(generico, e);
}
if (!generico.getCd_uo_origine().equals(generico.getCd_unita_organizzativa()))
generico.setFlagEnte(true);
if (!generico.isGenericoAttivo())
generico.setPassivo_ente(generico.isFlagEnte());
else
generico.setPassivo_ente(true);
if (!generico.getCd_uo_origine().equals(generico.getCd_unita_organizzativa()))
impostaDatiEnteNelDocumento(userContext, generico, null);
else {
Unita_organizzativa_enteBulk uoEnte = getUOEnte(userContext);
if (generico.getCd_unita_organizzativa().equalsIgnoreCase(uoEnte.getCd_unita_organizzativa()))
impostaDatiEnteNelDocumento(userContext, generico, uoEnte);
}
if (generico.getValuta().getCd_divisa().equals(getEuro(userContext).getCd_divisa()))
generico.setDefaultValuta(true);
if (!generico.isGenericoAttivo())
rebuildObbligazioni(userContext, generico);
if (generico.isGenericoAttivo()) {
rebuildAccertamenti(userContext, generico);
generico.setTerzo_uo_cds(generico.getDocumento_generico_dettColl().get(0).getTerzo_uo_cds());
}
for (java.util.Iterator i = generico.getDocumento_generico_dettColl().iterator(); i.hasNext(); ) initializeKeysAndOptionsInto(userContext, (OggettoBulk) i.next());
int dettagliRiportati = 0;
generico.setHa_beniColl(ha_beniColl(userContext, generico));
for (java.util.Iterator i = generico.getDocumento_generico_dettColl().iterator(); i.hasNext(); ) {
OggettoBulk rigabulk = (OggettoBulk) i.next();
Documento_generico_rigaBulk riga = (Documento_generico_rigaBulk) rigabulk;
if (generico.getTi_entrate_spese() == Documento_genericoBulk.SPESE && riga.getObbligazione_scadenziario() != null && riga.getObbligazione_scadenziario().getObbligazione() != null && riga.getObbligazione_scadenziario().getObbligazione().getElemento_voce() != null && riga.getObbligazione_scadenziario().getObbligazione().getElemento_voce().getFl_inv_beni_patr().booleanValue()) {
riga.setInventariato(true);
riga.setInventariato(ha_beniColl(userContext, riga).booleanValue());
} else {
if (riga.getAccertamento_scadenziario() != null && riga.getAccertamento_scadenziario().getAccertamento() != null && riga.getAccertamento_scadenziario().getAccertamento().getCd_elemento_voce() != null) {
Elemento_voceHome Home = (Elemento_voceHome) getHome(userContext, Elemento_voceBulk.class);
Elemento_voceBulk elem_voce = (Elemento_voceBulk) Home.findByPrimaryKey(new Elemento_voceBulk(riga.getAccertamento_scadenziario().getAccertamento().getCd_elemento_voce(), riga.getAccertamento_scadenziario().getAccertamento().getEsercizio(), riga.getAccertamento_scadenziario().getAccertamento().getTi_appartenenza(), riga.getAccertamento_scadenziario().getAccertamento().getTi_gestione()));
if (elem_voce.getFl_inv_beni_patr().booleanValue())
riga.setInventariato(true);
riga.setInventariato(ha_beniColl(userContext, riga).booleanValue());
}
}
if (generico.isPassivo_ente())
riga.setIm_riga_iniziale(riga.getIm_imponibile());
if (generico.getTi_entrate_spese() == Documento_genericoBulk.ENTRATE) {
riga.setModalita_pagamento_uo_cds(findModalitaSelezionate(userContext, riga));
riga.setTermini_pagamento_uo_cds(findTerminiSelezionati(userContext, riga));
riga.setModalita_uo_cds(findModalita(userContext, riga));
riga.setBanca_uo_cds(findBancaSelezionata(userContext, riga));
initializeKeysAndOptionsInto(userContext, riga);
} else {
riga.setModalita_pagamento(findModalitaSelezionate(userContext, riga));
riga.setTermini_pagamento(findTerminiSelezionati(userContext, riga));
riga.setModalita(findModalita(userContext, riga));
riga.setBanca(findBancaSelezionata(userContext, riga));
initializeKeysAndOptionsInto(userContext, riga);
}
if (riga.checkIfRiportata()) {
riga.setRiportata(riga.RIPORTATO);
generico.setRiportata(generico.PARZIALMENTE_RIPORTATO);
dettagliRiportati++;
}
}
generico.setRiportata(getStatoRiporto(userContext, generico));
/**
* Gennaro Borriello - (02/11/2004 15.04.39)
* Aggiunta gestione dell Stato Riportato all'esercizio di scrivania.
*/
generico.setRiportataInScrivania(getStatoRiportoInScrivania(userContext, generico));
/**
* Gennaro Borriello - (08/11/2004 13.35.27)
* Aggiunta proprietà <code>esercizioInScrivania</code>, che verrà utilizzata
* per la gestione di isRiportataInScrivania(), in alcuni casi.
*/
generico.setEsercizioInScrivania(it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext));
} catch (it.cnr.jada.persistency.PersistencyException e) {
throw handleException(generico, e);
} catch (it.cnr.jada.persistency.IntrospectionException e) {
throw handleException(generico, e);
}
caricaScrittura(userContext, generico);
return generico;
}
use of it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome in project sigla-main by consiglionazionaledellericerche.
the class DocumentoGenericoComponent method controlloTrovato.
private void controlloTrovato(UserContext aUC, Obbligazione_scadenzarioBulk scadenza) throws ComponentException {
Elemento_voceHome evHome = (Elemento_voceHome) getHome(aUC, Elemento_voceBulk.class);
SQLBuilder sql = evHome.createSQLBuilder();
sql.addSQLClause("AND", "esercizio", SQLBuilder.EQUALS, scadenza.getObbligazione().getEsercizio());
sql.addSQLClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, scadenza.getObbligazione().getTi_appartenenza());
sql.addSQLClause("AND", "ti_gestione", SQLBuilder.EQUALS, scadenza.getObbligazione().getTi_gestione());
sql.addSQLClause("AND", "cd_elemento_voce", SQLBuilder.EQUALS, scadenza.getObbligazione().getCd_elemento_voce());
try {
List voce = evHome.fetchAll(sql);
if (!voce.isEmpty()) {
Elemento_voceBulk elementoVoce = (Elemento_voceBulk) voce.get(0);
if (elementoVoce.isVocePerTrovati()) {
throw new it.cnr.jada.comp.ApplicationException("Sui documenti generici non è possibile selezionare obbligazioni su capitoli collegati a Brevetti/Trovati.");
}
}
} catch (PersistencyException ex) {
throw handleException(ex);
}
}
Aggregations