Search in sources :

Example 6 with ValidationException

use of it.cnr.jada.bulk.ValidationException 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 7 with ValidationException

use of it.cnr.jada.bulk.ValidationException 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 8 with ValidationException

use of it.cnr.jada.bulk.ValidationException in project sigla-main by consiglionazionaledellericerche.

the class RifiutaFatturaAction method doConferma.

public Forward doConferma(ActionContext context) {
    try {
        BulkBP bp = (BulkBP) context.getBusinessProcess();
        bp.fillModel(context);
        bp.validate(context);
        HookForward hookforward = (HookForward) context.findForward("model");
        hookforward.addParameter("model", bp.getModel());
        context.closeBusinessProcess();
        return hookforward;
    } catch (FillException e) {
        return handleException(context, e);
    } catch (BusinessProcessException | ValidationException e) {
        return handleException(context, e);
    }
}
Also used : HookForward(it.cnr.jada.action.HookForward) BulkBP(it.cnr.jada.util.action.BulkBP) ValidationException(it.cnr.jada.bulk.ValidationException) FillException(it.cnr.jada.bulk.FillException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException)

Example 9 with ValidationException

use of it.cnr.jada.bulk.ValidationException in project sigla-main by consiglionazionaledellericerche.

the class ObbligazioneComponent method validateBulkForPrint.

/**
 * Validazione dell'oggetto in fase di stampa
 */
private void validateBulkForPrint(it.cnr.jada.UserContext userContext, Stampa_registro_annotazione_spese_pgiroBulk stampa) throws ComponentException {
    try {
        Timestamp dataOdierna = getDataOdierna(userContext);
        Timestamp lastDayOfYear = DateServices.getLastDayOfYear(CNRUserContext.getEsercizio(userContext).intValue());
        if (stampa.getEsercizio() == null)
            throw new ValidationException("Il campo ESERCIZIO e' obbligatorio");
        if (stampa.getDataInizio() == null)
            throw new ValidationException("Il campo DATA INIZIO PERIODO è obbligatorio");
        if (stampa.getDataFine() == null)
            throw new ValidationException("Il campo DATA FINE PERIODO è obbligatorio");
        java.sql.Timestamp firstDayOfYear = DateServices.getFirstDayOfYear(stampa.getEsercizio().intValue());
        if (stampa.getDataInizio().compareTo(stampa.getDataFine()) > 0)
            throw new ValidationException("La DATA di INIZIO PERIODO non può essere superiore alla DATA di FINE PERIODO");
        if (stampa.getDataInizio().compareTo(firstDayOfYear) < 0) {
            java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("dd/MM/yyyy");
            throw new ValidationException("La DATA di INIZIO PERIODO non può essere inferiore a " + formatter.format(firstDayOfYear));
        }
        if (stampa.getDataFine().compareTo(lastDayOfYear) > 0) {
            java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("dd/MM/yyyy");
            throw new ValidationException("La DATA di FINE PERIODO non può essere superiore a " + formatter.format(lastDayOfYear));
        }
        if (stampa.getPgInizio() == null)
            throw new ValidationException("Il campo NUMERO INIZIO è obbligatorio");
        if (stampa.getPgFine() == null)
            throw new ValidationException("Il campo NUMERO FINE è obbligatorio");
        if (stampa.getPgInizio().compareTo(stampa.getPgFine()) > 0)
            throw new ValidationException("Il NUMERO INIZIO non può essere superiore al NUMERO FINE");
    } catch (ValidationException ex) {
        throw new ApplicationException(ex);
    }
}
Also used : ValidationException(it.cnr.jada.bulk.ValidationException) ApplicationException(it.cnr.jada.comp.ApplicationException) Timestamp(java.sql.Timestamp) UserContext(it.cnr.jada.UserContext) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) Timestamp(java.sql.Timestamp)

Example 10 with ValidationException

use of it.cnr.jada.bulk.ValidationException in project sigla-main by consiglionazionaledellericerche.

the class ObbligazioneComponent method validateBulkForPrint.

