Search in sources :

Example 1 with Bonus_nucleo_famBulk

use of it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDBonusAction method doOnTipoComponenteNucleoChange.

public Forward doOnTipoComponenteNucleoChange(ActionContext context) {
    try {
        CRUDBonusBP bp = (CRUDBonusBP) getBusinessProcess(context);
        Bonus_nucleo_famBulk det = (Bonus_nucleo_famBulk) bp.getCrudBonusNucleoFamBP().getModel();
        String tipoComp = det.getTipo_componente_nucleo();
        fillModel(context);
        if (!bp.createComponentSession().verificaLimiteFamiliareCarico(context.getUserContext(), det) && det.getTipo_componente_nucleo() != null && det.getTipo_componente_nucleo().compareTo(Bonus_nucleo_famBulk.CONIUGE) != 0) {
            det.setTipo_componente_nucleo(tipoComp);
            bp.setMessage("Il componente non è a carico");
        }
        bp.setDirty(true);
    } catch (Throwable ex) {
        return handleException(context, ex);
    }
    return context.findDefaultForward();
}
Also used : CRUDBonusBP(it.cnr.contab.compensi00.bp.CRUDBonusBP) Bonus_nucleo_famBulk(it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk)

Example 2 with Bonus_nucleo_famBulk

use of it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDBonusAction method doOnIm_reddito_componenteChange.

public Forward doOnIm_reddito_componenteChange(ActionContext context) {
    try {
        CRUDBonusBP bp = (CRUDBonusBP) getBusinessProcess(context);
        java.math.BigDecimal red_comp = ((Bonus_nucleo_famBulk) bp.getCrudBonusNucleoFamBP().getModel()).getIm_reddito_componente();
        fillModel(context);
        if (!bp.createComponentSession().verificaLimiteFamiliareCarico(context.getUserContext(), (Bonus_nucleo_famBulk) bp.getCrudBonusNucleoFamBP().getModel())) {
            Bonus_nucleo_famBulk det = (Bonus_nucleo_famBulk) bp.getCrudBonusNucleoFamBP().getModel();
            det.setFl_handicap(false);
            if (det.getTipo_componente_nucleo() != null && det.getTipo_componente_nucleo().compareTo(det.CONIUGE) != 0) {
                det.setIm_reddito_componente(red_comp);
                bp.setMessage("Il componente non è a carico");
            }
        }
        bp.eseguiCalcoloTot(context, (BonusBulk) bp.getModel());
    } catch (Throwable t) {
        return handleException(context, t);
    }
    return context.findDefaultForward();
}
Also used : CRUDBonusBP(it.cnr.contab.compensi00.bp.CRUDBonusBP) Bonus_nucleo_famBulk(it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk)

Example 3 with Bonus_nucleo_famBulk

use of it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDBonusAction method doOnCf_componente_nucleoChange.

public Forward doOnCf_componente_nucleoChange(ActionContext context) {
    try {
        fillModel(context);
        CRUDBonusBP bp = (CRUDBonusBP) getBusinessProcess(context);
        Bonus_nucleo_famBulk det = (Bonus_nucleo_famBulk) bp.getCrudBonusNucleoFamBP().getModel();
        try {
            bp.validaCodiceFiscaleComponente(context, det);
        } catch (ApplicationException e) {
            det.setCf_componente_nucleo(null);
            bp.setMessage(e.getMessage());
        }
    } catch (Throwable t) {
        return handleException(context, t);
    }
    return context.findDefaultForward();
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) CRUDBonusBP(it.cnr.contab.compensi00.bp.CRUDBonusBP) Bonus_nucleo_famBulk(it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk)

Example 4 with Bonus_nucleo_famBulk

use of it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk in project sigla-main by consiglionazionaledellericerche.

the class BonusComponent method completaBonus.

