Search in sources :

Example 1 with it.cnr.contab.doccont00.core.bulk

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

the class CRUDFatturaPassivaBP method sdoppiaDettaglioInAutomatico.

public void sdoppiaDettaglioInAutomatico(ActionContext context) throws ValidationException, BusinessProcessException {
    try {
        it.cnr.contab.doccont00.ejb.ObbligazioneAbstractComponentSession h = it.cnr.contab.doccont00.bp.CRUDVirtualObbligazioneBP.getVirtualComponentSession(context, true);
        FatturaPassivaComponentSession session = (FatturaPassivaComponentSession) createComponentSession();
        Fattura_passivaBulk documento = (Fattura_passivaBulk) getModel();
        Fattura_passiva_rigaIBulk dettaglioSelezionato = (Fattura_passiva_rigaIBulk) getDettaglio().getModel();
        Obbligazione_scadenzarioBulk scadenzaNuova = null;
        if (dettaglioSelezionato == null)
            return;
        if (documento.getStato_cofi() != null && documento.getStato_cofi().equals(documento.STATO_PAGATO))
            setMessage("Non è possibile sdoppiare righe in un documento pagato.");
        if (dettaglioSelezionato.getIm_riga_sdoppia() == null || dettaglioSelezionato.getIm_riga_sdoppia().equals(Utility.ZERO) || dettaglioSelezionato.getIm_riga_sdoppia().compareTo(dettaglioSelezionato.getSaldo()) != -1) {
            setMessage("Il nuovo importo della riga da sdoppiare deve essere positivo ed inferiore " + "al saldo originario.");
            return;
        }
        Obbligazione_scadenzarioBulk scadenzaVecchia = dettaglioSelezionato.getObbligazione_scadenziario();
        BigDecimal newImportoRigaVecchia = dettaglioSelezionato.getIm_riga_sdoppia().add(dettaglioSelezionato.getIm_diponibile_nc().subtract(dettaglioSelezionato.getSaldo()));
        BigDecimal newImportoRigaNuova = dettaglioSelezionato.getSaldo().subtract(dettaglioSelezionato.getIm_riga_sdoppia());
        BigDecimal newPrezzoRigaVecchia = newImportoRigaVecchia.divide(documento.getCambio(), 2, BigDecimal.ROUND_HALF_UP).divide(dettaglioSelezionato.getQuantita().multiply(dettaglioSelezionato.getVoce_iva().getPercentuale().divide(new BigDecimal(100)).add(new java.math.BigDecimal(1))), 2, BigDecimal.ROUND_HALF_UP);
        BigDecimal newPrezzoRigaNuova = dettaglioSelezionato.getPrezzo_unitario().subtract(newPrezzoRigaVecchia);
        BigDecimal oldImportoIvaVecchia = BigDecimal.ZERO;
        BigDecimal tot_imp = BigDecimal.ZERO;
        if (dettaglioSelezionato.getVoce_iva().getFl_autofattura() || documento.quadraturaInDeroga()) {
            oldImportoIvaVecchia = dettaglioSelezionato.getIm_iva();
            tot_imp = newPrezzoRigaVecchia.multiply(documento.getCambio()).multiply(dettaglioSelezionato.getQuantita()).setScale(2, BigDecimal.ROUND_HALF_UP);
        } else
            tot_imp = dettaglioSelezionato.getIm_riga_sdoppia();
        if (dettaglioSelezionato.getObbligazione_scadenziario() != null) {
            scadenzaNuova = (Obbligazione_scadenzarioBulk) h.sdoppiaScadenzaInAutomatico(context.getUserContext(), scadenzaVecchia, scadenzaVecchia.getIm_scadenza().subtract(dettaglioSelezionato.getSaldo().subtract(oldImportoIvaVecchia)).add(tot_imp));
            // ricarico obbligazione e recupero i riferimenti alle scadenze
            ObbligazioneBulk obbligazione = (ObbligazioneBulk) h.inizializzaBulkPerModifica(context.getUserContext(), scadenzaNuova.getObbligazione());
            if (!obbligazione.getObbligazione_scadenzarioColl().containsByPrimaryKey(scadenzaVecchia) || !obbligazione.getObbligazione_scadenzarioColl().containsByPrimaryKey(scadenzaNuova))
                throw new ValidationException("Errore nello sdoppiamento della scadenza dell'impegno.");
            scadenzaVecchia = (Obbligazione_scadenzarioBulk) obbligazione.getObbligazione_scadenzarioColl().get(obbligazione.getObbligazione_scadenzarioColl().indexOfByPrimaryKey(scadenzaVecchia));
            scadenzaNuova = (Obbligazione_scadenzarioBulk) obbligazione.getObbligazione_scadenzarioColl().get(obbligazione.getObbligazione_scadenzarioColl().indexOfByPrimaryKey(scadenzaNuova));
        }
        // creo la nuova riga di dettaglio e la associo al documento
        Fattura_passiva_rigaIBulk nuovoDettaglio = new Fattura_passiva_rigaIBulk();
        getDettaglio().addDetail(nuovoDettaglio);
        nuovoDettaglio = copyByRigaDocumento(context, nuovoDettaglio, dettaglioSelezionato);
        nuovoDettaglio.setQuantita(dettaglioSelezionato.getQuantita());
        nuovoDettaglio.setPrezzo_unitario(newPrezzoRigaNuova);
        nuovoDettaglio.calcolaCampiDiRiga();
        // setto im_diponibile prime per la verifica e dopo
        nuovoDettaglio.setIm_diponibile_nc(nuovoDettaglio.getSaldo());
        if (nuovoDettaglio.getIm_diponibile_nc().compareTo(newImportoRigaNuova) != 0) {
            nuovoDettaglio.setIm_iva(nuovoDettaglio.getIm_iva().add(newImportoRigaNuova.subtract(nuovoDettaglio.getIm_diponibile_nc())));
            nuovoDettaglio.setIm_totale_divisa(newImportoRigaNuova.subtract(nuovoDettaglio.getIm_iva()));
            nuovoDettaglio.setFl_iva_forzata(Boolean.TRUE);
            nuovoDettaglio.calcolaCampiDiRiga();
        }
        nuovoDettaglio.setIm_diponibile_nc(nuovoDettaglio.getSaldo());
        // Aggiorno la vecchia riga di dettaglio ed in particolare l'importo
        // della riga da sdoppiare
        // del doc amministrativo
        BigDecimal oldImpTotaleDivisa = dettaglioSelezionato.getIm_totale_divisa();
        dettaglioSelezionato.setPrezzo_unitario(newPrezzoRigaVecchia);
        dettaglioSelezionato.calcolaCampiDiRiga();
        // setto im_diponibile prime per la verifica e dopo
        dettaglioSelezionato.setIm_diponibile_nc(dettaglioSelezionato.getSaldo());
        if (dettaglioSelezionato.getIm_diponibile_nc().compareTo(newImportoRigaVecchia) != 0) {
            dettaglioSelezionato.setIm_iva(dettaglioSelezionato.getIm_iva().add(newImportoRigaVecchia.subtract(dettaglioSelezionato.getIm_diponibile_nc())));
            dettaglioSelezionato.setIm_totale_divisa(newImportoRigaVecchia.subtract(dettaglioSelezionato.getIm_iva()));
            dettaglioSelezionato.setFl_iva_forzata(Boolean.TRUE);
            dettaglioSelezionato.calcolaCampiDiRiga();
        }
        dettaglioSelezionato.setIm_diponibile_nc(dettaglioSelezionato.getSaldo());
        dettaglioSelezionato.setToBeUpdated();
        if (scadenzaVecchia != null) {
            for (Iterator i = documento.getFattura_passiva_dettColl().iterator(); i.hasNext(); ) {
                Fattura_passiva_rigaIBulk riga = (Fattura_passiva_rigaIBulk) i.next();
                if (riga.getObbligazione_scadenziario() != null && riga.getObbligazione_scadenziario().equalsByPrimaryKey(scadenzaVecchia)) {
                    riga.setObbligazione_scadenziario(scadenzaVecchia);
                    documento.addToDefferredSaldi(scadenzaVecchia.getObbligazione(), scadenzaVecchia.getObbligazione().getSaldiInfo());
                }
            }
        }
        if (scadenzaNuova != null) {
            BulkList selectedModels = new BulkList();
            selectedModels.add(nuovoDettaglio);
            documento = session.contabilizzaDettagliSelezionati(context.getUserContext(), documento, selectedModels, scadenzaNuova);
            documento.addToFattura_passiva_obbligazioniHash(scadenzaNuova, nuovoDettaglio);
            documento.addToDefferredSaldi(scadenzaNuova.getObbligazione(), scadenzaNuova.getObbligazione().getSaldiInfo());
            // Sdoppia associazione inventario in automatico
            if (nuovoDettaglio.isInventariato()) {
                // r.p. Prendo il progressivo dalla fattura_passivaBulk
                // perchè viene aggiornato
                BuonoCaricoScaricoComponentSession r = (it.cnr.contab.inventario01.ejb.BuonoCaricoScaricoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRINVENTARIO01_EJB_BuonoCaricoScaricoComponentSession", it.cnr.contab.inventario01.ejb.BuonoCaricoScaricoComponentSession.class);
                Ass_inv_bene_fatturaBulk newAss = r.sdoppiaAssociazioneFor(context.getUserContext(), (Fattura_passiva_rigaBulk) dettaglioSelezionato, (Fattura_passiva_rigaBulk) nuovoDettaglio);
                documento.addToAssociazioniInventarioHash(newAss, nuovoDettaglio);
            }
        }
        documento = (Fattura_passivaBulk) session.rebuildDocumento(context.getUserContext(), documento);
        getObbligazioniController().getSelection().clear();
        getObbligazioniController().setModelIndex(context, -1);
        getObbligazioniController().setModelIndex(context, it.cnr.jada.bulk.BulkCollections.indexOfByPrimaryKey(getObbligazioniController().getDetails(), dettaglioSelezionato));
        documento.setDetailDoubled(true);
        setModel(context, documento);
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : ValidationException(it.cnr.jada.bulk.ValidationException) BulkList(it.cnr.jada.bulk.BulkList) Ass_inv_bene_fatturaBulk(it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk) BuonoCaricoScaricoComponentSession(it.cnr.contab.inventario01.ejb.BuonoCaricoScaricoComponentSession) FatturaPassivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaPassivaComponentSession) BigDecimal(java.math.BigDecimal) ServletException(javax.servlet.ServletException) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) TransformerException(javax.xml.transform.TransformerException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) IOException(java.io.IOException) ComponentException(it.cnr.jada.comp.ComponentException) BigDecimal(java.math.BigDecimal) ObbligazioneBulk(it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk) Iterator(java.util.Iterator) Obbligazione_scadenzarioBulk(it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk)

Example 2 with it.cnr.contab.doccont00.core.bulk

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

the class CRUDNotaDiCreditoAttivaAction method basicDoModificaScadenzaObbligazioneInAutomatico.

/**
 * Richiede all'obbligazione di modificare in automatico la sua scadenza (quella
 * selezionata) portando la stessa ad importo pari alla sommatoria degli importi
 * di riga dei dettagli associati. Aggiorna la mappa dei saldi per le variazioni
 * subite dall'obbligazione
 *
 * @param context	L'ActionContext della richiesta
 * @return Il Forward alla pagina di risposta
 */
private Forward basicDoModificaScadenzaObbligazioneInAutomatico(ActionContext context) {
    try {
        CRUDNotaDiCreditoAttivaBP bp = (CRUDNotaDiCreditoAttivaBP) getBusinessProcess(context);
        Nota_di_credito_attivaBulk notaDiCredito = (Nota_di_credito_attivaBulk) bp.getModel();
        Obbligazione_scadenzarioBulk scadenza = (Obbligazione_scadenzarioBulk) bp.getObbligazioniController().getModel();
        if (scadenza == null)
            throw new it.cnr.jada.comp.ApplicationException("Selezionare l'impegno da modificare in automatico!");
        // controllo che la scadenza appartenga all'esercizio di scrivania nella fase di cancellazione
        if (bp.isDeleting() && !bp.isViewing() && !it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()).equals(scadenza.getEsercizio()))
            throw new it.cnr.jada.comp.ApplicationException("La scadenza selezionata appartiene all'esercizio " + scadenza.getEsercizio().intValue() + "! Operazione annullata.");
        ObbligazioneAbstractComponentSession h = CRUDVirtualObbligazioneBP.getVirtualComponentSession(context, true);
        java.math.BigDecimal importoAttuale = notaDiCredito.getImportoTotalePerObbligazioni();
        java.math.BigDecimal importoOriginale = (java.math.BigDecimal) notaDiCredito.getFattura_attiva_ass_totaliMap().get(scadenza);
        java.math.BigDecimal delta = importoOriginale.subtract(importoAttuale);
        if (new java.math.BigDecimal(0).setScale(2, java.math.BigDecimal.ROUND_HALF_UP).compareTo(delta) == 0)
            throw new it.cnr.jada.comp.ApplicationException("La modifica in automatico non è disponibile!");
        try {
            scadenza = (Obbligazione_scadenzarioBulk) h.modificaScadenzaInAutomatico(context.getUserContext(), scadenza, getImportoPerAggiornamentoScadenzaInAutomatico(context, scadenza, notaDiCredito, delta), delta.signum() < 0);
            bp.getDefferedUpdateSaldiParentBP().getDefferedUpdateSaldiBulk().addToDefferredSaldi(scadenza.getObbligazione(), scadenza.getObbligazione().getSaldiInfo());
        } catch (it.cnr.jada.comp.ComponentException e) {
            if (e.getDetail() instanceof it.cnr.contab.doccont00.comp.CheckDisponibilitaCassaFailed)
                throw new it.cnr.jada.comp.ApplicationException(e.getDetail().getMessage());
            if (e.getDetail() instanceof it.cnr.contab.doccont00.comp.SfondamentoPdGException)
                throw new it.cnr.jada.comp.ApplicationException(e.getDetail().getMessage());
            throw e;
        }
        basicDoBringBackOpenObbligazioniWindow(context, scadenza);
        notaDiCredito.addToFattura_attiva_ass_totaliMap(scadenza, importoAttuale);
        bp.getObbligazioniController().getSelection().clear();
        bp.getObbligazioniController().setModelIndex(context, -1);
        bp.getObbligazioniController().setModelIndex(context, it.cnr.jada.bulk.BulkCollections.indexOfByPrimaryKey(bp.getObbligazioniController().getDetails(), scadenza));
        bp.setDirty(true);
    } catch (Exception e) {
        return handleException(context, e);
    }
    return context.findDefaultForward();
}
Also used : Nota_di_credito_attivaBulk(it.cnr.contab.docamm00.docs.bulk.Nota_di_credito_attivaBulk) ObbligazioneAbstractComponentSession(it.cnr.contab.doccont00.ejb.ObbligazioneAbstractComponentSession) CRUDNotaDiCreditoAttivaBP(it.cnr.contab.docamm00.bp.CRUDNotaDiCreditoAttivaBP)

