Search in sources :

Example 1 with ImpegnoPGiroBulk

use of it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk 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);
    }
}
Also used : Ass_obb_acr_pgiroHome(it.cnr.contab.doccont00.core.bulk.Ass_obb_acr_pgiroHome) AccertamentoPGiroHome(it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroHome) Unita_organizzativa_enteBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Obbligazione_scadenzarioHome(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioHome) V_doc_attivo_accertamentoBulk(it.cnr.contab.doccont00.core.bulk.V_doc_attivo_accertamentoBulk) Obbligazione_scad_voceBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceBulk) Accertamento_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioBulk) Obbligazione_scad_voceHome(it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceHome) V_obbligazione_im_mandatoBulk(it.cnr.contab.doccont00.core.bulk.V_obbligazione_im_mandatoBulk) Mandato_rigaBulk(it.cnr.contab.doccont00.core.bulk.Mandato_rigaBulk) Ass_obb_acr_pgiroBulk(it.cnr.contab.doccont00.core.bulk.Ass_obb_acr_pgiroBulk) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) SQLException(java.sql.SQLException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComponentException(it.cnr.jada.comp.ComponentException) ImpegnoPGiroBulk(it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk) Accertamento_scad_voceBulk(it.cnr.contab.doccont00.core.bulk.Accertamento_scad_voceBulk) V_doc_passivo_obbligazioneBulk(it.cnr.contab.doccont00.core.bulk.V_doc_passivo_obbligazioneBulk) Accertamento_scadenzarioHome(it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioHome) ApplicationException(it.cnr.jada.comp.ApplicationException) Unita_organizzativa_enteHome(it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteHome) List(java.util.List) Obbligazione_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk) AccertamentoPGiroBulk(it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk) Accertamento_scad_voceHome(it.cnr.contab.doccont00.core.bulk.Accertamento_scad_voceHome)

Example 2 with ImpegnoPGiroBulk

use of it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk in project sigla-main by consiglionazionaledellericerche.

the class ObbligazionePGiroComponent method creaAss_obb_acr_pgiro.

/**
 *  creazione
 *    PreCondition:
 *      un impegno pgiro ed un accertamento pgiro sono stati creati ed e' necessario creare
 *      l'associazione (Ass_obb_acr_pgiroBulk) fra i due
 *    PostCondition:
 *      L'associazione fra accertamento e impegno su partita di giro e' stata creata
 *
 * @param uc lo <code>UserContext</code> che ha generato la richiesta
 * @param imp_pgiro <code>ImpegnoPGiroBulk</code> l'impegno da associare ad un accertamento su partita di giro
 * @param accert_pgiro <code>AccertamentoPGiroBulk</code> l'accertamento su partita di giro da associare ad un impegno
 *
 * @return <code>Ass_obb_acr_pgiroBulk</code> L'associazione obbligazione-accertamento su partita di giro da creare
 */
public Ass_obb_acr_pgiroBulk creaAss_obb_acr_pgiro(UserContext uc, ImpegnoPGiroBulk imp_pgiro, AccertamentoPGiroBulk accert_pgiro) throws ComponentException {
    Ass_obb_acr_pgiroBulk ass_oa_pgiro = new Ass_obb_acr_pgiroBulk();
    ass_oa_pgiro.setUser(imp_pgiro.getUser());
    ass_oa_pgiro.setToBeCreated();
    ass_oa_pgiro.setEsercizio_ori_accertamento(accert_pgiro.getEsercizio_originale());
    ass_oa_pgiro.setPg_accertamento(accert_pgiro.getPg_accertamento());
    ass_oa_pgiro.setEsercizio_ori_obbligazione(imp_pgiro.getEsercizio_originale());
    ass_oa_pgiro.setPg_obbligazione(imp_pgiro.getPg_obbligazione());
    // campi chiave
    ass_oa_pgiro.setEsercizio(imp_pgiro.getEsercizio());
    ass_oa_pgiro.setCd_cds(imp_pgiro.getCd_cds());
    ass_oa_pgiro.setTi_origine(ass_oa_pgiro.TIPO_SPESA);
    return (Ass_obb_acr_pgiroBulk) super.creaConBulk(uc, ass_oa_pgiro);
}
Also used : Ass_obb_acr_pgiroBulk(it.cnr.contab.doccont00.core.bulk.Ass_obb_acr_pgiroBulk)

Example 3 with ImpegnoPGiroBulk

use of it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk in project sigla-main by consiglionazionaledellericerche.

the class ObbligazionePGiroComponent method verificaObbligazione.

