Search in sources :

Example 26 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class CompensoComponent method selectTerzoForPrintByClause.

/**
 * Costruisce l'istruzione SQL corrispondente ad una ricerca con le clausole
 * specificate. Aggiunge una clausola a tutte le operazioni di ricerca
 * eseguite sul Terzo, (V_ANAGRAFICO_TERZO) per una operazione di Stampa per
 * il Riepilogo Compensi.
 *
 * Nome: Richiesta di ricerca di un Terzo Pre: E' stata generata la
 * richiesta di ricerca di un Terzo per una operazione di Stampa dei
 * Riepiloghi Compensi. Post: Viene restituito l'SQLBuilder con le clausole
 * richieste
 *
 * @param userContext
 *            lo userContext che ha generato la richiesta
 * @param compenso
 *            l'OggettoBulk che rappresenta il contesto della ricerca.
 * @param tipologia
 *            l'OggettoBulk da usare come prototipo della ricerca; sul
 *            prototipo vengono costruite delle clausole aggiuntive che
 *            vengono aggiunte in AND alle clausole specificate.
 * @param clauses
 *            L'albero logico delle clausole da applicare alla ricerca
 * @return Un'istanza di SQLBuilder contenente l'istruzione SQL da eseguire
 *         e tutti i parametri della query.
 */
public SQLBuilder selectTerzoForPrintByClause(UserContext userContext, StampaRiepilogoCompensiVBulk stampa, TerzoBulk terzo, CompoundFindClause clauses) throws ComponentException {
    TerzoHome home = (TerzoHome) getHome(userContext, terzo);
    SQLBuilder sql = home.createSQLBuilder();
    sql.setAutoJoins(true);
    sql.addClause(clauses);
    return sql;
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome)

Example 27 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk 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 28 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk 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 29 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class ConsRiepilogoCompensiComponent method impostaDatiIniziali.

public VConsRiepCompensiBulk impostaDatiIniziali(it.cnr.jada.UserContext userContext, VConsRiepCompensiBulk incarichi) throws it.cnr.jada.comp.ComponentException {
    incarichi.setUoForPrint(new Unita_organizzativaBulk());
    incarichi.setUOForPrintEnabled(true);
    incarichi.setGroupTrattamento(false);
    incarichi.setDettagliata(true);
    incarichi.setFiltroSoggetto(new TerzoBulk());
    return incarichi;
}
Also used : Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk)

Example 30 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class ConsRiepilogoCompensiComponent method selectFiltroSoggettoByClause.

public it.cnr.jada.persistency.sql.SQLBuilder selectFiltroSoggettoByClause(UserContext aUC, VConsRiepCompensiBulk incarichi, TerzoBulk cliente, CompoundFindClause clauses) throws ComponentException {
    TerzoHome home = (TerzoHome) getHome(aUC, cliente);
    SQLBuilder sql = home.createSQLBuilder();
    sql.setAutoJoins(true);
    sql.addClause(clauses);
    return sql;
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome)

Aggregations

TerzoBulk (it.cnr.contab.anagraf00.core.bulk.TerzoBulk)129 PersistencyException (it.cnr.jada.persistency.PersistencyException)64 ComponentException (it.cnr.jada.comp.ComponentException)53 RemoteException (java.rmi.RemoteException)53 ApplicationException (it.cnr.jada.comp.ApplicationException)48 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)36 AnagraficoBulk (it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk)32 EJBException (javax.ejb.EJBException)27 TerzoHome (it.cnr.contab.anagraf00.core.bulk.TerzoHome)24 Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)24 ValidationException (it.cnr.jada.bulk.ValidationException)22 Iterator (java.util.Iterator)21 List (java.util.List)20 Rif_modalita_pagamentoBulk (it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk)19 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)18 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)17 BulkList (it.cnr.jada.bulk.BulkList)17 SQLException (java.sql.SQLException)17 it.cnr.contab.anagraf00.core.bulk (it.cnr.contab.anagraf00.core.bulk)16 UserContext (it.cnr.jada.UserContext)16