Search in sources :

Example 96 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class FirmaDigitalePdgVariazioniBP method caricaDatiPEC.

public void caricaDatiPEC(ActionContext context) throws ValidationException, BusinessProcessException {
    ArchiviaStampaPdgVariazioneBulk pbulk = (ArchiviaStampaPdgVariazioneBulk) getFocusedElement();
    String cdServizioPEC = null;
    cdServizioPEC = PEC_BILANCIO;
    boolean testMode = true;
    Parametri_enteBulk parametriEnte = null;
    try {
        parametriEnte = Utility.createParametriEnteComponentSession().getParametriEnte(context.getUserContext());
    } catch (ComponentException e) {
        throw handleException(e);
    } catch (EJBException e) {
        throw handleException(e);
    } catch (RemoteException e) {
        throw handleException(e);
    }
    // PEC del protocollo
    ServizioPecBulk servizioPecProtocollo = null;
    try {
        servizioPecProtocollo = Utility.createParametriEnteComponentSession().getServizioPec(context.getUserContext(), PEC_PROTOCOLLO);
    } catch (ComponentException e) {
        throw handleException(e);
    } catch (EJBException e) {
        throw handleException(e);
    } catch (RemoteException e) {
        throw handleException(e);
    }
    if (servizioPecProtocollo == null)
        throw new ValidationException("Non è presente l'email per l'invio della posta certificata per l'ufficio del Protocollo. Impossibile procedere!");
    // PEC derivata dalla stampa specifica
    ServizioPecBulk servizioPec = null;
    try {
        servizioPec = Utility.createParametriEnteComponentSession().getServizioPec(context.getUserContext(), cdServizioPEC);
    } catch (ComponentException e) {
        throw handleException(e);
    } catch (EJBException e) {
        throw handleException(e);
    } catch (RemoteException e) {
        throw handleException(e);
    }
    if (servizioPec == null)
        throw new ValidationException("L'ufficio di competenza per l'invio della posta certificata non ? definito. Impossibile procedere!");
    testMode = !parametriEnte.getTipo_db().equals(Parametri_enteBulk.DB_PRODUZIONE) || isTestSession();
    CdsBulk cds = null;
    Unita_organizzativaBulk uo = null;
    CdrBulk cdr = null;
    try {
        cds = Utility.createParametriEnteComponentSession().getCds(context.getUserContext(), CNRUserContext.getCd_cds(context.getUserContext()));
        uo = Utility.createParametriEnteComponentSession().getUo(context.getUserContext(), CNRUserContext.getCd_unita_organizzativa(context.getUserContext()));
        cdr = Utility.createParametriEnteComponentSession().getCdr(context.getUserContext(), CNRUserContext.getCd_cdr(context.getUserContext()));
    } catch (ComponentException e) {
        throw handleException(e);
    } catch (EJBException e) {
        throw handleException(e);
    } catch (RemoteException e) {
        throw handleException(e);
    }
    String cdUoPec = null;
    UnitaOrganizzativaPecBulk uoPec = null;
    if (cds.getCd_tipo_unita().equals(Tipo_unita_organizzativaHome.TIPO_UO_SAC)) {
        datiPEC.setUo(CNRUserContext.getCd_unita_organizzativa(context.getUserContext()));
        datiPEC.setDsUo(uo.getDs_unita_organizzativa());
        cdUoPec = uo.getCd_unita_organizzativa();
        uoPec = getUoPec(context, cdUoPec);
        datiPEC.setCds("000000");
        datiPEC.setDsCds("Consiglio Nazionale delle Ricerche");
        datiPEC.setSiglaCds("CNR");
        datiPEC.setCdsDest("000000");
        datiPEC.setDsCdsDest("Consiglio Nazionale delle Ricerche");
        datiPEC.setSiglaCdsDest("CNR");
    } else {
        datiPEC.setUo(uo.getCd_cds());
        datiPEC.setDsUo(uo.getDs_unita_organizzativa());
        cdUoPec = cds.getCd_unita_organizzativa();
        uoPec = getUoPec(context, cdUoPec);
        datiPEC.setCds(cds.getCd_unita_organizzativa());
        datiPEC.setDsCds(cds.getDs_unita_organizzativa());
        datiPEC.setSiglaCds(uoPec.getSigla().toUpperCase());
        datiPEC.setCdsDest("000000");
        datiPEC.setDsCdsDest("Consiglio Nazionale delle Ricerche");
        datiPEC.setSiglaCdsDest("CNR");
    }
    if (!pbulk.getDs_variazione().equals(""))
        datiPEC.setOggetto("Variazione al PdG n. " + pbulk.getPg_variazione_pdg() + "-" + pbulk.getEsercizio() + " CdR proponente " + pbulk.getCd_centro_responsabilita() + ", " + pbulk.getDs_variazione());
    else
        datiPEC.setOggetto("Variazione al PdG n. " + pbulk.getPg_variazione_pdg() + "-" + pbulk.getEsercizio() + " CdR proponente " + pbulk.getCd_centro_responsabilita() + ", " + descrizione());
    datiPEC.setOggetto(datiPEC.getOggetto().replace("\"", "'").replaceAll("[^a-zA-Z0-9\\\\/. ,'_^-]", " "));
    datiPEC.setDenominazioneServizio(servizioPec.getDsServizio());
    datiPEC.setNumeroRegistrazione(pbulk.getPg_variazione_pdg() + "-" + pbulk.getEsercizio());
    if (testMode) {
        datiPEC.setEmailProtocollo(servizioPecProtocollo.getEmailTest());
        datiPEC.setEmailServizio(servizioPec.getEmailTest());
    } else {
        datiPEC.setEmailProtocollo(servizioPecProtocollo.getEmail());
        datiPEC.setEmailProtocollo2(servizioPecProtocollo.getEmail2());
        datiPEC.setEmailProtocollo3(servizioPecProtocollo.getEmail3());
        datiPEC.setEmailServizio(servizioPec.getEmail());
        datiPEC.setEmailServizio2(servizioPec.getEmail2());
        datiPEC.setEmailServizio3(servizioPec.getEmail3());
        datiPEC.setEmailIstituto(uoPec.getEmailPec());
        datiPEC.setEmailIstituto2(uoPec.getEmailPecDirettore());
    }
}
Also used : ValidationException(it.cnr.jada.bulk.ValidationException) ServizioPecBulk(it.cnr.contab.config00.bulk.ServizioPecBulk) ArchiviaStampaPdgVariazioneBulk(it.cnr.contab.pdg00.bulk.ArchiviaStampaPdgVariazioneBulk) Parametri_enteBulk(it.cnr.contab.config00.bulk.Parametri_enteBulk) ComponentException(it.cnr.jada.comp.ComponentException) EJBException(javax.ejb.EJBException) RemoteException(java.rmi.RemoteException)