Example 3 with it.cnr.contab.doccont00.core.bulk

use of it.cnr.contab.doccont00.core.bulk 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 4 with it.cnr.contab.doccont00.core.bulk

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

the class CRUDNotaDiDebitoAttivaAction method doOpenAccertamentiWindow.

/**
 * richiede l'apertura del pannello dell'accertamento per la modifica della
 * scadenza selezionata
 *
 * @param context	L'ActionContext della richiesta
 * @return Il Forward alla pagina di risposta
 */
public Forward doOpenAccertamentiWindow(ActionContext context) {
    try {
        CRUDNotaDiDebitoAttivaBP bp = (CRUDNotaDiDebitoAttivaBP) getBusinessProcess(context);
        fillModel(context);
        Accertamento_scadenzarioBulk scadenza = (Accertamento_scadenzarioBulk) bp.getAccertamentiController().getModel();
        boolean viewMode = bp.isViewing();
        if (scadenza == null)
            throw new it.cnr.jada.comp.ApplicationException("Selezionare l'accertamento da " + (viewMode ? "visualizzare" : "modificare") + " in manuale!");
        // controllo che la scadenza appartenga all'esercizio di scrivania nella fase di cancellazione
        if (bp.isDeleting() && !bp.isViewing() && !it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()).equals(scadenza.getEsercizio()))
            throw new it.cnr.jada.comp.ApplicationException("La scadenza selezionata appartiene all'esercizio " + scadenza.getEsercizio().intValue() + "! Operazione annullata.");
        if (!viewMode && bp instanceof IDocumentoAmministrativoBP)
            viewMode = !((IDocumentoAmministrativoBP) bp).getDocumentoAmministrativoCorrente().isEditable();
        String status = viewMode ? "V" : "M";
        it.cnr.contab.doccont00.bp.CRUDVirtualAccertamentoBP nbp = it.cnr.contab.doccont00.bp.CRUDVirtualAccertamentoBP.getBusinessProcessFor(context, scadenza.getAccertamento(), status + "RSWTh");
        nbp.edit(context, scadenza.getAccertamento(), true);
        nbp.selezionaScadenza(scadenza, context);
        context.addHookForward("bringback", this, "doBringBackOpenAccertamentiWindow");
        HookForward hook = (HookForward) context.findForward("bringback");
        return context.addBusinessProcess(nbp);
    } catch (Exception e) {
        return handleException(context, e);
    }
}
Also used : IDocumentoAmministrativoBP(it.cnr.contab.docamm00.bp.IDocumentoAmministrativoBP) CRUDNotaDiDebitoAttivaBP(it.cnr.contab.docamm00.bp.CRUDNotaDiDebitoAttivaBP) HookForward(it.cnr.jada.action.HookForward) CRUDVirtualAccertamentoBP(it.cnr.contab.doccont00.bp.CRUDVirtualAccertamentoBP)

