Search in sources :

Example 1 with Tipo_trattamentoHome

use of it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome 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);
    }
}
Also used : IntrospectionException(it.cnr.jada.persistency.IntrospectionException) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome) Tipo_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) Ass_rapp_impiegoHome(it.cnr.contab.anagraf00.core.bulk.Ass_rapp_impiegoHome) Ass_rapp_impiegoBulk(it.cnr.contab.anagraf00.core.bulk.Ass_rapp_impiegoBulk) RapportoHome(it.cnr.contab.anagraf00.core.bulk.RapportoHome) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Iterator(java.util.Iterator) Collection(java.util.Collection) AnagraficoBulk(it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk) Filtro_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Filtro_trattamentoBulk) RapportoBulk(it.cnr.contab.anagraf00.core.bulk.RapportoBulk) GregorianCalendar(java.util.GregorianCalendar) ApplicationException(it.cnr.jada.comp.ApplicationException) AnagraficoHome(it.cnr.contab.anagraf00.core.bulk.AnagraficoHome) Tipo_trattamentoHome(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome)

Example 2 with Tipo_trattamentoHome

use of it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome in project sigla-main by consiglionazionaledellericerche.

the class CompensoComponent method completaIncarico.

public CompensoBulk completaIncarico(UserContext userContext, CompensoBulk compenso, Incarichi_repertorio_annoBulk incarico_anno) throws ComponentException {
    if (compenso != null) {
        try {
            if (compenso.getTipoTrattamento() == null) {
                Tipo_trattamentoHome trattHome = (Tipo_trattamentoHome) getHome(userContext, Tipo_trattamentoBulk.class);
                Tipo_trattamentoBulk tratt;
                tratt = trattHome.findIntervallo(new Tipo_trattamentoBulk(incarico_anno.getIncarichi_repertorio().getTipo_trattamento().getCd_trattamento(), trattHome.getServerDate()));
                compenso.impostaTipoTratt(tratt);
                onTipoTrattamentoChange(userContext, compenso);
                compenso.setStatoCompensoToEseguiCalcolo();
            }
        /*
				 * int dim =getHome(userContext,compenso).getColumnMap().
				 * getMappingForProperty("ds_compenso").getColumnSize(); String
				 * ds_compenso_new = compenso.getDs_compenso()+" - "+
				 * incarico_anno.getIncarichi_repertorio().getOggetto(); if
				 * (ds_compenso_new.length()>dim-1) ds_compenso_new =
				 * ds_compenso_new.substring(0,dim-1);
				 * compenso.setDs_compenso(ds_compenso_new);
				 */
        } catch (it.cnr.jada.persistency.PersistencyException ex) {
            throw handleException(ex);
        }
    }
    return compenso;
}
Also used : PersistencyException(it.cnr.jada.persistency.PersistencyException) Tipo_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk) Tipo_trattamentoHome(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome)

Example 3 with Tipo_trattamentoHome

use of it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome 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);
    }
}
Also used : IntrospectionException(it.cnr.jada.persistency.IntrospectionException) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome) Tipo_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) Ass_rapp_impiegoHome(it.cnr.contab.anagraf00.core.bulk.Ass_rapp_impiegoHome) Ass_rapp_impiegoBulk(it.cnr.contab.anagraf00.core.bulk.Ass_rapp_impiegoBulk) RapportoHome(it.cnr.contab.anagraf00.core.bulk.RapportoHome) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Iterator(java.util.Iterator) Collection(java.util.Collection) AnagraficoBulk(it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk) Filtro_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Filtro_trattamentoBulk) RapportoBulk(it.cnr.contab.anagraf00.core.bulk.RapportoBulk) GregorianCalendar(java.util.GregorianCalendar) ApplicationException(it.cnr.jada.comp.ApplicationException) AnagraficoHome(it.cnr.contab.anagraf00.core.bulk.AnagraficoHome) Tipo_trattamentoHome(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome)

Example 4 with Tipo_trattamentoHome

use of it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome in project sigla-main by consiglionazionaledellericerche.

the class MissioneComponent method isTipoTrattamentoValido.

