Search in sources :

Example 16 with ValidationException

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

the class IncarichiProceduraAction method doOnDtVariazioneChange.

public Forward doOnDtVariazioneChange(ActionContext context) {
    CRUDIncarichiProceduraBP bp = (CRUDIncarichiProceduraBP) getBusinessProcess(context);
    Incarichi_repertorio_varBulk incaricoVar = (Incarichi_repertorio_varBulk) bp.getCrudIncarichiVariazioni().getModel();
    java.sql.Timestamp oldDate = null;
    if (incaricoVar.getDt_variazione() != null)
        oldDate = (java.sql.Timestamp) incaricoVar.getDt_variazione().clone();
    try {
        fillModel(context);
        if (incaricoVar.getDt_variazione() != null && incaricoVar.getDt_variazione().after(EJBCommonServices.getServerDate()))
            throw new ValidationException("Non \350 possibile inserire una data di stipula della variazione superiore alla data odierna.");
        else if (incaricoVar.getDt_variazione() != null && !incaricoVar.getIncarichi_repertorio().getIncarichi_procedura().isUtenteCollegatoSuperUtente()) {
            Incarichi_parametriBulk parametri = Utility.createIncarichiProceduraComponentSession().getIncarichiParametri(context.getUserContext(), incaricoVar.getIncarichi_repertorio().getIncarichi_procedura());
            if ((parametri == null || parametri.getLimite_dt_stipula() == null) && DateUtils.daysBetweenDates(incaricoVar.getDt_variazione(), EJBCommonServices.getServerDate()) > 5)
                throw new ValidationException("Non \350 possibile inserire una data di stipula della variazione inferiore di 5 giorni rispetto alla data odierna.");
            else if (parametri != null && parametri.getLimite_dt_stipula() != null && parametri.getLimite_dt_stipula().equals("Y")) {
                Integer limite = new Integer(0);
                if (parametri.getGiorni_limite_dt_stipula() != null)
                    limite = parametri.getGiorni_limite_dt_stipula();
                if (DateUtils.daysBetweenDates(incaricoVar.getDt_variazione(), EJBCommonServices.getServerDate()) > limite.intValue())
                    throw new ValidationException("Non \350 possibile inserire una data di stipula della variazione inferiore di " + limite.toString() + " giorni rispetto alla data odierna.");
            }
        }
        bp.validaDataIntegrazioneIncarico(context, incaricoVar);
        return context.findDefaultForward();
    } catch (Throwable ex) {
        // In caso di errore ripropongo la data precedente
        incaricoVar.setDt_variazione(oldDate);
        try {
            return handleException(context, ex);
        } catch (Throwable e) {
            return handleException(context, e);
        }
    }
}
Also used : CRUDIncarichiProceduraBP(it.cnr.contab.incarichi00.bp.CRUDIncarichiProceduraBP) ValidationException(it.cnr.jada.bulk.ValidationException) Incarichi_parametriBulk(it.cnr.contab.incarichi00.tabrif.bulk.Incarichi_parametriBulk) Timestamp(java.sql.Timestamp) Timestamp(java.sql.Timestamp) Incarichi_repertorio_varBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_varBulk)

Example 17 with ValidationException

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

the class IncarichiRepertorioAction method doOnDtStipulaChange.

public Forward doOnDtStipulaChange(ActionContext context) {
    CRUDIncarichiRepertorioBP bp = (CRUDIncarichiRepertorioBP) getBusinessProcess(context);
    Incarichi_repertorioBulk incarico = (Incarichi_repertorioBulk) bp.getModel();
    java.sql.Timestamp oldDate = null;
    if (incarico.getDt_stipula() != null)
        oldDate = (java.sql.Timestamp) incarico.getDt_stipula().clone();
    try {
        fillModel(context);
        if (incarico.getDt_stipula() != null && incarico.getDt_stipula().after(EJBCommonServices.getServerDate()))
            throw new ValidationException("Non \350 possibile inserire una data di stipula superiore alla data odierna.");
        else if (incarico.getDt_stipula() != null && !incarico.getFl_inviato_corte_conti() && DateUtils.daysBetweenDates(incarico.getDt_stipula(), EJBCommonServices.getServerDate()) < 5)
            throw new ValidationException("Non \350 possibile inserire una data di stipula inferiore di 5 giorni rispetto alla data odierna.");
        else if (incarico.getDt_stipula() != null && incarico.getIncarichi_procedura() != null && incarico.getIncarichi_procedura().getTipo_incarico() != null && incarico.getIncarichi_procedura().getTipo_incarico().getDt_fine_validita() != null)
            if (incarico.getDt_stipula().after(incarico.getIncarichi_procedura().getTipo_incarico().getDt_fine_validita()))
                throw new ValidationException("Non \350 possibile conferire questo tipo di incarico con la data indicata.");
        if (incarico.getTerzo() != null && incarico.getTerzo().getCd_terzo() != null)
            throw new ValidationException("Non \350 possibile modificare la \"Data di Stipula\". Cancellare il campo \"Contraente\" e ripetere l'operazione.");
        incarico.validaDateContratto();
        return context.findDefaultForward();
    } catch (Throwable ex) {
        // In caso di errore ripropongo la data precedente
        incarico.setDt_stipula(oldDate);
        try {
            return handleException(context, ex);
        } catch (Throwable e) {
            return handleException(context, e);
        }
    }
}
Also used : ValidationException(it.cnr.jada.bulk.ValidationException) Incarichi_repertorioBulk(it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk) CRUDIncarichiRepertorioBP(it.cnr.contab.incarichi00.bp.CRUDIncarichiRepertorioBP)