Example 97 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDPdgVariazioneGestionaleComponent method validaDettagliEntrataSpesa.

/*
	 * Controlli da effettuare per tipo di variazione gestionale:
	 *
	 * STORNO_SPESA_STESSO_ISTITUTO: 
	 * 		le righe di variazione possono essere solo per la spesa ed il saldo algebrico pari a zero.
	 * 		I CdR chiamati a partecipare possono essere solo quelli appartenenti al CDS che ha aperto 
	 * 		la variazione.
	 * STO_E_CDS: le righe di variazione possono essere solo per l'entrata ed il saldo algebrico pari a zero.
	 * 			  I CdR chiamati a partecipare possono essere solo quelli appartenenti al CDS che ha aperto 
	 * 			  la variazione.
	 * STO_S_TOT: le righe di variazione possono essere solo per la spesa ed il saldo algebrico pari a zero.
	 * 			  I CdR chiamati a partecipare possono anche appartenere a CDS diversi da quello che ha aperto 
	 * 			  la variazione.
	 * STO_E_TOT: le righe di variazione possono essere solo per l'entrata ed il saldo algebrico pari a zero.
	 * 			  I CdR chiamati a partecipare possono anche appartenere a CDS diversi da quello che ha aperto
	 * 			  la variazione.
	 * VAR_PIU_CDS: le righe di variazione devono essere sia di entrata che di spesa (obbligatoriamente), 
	 * 			    gli importi solo positivi e uguali tra entrata e spesa.
	 * 				Inoltre i CdR chiamati a partecipare devono essere solo quelli appartenenti al CDS che ha 
	 * 				aperto la variazione.
	 * VAR_MENO_CDS: le righe di variazione devono essere sia di entrata che di spesa (obbligatoriamente), 
	 * 				 gli importi solo negativi e uguali tra entrata e spesa.
	 *     			 Inoltre i CdR chiamati a partecipare devono essere solo quelli appartenenti al CDS che ha 
	 *     			 aperto la variazione.
	 * VAR_PIU_TOT: le righe di variazione devono essere sia di entrata che di spesa (obbligatoriamente), 
	 * 				gli importi solo positivi e uguali tra entrata e spesa.
	 * 				I CdR chiamati a partecipare possono anche appartenere a CDS diversi da quello che ha 
	 * 				aperto la variazione.
	 * VAR_MENO_TOT: le righe di variazione devono essere sia di entrata che di spesa (obbligatoriamente), 
	 * 				 gli importi solo negativi e uguali tra entrata e spesa.
	 * 				 I CdR chiamati a partecipare possono anche appartenere a CDS diversi da quello che ha aperto 
	 * 				 la variazione.
	 */