/**
 * Pre-post-conditions:
 * <p>
 * Nome: verifica validita' Tipo Trattamento
 * Pre:  Il sistema richiede la validita' del Tipo Trattamento del terzo associato alla missione
 * Post: Il sistema valida il Tipo Trattamento selezionato
 *
 * @param userContext lo UserContext che ha generato la richiesta
 * @param missione    La missione il cui Tipo Trattamento e' da controllare
 * @return true se il Tipo Trattamento e' ancora valido
 */
private boolean isTipoTrattamentoValido(UserContext userContext, MissioneBulk missione) throws ComponentException {
    try {
        Tipo_trattamentoHome home = (Tipo_trattamentoHome) getHome(userContext, Tipo_trattamentoBulk.class);
        Filtro_trattamentoBulk filtro = new Filtro_trattamentoBulk();
        filtro.setCdTipoRapporto(missione.getCd_tipo_rapporto());
        filtro.setCdTipoTrattamento(missione.getCd_trattamento());
        filtro.setTipoAnagrafico(missione.getTi_anagrafico());
        filtro.setDataValidita(missione.getDt_registrazione());
        filtro.setFlSenzaCalcoli(Boolean.FALSE);
        filtro.setFlDiaria(Boolean.TRUE);
        filtro.setFlDefaultCongualio(Boolean.FALSE);
        filtro.setTiIstituzionaleCommerciale(missione.getTi_istituz_commerc());
        if (filtro.getCdTipoRapporto() != null && filtro.getCdTipoRapporto().equals("DIP")) {
            try {
                TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
                TerzoBulk tKey = new TerzoBulk(missione.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(missione.getDt_inizio_missione());
            if (data_da.get(GregorianCalendar.YEAR) == (missione.getEsercizio() - 1))
                filtro.setFlAnnoPrec(new Boolean(true));
            else
                filtro.setFlAnnoPrec(new Boolean(false));
        }
        if (missione.getDt_inizio_missione() != null && missione.getDt_fine_missione() != null) {
            GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
            GregorianCalendar data_a = (GregorianCalendar) GregorianCalendar.getInstance();
            data_da.setTime(missione.getDt_inizio_missione());
            data_a.setTime(missione.getDt_fine_missione());
            if (data_da.get(GregorianCalendar.YEAR) == data_a.get(GregorianCalendar.YEAR)) {
                TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
                TerzoBulk tKey = new TerzoBulk(missione.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() && !(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
                filtro.setFlAgevolazioniCervelli(new Boolean(false));
        }
        return home.isTipoTrattamentoValido(filtro);
    } catch (java.sql.SQLException ex) {
        throw handleException(ex);
    } catch (it.cnr.jada.persistency.PersistencyException ex) {
        throw handleException(ex);
    }
}
Also used : IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Tipo_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk) it.cnr.jada.persistency.sql(it.cnr.jada.persistency.sql) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Filtro_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Filtro_trattamentoBulk) java.util(java.util) Tipo_trattamentoHome(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome)

Example 5 with Tipo_trattamentoHome

use of it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome in project sigla-main by consiglionazionaledellericerche.

the class MissioneComponent method findTipi_trattamento.

/**
 * Viene richiesta la lista dei Tipi di Trattamento legati
 * al Tipo di Rapporto selezionato
 * <p>
 * Pre-post-conditions:
 * <p>
 * Nome: 	Tipo di Rapporto o Data registrazione NON valorizzati
 * Pre: 	Non sono stati valorizzati il tipo di rapporto o la data di registrazione
 * Post: 	Non vengono caricati i Tipi Trattamento
 * <p>
 * Nome: 	Tipo rapporto e Data registrazione valorizzati
 * Pre: 	E' stato selezionato un tipo di rapporto valido ed e' stata
 * valorizza la data di registrazione della missione
 * Post: 	Viene restituita la lista dei Tipi di Trattamento
 * legati al Tipo di rapporto selezionato, al tipo anagrafico della missione
 * e validita alla data di registrazione della missione
 *
 * @param    userContext        lo UserContext che ha generato la richiesta
 * @param    bulk l'OggettoBulk da completare
 * @return La lista dei Tipi di Trattamento associati al Tipo Rapporto e al tipo anagrafico
 * della missione e validi alla data di registrazione della missione
 */
public java.util.Collection findTipi_trattamento(UserContext userContext, OggettoBulk bulk) throws ComponentException {
    try {
        MissioneBulk missione = (MissioneBulk) bulk;
        if (missione == null || !missione.areCampiPerRicercaTipiTrattamentoValorizzati())
            return null;
        Tipo_trattamentoHome trattamentoHome = (Tipo_trattamentoHome) getHome(userContext, Tipo_trattamentoBulk.class);
        Filtro_trattamentoBulk filtro = new Filtro_trattamentoBulk();
        filtro.setCdTipoRapporto(missione.getCd_tipo_rapporto());
        filtro.setTipoAnagrafico(missione.getTi_anagrafico());
        filtro.setDataValidita(missione.getDt_registrazione());
        filtro.setFlSenzaCalcoli(Boolean.FALSE);
        filtro.setFlDiaria(Boolean.TRUE);
        filtro.setFlDefaultCongualio(Boolean.FALSE);
        filtro.setTiIstituzionaleCommerciale(missione.getTi_istituz_commerc());
        if (filtro.getCdTipoRapporto() != null && filtro.getCdTipoRapporto().equals("DIP")) {
            try {
                TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
                TerzoBulk tKey = new TerzoBulk(missione.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(missione.getDt_inizio_missione());
            if (data_da.get(GregorianCalendar.YEAR) == (missione.getEsercizio() - 1))
                filtro.setFlAnnoPrec(new Boolean(true));
            else
                filtro.setFlAnnoPrec(new Boolean(false));
        }
        if (missione.getDt_inizio_missione() != null && missione.getDt_fine_missione() != null) {
            GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
            GregorianCalendar data_a = (GregorianCalendar) GregorianCalendar.getInstance();
            data_da.setTime(missione.getDt_inizio_missione());
            data_a.setTime(missione.getDt_fine_missione());
            if (data_da.get(GregorianCalendar.YEAR) == data_a.get(GregorianCalendar.YEAR)) {
                TerzoHome tHome = (TerzoHome) getHomeCache(userContext).getHome(TerzoBulk.class);
                TerzoBulk tKey = new TerzoBulk(missione.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() && !(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
                filtro.setFlAgevolazioniCervelli(new Boolean(false));
        }
        return trattamentoHome.findTipiTrattamento(filtro);
    } catch (it.cnr.jada.persistency.PersistencyException ex) {
        throw handleException(bulk, ex);
    }
}
Also used : IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Tipo_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Filtro_trattamentoBulk(it.cnr.contab.compensi00.tabrif.bulk.Filtro_trattamentoBulk) java.util(java.util) Tipo_trattamentoHome(it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome)

Aggregations

PersistencyException (it.cnr.jada.persistency.PersistencyException)9 Tipo_trattamentoBulk (it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk)8 Tipo_trattamentoHome (it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoHome)8 ApplicationException (it.cnr.jada.comp.ApplicationException)7 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)7 Filtro_trattamentoBulk (it.cnr.contab.compensi00.tabrif.bulk.Filtro_trattamentoBulk)5 AnagraficoBulk (it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk)4 TerzoBulk (it.cnr.contab.anagraf00.core.bulk.TerzoBulk)4 TerzoHome (it.cnr.contab.anagraf00.core.bulk.TerzoHome)4 java.util (java.util)4 AnagraficoHome (it.cnr.contab.anagraf00.core.bulk.AnagraficoHome)3 Ass_rapp_impiegoBulk (it.cnr.contab.anagraf00.core.bulk.Ass_rapp_impiegoBulk)3 Ass_rapp_impiegoHome (it.cnr.contab.anagraf00.core.bulk.Ass_rapp_impiegoHome)3 RapportoBulk (it.cnr.contab.anagraf00.core.bulk.RapportoBulk)3 RapportoHome (it.cnr.contab.anagraf00.core.bulk.RapportoHome)3 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)2 RemoteException (java.rmi.RemoteException)2 SQLException (java.sql.SQLException)2 Collection (java.util.Collection)2 GregorianCalendar (java.util.GregorianCalendar)2