use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.
the class ObbligazioneComponent method validaCampi.
private void validaCampi(UserContext uc, ObbligazioneBulk obbligazione) throws ComponentException {
try {
// controlli di validazione del campo MOTIVAZIONE
Parametri_cnrBulk bulkCNR = (Parametri_cnrBulk) getHome(uc, Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(CNRUserContext.getEsercizio(uc)));
if (bulkCNR == null)
throw new ApplicationException("Parametri CNR non presenti per l'anno " + CNRUserContext.getEsercizio(uc));
if (!obbligazione.isObbligazioneResiduo() && bulkCNR.getFl_motivazione_su_imp() && obbligazione.getMotivazione() == null) {
if (obbligazione.isToBeUpdated()) {
BigDecimal impObbl = obbligazione.getIm_obbligazione();
ObbligazioneBulk oldObbl = (ObbligazioneBulk) getHome(uc, ObbligazioneBulk.class).findByPrimaryKey(obbligazione);
BigDecimal oldImpObbl = oldObbl.getIm_obbligazione();
if (Utility.nvl(impObbl.subtract(oldImpObbl)).compareTo(Utility.nvl(bulkCNR.getImporto_max_imp())) >= 0 && Utility.nvl(oldImpObbl).compareTo(Utility.nvl(impObbl)) != 0)
throw new ApplicationException("Attenzione: il campo MOTIVAZIONE è obbligatorio.");
} else {
throw new ApplicationException("Attenzione: il campo MOTIVAZIONE è obbligatorio.");
}
}
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.
the class ObbligazioneComponent method checkDispObbligazioniAccertamenti.
private void checkDispObbligazioniAccertamenti(UserContext userContext, ObbligazioneBulk obbligazione) throws ComponentException {
BigDecimal importo = Utility.ZERO;
Obbligazione_scad_voceBulk scad_voceDB;
Parametri_cdsBulk parametri_cds = null;
try {
parametri_cds = (Parametri_cdsBulk) getHome(userContext, Parametri_cdsBulk.class).findByPrimaryKey(new Parametri_cdsBulk(CNRUserContext.getCd_cds(userContext), CNRUserContext.getEsercizio(userContext)));
} catch (PersistencyException e) {
throw new ComponentException(e);
}
String messaggio = "";
if (parametri_cds != null && (parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_ERROR) || parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_WARNING))) {
try {
SQLBroker broker = getHome(userContext, Obbligazione_scad_voceBulk.class).createBroker(((ObbligazioneHome) getHome(userContext, ObbligazioneBulk.class)).findObbligazione_scad_voceDistinctList(obbligazione));
while (broker.next()) {
String cd_voce = (String) broker.fetchPropertyValue("cd_voce", String.class);
String cd_centro_responsabilita = (String) broker.fetchPropertyValue("cd_centro_responsabilita", String.class);
String cd_linea_attivita = (String) broker.fetchPropertyValue("cd_linea_attivita", String.class);
if ((!obbligazione.isCheckDisponibilitaCdrGAEEseguito() || parametri_cds != null && parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_ERROR))) {
Voce_fBulk voce = new Voce_fBulk(cd_voce, obbligazione.getEsercizio(), obbligazione.getTi_appartenenza(), obbligazione.getTi_gestione());
try {
String mess = createSaldoComponentSession().checkDispObbligazioniAccertamenti(userContext, cd_centro_responsabilita, cd_linea_attivita, voce, obbligazione.getEsercizio_originale(), (obbligazione.isObbligazioneResiduo() || obbligazione.isObbligazioneResiduoImproprio()) ? Voce_f_saldi_cdr_lineaBulk.TIPO_RESIDUO_IMPROPRIO : Voce_f_saldi_cdr_lineaBulk.TIPO_COMPETENZA, parametri_cds.getBlocco_impegni_cdr_gae());
if (parametri_cds != null && mess != null && parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_ERROR))
throw new ApplicationException(mess);
if (mess != null)
messaggio = messaggio + (messaggio.equals("") ? "" : "<BR>") + mess;
} catch (RemoteException e) {
throw new ComponentException(e);
}
}
}
} catch (IntrospectionException e) {
throw new ComponentException(e);
} catch (PersistencyException e) {
throw new ComponentException(e);
}
}
if (!messaggio.equals("")) {
if (parametri_cds != null && parametri_cds.getBlocco_impegni_cdr_gae().equals(Parametri_cdsBulk.BLOCCO_IMPEGNI_WARNING))
throw handleException(new CheckDisponibilitaCdrGAEFailed(messaggio));
}
}
use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.
the class ObbligazioneComponent method sdoppiaScadenzaInAutomatico.
public IScadenzaDocumentoContabileBulk sdoppiaScadenzaInAutomatico(UserContext userContext, IScadenzaDocumentoContabileBulk scad, DatiFinanziariScadenzeDTO dati) throws ComponentException {
String nuovaGae = dati.getCdLineaAttivita();
String nuovaDescrizione = dati.getNuovaDescrizione();
Timestamp nuovaScadenza = dati.getNuovaScadenza();
String cdr = dati.getCdCentroResponsabilita();
String voce = dati.getCdVoce();
BigDecimal nuovoImportoScadenzaVecchia = dati.getNuovoImportoScadenzaVecchia();
Obbligazione_scadenzarioBulk scadenzaVecchia = (Obbligazione_scadenzarioBulk) scad;
if (nuovoImportoScadenzaVecchia.compareTo(scad.getIm_scadenza()) == 0)
throw handleException(new ApplicationException("Sdoppiamento in automatico non necessario!"));
if (nuovoImportoScadenzaVecchia.compareTo(new BigDecimal(0)) < 0)
throw handleException(new ApplicationException("L'importo della scadenza deve essere maggiore di 0"));
if (nuovoImportoScadenzaVecchia.compareTo(scad.getIm_scadenza()) == 1)
throw new ApplicationException("L'importo nuovo da assegnare alla scadenza dell'impegno deve essere inferiore al valore originario!");
try {
java.math.BigDecimal importoAssociatoScadenzaVecchia = scadenzaVecchia.getIm_associato_doc_amm();
java.math.BigDecimal vecchioImportoScadenzaVecchia = scadenzaVecchia.getIm_scadenza();
java.math.BigDecimal importoScadenzaNuova = vecchioImportoScadenzaVecchia.subtract(nuovoImportoScadenzaVecchia);
BigDecimal newImportoOsv = Utility.ZERO, totImporto = Utility.ZERO;
ObbligazioneHome obbligazioneHome = (ObbligazioneHome) getHome(userContext, ObbligazioneBulk.class);
ObbligazioneBulk obbligazione = (ObbligazioneBulk) obbligazioneHome.findByPrimaryKey(scadenzaVecchia.getObbligazione());
obbligazione = (ObbligazioneBulk) inizializzaBulkPerModifica(userContext, obbligazione);
// cerco nell'obbligazione riletto la scadenza indicata
for (Iterator s = obbligazione.getObbligazione_scadenzarioColl().iterator(); s.hasNext(); ) {
Obbligazione_scadenzarioBulk os = (Obbligazione_scadenzarioBulk) s.next();
if (os.equalsByPrimaryKey(scadenzaVecchia)) {
scadenzaVecchia = os;
if (dati.getMantieniImportoAssociatoScadenza()) {
scadenzaVecchia.setIm_associato_doc_amm(importoAssociatoScadenzaVecchia);
}
break;
}
}
if (scadenzaVecchia == null)
throw new ApplicationException("Scadenza da sdoppiare non trovata nell'impegno indicato!");
Obbligazione_scadenzarioBulk scadenzaNuova = new Obbligazione_scadenzarioBulk();
scadenzaNuova.setDt_scadenza(nuovaScadenza != null ? nuovaScadenza : scadenzaVecchia.getDt_scadenza());
scadenzaNuova.setDs_scadenza(nuovaDescrizione != null ? nuovaDescrizione : scadenzaVecchia.getDs_scadenza());
scadenzaNuova.setPg_obbligazione(dati.getNuovoPgObbligazioneScadenzario());
obbligazione.addToObbligazione_scadenzarioColl(scadenzaNuova);
// Rigenero i relativi dettagli
generaDettagliScadenzaObbligazione(userContext, obbligazione, scadenzaNuova, false);
for (Iterator s = scadenzaVecchia.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) {
Obbligazione_scad_voceBulk osvOld = (Obbligazione_scad_voceBulk) s.next();
if (nuovaGae != null && cdr != null) {
if (osvOld.getCd_linea_attivita() != null && osvOld.getCd_linea_attivita().equals(nuovaGae) && osvOld.getCd_centro_responsabilita() != null && osvOld.getCd_centro_responsabilita().equals(cdr)) {
aggiornaImportoScadVoceScadenzaNuova(importoScadenzaNuova, scadenzaNuova, osvOld);
osvOld.setIm_voce(nuovoImportoScadenzaVecchia);
osvOld.setToBeUpdated();
}
} else {
newImportoOsv = nuovoImportoScadenzaVecchia.multiply(osvOld.getIm_voce()).divide(vecchioImportoScadenzaVecchia, 2, BigDecimal.ROUND_HALF_UP);
aggiornaImportoScadVoceScadenzaNuova(newImportoOsv, scadenzaNuova, osvOld);
osvOld.setIm_voce(newImportoOsv);
osvOld.setToBeUpdated();
}
}
// Quadro la sommatoria sulla vecchia scadenza
for (Iterator s = scadenzaVecchia.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) totImporto = totImporto.add(((Obbligazione_scad_voceBulk) s.next()).getIm_voce());
if (totImporto.compareTo(nuovoImportoScadenzaVecchia) != 0) {
// recupero il primo dettaglio e lo aggiorno per quadrare
for (Iterator s = scadenzaVecchia.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) {
Obbligazione_scad_voceBulk osv = (Obbligazione_scad_voceBulk) s.next();
BigDecimal arrotondamento = nuovoImportoScadenzaVecchia.subtract(totImporto);
if (osv.getIm_voce().add(arrotondamento).compareTo(Utility.ZERO) != -1) {
osv.setIm_voce(osv.getIm_voce().add(arrotondamento));
scadenzaNuova.getObbligazione_scad_voceColl().stream().filter(el -> el.getCd_centro_responsabilita().equals(osv.getCd_centro_responsabilita())).filter(el -> el.getCd_linea_attivita().equals(osv.getCd_linea_attivita())).findFirst().ifPresent(osvNew -> osvNew.setIm_voce(osvNew.getIm_voce().subtract(arrotondamento)));
break;
}
}
}
totImporto = Utility.ZERO;
// Quadro la sommatoria sulla nuova scadenza
for (Iterator s = scadenzaNuova.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) totImporto = totImporto.add(((Obbligazione_scad_voceBulk) s.next()).getIm_voce());
if (totImporto.compareTo(importoScadenzaNuova) != 0) {
// recupero il primo dettaglio e lo aggiorno per quadrare
for (Iterator s = scadenzaNuova.getObbligazione_scad_voceColl().iterator(); s.hasNext(); ) {
Obbligazione_scad_voceBulk osv = (Obbligazione_scad_voceBulk) s.next();
if (osv.getIm_voce().add(importoScadenzaNuova.subtract(totImporto)).compareTo(Utility.ZERO) != -1) {
osv.setIm_voce(osv.getIm_voce().add(importoScadenzaNuova.subtract(totImporto)));
break;
}
}
}
scadenzaVecchia.setIm_scadenza(nuovoImportoScadenzaVecchia);
scadenzaVecchia.setToBeUpdated();
scadenzaNuova.setIm_scadenza(importoScadenzaNuova);
scadenzaNuova.setToBeCreated();
obbligazione.setToBeUpdated();
/**
* Viene posto il campo che verifica se il controllo della disponibilità
* è stato effettuato a TRUE, in quanto, l'obbligazione è in modifica
* e lo sdoppiamento delle righe non cambia il valore complessivo
* dell'obbligazione
*/
obbligazione.setCheckDisponibilitaContrattoEseguito(true);
obbligazione.setCheckDisponibilitaIncaricoRepertorioEseguito(true);
modificaConBulk(userContext, obbligazione);
return scadenzaNuova;
} catch (PersistencyException e) {
throw handleException(e);
}
}
use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.
the class ObbligazionePGiroComponent method inizializzaBulkPerModifica.
/**
* inizializzazione per modifica
* PreCondition:
* La richiesta di inizializzazione di un ImpegnoPGiroBulk per modifica
* e' stata generata
* PostCondition:
* Vengono recuperati la scadenza e il dettaglio di scadenza associati all'impegno.
* Viene recuperata l'associazione fra l'impegno e l'accertamento
* Viene recuperato l'accertamento associato all'impegno e la relativa scadenza e dettaglio scadenza
*
* @param aUC lo <code>UserContext</code> che ha generato la richiesta
* @param bulk <code>OggettoBulk</code> l'impegno su partita di giro da inizializzare per la modifica
*
* @return imp_pgiro l'impegno su partita di giro inizializzato per la modifica
*/
public OggettoBulk inizializzaBulkPerModifica(UserContext aUC, OggettoBulk bulk) throws ComponentException {
try {
if (bulk instanceof V_obbligazione_im_mandatoBulk) {
V_obbligazione_im_mandatoBulk v_obbligazione = (V_obbligazione_im_mandatoBulk) bulk;
bulk = (OggettoBulk) getHome(aUC, ImpegnoPGiroBulk.class).findByPrimaryKey(new ImpegnoPGiroBulk(v_obbligazione.getCd_cds(), v_obbligazione.getEsercizio(), v_obbligazione.getEsercizio_originale(), v_obbligazione.getPg_obbligazione()));
if (bulk == null)
throw new ApplicationException("L'impegno e' stato cancellato");
}
bulk = super.inizializzaBulkPerModifica(aUC, bulk);
ImpegnoPGiroBulk imp_pgiro = (ImpegnoPGiroBulk) bulk;
AccertamentoPGiroBulk accert_pgiro = null;
imp_pgiro.setCd_terzo_iniziale(imp_pgiro.getCd_terzo());
imp_pgiro.setIm_iniziale_obbligazione(imp_pgiro.getIm_obbligazione());
// query per recuperare la scadenza dell'obbligazione
// impegnoPgiro.getObbligazione_scadenzarioColl().add( scadenza );
Obbligazione_scadenzarioHome obblig_scadHome = (Obbligazione_scadenzarioHome) getHome(aUC, Obbligazione_scadenzarioBulk.class);
SQLBuilder sql = obblig_scadHome.createSQLBuilder();
sql.addClause("AND", "cd_cds", sql.EQUALS, imp_pgiro.getCd_cds());
sql.addClause("AND", "esercizio", sql.EQUALS, imp_pgiro.getEsercizio());
sql.addClause("AND", "esercizio_originale", sql.EQUALS, imp_pgiro.getEsercizio_originale());
sql.addClause("AND", "pg_obbligazione", sql.EQUALS, imp_pgiro.getPg_obbligazione());
List result = obblig_scadHome.fetchAll(sql);
Obbligazione_scadenzarioBulk obblig_scad = (Obbligazione_scadenzarioBulk) result.get(0);
imp_pgiro.setDt_scadenza(obblig_scad.getDt_scadenza());
imp_pgiro.getObbligazione_scadenzarioColl().add(obblig_scad);
obblig_scad.setObbligazione(imp_pgiro);
// carico l'eventuale doc.amministrativo legato alla scadenza
V_doc_passivo_obbligazioneBulk docPassivo = obblig_scadHome.findDoc_passivo(obblig_scad);
if (docPassivo != null) {
obblig_scad.setEsercizio_doc_passivo(docPassivo.getEsercizio());
obblig_scad.setPg_doc_passivo(docPassivo.getPg_documento_amm());
imp_pgiro.setEsercizio_doc_passivo(docPassivo.getEsercizio());
imp_pgiro.setPg_doc_passivo(docPassivo.getPg_documento_amm());
imp_pgiro.setCd_tipo_documento_amm(docPassivo.getCd_tipo_documento_amm());
}
// carico l'eventuale mandato associato
Mandato_rigaBulk mandato = obblig_scadHome.findMandato(obblig_scad);
if (mandato != null) {
imp_pgiro.setEsercizio_mandato(mandato.getEsercizio());
imp_pgiro.setPg_mandato(mandato.getPg_mandato());
}
// query per recuperare scad_voce dell'obbligazione
// scadenza.getObbligazione_scad_voceColl().add( scad_voce );
Obbligazione_scad_voceHome obblig_scad_voceHome = (Obbligazione_scad_voceHome) getHome(aUC, Obbligazione_scad_voceBulk.class);
sql = obblig_scad_voceHome.createSQLBuilder();
sql.addClause("AND", "cd_cds", sql.EQUALS, imp_pgiro.getCd_cds());
sql.addClause("AND", "esercizio", sql.EQUALS, imp_pgiro.getEsercizio());
sql.addClause("AND", "esercizio_originale", sql.EQUALS, imp_pgiro.getEsercizio_originale());
sql.addClause("AND", "pg_obbligazione", sql.EQUALS, imp_pgiro.getPg_obbligazione());
result = obblig_scad_voceHome.fetchAll(sql);
Obbligazione_scad_voceBulk obblig_scad_voce = (Obbligazione_scad_voceBulk) result.get(0);
obblig_scad.getObbligazione_scad_voceColl().add(obblig_scad_voce);
obblig_scad_voce.setObbligazione_scadenzario(obblig_scad);
// query associazione
// impegnoPgiro.setAssociazione( associazione );
// associazione.setObbligazione ( impegnoPgiro);
Ass_obb_acr_pgiroHome associazioneHome = (Ass_obb_acr_pgiroHome) getHome(aUC, Ass_obb_acr_pgiroBulk.class);
sql = associazioneHome.createSQLBuilder();
sql.addClause("AND", "cd_cds", sql.EQUALS, imp_pgiro.getCd_cds());
sql.addClause("AND", "esercizio", sql.EQUALS, imp_pgiro.getEsercizio());
sql.addClause("AND", "esercizio_ori_obbligazione", sql.EQUALS, imp_pgiro.getEsercizio_originale());
sql.addClause("AND", "pg_obbligazione", sql.EQUALS, imp_pgiro.getPg_obbligazione());
result = associazioneHome.fetchAll(sql);
if (result.size() > 0) {
Ass_obb_acr_pgiroBulk associazione = (Ass_obb_acr_pgiroBulk) result.get(0);
imp_pgiro.setAssociazione(associazione);
associazione.setImpegno(imp_pgiro);
// query per recuperare l'accertamentoPgiro
// associazione.setAccertamento( accertamentoPgiro);
// accertamentoPgiro.setAssociazione( associazione )
AccertamentoPGiroHome accert_pgiroHome = (AccertamentoPGiroHome) getHome(aUC, AccertamentoPGiroBulk.class);
sql = accert_pgiroHome.createSQLBuilder();
sql.addClause("AND", "cd_cds", sql.EQUALS, associazione.getCd_cds());
sql.addClause("AND", "esercizio", sql.EQUALS, associazione.getEsercizio());
sql.addClause("AND", "esercizio_originale", sql.EQUALS, associazione.getEsercizio_ori_accertamento());
sql.addClause("AND", "pg_accertamento", sql.EQUALS, associazione.getPg_accertamento());
result = accert_pgiroHome.fetchAll(sql);
accert_pgiro = (AccertamentoPGiroBulk) result.get(0);
accert_pgiro.setAssociazione(associazione);
associazione.setAccertamento(accert_pgiro);
if (accert_pgiro.getCapitolo() != null) {
Elemento_voceBulk ev = (Elemento_voceBulk) getHome(aUC, Elemento_voceBulk.class).findByPrimaryKey(new Elemento_voceBulk(accert_pgiro.getCapitolo().getCd_voce(), accert_pgiro.getCapitolo().getEsercizio(), accert_pgiro.getCapitolo().getTi_appartenenza(), accert_pgiro.getCapitolo().getTi_gestione()));
imp_pgiro.setElemento_voceContr(ev);
}
// query per recuperare la scadenza dell'accertamento
// accertamentoPgiro.getAccertamento_scadenzarioColl().add( scadenza );
Accertamento_scadenzarioHome accert_scadHome = (Accertamento_scadenzarioHome) getHome(aUC, Accertamento_scadenzarioBulk.class);
sql = accert_scadHome.createSQLBuilder();
sql.addClause("AND", "cd_cds", sql.EQUALS, accert_pgiro.getCd_cds());
sql.addClause("AND", "esercizio", sql.EQUALS, accert_pgiro.getEsercizio());
sql.addClause("AND", "esercizio_originale", sql.EQUALS, accert_pgiro.getEsercizio_originale());
sql.addClause("AND", "pg_accertamento", sql.EQUALS, accert_pgiro.getPg_accertamento());
result = accert_scadHome.fetchAll(sql);
Accertamento_scadenzarioBulk accert_scad = (Accertamento_scadenzarioBulk) result.get(0);
accert_pgiro.setDt_scadenza(accert_scad.getDt_scadenza_incasso());
accert_pgiro.getAccertamento_scadenzarioColl().add(accert_scad);
accert_scad.setAccertamento(accert_pgiro);
// carico l'eventuale doc.amministrativo legato alla scadenza
V_doc_attivo_accertamentoBulk docAttivo = accert_scadHome.findDoc_attivo(accert_scad);
if (docAttivo != null) {
accert_scad.setEsercizio_doc_attivo(docAttivo.getEsercizio());
accert_scad.setPg_doc_attivo(docAttivo.getPg_documento_amm());
}
// query per recuperare scad_voce dell'accertamento
// scadenza.getAccertamento_scad_voceColl().add( scad_voce );
Accertamento_scad_voceHome accert_scad_voceHome = (Accertamento_scad_voceHome) getHome(aUC, Accertamento_scad_voceBulk.class);
sql = accert_scad_voceHome.createSQLBuilder();
sql.addClause("AND", "cd_cds", sql.EQUALS, accert_pgiro.getCd_cds());
sql.addClause("AND", "esercizio", sql.EQUALS, accert_pgiro.getEsercizio());
sql.addClause("AND", "esercizio_originale", sql.EQUALS, accert_pgiro.getEsercizio_originale());
sql.addClause("AND", "pg_accertamento", sql.EQUALS, accert_pgiro.getPg_accertamento());
result = accert_scad_voceHome.fetchAll(sql);
Accertamento_scad_voceBulk accert_scad_voce = (Accertamento_scad_voceBulk) result.get(0);
accert_scad.getAccertamento_scad_voceColl().add(accert_scad_voce);
accert_scad_voce.setAccertamento_scadenzario(accert_scad);
}
// query per recuperare cd_uo_ente dell'impegno
Unita_organizzativa_enteHome uo_enteHome = (Unita_organizzativa_enteHome) getHome(aUC, Unita_organizzativa_enteBulk.class);
sql = uo_enteHome.createSQLBuilder();
result = uo_enteHome.fetchAll(sql);
Unita_organizzativa_enteBulk uo_ente = (Unita_organizzativa_enteBulk) result.get(0);
imp_pgiro.setCd_uo_ente(uo_ente.getCd_unita_organizzativa());
if (accert_pgiro != null) {
accert_pgiro.setCd_uo_ente(uo_ente.getCd_unita_organizzativa());
if ((accert_pgiro.getDt_cancellazione() == null && imp_pgiro.getDt_cancellazione() != null) || (accert_pgiro.getDt_cancellazione() != null && imp_pgiro.getDt_cancellazione() == null)) {
accert_pgiro.setFl_isTronco(true);
imp_pgiro.setFl_isTronco(true);
}
}
return imp_pgiro;
} catch (Exception e) {
throw handleException(bulk, e);
}
}
use of it.cnr.jada.comp.ComponentException in project sigla-main by consiglionazionaledellericerche.
the class ObbligazionePGiroComponent method creaObbligazione_scad_voce.
/**
* creazione
* PreCondition:
* una scadenza di un impegno pgiro e' stata creata ed e' necessario creare il suo dettaglio
* PostCondition:
* Il dettaglio di scadenza (Obbligazione_scad_voceBulk) viene creato
* con linea attività uguale alla linea di attività definita nella Configurazione CNR come Linea attività Spesa ENTE
* e importo uguale all'importo della scadenza dell'obbligazione
* errore - Configurazione CNR
* PreCondition:
* una richiesta di creazione di un dettaglio di scadenza di un impegno pgiro e' stata generata
* ma non e' stata definita in Configurazione CNR la Linea attività Spesa ENTE
* PostCondition:
* Un messaggio di errore segnala all'utente la mancata definizione in Configurazione CNR della linea di attivita' Spesa ENTE
*
* @param uc lo <code>UserContext</code> che ha generato la richiesta
* @param obblig_scad <code>Obbligazione_scadenzarioBulk</code> la scadenza dell'impegno pgiro creata
*
* @return obblig_scad_voce Il dettaglio di scadenza dell'impegno pgiro creato
*/
private Obbligazione_scad_voceBulk creaObbligazione_scad_voce(UserContext uc, Obbligazione_scadenzarioBulk obblig_scad) throws ComponentException {
try {
Obbligazione_scad_voceBulk obblig_scad_voce = new Obbligazione_scad_voceBulk();
obblig_scad_voce.setUser(obblig_scad.getObbligazione().getUser());
obblig_scad_voce.setToBeCreated();
// campi chiave
obblig_scad_voce.setObbligazione_scadenzario(obblig_scad);
// altri campi chiave
obblig_scad_voce.setTi_appartenenza(obblig_scad.getObbligazione().getTi_appartenenza());
obblig_scad_voce.setTi_gestione(obblig_scad.getObbligazione().getTi_gestione());
obblig_scad_voce.setCd_voce(obblig_scad.getObbligazione().getElemento_voce().getCd_elemento_voce());
it.cnr.contab.config00.bulk.Configurazione_cnrBulk config = createConfigurazioneCnrComponentSession().getConfigurazione(uc, null, null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_LINEA_ATTIVITA_SPECIALE, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_LINEA_ATTIVITA_SPESA_ENTE);
if (config != null) {
it.cnr.contab.config00.latt.bulk.WorkpackageBulk latt = new it.cnr.contab.config00.latt.bulk.WorkpackageBulk(config.getVal01(), config.getVal02());
obblig_scad_voce.setLinea_attivita(latt);
} else
throw new ApplicationException("Configurazione CNR: manca la definizione del GAE SPESA ENTE");
// altri campi
obblig_scad_voce.setIm_voce(obblig_scad.getObbligazione().getIm_obbligazione());
// obblig_scad_voce.setCd_fondo_ricerca( obblig_scad.getObbligazione().getCd_fondo_ricerca() );
obblig_scad.getObbligazione_scad_voceColl().add(obblig_scad_voce);
return obblig_scad_voce;
} catch (Exception e) {
throw handleException(e);
}
}
Aggregations