Example 18 with ValidationException

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

the class CRUDCaricoInventarioBP method validate_Dettagli_da_Documento.

/**
 * Metodo richiamato dal SimpleDetailCRUDController dettagliFattura quando si passa
 * da un dettaglio dell'inventario all'altro.
 * Controlla, tra le altre cose, che la somma delle quantitÓ specificate per ogni
 * singolo dettaglio di Inventario, sia uguale alla quantitÓ indicata per la riga
 * di Fattura.
 */
private void validate_Dettagli_da_Documento(ActionContext context, OggettoBulk model) throws ValidationException {
    java.math.BigDecimal totale = new java.math.BigDecimal(0);
    Documento_generico_rigaBulk riga = (Documento_generico_rigaBulk) model;
    Buono_carico_scaricoBulk buonoCS = (Buono_carico_scaricoBulk) getModel();
    PrimaryKeyHashtable righeInventarioHash = (PrimaryKeyHashtable) buonoCS.getDettagliRigheDocHash();
    if (righeInventarioHash != null) {
        BulkList dettagliInventario = (BulkList) righeInventarioHash.get(riga);
        if (dettagliInventario.size() > 0) {
            for (Iterator i = dettagliInventario.iterator(); i.hasNext(); ) {
                Buono_carico_scarico_dettBulk dettaglio = (Buono_carico_scarico_dettBulk) i.next();
                if (dettaglio.getQuantita() != null) {
                    totale = totale.add(new BigDecimal(dettaglio.getQuantita().longValue()));
                }
                if (dettaglio.isAssociatoConAccessorioContestuale()) {
                    BulkList newBeni_associati = new BulkList();
                    if (dettaglio.getQuantita() != null && dettaglio.getQuantita().compareTo(new Long("1")) != 0) {
                        dettaglio.setQuantita(new Long("1"));
                        throw new ValidationException("Attenzione. La Quantità di questa riga deve essere 1, poichè alcuni beni sono suoi accessori");
                    }
                    PrimaryKeyHashtable accessori_contestuali = buonoCS.getAccessoriContestualiHash();
                    BulkList beni_associati = (BulkList) accessori_contestuali.get(dettaglio.getChiaveHash());
                    for (Iterator i_beni_associati = beni_associati.iterator(); i_beni_associati.hasNext(); ) {
                        Buono_carico_scarico_dettBulk dettaglio_associato = (Buono_carico_scarico_dettBulk) i_beni_associati.next();
                        dettaglio_associato.getBene().getBene_principale().setDs_bene(dettaglio.getBene().getDs_bene());
                        newBeni_associati.add(dettaglio_associato);
                    }
                    accessori_contestuali.put(dettaglio.getChiaveHash(), newBeni_associati);
                }
            }
        }
    }
}
Also used : Buono_carico_scaricoBulk(it.cnr.contab.inventario01.bulk.Buono_carico_scaricoBulk) BigDecimal(java.math.BigDecimal) ValidationException(it.cnr.jada.bulk.ValidationException) Documento_generico_rigaBulk(it.cnr.contab.docamm00.docs.bulk.Documento_generico_rigaBulk) PrimaryKeyHashtable(it.cnr.jada.bulk.PrimaryKeyHashtable) Iterator(java.util.Iterator) Buono_carico_scarico_dettBulk(it.cnr.contab.inventario01.bulk.Buono_carico_scarico_dettBulk) SimpleBulkList(it.cnr.jada.bulk.SimpleBulkList) BulkList(it.cnr.jada.bulk.BulkList) BigDecimal(java.math.BigDecimal)