protected void validaDettagliEntrataSpesa(UserContext usercontext, OggettoBulk oggettobulk) throws ComponentException {
    try {
        Pdg_variazioneBulk pdg = (Pdg_variazioneBulk) oggettobulk;
        Ass_pdg_variazione_cdrHome testataHome = (Ass_pdg_variazione_cdrHome) getHome(usercontext, Ass_pdg_variazione_cdrBulk.class);
        BigDecimal totImportoEntrataPositivo = Utility.ZERO;
        BigDecimal totImportoEntrataNegativo = Utility.ZERO;
        BigDecimal totImportoSpesaPositivo = Utility.ZERO;
        BigDecimal totImportoSpesaNegativo = Utility.ZERO;
        BigDecimal totSommaEntrata = Utility.ZERO;
        BigDecimal totSommaSpesa = Utility.ZERO;
        BigDecimal impTotaleEntrateDaPrel = Utility.ZERO;
        BigDecimal impTotaleSpesePrel = Utility.ZERO;
        int contaRigheEntrata = Utility.ZERO.intValue();
        int contaRigheSpesa = Utility.ZERO.intValue();
        if (Optional.of(pdg).filter(el -> el.isMotivazioneTrasferimentoAutorizzato()).isPresent() && !pdg.getCentro_responsabilita().isCdrAC())
            throw new ApplicationException("Variazione di tipo 'Trasferimento in deroga' consentita solo alla UO Ente.");
        boolean existDettPersonale = true;
        String cdrPersonale = null;
        if (Optional.of(pdg).filter(el -> el.isMotivazioneVariazionePersonale()).isPresent()) {
            cdrPersonale = Optional.ofNullable(((Configurazione_cnrHome) getHome(usercontext, Configurazione_cnrBulk.class)).getCdrPersonale(CNRUserContext.getEsercizio(usercontext))).orElseThrow(() -> new ComponentException("Non è possibile individuare il codice CDR del Personale."));
            existDettPersonale = false;
        }
        boolean existDettArea = true;
        if (Optional.of(pdg).filter(el -> el.isMotivazioneTrasferimentoArea()).isPresent())
            existDettArea = false;
        for (java.util.Iterator j = pdg.getAssociazioneCDR().iterator(); j.hasNext(); ) {
            Ass_pdg_variazione_cdrBulk ass_pdg = (Ass_pdg_variazione_cdrBulk) j.next();
            existDettPersonale = existDettPersonale || cdrPersonale.equals(ass_pdg.getCd_centro_responsabilita());
            existDettArea = existDettArea || ass_pdg.getCentro_responsabilita().getUnita_padre().isUoArea();
            if (pdg.getTipologia().equals(Tipo_variazioneBulk.STORNO_SPESA_STESSO_ISTITUTO) || pdg.getTipologia().equals(Tipo_variazioneBulk.STORNO_ENTRATA_STESSO_ISTITUTO) || pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_POSITIVA_STESSO_ISTITUTO) || pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_NEGATIVA_STESSO_ISTITUTO))
                if (!pdg.getCentro_responsabilita().getCd_cds().equals(ass_pdg.getCentro_responsabilita().getCd_cds()))
                    throw new ApplicationException("In un variazione di tipo 'Storno\\Variazione Stesso Istituto' i CDR " + "partecipanti devono appartenere allo stesso istituto del CDR proponente (" + pdg.getCentro_responsabilita().getCd_cds() + ")");
            // Calcolo il totale delle entrate per il CDR selezionato e lo confronto con il totale
            // assegnato
            BigDecimal sommaEntrata = Utility.ZERO;
            for (java.util.Iterator entrate = testataHome.findDettagliEntrataVariazioneGestionale(ass_pdg).iterator(); entrate.hasNext(); ) {
                Pdg_variazione_riga_gestBulk etr_det = (Pdg_variazione_riga_gestBulk) entrate.next();
                sommaEntrata = sommaEntrata.add(etr_det.getIm_variazione());
                contaRigheEntrata = ++contaRigheEntrata;
                if (etr_det.getIm_variazione().compareTo(Utility.ZERO) > 0)
                    totImportoEntrataPositivo = totImportoEntrataPositivo.add(etr_det.getIm_variazione());
                else
                    totImportoEntrataNegativo = totImportoEntrataNegativo.add(etr_det.getIm_variazione());
            }
            // Aggiorno il totalizzatore complessivo
            totSommaEntrata = totSommaEntrata.add(sommaEntrata);
            if (ass_pdg.getIm_entrata() != null) {
                if (ass_pdg.getIm_entrata().compareTo(sommaEntrata) < 0)
                    throw new ApplicationException("La Somma dei dettagli di entrata (" + new it.cnr.contab.util.EuroFormat().format(sommaEntrata) + ")" + "\n" + "per il Cdr " + ass_pdg.getCd_centro_responsabilita() + " supera la quota di entrata assegnata di " + new it.cnr.contab.util.EuroFormat().format(sommaEntrata.subtract(ass_pdg.getIm_entrata())));
            }
            // Calcolo il totale delle spese per il CDR selezionato e lo confronto con il totale
            // assegnato
            BigDecimal sommaSpesa = Utility.ZERO;
            for (java.util.Iterator spese = testataHome.findDettagliSpesaVariazioneGestionale(ass_pdg).iterator(); spese.hasNext(); ) {
                Pdg_variazione_riga_gestBulk spesa_det = (Pdg_variazione_riga_gestBulk) spese.next();
                sommaSpesa = sommaSpesa.add(spesa_det.getIm_variazione());
                contaRigheSpesa = ++contaRigheSpesa;
                if (spesa_det.getIm_variazione().compareTo(Utility.ZERO) > 0)
                    totImportoSpesaPositivo = totImportoSpesaPositivo.add(spesa_det.getIm_variazione());
                else
                    totImportoSpesaNegativo = totImportoSpesaNegativo.add(spesa_det.getIm_variazione());
                if (!existDettPersonale) {
                    Elemento_voceBulk voce = (Elemento_voceBulk) getHome(usercontext, Elemento_voceBulk.class).findByPrimaryKey(spesa_det.getElemento_voce());
                    Classificazione_vociBulk classif = (Classificazione_vociBulk) getHome(usercontext, Classificazione_vociBulk.class).findByPrimaryKey(new Classificazione_vociBulk(voce.getId_classificazione()));
                    existDettPersonale = classif.getFl_accentrato() && cdrPersonale.equals(classif.getCdr_accentratore());
                }
            }
            // Aggiorno il totalizzatore complessivo
            totSommaSpesa = totSommaSpesa.add(sommaSpesa);
            if (ass_pdg.getIm_spesa() != null) {
                if (ass_pdg.getIm_spesa().compareTo(sommaSpesa) < 0)
                    throw new ApplicationException("La Somma dei dettagli di spesa (" + new it.cnr.contab.util.EuroFormat().format(sommaSpesa) + ")" + "\n" + "per il Cdr " + ass_pdg.getCd_centro_responsabilita() + " supera la quota di spesa assegnata di " + new it.cnr.contab.util.EuroFormat().format(sommaSpesa.subtract(ass_pdg.getIm_spesa())));
            }
        }
        if (totSommaEntrata.compareTo(totSommaSpesa) != 0 && !isUoPdgUoEnte(usercontext, pdg))
            throw new ApplicationException("Il totale delle variazioni di spesa (" + new it.cnr.contab.util.EuroFormat().format(totSommaSpesa) + ")" + "\n" + "non è uguale al totale delle variazioni di entrata (" + new it.cnr.contab.util.EuroFormat().format(totSommaEntrata) + ")");
        if (!existDettPersonale)
            throw new ApplicationException("In un variazione di tipo 'Personale' occorre selezionare almeno una voce accentrata " + "verso il CDR del personale o scegliere tra i CDR partecipanti anche quello del personale (" + cdrPersonale + ").");
        if (!existDettArea)
            throw new ApplicationException("In un variazione di tipo 'Trasferimento ad Aree' occorre scegliere tra i CDR partecipanti " + "almeno uno di tipo Area.");
        if (pdg.getTipologia().equals(Tipo_variazioneBulk.STORNO_SPESA_STESSO_ISTITUTO) || pdg.getTipologia().equals(Tipo_variazioneBulk.STORNO_SPESA_ISTITUTI_DIVERSI)) {
            if (contaRigheEntrata > Utility.ZERO.intValue())
                throw new ApplicationException("Non è possibile inserire dettagli di entrata in un variazione di tipo 'Storno Spesa'");
            if (totSommaSpesa.compareTo(Utility.ZERO) != 0)
                throw new ApplicationException("In un variazione di tipo 'Storno Spesa' il saldo algebrico deve essere nullo");
        } else if (pdg.getTipologia().equals(Tipo_variazioneBulk.STORNO_ENTRATA_STESSO_ISTITUTO) || pdg.getTipologia().equals(Tipo_variazioneBulk.STORNO_ENTRATA_ISTITUTI_DIVERSI)) {
            if (contaRigheSpesa > Utility.ZERO.intValue())
                throw new ApplicationException("Non è possibile inserire dettagli di spesa in un variazione di tipo 'Storno Entrata'");
            if (totSommaEntrata.compareTo(Utility.ZERO) != 0)
                throw new ApplicationException("In un variazione di tipo 'Storno Entrata' il saldo algebrico deve essere nullo");
        } else if (pdg.getTipologia().equals(Tipo_variazioneBulk.PRELIEVO_FONDI)) {
            if (contaRigheEntrata > Utility.ZERO.intValue())
                throw new ApplicationException("Non è possibile inserire dettagli di entrata in un variazione di tipo 'Prelievo Fondi'");
            if (totSommaSpesa.compareTo(Utility.ZERO) != 1)
                throw new ApplicationException("In un variazione di tipo 'Prelievo da Fondi' il saldo algebrico deve essere positivo");
        } else if (pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_NEGATIVA_FONDI)) {
            if (contaRigheSpesa > Utility.ZERO.intValue())
                throw new ApplicationException("Non è possibile inserire dettagli di spesa in un variazione di tipo 'Decremento Fondi'");
            if (totImportoEntrataPositivo.compareTo(Utility.ZERO) != 0)
                throw new ApplicationException("In un variazione di tipo 'Decremento Fondi' non è possibile inserire dettagli di entrata con importi positivi.");
        } else if (pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_POSITIVA_FONDI)) {
            if (contaRigheSpesa > Utility.ZERO.intValue())
                throw new ApplicationException("Non è possibile inserire dettagli di spesa in un variazione di tipo 'Incremento\\Decremento Fondi'");
            if (totImportoEntrataNegativo.compareTo(Utility.ZERO) != 0)
                throw new ApplicationException("In un variazione di tipo 'Incremento Fondi' non è possibile inserire dettagli di entrata con importi negativi.");
        } else if (pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_POSITIVA_STESSO_ISTITUTO) || pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_POSITIVA_ISTITUTI_DIVERSI)) {
            if (contaRigheSpesa == Utility.ZERO.intValue() || contaRigheEntrata == Utility.ZERO.intValue())
                throw new ApplicationException("E' necessario inserire sia dettagli di spesa che di entrata in un variazione di tipo 'Variazione Positiva'");
            if (totImportoSpesaNegativo.compareTo(Utility.ZERO) != 0 || totImportoEntrataNegativo.compareTo(Utility.ZERO) != 0)
                throw new ApplicationException("In un variazione di tipo 'Variazione Positiva' non è possibile inserire dettagli di entrata/spesa con importi negativi.");
            CdrBulk cdr_prel = null;
            Pdg_variazioneHome pdgHome = (Pdg_variazioneHome) getHome(usercontext, Pdg_variazioneBulk.class);
            // Calcolo il totale delle entrate
            for (java.util.Iterator entrate = pdgHome.findDettagliEntrateVariazioneGestionaleSoggettePrelievo(pdg).iterator(); entrate.hasNext(); ) {
                Pdg_variazione_riga_gestBulk etr_det = (Pdg_variazione_riga_gestBulk) entrate.next();
                Elemento_voceBulk ev = (Elemento_voceBulk) getHome(usercontext, Elemento_voceBulk.class).findByPrimaryKey(etr_det.getElemento_voce());
                if (etr_det.getElemento_voce() != null && etr_det.getElemento_voce().getPerc_prelievo_pdgp_entrate().compareTo(ZERO) != 0) {
                    CdrBulk cdr = (CdrBulk) getHome(usercontext, CdrBulk.class).findByPrimaryKey(etr_det.getCdr_assegnatario());
                    cdr.setUnita_padre((Unita_organizzativaBulk) getHome(usercontext, Unita_organizzativaBulk.class).findByPrimaryKey(new Unita_organizzativaBulk(cdr.getCd_unita_organizzativa())));
                    if (!etr_det.getCdr_assegnatario().isCdrSAC()) {
                        impTotaleEntrateDaPrel = impTotaleEntrateDaPrel.add(etr_det.getIm_entrata().multiply(ev.getPerc_prelievo_pdgp_entrate()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_DOWN));
                        cdr_prel = etr_det.getCdr_assegnatario();
                    }
                }
            }
            // Calcolo il totale delle spese
            for (java.util.Iterator spese = pdgHome.findDettagliSpesaVariazioneGestionalePrelievo(pdg).iterator(); spese.hasNext(); ) {
                Pdg_variazione_riga_gestBulk spesa_det = (Pdg_variazione_riga_gestBulk) spese.next();
                if (cdr_prel != null && cdr_prel.getCd_centro_responsabilita() != null && spesa_det.getCdr_assegnatario().getCd_centro_responsabilita().compareTo(cdr_prel.getCd_centro_responsabilita()) == 0)
                    impTotaleSpesePrel = impTotaleSpesePrel.add(spesa_det.getIm_spese_gest_accentrata_est()).add(spesa_det.getIm_spese_gest_decentrata_est());
            }
            if (impTotaleEntrateDaPrel.compareTo(ZERO) != 0) {
                // if(impTotaleSpesePrel.compareTo(ZERO)!=0){
                if (impTotaleEntrateDaPrel.compareTo(impTotaleSpesePrel) != 0)
                    throw new ApplicationException("Il contributo per l'attività ordinaria per il cdr " + cdr_prel.getCd_centro_responsabilita() + " è pari a " + new it.cnr.contab.util.EuroFormat().format(impTotaleEntrateDaPrel) + ". Impossibile salvare, poichè è stato imputato sulla voce dedicata l'importo di " + new it.cnr.contab.util.EuroFormat().format(impTotaleSpesePrel) + ".");
            // }
            }
            if (totSommaEntrata.compareTo(totSommaSpesa) != 0)
                throw new ApplicationException("In un variazione di tipo 'Variazione Positiva' il totale delle variazioni di spesa (" + new it.cnr.contab.util.EuroFormat().format(totSommaSpesa) + ")" + "\n" + "deve essere uguale al totale delle variazioni di entrata (" + new it.cnr.contab.util.EuroFormat().format(totSommaEntrata) + ")");
        } else if (pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_NEGATIVA_STESSO_ISTITUTO) || pdg.getTipologia().equals(Tipo_variazioneBulk.VARIAZIONE_NEGATIVA_ISTITUTI_DIVERSI)) {
            if (contaRigheSpesa == Utility.ZERO.intValue() || contaRigheEntrata == Utility.ZERO.intValue())
                throw new ApplicationException("E' necessario inserire sia dettagli di spesa che di entrata in un variazione di tipo 'Variazione Negativa'");
            if (totImportoSpesaPositivo.compareTo(Utility.ZERO) != 0 || totImportoEntrataPositivo.compareTo(Utility.ZERO) != 0)
                throw new ApplicationException("In un variazione di tipo 'Variazione Negativa' non è possibile inserire dettagli di entrata/spesa con importi positivi.");
            if (totSommaEntrata.compareTo(totSommaSpesa) != 0) {
                throw new ApplicationException("In un variazione di tipo 'Variazione Negativa' il totale delle variazioni di spesa (" + new it.cnr.contab.util.EuroFormat().format(totSommaSpesa) + ")" + "\n" + "deve essere uguale al totale delle variazioni di entrata (" + new it.cnr.contab.util.EuroFormat().format(totSommaEntrata) + ")");
            }
        }
    } catch (PersistencyException e) {
        throw new ComponentException(e);
    }
}
Also used : Tipo_variazioneHome(it.cnr.contab.pdg01.bulk.Tipo_variazioneHome) Pdg_variazione_riga_gestBulk(it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestBulk) Parametri_cdsBulk(it.cnr.contab.config00.bulk.Parametri_cdsBulk) LoggerFactory(org.slf4j.LoggerFactory) SendMail(it.cnr.jada.util.SendMail) PdGVariazioniComponent(it.cnr.contab.pdg00.comp.PdGVariazioniComponent) Config(it.cnr.jada.util.Config) BigDecimal(java.math.BigDecimal) RimodulazioneNonApprovataException(it.cnr.contab.progettiric00.comp.RimodulazioneNonApprovataException) CostantiTi_gestione(it.cnr.contab.config00.latt.bulk.CostantiTi_gestione) Voce_f_saldi_cdr_lineaBulk(it.cnr.contab.prevent00.bulk.Voce_f_saldi_cdr_lineaBulk) it.cnr.contab.config00.sto.bulk(it.cnr.contab.config00.sto.bulk) Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) Pdg_variazioneBulk(it.cnr.contab.pdg00.bulk.Pdg_variazioneBulk) MessaggioHome(it.cnr.contab.messaggio00.bulk.MessaggioHome) V_assestatoHome(it.cnr.contab.prevent00.bulk.V_assestatoHome) UtenteBulk(it.cnr.contab.utenze00.bulk.UtenteBulk) AddressException(javax.mail.internet.AddressException) Classificazione_vociBulk(it.cnr.contab.config00.pdcfin.cla.bulk.Classificazione_vociBulk) Timestamp(java.sql.Timestamp) MessaggioBulk(it.cnr.contab.messaggio00.bulk.MessaggioBulk) EJBCommonServices(it.cnr.jada.util.ejb.EJBCommonServices) Parametri_cnrBulk(it.cnr.contab.config00.bulk.Parametri_cnrBulk) Ass_pdg_variazione_cdrHome(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrHome) Collectors(java.util.stream.Collectors) Progetto_rimodulazioneHome(it.cnr.contab.progettiric00.core.bulk.Progetto_rimodulazioneHome) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) List(java.util.List) WorkpackageBulk(it.cnr.contab.config00.latt.bulk.WorkpackageBulk) Optional(java.util.Optional) SaldoComponentSession(it.cnr.contab.doccont00.ejb.SaldoComponentSession) UserContext(it.cnr.jada.UserContext) it.cnr.jada.persistency.sql(it.cnr.jada.persistency.sql) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) OptionRequestException(it.cnr.jada.comp.OptionRequestException) ProgettoHome(it.cnr.contab.progettiric00.core.bulk.ProgettoHome) Utility(it.cnr.contab.util.Utility) SimpleDateFormat(java.text.SimpleDateFormat) ICancellatoLogicamente(it.cnr.contab.util.ICancellatoLogicamente) Utente_indirizzi_mailBulk(it.cnr.contab.utenze00.bulk.Utente_indirizzi_mailBulk) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) Pdg_variazioneHome(it.cnr.contab.pdg00.bulk.Pdg_variazioneHome) ArrayList(java.util.ArrayList) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk) InternetAddress(javax.mail.internet.InternetAddress) SQLException(java.sql.SQLException) it.cnr.contab.config00.pdcfin.bulk(it.cnr.contab.config00.pdcfin.bulk) Tipo_variazioneBulk(it.cnr.contab.pdg01.bulk.Tipo_variazioneBulk) UtenteHome(it.cnr.contab.utenze00.bulk.UtenteHome) CRUDComponentSession(it.cnr.jada.ejb.CRUDComponentSession) DateUtils(it.cnr.jada.util.DateUtils) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) Configurazione_cnrComponentSession(it.cnr.contab.config00.ejb.Configurazione_cnrComponentSession) WorkpackageHome(it.cnr.contab.config00.latt.bulk.WorkpackageHome) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) Pdg_variazione_riga_gestHome(it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestHome) V_assestatoBulk(it.cnr.contab.prevent00.bulk.V_assestatoBulk) ProgettoBulk(it.cnr.contab.progettiric00.core.bulk.ProgettoBulk) ObbligazioneBulk(it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk) ApplicationMessageFormatException(it.cnr.contab.util.ApplicationMessageFormatException) Pdg_esercizioBulk(it.cnr.contab.prevent01.bulk.Pdg_esercizioBulk) Utente_indirizzi_mailHome(it.cnr.contab.utenze00.bulk.Utente_indirizzi_mailHome) Progetto_rimodulazioneBulk(it.cnr.contab.progettiric00.core.bulk.Progetto_rimodulazioneBulk) ComponentException(it.cnr.jada.comp.ComponentException) Ass_pdg_variazione_cdrBulk(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrBulk) StatoProgettoRimodulazione(it.cnr.contab.progettiric00.enumeration.StatoProgettoRimodulazione) Ass_pdg_variazione_cdrHome(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrHome) Pdg_variazioneBulk(it.cnr.contab.pdg00.bulk.Pdg_variazioneBulk) Ass_pdg_variazione_cdrBulk(it.cnr.contab.pdg00.cdip.bulk.Ass_pdg_variazione_cdrBulk) Pdg_variazione_riga_gestBulk(it.cnr.contab.pdg01.bulk.Pdg_variazione_riga_gestBulk) Iterator(java.util.Iterator) PersistencyException(it.cnr.jada.persistency.PersistencyException) Classificazione_vociBulk(it.cnr.contab.config00.pdcfin.cla.bulk.Classificazione_vociBulk) Iterator(java.util.Iterator) BigDecimal(java.math.BigDecimal) ApplicationException(it.cnr.jada.comp.ApplicationException) ComponentException(it.cnr.jada.comp.ComponentException) Pdg_variazioneHome(it.cnr.contab.pdg00.bulk.Pdg_variazioneHome)

