Search in sources :

Example 1 with Tipo_rapportoHome

use of it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoHome in project sigla-main by consiglionazionaledellericerche.

the class MissioneComponent method findTipi_rapporto.

/**
 * Viene richiesta la lista dei Tipi di rapporto associati ad un Terzo e validi
 * in data inizio missione
 * <p>
 * Pre-post-conditions:
 * <p>
 * Nome:	Terzo NON selezionato o data inizio missione non valorizzata
 * Pre: 	Non è stato selezionato un Terzo per la missione oppure non e'
 * stata inserita la data inizio missione
 * Post: 	Non vengono caricati i Tipi di rapporto
 * <p>
 * Nome: 	Terzo selezionato e data inizio missione valorizzata
 * Pre: 	E' stato selezionato un Terzo valido per la missione ed e' stata
 * inserita la data inizio missione
 * Post: 	Viene restituita la lista dei Tipi di rapporto associati al Terzo e
 * validi in data inizio missione
 *
 * @param    userContext        lo UserContext che ha generato la richiesta
 * @param    bulk l'OggettoBulk da completare
 * @return La lista dei Tipi di rapporto associati al terzo e validi in data inizio
 * missione
 */
public java.util.Collection findTipi_rapporto(UserContext userContext, OggettoBulk bulk) throws ComponentException {
    try {
        MissioneBulk missione = (MissioneBulk) bulk;
        if (!missione.areCampiPerRicercaTipiRapportoValorizzati())
            return null;
        Tipo_rapportoHome rifHome = (Tipo_rapportoHome) getHome(userContext, Tipo_rapportoBulk.class);
        java.sql.Timestamp aData = it.cnr.jada.util.DateUtils.truncate(missione.getDt_inizio_missione());
        List listaTipiRapporto = rifHome.findTipiRapporto(missione.getV_terzo(), aData);
        return listaTipiRapporto;
    } catch (it.cnr.jada.persistency.PersistencyException ex) {
        throw handleException(bulk, ex);
    }
}
Also used : PersistencyException(it.cnr.jada.persistency.PersistencyException) Timestamp(java.sql.Timestamp) Tipo_rapportoHome(it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoHome) Tipo_rapportoBulk(it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk) it.cnr.jada.persistency.sql(it.cnr.jada.persistency.sql)

Example 2 with Tipo_rapportoHome

use of it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoHome in project sigla-main by consiglionazionaledellericerche.

the class CostiDipendenteComponent method createCompensoStipendio.