Example 5 with it.cnr.contab.doccont00.core.bulk

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

the class OrdineAcqComponent method contabilizzaConsegneSelezionate.

public OrdineAcqBulk contabilizzaConsegneSelezionate(UserContext context, OrdineAcqBulk ordine, java.util.Collection dettagliSelezionati, it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk obbligazioneSelezionata) throws ComponentException {
    if (obbligazioneSelezionata != null && dettagliSelezionati != null) {
        if (!dettagliSelezionati.isEmpty()) {
            for (java.util.Iterator i = dettagliSelezionati.iterator(); i.hasNext(); ) {
                OrdineAcqConsegnaBulk cons = (OrdineAcqConsegnaBulk) i.next();
                validaScadenze(ordine, obbligazioneSelezionata);
                cons.setObbligazioneScadenzario(obbligazioneSelezionata);
                cons.setToBeUpdated();
                if (cons.getObbligazioneScadenzario() != null && cons.getEsercizioOrigObbl() != null) {
                    ordine.addToOrdineObbligazioniHash(obbligazioneSelezionata, cons);
                }
                ordine.addToOrdineAss_totaliMap(obbligazioneSelezionata, calcolaTotalePer((Vector) ordine.getOrdineObbligazioniHash().get(obbligazioneSelezionata), false));
            }
            try {
                ObbligazioneAbstractComponentSession session = (ObbligazioneAbstractComponentSession) EJBCommonServices.createEJB("CNRDOCCONT00_EJB_ObbligazioneAbstractComponentSession", ObbligazioneAbstractComponentSession.class);
                session.lockScadenza(context, obbligazioneSelezionata);
            } catch (Throwable t) {
                throw handleException(ordine, t);
            }
        }
    }
    return ordine;
}
Also used : java.util(java.util) ObbligazioneAbstractComponentSession(it.cnr.contab.doccont00.ejb.ObbligazioneAbstractComponentSession)

