Search in sources :

Example 1 with Documento_genericoBulk

use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDDocumentoGenericoAttivoBP method sdoppiaDettaglioInAutomatico.

public void sdoppiaDettaglioInAutomatico(ActionContext context) throws ValidationException, BusinessProcessException {
    try {
        it.cnr.contab.doccont00.ejb.AccertamentoAbstractComponentSession h = it.cnr.contab.doccont00.bp.CRUDVirtualAccertamentoBP.getVirtualComponentSession(context, true);
        DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
        Documento_genericoBulk documento = (Documento_genericoBulk) getModel();
        Documento_generico_rigaBulk dettaglioSelezionato = (Documento_generico_rigaBulk) getDettaglio().getModel();
        Accertamento_scadenzarioBulk scadenzaNuova = null;
        if (dettaglioSelezionato == null)
            return;
        if (documento.getStato_cofi() != null && documento.getStato_cofi().equals(Documento_genericoBulk.STATO_PAGATO))
            setMessage("Non è possibile sdoppiare righe in un documento pagato");
        if (dettaglioSelezionato.getIm_riga() == null) {
            setMessage("Non è possibile sdoppiare righe in cui l'importo di origine non è valorizzato");
            return;
        }
        if (dettaglioSelezionato.getIm_riga_sdoppia() == null || dettaglioSelezionato.getIm_riga_sdoppia().equals(Utility.ZERO) || dettaglioSelezionato.getIm_riga_sdoppia().compareTo(dettaglioSelezionato.getIm_riga()) != -1) {
            setMessage("L'importo nuovo della riga da sdoppiare deve essere positivo ed inferiore " + "all'importo originario del riga stessa");
            return;
        }
        Accertamento_scadenzarioBulk scadenzaVecchia = dettaglioSelezionato.getAccertamento_scadenziario();
        java.math.BigDecimal newImportoRigaVecchia = dettaglioSelezionato.getIm_riga_sdoppia();
        java.math.BigDecimal newImportoRigaNuova = dettaglioSelezionato.getIm_riga().subtract(dettaglioSelezionato.getIm_riga_sdoppia());
        if (dettaglioSelezionato.getAccertamento_scadenziario() != null) {
            /*
                 * L'importo della scadenza vecchia sarà pari al valore iniziale diminuito del valore originario del
                 * dettaglio e aumentato del valore nuovo.
                 * Ciò al fine di gestire il caso di utenti che collegano più dettagli di documento alla stessa scadenza
                 */
            scadenzaNuova = (Accertamento_scadenzarioBulk) h.sdoppiaScadenzaInAutomatico(context.getUserContext(), scadenzaVecchia, scadenzaVecchia.getIm_scadenza().subtract(Utility.nvl(dettaglioSelezionato.getIm_riga())).add(Utility.nvl(dettaglioSelezionato.getIm_riga_sdoppia())));
            // ricarico l'accertamento e recupero i riferimenti alle scadenze
            AccertamentoBulk accertamento = (AccertamentoBulk) h.inizializzaBulkPerModifica(context.getUserContext(), scadenzaNuova.getAccertamento());
            if (!accertamento.getAccertamento_scadenzarioColl().containsByPrimaryKey(scadenzaVecchia) || !accertamento.getAccertamento_scadenzarioColl().containsByPrimaryKey(scadenzaNuova))
                throw new ValidationException("Errore nello sdoppiamento della scadenza dell'accertamento.");
            scadenzaVecchia = accertamento.getAccertamento_scadenzarioColl().get(accertamento.getAccertamento_scadenzarioColl().indexOfByPrimaryKey(scadenzaVecchia));
            scadenzaNuova = accertamento.getAccertamento_scadenzarioColl().get(accertamento.getAccertamento_scadenzarioColl().indexOfByPrimaryKey(scadenzaNuova));
        }
        // creo la nuova riga di dettaglio e la associo al documento
        Documento_generico_rigaBulk nuovoDettaglio = new Documento_generico_rigaBulk();
        getDettaglio().addDetail(nuovoDettaglio);
        nuovoDettaglio = copyByRigaDocumento(context, nuovoDettaglio, dettaglioSelezionato);
        // Aggiorno la vecchia riga di dettaglio ed in particolare l'importo della riga da sdoppiare
        // del doc amministrativo
        dettaglioSelezionato.setIm_riga(newImportoRigaVecchia);
        dettaglioSelezionato.setIm_riga_divisa(newImportoRigaVecchia);
        dettaglioSelezionato.setToBeUpdated();
        if (scadenzaVecchia != null) {
            dettaglioSelezionato.setAccertamento_scadenziario(scadenzaVecchia);
            documento.addToDefferredSaldi(scadenzaVecchia.getAccertamento(), scadenzaVecchia.getAccertamento().getSaldiInfo());
        }
        if (scadenzaNuova != null) {
            BulkList selectedModels = new BulkList();
            selectedModels.add(nuovoDettaglio);
            documento = session.contabilizzaDettagliSelezionati(context.getUserContext(), documento, selectedModels, scadenzaNuova);
            documento.addToDefferredSaldi(scadenzaNuova.getAccertamento(), scadenzaNuova.getAccertamento().getSaldiInfo());
        }
        documento = session.rebuildDocumento(context.getUserContext(), documento);
        getAccertamentiController().getSelection().clear();
        getAccertamentiController().setModelIndex(context, -1);
        getAccertamentiController().setModelIndex(context, it.cnr.jada.bulk.BulkCollections.indexOfByPrimaryKey(getAccertamentiController().getDetails(), dettaglioSelezionato));
        documento.setDetailDoubled(true);
        setModel(context, documento);
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : ValidationException(it.cnr.jada.bulk.ValidationException) Accertamento_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Accertamento_scadenzarioBulk) AccertamentoBulk(it.cnr.contab.doccont00.core.bulk.AccertamentoBulk) BulkList(it.cnr.jada.bulk.BulkList) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) EJBException(javax.ejb.EJBException) ComponentException(it.cnr.jada.comp.ComponentException) DocumentoGenericoComponentSession(it.cnr.contab.docamm00.ejb.DocumentoGenericoComponentSession)