Example 98 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class SelezionatoreUnitaOrganizzativaAction method basicDoBringBack.

public Forward basicDoBringBack(ActionContext context) throws BusinessProcessException {
    try {
        SelezionatoreUnitaOrganizzativaBP bp = (SelezionatoreUnitaOrganizzativaBP) context.getBusinessProcess();
        context.closeBusinessProcess();
        if (((CNRUserInfo) context.getUserInfo()).getUtente() != null && ((CNRUserInfo) context.getUserInfo()).getUtente().isSupervisore()) {
            Unita_organizzativaBulk uo = (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) bp.getFocusedElement();
            SelezionaCdsBulk scds = new SelezionaCdsBulk();
            scds.setUo(uo);
            scds = bp.findUo(context, scds);
            bp.selezionaUO(context, null, uo, scds.getCdr());
        } else
            bp.selezionaUO(context);
        return context.findForward("desktop");
    } catch (Throwable e) {
        return handleException(context, e);
    }
}
Also used : Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)

Example 99 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDUtenzaBP method resetRuoli.

/**
 * Esegue il reset dei ruoli visualizzati
 */
public void resetRuoli(ActionContext context) throws BusinessProcessException {
    try {
        UtenteTemplateBulk utente = (UtenteTemplateBulk) getModel();
        utente.setUnita_org_per_ruolo(new Unita_organizzativaBulk());
        utente.resetRuoli();
        setModel(context, utente);
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) ComponentException(it.cnr.jada.comp.ComponentException)

Example 100 with Unita_organizzativaBulk

use of it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk in project sigla-main by consiglionazionaledellericerche.

the class GestioneUtenteBP method listaUnitaOrganizzative.

public it.cnr.jada.util.action.SelezionatoreListaBP listaUnitaOrganizzative(it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
    try {
        closeAllChildren();
        it.cnr.jada.util.RemoteIterator ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, it.cnr.contab.utenze00.action.GestioneUtenteAction.getComponentSession().listaUOPerUtente(context.getUserContext(), getUserInfo().getUtente(), getUserInfo().getEsercizio()));
        SelezionatoreUnitaOrganizzativaBP bp = (SelezionatoreUnitaOrganizzativaBP) context.createBusinessProcess("SelezionatoreUnitaOrganizzativa");
        bp.setUserInfo((CNRUserInfo) getUserInfo().clone());
        bp.setPageSize(20);
        bp.setIterator(context, ri);
        bp.setColumns(it.cnr.jada.bulk.BulkInfo.getBulkInfo(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk.class).getColumnFieldPropertyDictionary("scrivania"));
        context.setBusinessProcess(this);
        context.addBusinessProcess(bp);
        if (((CNRUserContext) context.getUserContext()).getCd_unita_organizzativa() != null) {
            int pos = 0;
            bp.getIterator().moveTo(0);
            while (bp.getIterator().hasMoreElements()) {
                Unita_organizzativaBulk uo = (Unita_organizzativaBulk) bp.getIterator().nextElement();
                if (uo.getCd_unita_organizzativa().equals(((CNRUserContext) context.getUserContext()).getCd_unita_organizzativa()))
                    break;
                pos++;
            }
            bp.getIterator().moveTo(0);
            Selection sel = bp.getSelection();
            sel.setFocus(pos);
            bp.setSelection(sel);
            int page = pos / bp.getPageSize();
            bp.goToPage(context, page);
        }
        return bp;
    } catch (Throwable e) {
        throw handleException(e);
    }
}
Also used : Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) Selection(it.cnr.jada.util.action.Selection) it.cnr.contab.utenze00.bulk(it.cnr.contab.utenze00.bulk)

Aggregations

Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)238 ComponentException (it.cnr.jada.comp.ComponentException)103 PersistencyException (it.cnr.jada.persistency.PersistencyException)101 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)101 Unita_organizzativaHome (it.cnr.contab.config00.sto.bulk.Unita_organizzativaHome)52 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)52 RemoteException (java.rmi.RemoteException)52 Unita_organizzativa_enteBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativa_enteBulk)46 ApplicationException (it.cnr.jada.comp.ApplicationException)46 CdrBulk (it.cnr.contab.config00.sto.bulk.CdrBulk)37 EJBException (javax.ejb.EJBException)37 List (java.util.List)35 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)33 Iterator (java.util.Iterator)33 CdsBulk (it.cnr.contab.config00.sto.bulk.CdsBulk)31 UserContext (it.cnr.jada.UserContext)28 TerzoBulk (it.cnr.contab.anagraf00.core.bulk.TerzoBulk)26 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)22 SQLException (java.sql.SQLException)21 BulkList (it.cnr.jada.bulk.BulkList)20