Aggregations

ComponentException (it.cnr.jada.comp.ComponentException)50 RemoteException (java.rmi.RemoteException)39 ApplicationException (it.cnr.jada.comp.ApplicationException)32 Obbligazione_scadenzarioBulk (it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk)31 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)30 ValidationException (it.cnr.jada.bulk.ValidationException)22 PersistencyException (it.cnr.jada.persistency.PersistencyException)21 EJBException (javax.ejb.EJBException)21 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)18 it.cnr.jada.bulk (it.cnr.jada.bulk)17 java.util (java.util)17 it.cnr.contab.docamm00.docs.bulk (it.cnr.contab.docamm00.docs.bulk)16 HookForward (it.cnr.jada.action.HookForward)15 AccertamentoAbstractComponentSession (it.cnr.contab.doccont00.ejb.AccertamentoAbstractComponentSession)14 ObbligazioneAbstractComponentSession (it.cnr.contab.doccont00.ejb.ObbligazioneAbstractComponentSession)13 ReversaleBulk (it.cnr.contab.doccont00.core.bulk.ReversaleBulk)12 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)12 RemoteIterator (it.cnr.jada.util.RemoteIterator)12 BigDecimal (java.math.BigDecimal)11 it.cnr.contab.doccont00.core.bulk (it.cnr.contab.doccont00.core.bulk)10