Example 19 with ValidationException

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

the class CRUDCaricoInventarioBP method validate_Dettagli_da_Fattura.

/**
 * Metodo richiamato dal SimpleDetailCRUDController dettagliFattura quando si passa
 * da un dettaglio dell'inventario all'altro.
 * Controlla, tra le altre cose, che la somma delle quantitÓ specificate per ogni
 * singolo dettaglio di Inventario, sia uguale alla quantitÓ indicata per la riga
 * di Fattura.
 */
private void validate_Dettagli_da_Fattura(ActionContext context, OggettoBulk model) throws ValidationException {
    java.math.BigDecimal totale = new java.math.BigDecimal(0);
    Fattura_passiva_rigaIBulk riga_fattura = (Fattura_passiva_rigaIBulk) model;
    Buono_carico_scaricoBulk buonoCS = (Buono_carico_scaricoBulk) getModel();
    PrimaryKeyHashtable righeInventarioHash = (PrimaryKeyHashtable) buonoCS.getDettagliRigheHash();
    if (righeInventarioHash != null) {
        BulkList dettagliInventario = (BulkList) righeInventarioHash.get(riga_fattura);
        if (dettagliInventario.size() > 0) {
            for (Iterator i = dettagliInventario.iterator(); i.hasNext(); ) {
                Buono_carico_scarico_dettBulk dettaglio = (Buono_carico_scarico_dettBulk) i.next();
                if (dettaglio.getQuantita() != null) {
                    totale = totale.add(new BigDecimal(dettaglio.getQuantita().longValue()));
                }
                if (dettaglio.isAssociatoConAccessorioContestuale()) {
                    BulkList newBeni_associati = new BulkList();
                    if (dettaglio.getQuantita() != null && dettaglio.getQuantita().compareTo(new Long("1")) != 0) {
                        dettaglio.setQuantita(new Long("1"));
                        throw new ValidationException("Attenzione. La Quantità di questa riga deve essere 1, poichè alcuni beni sono suoi accessori");
                    }
                    PrimaryKeyHashtable accessori_contestuali = buonoCS.getAccessoriContestualiHash();
                    BulkList beni_associati = (BulkList) accessori_contestuali.get(dettaglio.getChiaveHash());
                    for (Iterator i_beni_associati = beni_associati.iterator(); i_beni_associati.hasNext(); ) {
                        Buono_carico_scarico_dettBulk dettaglio_associato = (Buono_carico_scarico_dettBulk) i_beni_associati.next();
                        dettaglio_associato.getBene().getBene_principale().setDs_bene(dettaglio.getBene().getDs_bene());
                        newBeni_associati.add(dettaglio_associato);
                    }
                    accessori_contestuali.put(dettaglio.getChiaveHash(), newBeni_associati);
                }
            }
            if (!(totale.compareTo(riga_fattura.getQuantita()) == 0)) {
                throw new ValidationException("Attenzione: " + "il totale delle quantità indicate per la riga di Fattura '" + riga_fattura.getDs_riga_fattura() + "' non corrisponde al totale della riga stessa");
            }
        }
    }
}
Also used : Buono_carico_scaricoBulk(it.cnr.contab.inventario01.bulk.Buono_carico_scaricoBulk) BigDecimal(java.math.BigDecimal) ValidationException(it.cnr.jada.bulk.ValidationException) Fattura_passiva_rigaIBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_passiva_rigaIBulk) PrimaryKeyHashtable(it.cnr.jada.bulk.PrimaryKeyHashtable) Iterator(java.util.Iterator) Buono_carico_scarico_dettBulk(it.cnr.contab.inventario01.bulk.Buono_carico_scarico_dettBulk) SimpleBulkList(it.cnr.jada.bulk.SimpleBulkList) BulkList(it.cnr.jada.bulk.BulkList) BigDecimal(java.math.BigDecimal)

Example 20 with ValidationException

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

the class CRUDCaricoInventarioBP method validate_property_details.

/**
 * Metodo richiamato dal SimpleDetailCRUDController vUtilizzatori quando si passa
 * da un CdR utilizzatore all'altro.
 * Controlla se la percentuale di utilizzo delle linee di attivitÓ, per
 * CdR, Þ valida.
 * Controlla, inoltre, se sono state fatte modifiche non valide su beni associati
 * ad altri bene contestualmente al buono di Carico.
 */