Example 2 with Documento_genericoBulk

use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDDocumentoGenericoAttivoBP method riportaAvanti.

public void riportaAvanti(ActionContext context) throws ValidationException, BusinessProcessException {
    try {
        DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
        Documento_genericoBulk docCarried = (Documento_genericoBulk) session.riportaAvanti(context.getUserContext(), (IDocumentoAmministrativoBulk) getModel(), getUserConfirm());
        setModel(context, docCarried);
    } catch (Exception e) {
        throw handleException(e);
    } finally {
        setUserConfirm(null);
    }
}
Also used : ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) EJBException(javax.ejb.EJBException) ComponentException(it.cnr.jada.comp.ComponentException) DocumentoGenericoComponentSession(it.cnr.contab.docamm00.ejb.DocumentoGenericoComponentSession)

Example 3 with Documento_genericoBulk

use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDDocumentoGenericoAttivoBP method initializeModelForGenericSearch.

public it.cnr.jada.ejb.CRUDComponentSession initializeModelForGenericSearch(it.cnr.jada.util.action.BulkBP bp, it.cnr.jada.action.ActionContext context) throws BusinessProcessException {
    DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
    Filtro_ricerca_doc_ammVBulk filtro = (Filtro_ricerca_doc_ammVBulk) bp.getModel();
    Documento_genericoBulk dg = (Documento_genericoBulk) filtro.getInstance();
    try {
        Documento_genericoBulk clause = (Documento_genericoBulk) dg.clone();
        clause.setTi_entrate_spese(Documento_genericoBulk.ENTRATE);
        java.util.Collection tipiDocumentoEntrata = session.findTipi_doc_for_search(context.getUserContext(), clause);
        dg.setTipi_doc_for_search(tipiDocumentoEntrata);
    } catch (Throwable t) {
        throw new BusinessProcessException(t.getMessage(), t);
    }
    return session;
}
Also used : BusinessProcessException(it.cnr.jada.action.BusinessProcessException) DocumentoGenericoComponentSession(it.cnr.contab.docamm00.ejb.DocumentoGenericoComponentSession)

Example 4 with Documento_genericoBulk

use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDDocumentoGenericoPassivoBP method initializeModelForGenericSearch.

public it.cnr.jada.ejb.CRUDComponentSession initializeModelForGenericSearch(it.cnr.jada.util.action.BulkBP bp, it.cnr.jada.action.ActionContext context) throws BusinessProcessException {
    DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
    Filtro_ricerca_doc_ammVBulk filtro = (Filtro_ricerca_doc_ammVBulk) bp.getModel();
    Documento_genericoBulk dg = (Documento_genericoBulk) filtro.getInstance();
    try {
        Documento_genericoBulk clause = (Documento_genericoBulk) dg.clone();
        clause.setTi_entrate_spese(Documento_genericoBulk.ENTRATE);
        java.util.Collection tipiDocumentoEntrata = session.findTipi_doc_for_search(context.getUserContext(), clause);
        dg.setTipi_doc_for_search(tipiDocumentoEntrata);
    } catch (Throwable t) {
        throw new BusinessProcessException(t.getMessage(), t);
    }
    return session;
}
Also used : BusinessProcessException(it.cnr.jada.action.BusinessProcessException) DocumentoGenericoComponentSession(it.cnr.contab.docamm00.ejb.DocumentoGenericoComponentSession)

