use of it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_rappBulk in project sigla-main by consiglionazionaledellericerche.
the class IncarichiRepertorioComponent method salvaDefinitivo.
public OggettoBulk salvaDefinitivo(UserContext usercontext, OggettoBulk oggettobulk) throws ComponentException {
try {
if (oggettobulk instanceof Incarichi_repertorioBulk) {
Incarichi_repertorioBulk incarico = (Incarichi_repertorioBulk) oggettobulk;
boolean isDaInviareCorteConti = incarico.isIncaricoProvvisorio() && incarico.getFl_inviato_corte_conti() && incarico.getEsito_corte_conti() == null;
if (incarico.getNr_provv() == null || incarico.getDt_provv() == null) {
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new ApplicationException("Inserire numero e data protocollo del provvedimento di nomina del terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\".");
else
throw new ApplicationException("Inserire numero e data protocollo del provvedimento di nomina del terzo.");
}
if (incarico.getDt_stipula() == null)
throw handleException(new ApplicationException("Inserire la data di stipula del contratto!"));
if (incarico.getFl_inviato_corte_conti()) {
if (incarico.getTerzo() == null || incarico.getTerzo().getCd_terzo() == null)
throw handleException(new ApplicationException("Completare le informazioni relative al terzo!"));
}
if (!isDaInviareCorteConti) {
if (incarico.isIncaricoInviatoCorteConti() && (incarico.getEsito_corte_conti() == null || !incarico.getEsito_corte_conti().equals(Incarichi_repertorioBulk.ESITO_LEGITTIMO)))
throw handleException(new ApplicationException("E' possibile rendere definitivi solo i contratti con esito \"LEGITTIMO\" del controllo della Corte dei Conti!"));
if (incarico.getFl_inviato_corte_conti() && incarico.getDt_invio_corte_conti() == null)
throw handleException(new ApplicationException("Inserire la data di ricezione degli atti inviati alla Corte dei Conti!"));
if (incarico.getDt_inizio_validita() == null || incarico.getDt_fine_validita() == null)
throw handleException(new ApplicationException("Completare le informazioni relative alla data di inizio e fine validit\340 del contratto!"));
if (incarico.getTerzo() == null || incarico.getTerzo().getCd_terzo() == null || incarico.getTipo_trattamento() == null || incarico.getTipo_rapporto() == null || incarico.getTi_istituz_commerc() == null)
throw handleException(new ApplicationException("Completare le informazioni relative al terzo e al trattamento da applicare!"));
}
Incarichi_proceduraHome proceduraHome = (Incarichi_proceduraHome) getHome(usercontext, Incarichi_proceduraBulk.class);
Incarichi_proceduraBulk procedura = (Incarichi_proceduraBulk) proceduraHome.findByPrimaryKey(incarico.getIncarichi_procedura());
getHomeCache(usercontext).fetchAll(usercontext);
Incarichi_parametriBulk parametri = Utility.createIncarichiProceduraComponentSession().getIncarichiParametri(usercontext, procedura);
if (incarico.getDt_stipula() == null)
throw handleException(new ApplicationException("Non \350 possibile effettuare l'operazione perchè non risulta inserita la data di stipula del contratto."));
if (!UtenteBulk.isSuperUtenteFunzioniIncarichi(usercontext)) {
if (parametri == null || parametri.getLimite_dt_stipula() == null) {
if (!incarico.getFl_inviato_corte_conti() && DateUtils.daysBetweenDates(incarico.getDt_stipula(), EJBCommonServices.getServerDate()) > 5)
throw handleException(new ApplicationException("Non \350 possibile effettuare l'operazione perch\350 dalla data di stipula del contratto risultano trascorsi piu' di 5 giorni."));
else if (incarico.getFl_inviato_corte_conti() && incarico.getDt_inizio_validita() != null && DateUtils.daysBetweenDates(incarico.getDt_inizio_validita(), EJBCommonServices.getServerDate()) > 5)
throw handleException(new ApplicationException("Non \350 possibile effettuare l'operazione perch\350 dalla data di inizio validit\340 del contratto risultano trascorsi piu' di 5 giorni."));
} else if (parametri != null && parametri.getLimite_dt_stipula() != null && parametri.getLimite_dt_stipula().equals("Y")) {
Integer limite = new Integer(0);
if (parametri.getGiorni_limite_dt_stipula() != null)
limite = parametri.getGiorni_limite_dt_stipula();
if (!incarico.getFl_inviato_corte_conti() && DateUtils.daysBetweenDates(incarico.getDt_stipula(), EJBCommonServices.getServerDate()) > limite.intValue())
throw handleException(new ApplicationException("Non \350 possibile effettuare l'operazione perch\350 dalla data di stipula del contratto risultano trascorsi piu' di " + limite.toString() + " giorni."));
else if (incarico.getFl_inviato_corte_conti() && incarico.getDt_inizio_validita() != null && DateUtils.daysBetweenDates(incarico.getDt_inizio_validita(), EJBCommonServices.getServerDate()) > limite.intValue())
throw handleException(new ApplicationException("Non \350 possibile effettuare l'operazione perch\350 dalla data di inizio validit\340 del contratto risultano trascorsi piu' di " + limite.toString() + " giorni."));
}
}
if (incarico.getContratto() == null) {
if (parametri == null || parametri.getAllega_contratto() == null || parametri.getAllega_contratto().equals("Y")) {
if (Incarichi_procedura_archivioBulk.tipo_archivioKeys.isEmpty()) {
// Istanzio la classe per riempire tipo_archivioKeys
new Incarichi_procedura_archivioBulk();
}
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto del terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\" un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_CONTRATTO).toString() + "\".");
else
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_CONTRATTO).toString() + "\".");
}
}
if (incarico.getCurriculumVincitore() == null) {
if (parametri != null && parametri.getAllega_curriculum_vitae() != null && parametri.getAllega_curriculum_vitae().equals("Y")) {
if (Incarichi_procedura_archivioBulk.tipo_archivioKeys.isEmpty()) {
// Istanzio la classe per riempire tipo_archivioKeys
new Incarichi_procedura_archivioBulk();
}
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto del terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\" un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_CURRICULUM_VINCITORE).toString() + "\".");
else
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_CURRICULUM_VINCITORE).toString() + "\".");
}
}
if (incarico.getConflittoInteressi() == null) {
if (parametri != null && parametri.getAllega_conflitto_interesse() != null && parametri.getAllega_conflitto_interesse().equals("Y")) {
if (Incarichi_procedura_archivioBulk.tipo_archivioKeys.isEmpty()) {
// Istanzio la classe per riempire tipo_archivioKeys
new Incarichi_procedura_archivioBulk();
}
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto del terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\" un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_CONFLITTO_INTERESSI).toString() + "\".");
else
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_CONFLITTO_INTERESSI).toString() + "\".");
}
}
if (incarico.getAttestazioneDirettore() == null) {
if (parametri != null && parametri.getAllega_attestazione_direttore() != null && parametri.getAllega_attestazione_direttore().equals("Y")) {
if (Incarichi_procedura_archivioBulk.tipo_archivioKeys.isEmpty()) {
// Istanzio la classe per riempire tipo_archivioKeys
new Incarichi_procedura_archivioBulk();
}
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto del terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\" un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_ATTESTAZIONE_DIRETTORE).toString() + "\".");
else
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_ATTESTAZIONE_DIRETTORE).toString() + "\".");
}
}
if (incarico.getDecretoDiNomina() == null) {
if (parametri != null && parametri.getAllega_decreto_nomina() != null && parametri.getAllega_decreto_nomina().equals("Y")) {
if (Incarichi_procedura_archivioBulk.tipo_archivioKeys.isEmpty()) {
// Istanzio la classe per riempire tipo_archivioKeys
new Incarichi_procedura_archivioBulk();
}
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto del terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\" un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_DECRETO_DI_NOMINA).toString() + "\".");
else
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_DECRETO_DI_NOMINA).toString() + "\".");
}
}
if (incarico.getFl_inviato_corte_conti() && incarico.getEsito_corte_conti() != null && incarico.getAttoEsitoControllo() == null) {
if (Incarichi_procedura_archivioBulk.tipo_archivioKeys.isEmpty()) {
// Istanzio la classe per riempire tipo_archivioKeys
new Incarichi_procedura_archivioBulk();
}
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto del terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\" un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_ATTO_ESITO_CONTROLLO).toString() + "\".");
else
throw new it.cnr.jada.comp.ApplicationException("Allegare al contratto un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_ATTO_ESITO_CONTROLLO).toString() + "\".");
}
procedura.setArchivioAllegati(new BulkList(proceduraHome.findArchivioAllegati(procedura)));
if (procedura.getDecisioneAContrattare() == null) {
if (Incarichi_procedura_archivioBulk.tipo_archivioKeys.isEmpty()) {
// Istanzio la classe per riempire tipo_archivioKeys
new Incarichi_procedura_archivioBulk();
}
if (parametri == null || parametri.getAllega_decisione_ctr() == null || parametri.getAllega_decisione_ctr().equals("Y"))
throw new it.cnr.jada.comp.ApplicationException("Allegare alla \"Procedura di conferimento incarico\" un file di tipo \"" + Incarichi_procedura_archivioBulk.tipo_archivioKeys.get(Incarichi_procedura_archivioBulk.TIPO_DECISIONE_A_CONTRATTARE).toString() + "\".");
}
if (procedura.isDichiarazioneContraenteRequired()) {
// Controllo che sia stata inserita la dichiarazione del contraente....almeno quella del primo anno di validità dell'incarico
boolean existRapportoAnnoStipula = false;
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(incarico.getDt_stipula());
if (incarico.getIncarichi_repertorio_rappColl() != null && !incarico.getIncarichi_repertorio_rappColl().isEmpty()) {
for (Iterator i = incarico.getIncarichi_repertorio_rappColl().iterator(); i.hasNext(); ) {
Incarichi_repertorio_rappBulk rapporto = (Incarichi_repertorio_rappBulk) i.next();
if (!rapporto.isAnnullato() && rapporto.getAnno_competenza().equals(data_da.get(java.util.Calendar.YEAR)))
existRapportoAnnoStipula = true;
}
}
if (!existRapportoAnnoStipula) {
if (incarico.getV_terzo() != null && incarico.getV_terzo().getCognome() != null && incarico.getV_terzo().getNome() != null)
throw new it.cnr.jada.comp.ApplicationException("Inserire la dichiarazione dell'anno " + data_da.get(java.util.Calendar.YEAR) + ", anno di stipula del contratto, resa dal terzo \"" + incarico.getV_terzo().getCognome() + " " + incarico.getV_terzo().getNome() + "\" sui rapporti stipulati con altri enti.");
else
throw new it.cnr.jada.comp.ApplicationException("Inserire la dichiarazione dell'anno " + data_da.get(java.util.Calendar.YEAR) + ", anno di stipula del contratto, resa dal terzo sui rapporti stipulati con altri enti.");
}
}
if (procedura.getTipo_attivita_fp() == null && procedura.isProceduraForIncarichi())
throw new it.cnr.jada.comp.ApplicationException("Indicare, nella sezione 'Dati Perla', l'attività economica dell'incarico necessaria per la comunicazione dei dati al sistema informativo PERLA del Ministero della Funzione Pubblica.");
if (procedura.getFl_applicazione_norma() == null)
throw new it.cnr.jada.comp.ApplicationException("Indicare, nella sezione '" + (procedura.isProceduraForIncarichi() ? "Dati Perla" : "Altri Dati") + "', se l'incarico è stato conferito in applicazione di una specifica norma.");
if (procedura.isApplicazioneNormaAttiva()) {
if (procedura.getCd_tipo_norma_perla() == null)
throw new it.cnr.jada.comp.ApplicationException("Indicare, nella sezione '" + (procedura.isProceduraForIncarichi() ? "Dati Perla" : "Altri Dati") + "', il tipo di norma in base al quale è stato conferito l'incarico.");
else if (procedura.getCd_tipo_norma_perla().equals("999") && procedura.getDs_libera_norma_perla() == null)
throw new it.cnr.jada.comp.ApplicationException("Indicare, nella sezione '" + (procedura.isProceduraForIncarichi() ? "Dati Perla" : "Altri Dati") + "', una breve descrizione della norma in base al quale è stato conferito l'incarico.");
}
if (procedura.getProcedura_amministrativa_beneficiario() == null || procedura.getProcedura_amministrativa_beneficiario().getCd_proc_amm() == null)
throw new it.cnr.jada.comp.ApplicationException("Indicare, nella sezione '" + (procedura.isProceduraForIncarichi() ? "Dati Perla" : "Altri Dati") + "', la modalità di individuazione del beneficiario.");
incarico.setStato(isDaInviareCorteConti ? Incarichi_repertorioBulk.STATO_INVIATO : Incarichi_repertorioBulk.STATO_DEFINITIVO);
incarico.setToBeUpdated();
updateBulk(usercontext, incarico);
salvaDefinitivoCMIS(usercontext, incarico);
procedura.setIncarichi_repertorioColl(new BulkList(proceduraHome.findIncarichi_repertorioList(usercontext, procedura)));
Integer contadef = 0, containv = 0;
for (Iterator i = procedura.getIncarichi_repertorioColl().iterator(); i.hasNext(); ) {
Incarichi_repertorioBulk incaricoColl = (Incarichi_repertorioBulk) i.next();
if (incaricoColl.isIncaricoDefinitivo() || incaricoColl.isIncaricoChiuso())
contadef = contadef + 1;
if (incaricoColl.isIncaricoInviatoCorteConti())
containv = containv + 1;
}
if (procedura.getNr_contratti().equals(contadef)) {
if (!procedura.isProceduraDefinitiva()) {
procedura.setStato(Incarichi_proceduraBulk.STATO_DEFINITIVO);
procedura.setToBeUpdated();
updateBulk(usercontext, procedura);
Utility.createIncarichiProceduraComponentSession().salvaDefinitivoCMIS(usercontext, procedura);
}
} else if (procedura.getNr_contratti().equals(contadef + containv)) {
if (!procedura.isProceduraInviataCorteConti()) {
procedura.setStato(Incarichi_proceduraBulk.STATO_INVIATO);
procedura.setToBeUpdated();
updateBulk(usercontext, procedura);
}
}
this.comunicaPerla(usercontext, incarico);
} else {
updateBulk(usercontext, oggettobulk);
}
return oggettobulk;
} catch (Throwable throwable) {
throw handleException(throwable);
}
}
use of it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_rappBulk in project sigla-main by consiglionazionaledellericerche.
the class IncarichiProceduraAction method doOnDtDichiarazioneChange.
public Forward doOnDtDichiarazioneChange(ActionContext context) {
CRUDIncarichiProceduraBP bp = (CRUDIncarichiProceduraBP) getBusinessProcess(context);
Incarichi_repertorioBulk incarico = (Incarichi_repertorioBulk) (bp.getIncarichiColl().getModel());
Incarichi_repertorio_rappBulk incaricoRapp = (Incarichi_repertorio_rappBulk) (bp.getIncarichiRappColl().getModel());
java.sql.Timestamp oldDate = null;
if (incaricoRapp.getDt_dichiarazione() != null)
oldDate = (java.sql.Timestamp) incaricoRapp.getDt_dichiarazione().clone();
try {
fillModel(context);
if (incarico != null && incarico.getDt_stipula() != null && incaricoRapp != null && incaricoRapp.getDt_dichiarazione() != null && incarico.getDt_stipula().after(incaricoRapp.getDt_dichiarazione()))
throw new ValidationException("La \"Data di dichiarazione\" deve essere superiore o uguale alla \"Data di stipula\" del contratto.");
return context.findDefaultForward();
} catch (Throwable ex) {
// In caso di errore ripropongo la data precedente
incaricoRapp.setDt_dichiarazione(oldDate);
try {
return handleException(context, ex);
} catch (Throwable e) {
return handleException(context, e);
}
}
}
use of it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_rappBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDIncarichiEstrazioneFpBP method generaNuovoConsulentePerla2018.
private IncaricoConsulente generaNuovoConsulentePerla2018(ActionContext context, V_incarichi_elenco_fpBulk v_incarico) throws BusinessProcessException, ComponentException {
Incarichi_repertorioBulk incarico = v_incarico.getIncaricoRepertorio();
IncaricoConsulente incaricoPerla = new IncaricoConsulente();
// AMMINISTRAZIONE DICHIARANTE
Dichiarante dichiarante = new Dichiarante();
dichiarante.setCodiceAooIpa(v_incarico.getCodiceAooIpa());
incaricoPerla.setDichiarante(dichiarante);
// PERCETTORE
// ESTERO
// Se trattasi di consulente estero che ha il codice fiscale valorizzato metto il campo estero a "false" così come indicato dalla Dott.ssa Paola Sarti
// della Funzione Pubblica altrimenti metto quello corretto
boolean terzoEstero = false;
if (incarico.getTerzo().getAnagrafico().getCodice_fiscale() == null || incarico.getTerzo().getAnagrafico().getCodice_fiscale().length() != 16) {
try {
terzoEstero = !NazioneBulk.ITALIA.equals(incarico.getTerzo().getAnagrafico().getComune_nascita().getTi_italiano_estero());
} catch (Exception e) {
}
}
if (incarico.getTerzo().getAnagrafico().isPersonaFisica()) {
PercettorePf percettorePf = new PercettorePf();
percettorePf.setEstero(terzoEstero ? YesNoEnum.Y : YesNoEnum.N);
if (!terzoEstero) {
// CODICE FISCALE
try {
percettorePf.setCodiceFiscale(incarico.getTerzo().getAnagrafico().getCodice_fiscale());
} catch (Exception e) {
}
}
// COGNOME
try {
percettorePf.setCognome(incarico.getTerzo().getAnagrafico().getCognome());
} catch (Exception e) {
}
// NOME
try {
percettorePf.setNome(incarico.getTerzo().getAnagrafico().getNome());
} catch (Exception e) {
}
// SESSO
try {
percettorePf.setGenere("M".equals(incarico.getTerzo().getAnagrafico().getTi_sesso()) ? GenereEnum.M : GenereEnum.F);
} catch (Exception e) {
}
// DATA NASCITA
percettorePf.setDataNascita(incarico.getTerzo().getAnagrafico().getDt_nascita());
if (!terzoEstero) {
// COMUNE NASCITA
try {
percettorePf.setComuneNascita(incarico.getTerzo().getAnagrafico().getComune_nascita().getCd_catastale());
if (percettorePf.getComuneNascita().equals("*"))
percettorePf.setComuneNascita(percettorePf.getCodiceFiscale().substring(12, 4));
} catch (Exception e) {
percettorePf.setComuneNascita(percettorePf.getCodiceFiscale().substring(12, 4));
}
}
incaricoPerla.setPercettorePf(percettorePf);
} else {
PercettorePg percettorePg = new PercettorePg();
percettorePg.setEstero(terzoEstero ? YesNoEnum.Y : YesNoEnum.N);
if (!terzoEstero) {
// CODICE FISCALE
try {
percettorePg.setCodiceFiscale(incarico.getTerzo().getAnagrafico().getCodice_fiscale());
} catch (Exception e) {
}
}
percettorePg.setDenominazione(incarico.getTerzo().getDenominazione_sede());
incaricoPerla.setPercettorePg(percettorePg);
}
// FINE PERCETTORE
// DATI INCARICO
DatiIncarico datiIncarico = new DatiIncarico();
// DESCRIZIONE INCARICO
StringBuffer descrizione = new StringBuffer();
descrizione.append("(" + incarico.getEsercizio() + '/' + incarico.getPg_repertorio() + ")");
descrizione.append(" - " + incarico.getIncarichi_procedura().getOggetto());
datiIncarico.setOggettoIncarico(descrizione.length() > 200 ? descrizione.substring(0, 199) : descrizione.toString());
// DATA AFFIDAMENTO
datiIncarico.setDataConferimento(v_incarico.getDt_stipula());
// DATA INIZIO
datiIncarico.setDataInizio(v_incarico.getDt_inizio_validita());
// ATTO CONFERIMENTO
StringBuilder atto = new StringBuilder();
atto.append(incarico.getCd_provv());
if (atto.length() > 0 && incarico.getNr_provv() != null)
atto.append("/");
atto.append(incarico.getNr_provv());
if (atto.length() > 0 && incarico.getDt_provv() != null)
atto.append(" del ");
atto.append(new java.text.SimpleDateFormat("dd/MM/yyyy").format(incarico.getDt_provv()));
datiIncarico.setEstremiAttoConferimento(atto.toString());
// TIPO DI RAPPORTO
BigInteger tipoRapporto;
if (incarico.getIncarichi_procedura().getTipo_incarico().getTipoRapporto().getFl_inquadramento().booleanValue())
datiIncarico.setTipoRapporto(TipoRapportoEnum.COLLABORAZIONE_COORDINATA_CONTINUATIVA);
else
datiIncarico.setTipoRapporto(TipoRapportoEnum.PRESTAZIONE_OCCASIONALE);
// NATURA CONFERIMENTO
BigInteger naturaConferimento;
if (incarico.getIncarichi_procedura().getTipo_prestazione() != null && incarico.getIncarichi_procedura().getTipo_prestazione().getTipo_classificazione() != null) {
if (incarico.getIncarichi_procedura().getTipo_prestazione().isPrevistaDaNormeDiLegge())
// DI NATURA VINCOLATA
datiIncarico.setNaturaConferimento(NaturaConferimentoEnum.NATURA_VINCOLATA);
else
// DI NATURA DISCREZIONALE
datiIncarico.setNaturaConferimento(NaturaConferimentoEnum.NATURA_DISCREZIONALE);
} else
// DI NATURA DISCREZIONALE
datiIncarico.setNaturaConferimento(NaturaConferimentoEnum.NATURA_DISCREZIONALE);
// ATTESTAZIONE VERIFICA INSUSSISTENZA
if (incarico.getConflittoInteressi() != null && incarico.getConflittoInteressi().getCms_node_ref() != null)
datiIncarico.setAttestazioneVerificaInsussistenza(YesNoEnum.Y);
else
datiIncarico.setAttestazioneVerificaInsussistenza(YesNoEnum.N);
// RIFERIMENTO REGOLAMENTO
// Y= si è fatto riferimento ad un regolamento adottato dall'amministrazione,
// N= non si è fatto riferimento ad un regolamento adottato dall'amministrazione
datiIncarico.setRiferimentoRegolamento(YesNoEnum.Y);
incaricoPerla.setDatiIncarico(datiIncarico);
// DATI ECONOMICI INCARICO
DatiEconomici datiEconomiciIncarico = new DatiEconomici();
// COMPENSO
datiEconomiciIncarico.setCompenso(v_incarico.getImporto_lordo_con_variazioni().setScale(2));
// 1 PREVISTO, 2 PRESUNTO, 3 GRATUITO
if (datiEconomiciIncarico.getCompenso().compareTo(BigDecimal.ZERO) <= 0)
// GRATUITO
datiEconomiciIncarico.setTipoCompenso(TipoCompensoEnum.GRATUITO);
else
// PREVISTO
datiEconomiciIncarico.setTipoCompenso(TipoCompensoEnum.PREVISTO);
// ComponentiVariabilCompenso
datiEconomiciIncarico.setComponentiVariabilCompenso(YesNoEnum.N);
// DATA FINE
GregorianCalendar gcdf = new GregorianCalendar();
gcdf.setTime(v_incarico.getDt_fine_validita_variazione() == null ? v_incarico.getDt_fine_validita() : v_incarico.getDt_fine_validita_variazione());
datiEconomiciIncarico.setDataFine(gcdf.getTime());
incaricoPerla.setDatiEconomici(datiEconomiciIncarico);
// RIFERIMENTO NORMATIVO (Obbligatorio soltanto se l’incarico è stato conferito in applicazione di una specifica norma)
if (Optional.ofNullable(incarico.getIncarichi_procedura().getTipo_norma_perla()).isPresent() && incarico.getIncarichi_procedura().getTipo_norma_perla().getCd_tipo_norma().equals("67")) {
// RIFERIMENTO NORMATIVO (GESTIONE TABELLA TIPO_NORMA_PERLA)
it.cnr.perlapa.incarico.consulente.RiferimentoNormativo riferimentoNormativo = new it.cnr.perlapa.incarico.consulente.RiferimentoNormativo();
riferimentoNormativo.setRiferimento(34);
riferimentoNormativo.setNumero(incarico.getIncarichi_procedura().getTipo_norma_perla().getNumero_tipo_norma());
riferimentoNormativo.setArticolo(incarico.getIncarichi_procedura().getTipo_norma_perla().getArticolo_tipo_norma());
riferimentoNormativo.setComma(incarico.getIncarichi_procedura().getTipo_norma_perla().getComma_tipo_norma());
riferimentoNormativo.setData(incarico.getIncarichi_procedura().getTipo_norma_perla().getDt_tipo_norma());
incaricoPerla.setRiferimentoNormativo(riferimentoNormativo);
}
// ALLEGATI
// CURRICULUM VITAE
Allegati allegati = new Allegati();
try {
allegati.setCurriculumVitae(SpringUtil.getBean("storeService", StoreService.class).getResource(incarico.getCurriculumVincitore().getCms_node_ref()));
} catch (Throwable e) {
}
// DICHIARAZIONE INCARICHI
try {
if (incarico.getIncarichi_repertorio_rappColl() != null && !incarico.getIncarichi_repertorio_rappColl().isEmpty()) {
GregorianCalendar data_da = (GregorianCalendar) GregorianCalendar.getInstance();
data_da.setTime(incarico.getDt_stipula());
for (Iterator i = incarico.getIncarichi_repertorio_rappColl().iterator(); i.hasNext(); ) {
Incarichi_repertorio_rappBulk rapporto = (Incarichi_repertorio_rappBulk) i.next();
if (!rapporto.isAnnullato() && rapporto.getAnno_competenza().equals(data_da.get(java.util.Calendar.YEAR))) {
allegati.setDichiarazioneIncarichi(storeService.getResource(rapporto.getCms_node_ref()));
break;
}
}
}
} catch (Throwable e) {
}
incaricoPerla.setAllegati(allegati);
// PAGATO
if (incaricoPerla.getDatiEconomici().getCompenso().compareTo(BigDecimal.ZERO) != 0) {
IncarichiEstrazioneFpComponentSession comp = (IncarichiEstrazioneFpComponentSession) createComponentSession("CNRINCARICHI00_EJB_IncarichiEstrazioneFpComponentSession", IncarichiEstrazioneFpComponentSession.class);
BigDecimal importoPagato = comp.getPagatoIncarico(context.getUserContext(), incarico);
incaricoPerla.getDatiEconomici().setAmmontareErogato(importoPagato.setScale(2));
if (importoPagato.compareTo(incaricoPerla.getDatiEconomici().getCompenso()) < 0)
incaricoPerla.getDatiEconomici().setIncaricoSaldato(YesNoEnum.N);
else
incaricoPerla.getDatiEconomici().setIncaricoSaldato(YesNoEnum.Y);
} else {
incaricoPerla.getDatiEconomici().setIncaricoSaldato(YesNoEnum.N);
incaricoPerla.getDatiEconomici().setAmmontareErogato(BigDecimal.ZERO);
}
return incaricoPerla;
}
Aggregations