private void validate_property_details(Buono_carico_scarico_dettBulk dett) throws ValidationException {
    Inventario_beniBulk bene = dett.getBene();
    Buono_carico_scaricoBulk buonoC = (Buono_carico_scaricoBulk) dett.getBuono_cs();
    // CONTROLLA CHE SIA STATA SPECIFICATA UNA CATEGORIA PER IL BENE
    if (bene.getCategoria_Bene() == null)
        throw new ValidationException("Attenzione: indicare la Categoria di appartenenza del Bene");
    // CONTROLLA CHE SIA STATA SPECIFICATA UNA DESCRIZIONE PER IL BENE
    if (bene.getDs_bene() == null)
        throw new ValidationException("Attenzione: indicare la Descrizione del Bene");
    // CONTROLLA CHE SIA STATA SPECIFICATA UNA CONDIZIONE PER IL BENE
    if (bene.getCondizioneBene() == null)
        throw new ValidationException("Attenzione: indicare una Condizione per il Bene");
    // CONTROLLA, NEL CASO DI UN BENE ACCESSORIO, CHE SIA STATO SPECIFICATO IL BENE PRINCIPALE A CUI FAR RIFERIMENTO
    if (dett.isBeneAccessorio() && bene.getBene_principale() == null)
        throw new ValidationException("Attenzione: indicare un Bene Principale per il Bene Accessorio");
    // CONTROLLA CHE SIA STATA SPECIFICATA UNA UBICAZIONE PER IL BENE
    if (bene.getUbicazione() == null)
        throw new ValidationException("Attenzione: indicare l'Ubicazione del Bene");
    // CONTROLLA CHE SIA STATO INSERITO LA QUANTITA' PER IL BENE
    if (dett.getQuantita() == null)
        throw new ValidationException("Attenzione: indicare la Quantita");
    // CONTROLLA CHE SIA STATO INSERITO IL PREZZO UNITARIO PER IL BENE
    if (dett.getValore_unitario() == null)
        throw new ValidationException("Attenzione: indicare il Prezzo Unitario");
    if (buonoC.isPerAumentoValore() && (dett.getValore_unitario() == null || (dett.getValore_unitario().compareTo(new java.math.BigDecimal(0)) == 0))) {
        throw new ValidationException("Attenzione: indicare il Valore Caricato per il bene");
    }
    if (!buonoC.isPerAumentoValore() && (dett.getV_utilizzatoriColl().size() == 0) && !buonoC.isByFattura() && !buonoC.isByOrdini() && !buonoC.isByDocumento() && !dett.isBeneAccessorio() && !dett.getFl_bene_accessorio())
        throw new ValidationException("Attenzione: bisogna indicare gli Utilizzatori");
    if (((Buono_carico_scaricoBulk) dett.getBuono_cs()).isPerAumentoValore()) {
        // Buono di Carico per aumento di valore
        // CONTROLLA CHE IL VALORE DA AMMORTIZZARE SIA INFERIORE AL VALORE DEL BENE
        java.math.BigDecimal valore_bene = dett.getBene().getValoreBene().add(dett.getValore_unitario());
        if (dett.getBene().getImponibile_ammortamento() != null && dett.getBene().getImponibile_ammortamento().compareTo(valore_bene) > 0) {
            throw new ValidationException("Attenzione: il valore da ammortizzare di un bene deve essere inferiore  o uguale al valore del bene.\n" + "Il valore da ammortizzare del bene " + (bene.getDs_bene() != null ? "'" + bene.getDs_bene() + "'" : "") + " non è valido");
        }
    } else {
        // CONTROLLA CHE IL VALORE DA AMMORTIZZARE SIA INFERIORE AL VALORE UNITARIO
        if (dett.getBene().getImponibile_ammortamento() != null && dett.getBene().getImponibile_ammortamento().compareTo(dett.getValore_unitario()) > 0) {
            throw new ValidationException("Attenzione: il valore da ammortizzare di un bene deve essere inferiore  o uguale al valore del bene.\n" + "Il valore da ammortizzare del bene " + (bene.getDs_bene() != null ? "'" + bene.getDs_bene() + "'" : "") + " non è valido");
        }
    }
}
Also used : Buono_carico_scaricoBulk(it.cnr.contab.inventario01.bulk.Buono_carico_scaricoBulk) BigDecimal(java.math.BigDecimal) ValidationException(it.cnr.jada.bulk.ValidationException) Inventario_beniBulk(it.cnr.contab.inventario00.docs.bulk.Inventario_beniBulk) BigDecimal(java.math.BigDecimal)

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