private CompensoBulk createCompensoStipendio(UserContext userContext, Stipendi_cofiBulk stipendiCofiBulk, MandatoAutomaticoWizardBulk mandatoWizard, MandatoBulk mandatoStipendio) throws ComponentException {
    try {
        Integer aEsercizio = stipendiCofiBulk.getEsercizio();
        Integer aMese = stipendiCofiBulk.getMese();
        CompensoBulk compensoBulk = new CompensoBulk();
        compensoBulk.setCd_cds(mandatoWizard.getCd_cds());
        compensoBulk.setCd_unita_organizzativa(mandatoWizard.getCd_unita_organizzativa());
        compensoBulk.setCd_cds_origine(mandatoWizard.getCd_cds());
        compensoBulk.setCd_uo_origine(mandatoWizard.getCd_unita_organizzativa());
        compensoBulk.setEsercizio(aEsercizio);
        compensoBulk.initialize();
        compensoBulk = (CompensoBulk) Utility.createCompensoComponentSession().inizializzaBulkPerInserimento(userContext, compensoBulk);
        compensoBulk.setDt_registrazione(mandatoWizard.getDt_emissione());
        compensoBulk.setDs_compenso("Liquidazione stipendi mese n." + aMese + " es.:" + aEsercizio + ".");
        compensoBulk.setTi_anagrafico(AnagraficoBulk.DIVERSI);
        Integer cdTerzoStipendi = Utility.createConfigurazioneCnrComponentSession().getCdTerzoDiversiStipendi(userContext);
        V_terzo_per_compensoHome terzohome = (V_terzo_per_compensoHome) getHome(userContext, V_terzo_per_compensoBulk.class, "DISTINCT_TERZO");
        V_terzo_per_compensoBulk terzoStipendi = terzohome.loadVTerzo(userContext, Tipo_rapportoBulk.DIPENDENTE, cdTerzoStipendi, compensoBulk.getDt_registrazione(), compensoBulk.getDt_registrazione());
        compensoBulk.setV_terzo(terzoStipendi);
        compensoBulk.setCd_terzo(terzoStipendi.getCd_terzo());
        compensoBulk.setRagione_sociale(terzoStipendi.getRagione_sociale());
        compensoBulk.setNome(terzoStipendi.getNome());
        compensoBulk.setCognome(terzoStipendi.getCognome());
        compensoBulk.setCodice_fiscale(terzoStipendi.getCodice_fiscale());
        compensoBulk.setPartita_iva(terzoStipendi.getPartita_iva());
        Collection<Modalita_pagamentoBulk> modalita_pagamentoBulks = ((TerzoHome) getHome(userContext, TerzoBulk.class)).findModalita_pagamento(terzoStipendi.getTerzo());
        Modalita_pagamentoBulk modalitaPagamentoBulk = modalita_pagamentoBulks.stream().sorted(Comparator.comparing(Modalita_pagamentoBulk::getDacr).reversed()).findFirst().orElse(null);
        Collection<BancaBulk> bancaBulks = ((AnagraficoHome) getHome(userContext, AnagraficoBulk.class)).findBanca(terzoStipendi.getAnagrafico());
        BancaBulk bancaBulk = bancaBulks.stream().sorted(Comparator.comparing(BancaBulk::getDacr).reversed()).findFirst().orElse(null);
        compensoBulk.setModalitaPagamento(modalitaPagamentoBulk.getRif_modalita_pagamento());
        compensoBulk.setBanca(bancaBulk);
        Tipo_rapportoHome tipoRapportoHome = (Tipo_rapportoHome) getHome(userContext, Tipo_rapportoBulk.class);
        Tipo_rapportoBulk tipoRapporto = (Tipo_rapportoBulk) tipoRapportoHome.findByPrimaryKey(new Tipo_rapportoBulk(Pdg_modulo_gestBulk.CAT_STIPENDI));
        compensoBulk.setTipoRapporto(tipoRapporto);
        Tipo_trattamentoHome tipoTrattamentoHome = (Tipo_trattamentoHome) getHome(userContext, Tipo_trattamentoBulk.class);
        Tipo_trattamentoBulk tipoTrattamentoBulk = Optional.ofNullable(tipoTrattamentoHome.findTipoTrattamentoCompenso()).orElseThrow(() -> new ComponentException("Non è stato possibile individuare il tipo trattamento utile per generare il compenso degli stipendi"));
        compensoBulk.setTipoTrattamento(tipoTrattamentoBulk);
        compensoBulk.setFl_senza_calcoli(Boolean.TRUE);
        compensoBulk.setFl_diaria(Boolean.FALSE);
        compensoBulk.setStato_cofi(CompensoBulk.STATO_PAGATO);
        compensoBulk.setStato_coge(Documento_genericoBulk.DA_NON_REGISTRARE_IN_COGE);
        compensoBulk.setStato_coan(Documento_genericoBulk.DA_NON_REGISTRARE_IN_COAN);
        compensoBulk.setTi_associato_manrev(Fattura_passivaBulk.ASSOCIATO_A_MANDATO);
        compensoBulk.setDt_emissione_mandato(compensoBulk.getDt_registrazione());
        compensoBulk.setDt_da_competenza_coge(mandatoWizard.getModelloDocumento().getDt_da_competenza_coge());
        compensoBulk.setDt_a_competenza_coge(mandatoWizard.getModelloDocumento().getDt_a_competenza_coge());
        compensoBulk.setStato_pagamento_fondo_eco("N");
        compensoBulk.setTi_istituz_commerc(mandatoWizard.getModelloDocumento().getTi_istituz_commerc());
        compensoBulk.setFl_compenso_stipendi(Boolean.TRUE);
        String aClassCoriSpec = Utility.createConfigurazioneCnrComponentSession().getVal01(userContext, aEsercizio, null, Configurazione_cnrBulk.PK_CORI_SPECIALE, Configurazione_cnrBulk.SK_CORI_STIPENDI_EXTRA);
        Stipendi_cofi_coriHome stipendi_cofi_coriHome = (Stipendi_cofi_coriHome) getHome(userContext, it.cnr.contab.pdg00.cdip.bulk.Stipendi_cofi_coriBulk.class);
        java.util.Collection<Stipendi_cofi_coriBulk> stipendiCofiCoriColl = stipendi_cofi_coriHome.findStipendiCofiCori(aEsercizio, aMese);
        compensoBulk.setContributi(new ArrayList<>());
        for (java.util.Iterator<Stipendi_cofi_coriBulk> i = stipendiCofiCoriColl.iterator(); i.hasNext(); ) {
            Stipendi_cofi_coriBulk el = i.next();
            Tipo_contributo_ritenutaHome tipoContributoRitenutaHome = (Tipo_contributo_ritenutaHome) getHome(userContext, Tipo_contributo_ritenutaBulk.class);
            Tipo_contributo_ritenutaBulk tipoContributoRitenutaBulk = tipoContributoRitenutaHome.findTipoCORIValido(el.getCd_contributo_ritenuta(), tipoContributoRitenutaHome.getServerDate());
            boolean isCoriSpeciale = tipoContributoRitenutaBulk.getCd_classificazione_cori().equals(aClassCoriSpec);
            if (el.getAmmontare().compareTo(BigDecimal.ZERO) != 0) {
                Ass_tipo_cori_evBulk aEffCori = findAssociazioneCoriVoce(userContext, el.getEsercizio(), el.getCd_contributo_ritenuta(), Elemento_voceHome.APPARTENENZA_CNR, Elemento_voceHome.GESTIONE_ENTRATE, el.getTi_ente_percipiente());
                aEffCori = (Ass_tipo_cori_evBulk) ((AssTipoCORIEvComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRCOMPENSI00_EJB_AssTipoCORIEvComponentSession", AssTipoCORIEvComponentSession.class)).inizializzaBulkPerModifica(userContext, aEffCori);
                Contributo_ritenutaBulk contributoRitenutaBulk = new Contributo_ritenutaBulk();
                contributoRitenutaBulk.setCompenso(compensoBulk);
                contributoRitenutaBulk.setDettagli(new BulkList());
                contributoRitenutaBulk.setCd_contributo_ritenuta(aEffCori.getCd_contributo_ritenuta());
                contributoRitenutaBulk.setDt_ini_validita(aEffCori.getContributo_ritenuta().getDt_ini_validita());
                contributoRitenutaBulk.setMontante(BigDecimal.ZERO);
                contributoRitenutaBulk.setImponibile(BigDecimal.ZERO);
                contributoRitenutaBulk.setAliquota(BigDecimal.ZERO);
                contributoRitenutaBulk.setBase_calcolo(BigDecimal.ZERO);
                contributoRitenutaBulk.setAmmontare(el.getAmmontare());
                contributoRitenutaBulk.setAmmontare_lordo(el.getAmmontare());
                contributoRitenutaBulk.setImponibile_lordo(BigDecimal.ZERO);
                contributoRitenutaBulk.setIm_deduzione_irpef(BigDecimal.ZERO);
                contributoRitenutaBulk.setIm_deduzione_family(BigDecimal.ZERO);
                contributoRitenutaBulk.setIm_cori_sospeso(BigDecimal.ZERO);
                contributoRitenutaBulk.setTi_ente_percipiente(el.getTi_ente_percipiente());
                contributoRitenutaBulk.setStato_cofi_cr(compensoBulk.getStato_cofi());
                if (el.getAmmontare().compareTo(BigDecimal.ZERO) > 0) {
                    // Creo l'accertamento partita di giro che poi legherò alla reversale
                    AccertamentoPGiroBulk accertamentoPGiroBulk = new AccertamentoPGiroBulk();
                    accertamentoPGiroBulk.setEsercizio(aEsercizio);
                    accertamentoPGiroBulk.setEsercizio_originale(aEsercizio);
                    accertamentoPGiroBulk.setEsercizio_competenza(aEsercizio);
                    accertamentoPGiroBulk.setCds(mandatoWizard.getCds());
                    accertamentoPGiroBulk.setUnita_organizzativa(mandatoWizard.getUnita_organizzativa());
                    accertamentoPGiroBulk.setCd_uo_origine(mandatoWizard.getCd_uo_origine());
                    accertamentoPGiroBulk.setCd_cds_origine(mandatoWizard.getCd_cds_origine());
                    accertamentoPGiroBulk.setFl_calcolo_automatico(Boolean.TRUE);
                    accertamentoPGiroBulk.setRiportato("N");
                    accertamentoPGiroBulk.setFl_isTronco(isCoriSpeciale);
                    accertamentoPGiroBulk = (AccertamentoPGiroBulk) Utility.createAccertamentoPGiroComponentSession().inizializzaBulkPerInserimento(userContext, accertamentoPGiroBulk);
                    Ass_partita_giroHome assPartitaGiroHome = (Ass_partita_giroHome) getHome(userContext, Ass_partita_giroBulk.class);
                    Ass_partita_giroBulk assPartitaGiro = assPartitaGiroHome.getAssociazionePGiroFor(aEffCori.getElemento_voce());
                    accertamentoPGiroBulk.setElemento_voceContr(new Elemento_voceBulk(assPartitaGiro.getCd_voce_clg(), assPartitaGiro.getEsercizio(), assPartitaGiro.getTi_appartenenza_clg(), assPartitaGiro.getTi_gestione_clg()));
                    accertamentoPGiroBulk.setCapitolo((V_voce_f_partita_giroBulk) getHome(userContext, V_voce_f_partita_giroBulk.class).findByPrimaryKey(new V_voce_f_partita_giroBulk(aEffCori.getElemento_voce().getCd_voce(), aEffCori.getElemento_voce().getEsercizio(), aEffCori.getElemento_voce().getTi_appartenenza(), aEffCori.getElemento_voce().getTi_gestione())));
                    accertamentoPGiroBulk.setIm_accertamento(el.getAmmontare());
                    accertamentoPGiroBulk.setDt_registrazione(compensoBulk.getDt_registrazione());
                    accertamentoPGiroBulk.setDs_accertamento("CORI-D mese:" + el.getMese() + " es:" + el.getEsercizio() + " CORI:" + el.getCd_contributo_ritenuta());
                    accertamentoPGiroBulk.setDebitore(mandatoStipendio.getMandato_terzo().getTerzo());
                    accertamentoPGiroBulk.setToBeCreated();
                    accertamentoPGiroBulk = (AccertamentoPGiroBulk) Utility.createAccertamentoPGiroComponentSession().creaConBulk(userContext, accertamentoPGiroBulk);
                    contributoRitenutaBulk.setCd_cds_accertamento(accertamentoPGiroBulk.getCd_cds());
                    contributoRitenutaBulk.setEsercizio_accertamento(accertamentoPGiroBulk.getEsercizio());
                    contributoRitenutaBulk.setEsercizio_ori_accertamento(accertamentoPGiroBulk.getEsercizio_originale());
                    contributoRitenutaBulk.setPg_accertamento(accertamentoPGiroBulk.getPg_accertamento());
                    contributoRitenutaBulk.setPg_accertamento_scadenzario(Long.valueOf(1));
                } else {
                    // Creo l'obbligazione
                    ImpegnoPGiroBulk obbligazionePGiroBulk = new ImpegnoPGiroBulk();
                    obbligazionePGiroBulk.setEsercizio(aEsercizio);
                    obbligazionePGiroBulk.setEsercizio_originale(aEsercizio);
                    obbligazionePGiroBulk.setEsercizio_competenza(aEsercizio);
                    obbligazionePGiroBulk.setCds(mandatoWizard.getCds());
                    obbligazionePGiroBulk.setUnita_organizzativa(mandatoWizard.getUnita_organizzativa());
                    obbligazionePGiroBulk.setCd_uo_origine(mandatoWizard.getCd_uo_origine());
                    obbligazionePGiroBulk.setCd_cds_origine(mandatoWizard.getCd_cds_origine());
                    obbligazionePGiroBulk.setFl_isTronco(isCoriSpeciale);
                    obbligazionePGiroBulk.setFl_calcolo_automatico(Boolean.TRUE);
                    obbligazionePGiroBulk.setFl_calcolo_automatico(Boolean.TRUE);
                    obbligazionePGiroBulk.setFl_spese_costi_altrui(Boolean.FALSE);
                    obbligazionePGiroBulk.setFl_gara_in_corso(Boolean.FALSE);
                    obbligazionePGiroBulk.setStato_obbligazione(ObbligazioneBulk.STATO_OBB_DEFINITIVO);
                    obbligazionePGiroBulk.setRiportato("N");
                    obbligazionePGiroBulk.setIm_costi_anticipati(BigDecimal.ZERO);
                    obbligazionePGiroBulk = (ImpegnoPGiroBulk) Utility.createObbligazionePGiroComponentSession().inizializzaBulkPerInserimento(userContext, obbligazionePGiroBulk);
                    Ass_partita_giroHome assPartitaGiroHome = (Ass_partita_giroHome) getHome(userContext, Ass_partita_giroBulk.class);
                    Ass_partita_giroBulk assPartitaGiro = assPartitaGiroHome.getAssociazionePGiroFor(aEffCori.getElemento_voce());
                    obbligazionePGiroBulk.setElemento_voceContr(new Elemento_voceBulk(assPartitaGiro.getCd_voce(), assPartitaGiro.getEsercizio(), assPartitaGiro.getTi_appartenenza(), assPartitaGiro.getTi_gestione()));
                    obbligazionePGiroBulk.setElemento_voce(new Elemento_voceBulk(assPartitaGiro.getCd_voce_clg(), assPartitaGiro.getEsercizio(), assPartitaGiro.getTi_appartenenza_clg(), assPartitaGiro.getTi_gestione_clg()));
                    obbligazionePGiroBulk.setIm_obbligazione(el.getAmmontare());
                    obbligazionePGiroBulk.setDt_registrazione(compensoBulk.getDt_registrazione());
                    obbligazionePGiroBulk.setDs_obbligazione("CORI-D mese:" + el.getMese() + " es:" + el.getEsercizio() + " CORI:" + el.getCd_contributo_ritenuta());
                    obbligazionePGiroBulk.setCreditore(mandatoStipendio.getMandato_terzo().getTerzo());
                    obbligazionePGiroBulk.setStato_obbligazione(ObbligazioneBulk.STATO_OBB_DEFINITIVO);
                    obbligazionePGiroBulk.setToBeCreated();
                    obbligazionePGiroBulk = (ImpegnoPGiroBulk) Utility.createObbligazionePGiroComponentSession().creaConBulk(userContext, obbligazionePGiroBulk);
                    contributoRitenutaBulk.setObbligazioneScadenzario(obbligazionePGiroBulk.getObbligazione_scadenzarioColl().stream().findFirst().orElse(null));
                }
                contributoRitenutaBulk.setToBeCreated();
                compensoBulk.getContributi().add(contributoRitenutaBulk);
            }
        }
        // creo il compenso temporaneo
        compensoBulk.setPg_compenso(Utility.createCompensoComponentSession().assegnaProgressivo(userContext, compensoBulk));
        compensoBulk.setIm_cr_ente(compensoBulk.getContributi().stream().map(Contributo_ritenutaBulk::getAmmontareEnte).reduce(BigDecimal.ZERO, BigDecimal::add));
        compensoBulk.setIm_cr_percipiente(compensoBulk.getContributi().stream().map(Contributo_ritenutaBulk::getAmmontarePercepiente).reduce(BigDecimal.ZERO, BigDecimal::add));
        compensoBulk.setIm_totale_compenso(mandatoStipendio.getIm_mandato());
        compensoBulk.setIm_lordo_percipiente(mandatoStipendio.getIm_mandato().subtract(compensoBulk.getIm_cr_ente()));
        compensoBulk.setIm_netto_percipiente(mandatoStipendio.getIm_mandato().subtract(compensoBulk.getIm_cr_ente()).subtract(compensoBulk.getIm_cr_percipiente()));
        compensoBulk.setToBeCreated();
        makeBulkPersistent(userContext, compensoBulk);
        return (CompensoBulk) Utility.createCompensoComponentSession().inizializzaBulkPerModifica(userContext, compensoBulk);
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) Tipo_rapportoBulk(it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk) AssTipoCORIEvComponentSession(it.cnr.contab.compensi00.ejb.AssTipoCORIEvComponentSession) Tipo_rapportoHome(it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoHome) V_voce_f_partita_giroBulk(it.cnr.contab.config00.pdcfin.bulk.V_voce_f_partita_giroBulk) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) PersistencyException(it.cnr.jada.persistency.PersistencyException) java.util(java.util)

Aggregations

Tipo_rapportoBulk (it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk)2 Tipo_rapportoHome (it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoHome)2 PersistencyException (it.cnr.jada.persistency.PersistencyException)2 AssTipoCORIEvComponentSession (it.cnr.contab.compensi00.ejb.AssTipoCORIEvComponentSession)1 Elemento_voceBulk (it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk)1 V_voce_f_partita_giroBulk (it.cnr.contab.config00.pdcfin.bulk.V_voce_f_partita_giroBulk)1 DetailedRuntimeException (it.cnr.jada.DetailedRuntimeException)1 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)1 it.cnr.jada.persistency.sql (it.cnr.jada.persistency.sql)1 RemoteException (java.rmi.RemoteException)1 Timestamp (java.sql.Timestamp)1 java.util (java.util)1 EJBException (javax.ejb.EJBException)1