Example 5 with Documento_genericoBulk

use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.

the class ReversaleComponent method annullaReversaleDiTrasferimento.

/**
 * annullamento
 * PreCondition:
 * E' stata generata la richiesta di annullare una Reversale di Trasferimento
 * PostCondition:
 * Viene richiesta alla Component che gestisce il Documento Generico l'annullamento della
 * reversale di Trasferimento (metodo annullaReversale) e di eventuali documenti
 * generici associati alla reversale (metodo docGenerico_annullaDocumentoGenerico).
 *
 * @param userContext lo <code>UserContext</code> che ha generato la richiesta
 * @param reversale   <code>ReversaleBulk</code> la reversale di trasferimento da annullare
 */
public void annullaReversaleDiTrasferimento(UserContext userContext, ReversaleBulk reversale) throws ComponentException {
    try {
        /* REVERSALE */
        annullaReversale(userContext, reversale);
        /* DOC GENERICO */
        Reversale_rigaBulk rRiga = (Reversale_rigaBulk) reversale.getReversale_rigaColl().get(0);
        Documento_genericoBulk docGenerico = new Documento_genericoBulk(rRiga.getCd_cds(), rRiga.getCd_tipo_documento_amm(), rRiga.getCd_uo_doc_amm(), rRiga.getEsercizio_doc_amm(), rRiga.getPg_doc_amm());
        DocumentoGenericoComponentSession docSession = createDocumentoGenericoComponentSession();
        docGenerico = (Documento_genericoBulk) docSession.inizializzaBulkPerModifica(userContext, docGenerico);
        /*????? annulla documento contabile */
        // docSession.eliminaConBulk( userContext, docGenerico );
        docGenerico_annullaDocumentoGenerico(userContext, docGenerico);
        /* ACR_SISTEMA */
        Documento_generico_rigaBulk dRiga;
        AccertamentoCdsBulk accertamento;
        AccertamentoComponentSession acrSession = createAccertamentoComponentSession();
        for (Iterator i = docGenerico.getDocumento_generico_dettColl().iterator(); i.hasNext(); ) {
            dRiga = (Documento_generico_rigaBulk) i.next();
            accertamento = new AccertamentoCdsBulk(dRiga.getAccertamento_scadenziario().getCd_cds(), dRiga.getAccertamento_scadenziario().getEsercizio(), dRiga.getAccertamento_scadenziario().getEsercizio_originale(), dRiga.getAccertamento_scadenziario().getPg_accertamento());
            accertamento = (AccertamentoCdsBulk) acrSession.inizializzaBulkPerModifica(userContext, accertamento);
            acrSession.annullaAccertamento(userContext, accertamento);
        // acrSession.eliminaConBulk( userContext, accertamento );
        }
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : AccertamentoComponentSession(it.cnr.contab.doccont00.ejb.AccertamentoComponentSession) ParseException(java.text.ParseException) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) SQLException(java.sql.SQLException) PersistencyException(it.cnr.jada.persistency.PersistencyException) IOException(java.io.IOException) DocumentoGenericoComponentSession(it.cnr.contab.docamm00.ejb.DocumentoGenericoComponentSession)

Aggregations

ApplicationException (it.cnr.jada.comp.ApplicationException)49 ComponentException (it.cnr.jada.comp.ComponentException)39 CRUDDocumentoGenericoPassivoBP (it.cnr.contab.docamm00.bp.CRUDDocumentoGenericoPassivoBP)36 PersistencyException (it.cnr.jada.persistency.PersistencyException)33 RemoteException (java.rmi.RemoteException)31 CRUDDocumentoGenericoAttivoBP (it.cnr.contab.docamm00.bp.CRUDDocumentoGenericoAttivoBP)30 DocumentoGenericoComponentSession (it.cnr.contab.docamm00.ejb.DocumentoGenericoComponentSession)29 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)25 ValidationException (it.cnr.jada.bulk.ValidationException)24 it.cnr.contab.doccont00.core.bulk (it.cnr.contab.doccont00.core.bulk)22 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)22 EJBException (javax.ejb.EJBException)22 it.cnr.contab.docamm00.docs.bulk (it.cnr.contab.docamm00.docs.bulk)20 SQLException (java.sql.SQLException)20 it.cnr.contab.anagraf00.core.bulk (it.cnr.contab.anagraf00.core.bulk)17 it.cnr.contab.config00.sto.bulk (it.cnr.contab.config00.sto.bulk)17 it.cnr.jada.bulk (it.cnr.jada.bulk)17 CRUDBP (it.cnr.jada.util.action.CRUDBP)17 it.cnr.contab.inventario00.docs.bulk (it.cnr.contab.inventario00.docs.bulk)15 it.cnr.contab.inventario01.bulk (it.cnr.contab.inventario01.bulk)15