/**
 *  Tutti controlli superati
 *    PreCondition:
 *      La data di registrazione dell'obbligazione su partita di giro è corretta.
 *    PostCondition:
 *      L'obbligazione su partita di giro è valida. E' consentito eseguire l'attività di salvataggio.
 *  La data di registrazione dell'obbligazione su partita di giro non è corretta.
 *    PreCondition:
 *     E' stata inserita dall'utente una data di registrazione antecedente a quella dell'ultima obbligazione pgiro
 *		salvata sul database
 *    PostCondition:
 *      L'utente viene avvisato tramite un messaggio di errore che non è possibile inserire un'obbligazione su partita
 *		 di giro con data anteriore a quella dell'ultima obbligazione salvata su database. L'attività non è consentita.
 *
 * @param userContext lo <code>UserContext</code> che ha generato la richiesta
 * @param impegno <code>ImpegnoPGiroBulk</code> l'obbligazione su partita di giro da validare
 */
protected void verificaObbligazione(UserContext userContext, ImpegnoPGiroBulk impegno) throws it.cnr.jada.persistency.PersistencyException, ComponentException, ApplicationException, javax.ejb.EJBException {
    if (impegno.isToBeCreated()) {
        Timestamp lastDayOfTheYear = DateServices.getLastDayOfYear(impegno.getEsercizio().intValue());
        if (impegno.getDt_registrazione().before(DateServices.getFirstDayOfYear(impegno.getEsercizio().intValue())) || impegno.getDt_registrazione().after(lastDayOfTheYear))
            throw new ApplicationException("La data di registrazione deve appartenere all'esercizio di scrivania");
        Timestamp today = it.cnr.jada.util.ejb.EJBCommonServices.getServerDate();
        if (today.after(lastDayOfTheYear) && impegno.getDt_registrazione().compareTo(lastDayOfTheYear) != 0)
            throw new ApplicationException("La data di registrazione deve essere " + java.text.DateFormat.getDateInstance().format(lastDayOfTheYear));
        Timestamp dataUltObbligazione = ((ImpegnoPGiroHome) getHome(userContext, ImpegnoPGiroBulk.class)).findDataUltimaObbligazionePerCds(impegno);
        if (dataUltObbligazione != null && dataUltObbligazione.after(impegno.getDt_registrazione()))
            throw new ApplicationException("Non è possibile inserire un'Annotazione di Spesa su Partita di Giro con data anteriore a " + java.text.DateFormat.getDateTimeInstance().format(dataUltObbligazione));
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) Timestamp(java.sql.Timestamp) ImpegnoPGiroHome(it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroHome) ImpegnoPGiroBulk(it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk)

Example 4 with ImpegnoPGiroBulk

use of it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk in project sigla-main by consiglionazionaledellericerche.

the class ObbligazionePGiroComponent method findPGiroDaRiportareAvanti.

/* verifico nella vista V_OBB_ACC_RIPORTA quali delle 2 parti della partita di giro devo passare alla
   stored procedure che effettua il riporta avanti */
protected IDocumentoContabileBulk findPGiroDaRiportareAvanti(UserContext userContext, IDocumentoContabileBulk doc) throws ComponentException {
    try {
        SQLBuilder sql = selectPGiroDaRiportare(userContext, doc, "V_OBB_ACC_RIPORTA");
        List result = getHome(userContext, V_obb_acc_xxxBulk.class, "V_OBB_ACC_RIPORTA").fetchAll(sql);
        if (result != null && result.size() > 0)
            return doc;
        if (doc instanceof ImpegnoPGiroBulk) {
            // per le partite di giro bisogna passare alla procedura PL/SQL sempre
            // la parte che ha aperto la partita di giro
            ImpegnoPGiroBulk imp = (ImpegnoPGiroBulk) doc;
            if (imp.getAssociazione() != null && imp.getAssociazione().getAccertamento() != null) {
                doc = imp.getAssociazione().getAccertamento();
                sql = selectPGiroDaRiportare(userContext, doc, "V_OBB_ACC_RIPORTA");
                result = getHome(userContext, V_obb_acc_xxxBulk.class, "V_OBB_ACC_RIPORTA").fetchAll(sql);
                if (result != null && result.size() > 0)
                    return doc;
            }
        } else if (doc instanceof AccertamentoPGiroBulk) {
            AccertamentoPGiroBulk acr = (AccertamentoPGiroBulk) doc;
            if (acr.getAssociazione() != null && acr.getAssociazione().getImpegno() != null) {
                doc = acr.getAssociazione().getImpegno();
                sql = selectPGiroDaRiportare(userContext, doc, "V_OBB_ACC_RIPORTA");
                result = getHome(userContext, V_obb_acc_xxxBulk.class, "V_OBB_ACC_RIPORTA").fetchAll(sql);
                if (result != null && result.size() > 0)
                    return doc;
            }
        }
        return null;
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) V_obb_acc_xxxBulk(it.cnr.contab.chiusura00.bulk.V_obb_acc_xxxBulk) List(java.util.List) AccertamentoPGiroBulk(it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk) SQLException(java.sql.SQLException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComponentException(it.cnr.jada.comp.ComponentException) ImpegnoPGiroBulk(it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk)

Example 5 with ImpegnoPGiroBulk

use of it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk in project sigla-main by consiglionazionaledellericerche.

the class ObbligazionePGiroComponent method aggiornaSaldiInDifferita.

/**
 * Aggiornamento in differita dei saldi dell'obbligazione su partita di giro.
 * Un documento amministrativo di spesa che agisce in modalità transazionale ha creato/modificato gli importi
 * relativi ad un impegno pgiro; i saldi di tale impegno non possono essere aggiornati subito in quanto
 * tale operazione genererebbe dei lock sulle voci del piano che non ne consentirebbere l'utilizzo ad altri utenti;
 * pertanto l'aggiornamento dei saldi dell'obbligazione pgiro viene differito al momento del salvataggio
 * del documento amministrativo.
 *
 * Pre-post-conditions:
 *
 * Nome: Aggiorna saldi per obbligazione su partita di giro creata
 * Pre:  Una richiesta di aggiornamento dei saldi in differita e' stata generata per un'obbligazione su capitoli di
 *       partita di giro che e' stata creata nel contesto transazionale del documento amministrativo ( progressivo
 *       impegno pgiro < 0)
 * Post: I saldi dell'obbligazione pgiro sono stati aggiornati nel metodo 'aggiornaSaldiInInserimento'
 *
 * Nome: Aggiorna saldi per obbligazione su partita di giro esistente
 * Pre:  Una richiesta di aggiornamento dei saldi in differita e' stata generata per un'obbligazione su capitoli di
 *       partita di giro che non e' stata creata nel contesto transazionale del documento amministrativo ( progressivo
 *       impegno pgiro > 0)
 * Post: I saldi dell'obbligazione pgiro sono stati aggiornati nel metodo 'aggiornaSaldiInModifica'
 *
 * @param	userContext	lo UserContext che ha generato la richiesta
 * @param	docContabile	l'ImpegnoPGiroBulk per cui aggiornare i saldi
 * @param	values	la Map che contiene il "pg_ver_rec" iniziale dell'impegno
 * @param	param parametro non utilizzato per le partite di giro
 */
public void aggiornaSaldiInDifferita(UserContext userContext, IDocumentoContabileBulk docContabile, Map values, OptionRequestParameter param) throws ComponentException {
    try {
        if (docContabile instanceof ImpegnoPGiroBulk) {
            ImpegnoPGiroBulk imp_pgiro = (ImpegnoPGiroBulk) docContabile;
            Long pg_ver_rec = (Long) values.get("pg_ver_rec");
            if (pg_ver_rec == null)
                throw new ApplicationException("Aggiornamento in differita dei saldi dei documenti contabili impossibile (pg_ver_rec nullo)");
            if (// obbligazione appena inserita
            imp_pgiro.getPg_obbligazione().longValue() < 0)
                aggiornaSaldiInInserimento(userContext, imp_pgiro, true);
            else
                aggiornaSaldiInModifica(userContext, imp_pgiro, pg_ver_rec, true);
        }
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) SQLException(java.sql.SQLException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComponentException(it.cnr.jada.comp.ComponentException) ImpegnoPGiroBulk(it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk)

Aggregations

ImpegnoPGiroBulk (it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk)14 ApplicationException (it.cnr.jada.comp.ApplicationException)14 PersistencyException (it.cnr.jada.persistency.PersistencyException)12 ComponentException (it.cnr.jada.comp.ComponentException)10 SQLException (java.sql.SQLException)10 Obbligazione_scadenzarioBulk (it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk)7 Parametri_cnrBulk (it.cnr.contab.config00.bulk.Parametri_cnrBulk)5 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)5 BigDecimal (java.math.BigDecimal)5 List (java.util.List)5 Elemento_voceBulk (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk)4 Unita_organizzativa_enteBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk)4 AccertamentoPGiroBulk (it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk)4 Ass_partita_giroBulk (it.cnr.contab.doccont00.core.bulk.Ass_partita_giroBulk)4 Ass_partita_giroHome (it.cnr.contab.doccont00.core.bulk.Ass_partita_giroHome)4 Obbligazione_scad_voceBulk (it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceBulk)4 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)4 Accertamento_scad_voceBulk (it.cnr.contab.doccont00.core.bulk.Accertamento_scad_voceBulk)3 Accertamento_scadenzarioBulk (it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioBulk)3 Ass_obb_acr_pgiroBulk (it.cnr.contab.doccont00.core.bulk.Ass_obb_acr_pgiroBulk)3