/**
 * Validazione dell'oggetto in fase di stampa
 */
private void validateBulkForPrint(it.cnr.jada.UserContext userContext, Stampa_registro_obbligazioniBulk stampa) throws ComponentException {
    try {
        Timestamp dataOdierna = getDataOdierna(userContext);
        Timestamp lastDayOfYear = DateServices.getLastDayOfYear(CNRUserContext.getEsercizio(userContext).intValue());
        if (stampa.getEsercizio() == null)
            throw new ValidationException("Il campo ESERCIZIO e' obbligatorio");
        if (stampa.getCd_cds() == null)
            throw new ValidationException("Il campo CDS e' obbligatorio");
        if (!stampa.isCdsUOInScrivania() && stampa.getCdUoForPrint() == null)
            throw new ValidationException("Il campo UNITA ORGANIZZATIVA è obbligatorio");
        if (stampa.getDataInizio() == null)
            throw new ValidationException("Il campo DATA INIZIO PERIODO è obbligatorio");
        if (stampa.getDataFine() == null)
            throw new ValidationException("Il campo DATA FINE PERIODO è obbligatorio");
        java.sql.Timestamp firstDayOfYear = DateServices.getFirstDayOfYear(stampa.getEsercizio().intValue());
        if (stampa.getDataInizio().compareTo(stampa.getDataFine()) > 0)
            throw new ValidationException("La DATA di INIZIO PERIODO non può essere superiore alla DATA di FINE PERIODO");
        if (stampa.getDataInizio().compareTo(firstDayOfYear) < 0) {
            java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("dd/MM/yyyy");
            throw new ValidationException("La DATA di INIZIO PERIODO non può essere inferiore a " + formatter.format(firstDayOfYear));
        }
        if (stampa.getDataFine().compareTo(lastDayOfYear) > 0) {
            java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("dd/MM/yyyy");
            throw new ValidationException("La DATA di FINE PERIODO non può essere superiore a " + formatter.format(lastDayOfYear));
        }
        if (stampa.getPgInizio() == null)
            throw new ValidationException("Il campo NUMERO INIZIO è obbligatorio");
        if (stampa.getPgFine() == null)
            throw new ValidationException("Il campo NUMERO FINE è obbligatorio");
        if (stampa.getPgInizio().compareTo(stampa.getPgFine()) > 0)
            throw new ValidationException("Il NUMERO INIZIO non può essere superiore al NUMERO FINE");
    } catch (ValidationException ex) {
        throw new ApplicationException(ex);
    }
}
Also used : ValidationException(it.cnr.jada.bulk.ValidationException) ApplicationException(it.cnr.jada.comp.ApplicationException) Timestamp(java.sql.Timestamp) UserContext(it.cnr.jada.UserContext) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) Timestamp(java.sql.Timestamp)

Aggregations

ValidationException (it.cnr.jada.bulk.ValidationException)173 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)41 ComponentException (it.cnr.jada.comp.ComponentException)37 RemoteException (java.rmi.RemoteException)33 ApplicationException (it.cnr.jada.comp.ApplicationException)30 BigDecimal (java.math.BigDecimal)29 Iterator (java.util.Iterator)21 BulkList (it.cnr.jada.bulk.BulkList)20 Timestamp (java.sql.Timestamp)20 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)19 UserContext (it.cnr.jada.UserContext)14 RemoteIterator (it.cnr.jada.util.RemoteIterator)14 CRUDIncarichiProceduraBP (it.cnr.contab.incarichi00.bp.CRUDIncarichiProceduraBP)12 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)12 EJBException (javax.ejb.EJBException)12 OggettoBulk (it.cnr.jada.bulk.OggettoBulk)10 PersistencyException (it.cnr.jada.persistency.PersistencyException)9 ServletException (javax.servlet.ServletException)9 Incarichi_repertorioBulk (it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk)8 Incarichi_proceduraBulk (it.cnr.contab.incarichi00.bulk.Incarichi_proceduraBulk)7