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