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