public BonusBulk completaBonus(UserContext usercontext, BonusBulk bonus) throws ComponentException {
    try {
        Boolean handicap = false;
        java.math.BigDecimal num_componenti = new java.math.BigDecimal(bonus.getBonusNucleoFamColl().size() + 1);
        for (Iterator i = bonus.getBonusNucleoFamColl().iterator(); i.hasNext(); ) {
            Bonus_nucleo_famBulk det = (Bonus_nucleo_famBulk) i.next();
            if (det.getFl_handicap()) {
                handicap = true;
            }
        }
        Bonus_condizioniHome home = (Bonus_condizioniHome) getHome(usercontext, Bonus_condizioniBulk.class);
        Bonus_condizioniBulk bulk = new Bonus_condizioniBulk();
        bulk.setEsercizio(bonus.getEsercizio_imposta());
        Integer max_componenti = (Integer) home.findMax(bulk, "numero_componenti");
        SQLBuilder sql = getHome(usercontext, Bonus_condizioniBulk.class).createSQLBuilder();
        if (handicap) {
            sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, bonus.getEsercizio_imposta());
            sql.addSQLClause("AND", "NUMERO_COMPONENTI", sql.ISNULL, null);
            sql.addSQLClause("AND", "IM_REDDITO_LIMITE", sql.GREATER, bonus.getIm_reddito_nucleo_f());
        } else {
            sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, bonus.getEsercizio_imposta());
            sql.addSQLClause("AND", "IM_REDDITO_LIMITE", sql.GREATER, bonus.getIm_reddito_nucleo_f());
            if (max_componenti != null && num_componenti.intValue() > max_componenti)
                sql.addSQLClause("AND", "NUMERO_COMPONENTI", sql.EQUALS, max_componenti);
            else
                sql.addSQLClause("AND", "NUMERO_COMPONENTI", sql.EQUALS, num_componenti);
        }
        if (sql.executeCountQuery(getConnection(usercontext)) > 0) {
            bonus.setBonus_condizioni((Bonus_condizioniBulk) home.fetchAll(sql).get(0));
            bonus.setIm_bonus(bonus.getBonus_condizioni().getIm_bonus());
        } else {
            bonus.setBonus_condizioni(null);
            bonus.setIm_bonus(null);
            throw new ApplicationException("Non ci sono i requisiti per la richiesta del Bonus");
        }
    } catch (PersistencyException e) {
        handleException(e);
    } catch (SQLException e) {
        handleException(e);
    }
    return bonus;
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Bonus_condizioniBulk(it.cnr.contab.compensi00.docs.bulk.Bonus_condizioniBulk) SQLException(java.sql.SQLException) Bonus_nucleo_famBulk(it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk) ApplicationException(it.cnr.jada.comp.ApplicationException) Iterator(java.util.Iterator) PersistencyException(it.cnr.jada.persistency.PersistencyException) Bonus_condizioniHome(it.cnr.contab.compensi00.docs.bulk.Bonus_condizioniHome)

Example 5 with Bonus_nucleo_famBulk

use of it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk in project sigla-main by consiglionazionaledellericerche.

the class BonusComponent method controlloBonusComponenteUnico.

private void controlloBonusComponenteUnico(UserContext context, Bonus_nucleo_famBulk bonus) throws ComponentException, SQLException {
    SQLBuilder sql = getHome(context, BonusBulk.class).createSQLBuilder();
    sql.addSQLClause("AND", "CODICE_FISCALE", sql.EQUALS, bonus.getCf_componente_nucleo());
    sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, bonus.getEsercizio());
    if (sql.executeCountQuery(getConnection(context)) > 0)
        throw new ApplicationException("Codice Fiscale già utilizzato per richiedere il bonus.");
    sql = getHome(context, Bonus_nucleo_famBulk.class).createSQLBuilder();
    sql.addSQLClause("AND", "CF_COMPONENTE_NUCLEO", sql.EQUALS, bonus.getCf_componente_nucleo());
    sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, bonus.getEsercizio());
    if (sql.executeCountQuery(getConnection(context)) > 0)
        throw new ApplicationException("Codice Fiscale già utilizzato richiedere bonus.");
    if (bonus.getCf_componente_nucleo().compareToIgnoreCase(bonus.getBonus().getCodice_fiscale()) == 0)
        throw new ApplicationException("Codice Fiscale già utilizzato come richiedente bonus.");
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) ApplicationException(it.cnr.jada.comp.ApplicationException) BonusBulk(it.cnr.contab.compensi00.docs.bulk.BonusBulk)

Aggregations

Bonus_nucleo_famBulk (it.cnr.contab.compensi00.docs.bulk.Bonus_nucleo_famBulk)6 ApplicationException (it.cnr.jada.comp.ApplicationException)4 CRUDBonusBP (it.cnr.contab.compensi00.bp.CRUDBonusBP)3 Iterator (java.util.Iterator)3 BonusBulk (it.cnr.contab.compensi00.docs.bulk.BonusBulk)2 BonusComponentSession (it.cnr.contab.compensi00.ejb.BonusComponentSession)2 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)2 SQLException (java.sql.SQLException)2 AnagraficoBulk (it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk)1 Bonus_condizioniBulk (it.cnr.contab.compensi00.docs.bulk.Bonus_condizioniBulk)1 Bonus_condizioniHome (it.cnr.contab.compensi00.docs.bulk.Bonus_condizioniHome)1 Liquid_coriComponentSession (it.cnr.contab.cori00.ejb.Liquid_coriComponentSession)1 PersistencyException (it.cnr.jada.persistency.PersistencyException)1 BufferedWriter (java.io.BufferedWriter)1 File (java.io.File)1 FileNotFoundException (java.io.FileNotFoundException)1 FileOutputStream (java.io.FileOutputStream)1 IOException (java.io.IOException)1 OutputStream (java.io.OutputStream)1 OutputStreamWriter (java.io.OutputStreamWriter)1