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();
}
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();
}
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();
}
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;
}
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.");
}
Aggregations