use of it.cnr.contab.anagraf00.core.bulk.RapportoHome in project sigla-main by consiglionazionaledellericerche.
the class CompensoComponent method loadTipoTrattamento.
/**
* Viene caricato da db il TIPO TRATTAMENTO valido in Data Registrazione
* compenso
*/
private void loadTipoTrattamento(UserContext userContext, CompensoBulk compenso) throws ComponentException {
try {
Tipo_trattamentoHome trattHome = (Tipo_trattamentoHome) getHome(userContext, Tipo_trattamentoBulk.class);
Filtro_trattamentoBulk filtro = new Filtro_trattamentoBulk();
filtro.setCdTipoTrattamento(compenso.getCd_trattamento());
filtro.setTipoAnagrafico(compenso.getTi_anagrafico());
filtro.setDataValidita(compenso.getDt_registrazione());
filtro.setFlSenzaCalcoli(compenso.getFl_senza_calcoli());
filtro.setFlDefaultCongualio(new Boolean(compenso.isDaConguaglio()));
filtro.setTiIstituzionaleCommerciale(compenso.getTi_istituz_commerc());
filtro.setFlBonus(compenso.isDaBonus());
filtro.setFlSplitPayment(compenso.getFl_split_payment());
if (filtro.getCdTipoRapporto() != null && filtro.getCdTipoRapporto().equals("DIP")) {
try {
TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
TerzoBulk tKey = new TerzoBulk(compenso.getCd_terzo());
TerzoBulk t = (TerzoBulk) tHome.findByPrimaryKey(tKey);
RapportoHome rHome = (RapportoHome) getHomeCache(userContext).getHome(RapportoBulk.class);
java.util.Collection collRapp = rHome.findByCdAnagCdTipoRapporto(t.getCd_anag(), filtro.getCdTipoRapporto());
boolean exit = false;
for (java.util.Iterator i = collRapp.iterator(); i.hasNext() && !exit; ) {
RapportoBulk r = (RapportoBulk) i.next();
exit = true;
if (r.getCd_ente_prev_sti() == null)
// throw new
// it.cnr.jada.comp.ApplicationException("Non è stato possibile recuperare l''Ente Previdenziale del dipendente selezionato.");
// non blocco perchè potrebbero esserci trattamenti
// che non prevedono contributi previdenziali
// quindi passo il codice fittizio 'XX'
filtro.setEntePrev("XX");
else
filtro.setEntePrev(r.getCd_ente_prev_sti());
if (r.getCd_rapp_impiego_sti() == null)
throw new it.cnr.jada.comp.ApplicationException("Per il dipendente in esame non è definito un Rapporto di Impiego!");
else {
Ass_rapp_impiegoHome assHome = (Ass_rapp_impiegoHome) getHome(userContext, Ass_rapp_impiegoBulk.class);
Ass_rapp_impiegoBulk assKey = new Ass_rapp_impiegoBulk(r.getCd_rapp_impiego_sti());
Ass_rapp_impiegoBulk ass = (Ass_rapp_impiegoBulk) assHome.findByPrimaryKey(assKey);
filtro.setTipoRappImpiego(ass.getTipo_rapp_impiego());
}
}
} catch (IntrospectionException e) {
throw handleException(e);
}
// solo per il rapporto DIP aggiungo il filtro "Anno prec" a
// seconda della data di inizio competenza
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(compenso.getDt_da_competenza_coge());
if (data_da.get(GregorianCalendar.YEAR) == (compenso.getEsercizio() - 1))
filtro.setFlAnnoPrec(new Boolean(true));
else
filtro.setFlAnnoPrec(new Boolean(false));
}
if (compenso.getDt_da_competenza_coge() != null && compenso.getDt_a_competenza_coge() != null) {
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
GregorianCalendar data_a = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(compenso.getDt_da_competenza_coge());
data_a.setTime(compenso.getDt_a_competenza_coge());
TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
TerzoBulk tKey = new TerzoBulk(compenso.getCd_terzo());
TerzoBulk t = (TerzoBulk) tHome.findByPrimaryKey(tKey);
AnagraficoHome aHome = (AnagraficoHome) getHomeCache(userContext).getHome(AnagraficoBulk.class);
AnagraficoBulk aKey = new AnagraficoBulk(t.getCd_anag());
AnagraficoBulk a = (AnagraficoBulk) aHome.findByPrimaryKey(aKey);
if (data_da.get(GregorianCalendar.YEAR) == data_a.get(GregorianCalendar.YEAR)) {
if (a.getFl_cervellone() && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_inizio_res_fis().intValue()) < 0) && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_fine_agevolazioni().intValue()) > 0)) {
filtro.setFlAgevolazioniCervelli(new Boolean(a.getFl_cervellone()));
} else
filtro.setFlAgevolazioniCervelli(new Boolean(false));
} else // cavallo
if (compenso.getFl_compenso_conguaglio() && a.getFl_cervellone() && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_inizio_res_fis().intValue()) < 0) && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_fine_agevolazioni().intValue()) > 0)) {
filtro.setFlAgevolazioniCervelli(new Boolean(a.getFl_cervellone()));
} else
filtro.setFlAgevolazioniCervelli(new Boolean(false));
}
if (filtro.getCdTipoRapporto() != null && getTipoRapportoProf(userContext).getCd_tipo_rapporto() != null && filtro.getCdTipoRapporto().equals(getTipoRapportoProf(userContext).getCd_tipo_rapporto())) {
if (compenso.isGestione_doc_ele()) {
if (!compenso.getFl_generata_fattura()) {
// se non ho scelto senza calcoli non devo vedere nulla
if (!compenso.getFl_senza_calcoli())
filtro.setTipoAnagrafico("X");
}
}
}
Tipo_trattamentoBulk tratt = trattHome.findTipoTrattamentoValido(filtro);
compenso.setTipoTrattamento(tratt);
if (isCompensoSoloInailEnte(tratt)) {
if (compenso.isDaMinicarriera()) {
throw new ApplicationException("Attenzione! Non è possibile utilizzare un trattamento di tipo 'Torno Subito con solo INAIL a carico ente' per una minicarriera");
}
compenso.setCompensoSoloInailEnte(true);
}
} catch (it.cnr.jada.persistency.PersistencyException ex) {
throw handleException(ex);
}
}
use of it.cnr.contab.anagraf00.core.bulk.RapportoHome in project sigla-main by consiglionazionaledellericerche.
the class CompensoComponent method findTipiTrattamento.
/**
* Viene richiesta la lista dei Tipi di Trattamento legati al Tipo di
* Rapporto selezionato
*
* Pre-post-conditions:
*
* Nome: Tipo di Rapporto NON selezionato Pre: Non è stato selezionato il
* tipo di rapporto Post: Non vengono caricati i Tipi Trattamento
*
* Nome: Terzo selezionato Pre: E' stato selezionato un tipo di rapporto
* valido per il compenso Post: Viene restituita la lista dei Tipi di
* Trattamento legati al Tipo di rapporto selezionato
*
* @param userContext
* lo UserContext che ha generato la richiesta
* @param compenso
* l'OggettoBulk da completare
* @return La lista dei Tipi di Trattamento associati al Tipo Rapporto
* selezionato
*/
public java.util.Collection findTipiTrattamento(UserContext userContext, CompensoBulk compenso) throws ComponentException {
try {
if (compenso.getTipoRapporto() == null)
return null;
Tipo_trattamentoHome trattHome = (Tipo_trattamentoHome) getHome(userContext, Tipo_trattamentoBulk.class);
Filtro_trattamentoBulk filtro = new Filtro_trattamentoBulk();
filtro.setCdTipoRapporto(compenso.getCd_tipo_rapporto());
filtro.setTipoAnagrafico(compenso.getTi_anagrafico());
filtro.setDataValidita(compenso.getDt_registrazione());
filtro.setFlSenzaCalcoli(compenso.getFl_senza_calcoli());
filtro.setFlDefaultCongualio(new Boolean(compenso.isDaConguaglio()));
filtro.setTiIstituzionaleCommerciale(compenso.getTi_istituz_commerc());
filtro.setFlBonus(compenso.isDaBonus());
filtro.setFlSplitPayment(compenso.getFl_split_payment());
if (filtro.getCdTipoRapporto() != null && filtro.getCdTipoRapporto().equals("DIP")) {
try {
TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
TerzoBulk tKey = new TerzoBulk(compenso.getCd_terzo());
TerzoBulk t = (TerzoBulk) tHome.findByPrimaryKey(tKey);
RapportoHome rHome = (RapportoHome) getHomeCache(userContext).getHome(RapportoBulk.class);
java.util.Collection collRapp = rHome.findByCdAnagCdTipoRapporto(t.getCd_anag(), filtro.getCdTipoRapporto());
boolean exit = false;
for (java.util.Iterator i = collRapp.iterator(); i.hasNext() && !exit; ) {
RapportoBulk r = (RapportoBulk) i.next();
exit = true;
if (r.getCd_ente_prev_sti() == null)
// throw new
// it.cnr.jada.comp.ApplicationException("Non è stato possibile recuperare l''Ente Previdenziale del dipendente selezionato.");
// non blocco perchè potrebbero esserci trattamenti
// che non prevedono contributi previdenziali
// quindi passo il codice fittizio 'XX'
filtro.setEntePrev("XX");
else
filtro.setEntePrev(r.getCd_ente_prev_sti());
if (r.getCd_rapp_impiego_sti() == null)
throw new it.cnr.jada.comp.ApplicationException("Per il dipendente in esame non è definito un Rapporto di Impiego!");
else {
Ass_rapp_impiegoHome assHome = (Ass_rapp_impiegoHome) getHome(userContext, Ass_rapp_impiegoBulk.class);
Ass_rapp_impiegoBulk assKey = new Ass_rapp_impiegoBulk(r.getCd_rapp_impiego_sti());
Ass_rapp_impiegoBulk ass = (Ass_rapp_impiegoBulk) assHome.findByPrimaryKey(assKey);
filtro.setTipoRappImpiego(ass.getTipo_rapp_impiego());
}
}
} catch (IntrospectionException e) {
throw handleException(e);
}
// solo per il rapporto DIP aggiungo il filtro "Anno prec" a
// seconda della data di inizio competenza
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(compenso.getDt_da_competenza_coge());
if (data_da.get(GregorianCalendar.YEAR) == (compenso.getEsercizio() - 1))
filtro.setFlAnnoPrec(new Boolean(true));
else
filtro.setFlAnnoPrec(new Boolean(false));
}
if (compenso.getDt_da_competenza_coge() != null && compenso.getDt_a_competenza_coge() != null) {
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
GregorianCalendar data_a = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(compenso.getDt_da_competenza_coge());
data_a.setTime(compenso.getDt_a_competenza_coge());
TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
TerzoBulk tKey = new TerzoBulk(compenso.getCd_terzo());
TerzoBulk t = (TerzoBulk) tHome.findByPrimaryKey(tKey);
AnagraficoHome aHome = (AnagraficoHome) getHomeCache(userContext).getHome(AnagraficoBulk.class);
AnagraficoBulk aKey = new AnagraficoBulk(t.getCd_anag());
AnagraficoBulk a = (AnagraficoBulk) aHome.findByPrimaryKey(aKey);
if (a.getFl_cervellone() && (a.getAnno_inizio_res_fis() == null || a.getAnno_fine_agevolazioni() == null)) {
throw new it.cnr.jada.comp.ApplicationException("Per la persona in esame è impostata l'agevolazione fiscale del rientro dei cervelli ma non è indicato l'anno inizio residenza fiscale o l'anno di fine delle agevolazioni.");
}
if (data_da.get(GregorianCalendar.YEAR) == data_a.get(GregorianCalendar.YEAR)) {
if (a.getFl_cervellone() && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_inizio_res_fis().intValue()) < 0) && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_fine_agevolazioni().intValue()) > 0)) {
filtro.setFlAgevolazioniCervelli(new Boolean(a.getFl_cervellone()));
} else
filtro.setFlAgevolazioniCervelli(new Boolean(false));
} else // cavallo
if (compenso.getFl_compenso_conguaglio() && a.getFl_cervellone() && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_inizio_res_fis().intValue()) < 0) && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_fine_agevolazioni().intValue()) > 0)) {
filtro.setFlAgevolazioniCervelli(new Boolean(a.getFl_cervellone()));
} else
filtro.setFlAgevolazioniCervelli(new Boolean(false));
}
if (filtro.getCdTipoRapporto() != null && getTipoRapportoProf(userContext).getCd_tipo_rapporto() != null && filtro.getCdTipoRapporto().equals(getTipoRapportoProf(userContext).getCd_tipo_rapporto())) {
if (compenso.isGestione_doc_ele()) {
if (!compenso.getFl_generata_fattura()) {
// se non ho scelto senza calcoli non devo vedere nulla
if (!compenso.getFl_senza_calcoli())
filtro.setTipoAnagrafico("X");
}
}
}
return trattHome.findTipiTrattamento(filtro);
} catch (it.cnr.jada.persistency.PersistencyException ex) {
throw handleException(compenso, ex);
}
}
use of it.cnr.contab.anagraf00.core.bulk.RapportoHome in project sigla-main by consiglionazionaledellericerche.
the class CompensoComponent method isTipoTrattamentoValido.
private boolean isTipoTrattamentoValido(UserContext userContext, CompensoBulk compenso) throws ComponentException {
try {
Tipo_trattamentoHome home = (Tipo_trattamentoHome) getHome(userContext, Tipo_trattamentoBulk.class);
Filtro_trattamentoBulk filtro = new Filtro_trattamentoBulk();
filtro.setCdTipoRapporto(compenso.getCd_tipo_rapporto());
filtro.setCdTipoTrattamento(compenso.getCd_trattamento());
filtro.setTipoAnagrafico(compenso.getTi_anagrafico());
filtro.setDataValidita(compenso.getDt_registrazione());
filtro.setFlSenzaCalcoli(compenso.getFl_senza_calcoli());
filtro.setFlDefaultCongualio(new Boolean(compenso.isDaConguaglio()));
filtro.setTiIstituzionaleCommerciale(compenso.getTi_istituz_commerc());
filtro.setFlBonus(compenso.isDaBonus());
filtro.setFlSplitPayment(compenso.getFl_split_payment());
if (filtro.getCdTipoRapporto() != null && filtro.getCdTipoRapporto().equals("DIP")) {
try {
TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
TerzoBulk tKey = new TerzoBulk(compenso.getCd_terzo());
TerzoBulk t = (TerzoBulk) tHome.findByPrimaryKey(tKey);
RapportoHome rHome = (RapportoHome) getHomeCache(userContext).getHome(RapportoBulk.class);
java.util.Collection collRapp = rHome.findByCdAnagCdTipoRapporto(t.getCd_anag(), filtro.getCdTipoRapporto());
boolean exit = false;
for (java.util.Iterator i = collRapp.iterator(); i.hasNext() && !exit; ) {
RapportoBulk r = (RapportoBulk) i.next();
exit = true;
if (r.getCd_ente_prev_sti() == null)
// throw new
// it.cnr.jada.comp.ApplicationException("Non è stato possibile recuperare l''Ente Previdenziale del dipendente selezionato.");
// non blocco perchè potrebbero esserci trattamenti
// che non prevedono contributi previdenziali
// quindi passo il codice fittizio 'XX'
filtro.setEntePrev("XX");
else
filtro.setEntePrev(r.getCd_ente_prev_sti());
if (r.getCd_rapp_impiego_sti() == null)
throw new it.cnr.jada.comp.ApplicationException("Per il dipendente in esame non è definito un Rapporto di Impiego!");
else {
Ass_rapp_impiegoHome assHome = (Ass_rapp_impiegoHome) getHome(userContext, Ass_rapp_impiegoBulk.class);
Ass_rapp_impiegoBulk assKey = new Ass_rapp_impiegoBulk(r.getCd_rapp_impiego_sti());
Ass_rapp_impiegoBulk ass = (Ass_rapp_impiegoBulk) assHome.findByPrimaryKey(assKey);
filtro.setTipoRappImpiego(ass.getTipo_rapp_impiego());
}
}
} catch (IntrospectionException e) {
throw handleException(e);
}
// solo per il rapporto DIP aggiungo il filtro "Anno prec" a
// seconda della data di inizio competenza
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(compenso.getDt_da_competenza_coge());
if (data_da.get(GregorianCalendar.YEAR) == (compenso.getEsercizio() - 1))
filtro.setFlAnnoPrec(new Boolean(true));
else
filtro.setFlAnnoPrec(new Boolean(false));
}
if (compenso.getDt_da_competenza_coge() != null && compenso.getDt_a_competenza_coge() != null) {
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
GregorianCalendar data_a = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(compenso.getDt_da_competenza_coge());
data_a.setTime(compenso.getDt_a_competenza_coge());
TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
TerzoBulk tKey = new TerzoBulk(compenso.getCd_terzo());
TerzoBulk t = (TerzoBulk) tHome.findByPrimaryKey(tKey);
AnagraficoHome aHome = (AnagraficoHome) getHomeCache(userContext).getHome(AnagraficoBulk.class);
AnagraficoBulk aKey = new AnagraficoBulk(t.getCd_anag());
AnagraficoBulk a = (AnagraficoBulk) aHome.findByPrimaryKey(aKey);
if (data_da.get(GregorianCalendar.YEAR) == data_a.get(GregorianCalendar.YEAR)) {
if (a.getFl_cervellone() && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_inizio_res_fis().intValue()) < 0) && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_fine_agevolazioni().intValue()) > 0)) {
filtro.setFlAgevolazioniCervelli(new Boolean(a.getFl_cervellone()));
} else
filtro.setFlAgevolazioniCervelli(new Boolean(false));
} else // cavallo
if (compenso.getFl_compenso_conguaglio() && a.getFl_cervellone() && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_inizio_res_fis().intValue()) < 0) && !(new Integer(data_da.get(GregorianCalendar.YEAR)).compareTo(a.getAnno_fine_agevolazioni().intValue()) > 0)) {
filtro.setFlAgevolazioniCervelli(new Boolean(a.getFl_cervellone()));
} else
filtro.setFlAgevolazioniCervelli(new Boolean(false));
}
if (filtro.getCdTipoRapporto() != null && getTipoRapportoProf(userContext).getCd_tipo_rapporto() != null && filtro.getCdTipoRapporto().equals(getTipoRapportoProf(userContext).getCd_tipo_rapporto())) {
if (compenso.isGestione_doc_ele()) {
if (!compenso.getFl_generata_fattura()) {
// se non ho scelto senza calcoli non devo vedere nulla
if (!compenso.getFl_senza_calcoli())
filtro.setTipoAnagrafico("X");
}
}
}
return home.isTipoTrattamentoValido(filtro);
} catch (java.sql.SQLException ex) {
throw handleException(ex);
} catch (it.cnr.jada.persistency.PersistencyException ex) {
throw handleException(ex);
}
}
Aggregations