Skip to content

Commit

Permalink
Nuovo PDGP: Anomalie Varie
Browse files Browse the repository at this point in the history
  • Loading branch information
rpagano committed Jan 11, 2016
1 parent 0e25235 commit 91961f8
Show file tree
Hide file tree
Showing 15 changed files with 257 additions and 116 deletions.
@@ -1,6 +1,7 @@
package it.cnr.contab.config00.bulk;

import it.cnr.contab.utenze00.bp.CNRUserContext;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.BulkHome;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.PersistentCache;
Expand Down Expand Up @@ -39,4 +40,8 @@ public Integer livelloCofogObbligatorio(it.cnr.jada.UserContext userContext) thr
return parametri.getLivello_pdg_cofog();

}
public boolean isNuovoPdg(UserContext userContext) throws PersistencyException{
Parametri_cnrBulk parametriCnr = (Parametri_cnrBulk)findByPrimaryKey(new Parametri_cnrBulk(CNRUserContext.getEsercizio(userContext)));
return parametriCnr!=null && parametriCnr.getFl_nuovo_pdg();
}
}
Expand Up @@ -4537,9 +4537,11 @@ protected AccertamentoBulk validaCreaModificaElementoVoceNext(UserContext userCo
if (listEv.isEmpty())
throw new ApplicationException("Attenzione! Non esiste congruenza tra la voce dell''impegno e quella di ribaltamento. Modificare la voce di ribaltamento!");

if (evAccertamento.getFl_recon().equals(Boolean.FALSE) && accertamento.getElemento_voce_next().getFl_recon().equals(Boolean.TRUE))
if (evAccertamento.getFl_recon().equals(Boolean.FALSE) && accertamento.getElemento_voce_next().getFl_recon().equals(Boolean.TRUE) &&
accertamento.getContratto()==null || accertamento.getContratto().getPg_contratto()==null)
throw new ApplicationException("Attenzione! Non esiste congruenza tra la voce dell''accertamento che non richiede l'indicazione "+
" del campo contratto/incarico e quella di ribaltamento che ne richiede l'inserimento. Modificare la voce di ribaltamento!");
"del contratto e quella di ribaltamento che ne richiede l'inserimento. Modificare la voce di ribaltamento "+
"o inserire i dati relativi al contratto!");

try {
verificaGestioneTrovato(userContext, accertamento, accertamento.getElemento_voce_next());
Expand Down
Expand Up @@ -605,13 +605,19 @@ public AccertamentoPGiroBulk creaAccertamento(UserContext uc,ImpegnoPGiroBulk im

Ass_partita_giroHome ass_pgiroHome = (Ass_partita_giroHome) getHome( uc, Ass_partita_giroBulk.class );
Ass_partita_giroBulk ass_pgiro = ass_pgiroHome.getAssociazionePGiroFor(imp_pgiro);
Voce_fBulk voce_f = this.findVoce_f(uc, imp_pgiro, ass_pgiro);
if ( voce_f == null )
throw new ApplicationException("Impossibile recuperare la voce per il capitolo: " + ( (Ass_partita_giroBulk)result.get(0) ).getCd_voce());

accert_pgiro.setTi_appartenenza( ass_pgiro.getTi_appartenenza() );
accert_pgiro.setTi_gestione( ass_pgiro.getTi_gestione() );
accert_pgiro.setCd_elemento_voce( ass_pgiro.getCd_voce() );
accert_pgiro.setCd_voce( voce_f.getCd_voce() );

Parametri_cnrBulk parametriCnr = (Parametri_cnrBulk)getHome(uc,Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(imp_pgiro.getEsercizio()));
if (parametriCnr==null || !parametriCnr.getFl_nuovo_pdg()) {
Voce_fBulk voce_f = this.findVoce_f(uc, imp_pgiro, ass_pgiro);
if ( voce_f == null )
throw new ApplicationException("Impossibile recuperare la voce per il capitolo: " + ( (Ass_partita_giroBulk)result.get(0) ).getCd_voce());
accert_pgiro.setCd_voce( voce_f.getCd_voce() );
} else
accert_pgiro.setCd_voce( ass_pgiro.getCd_voce() );

Accertamento_scadenzarioBulk accert_scad = creaAccertamento_scadenzario( uc, accert_pgiro );
// creaAccertamento_scad_voce( uc, accert_scad, (Obbligazione_scad_voceBulk)(((Obbligazione_scadenzarioBulk)imp_pgiro.getObbligazione_scadenzarioColl().get(0)).getObbligazione_scad_voceColl().get(0)));
Expand Down Expand Up @@ -1512,13 +1518,16 @@ public AccertamentoPGiroBulk modificaAccertamento(UserContext uc,ImpegnoPGiroBul
Ass_partita_giroHome ass_pgiroHome = (Ass_partita_giroHome) getHome( uc, Ass_partita_giroBulk.class );
Ass_partita_giroBulk ass_pgiro = ass_pgiroHome.getAssociazionePGiroFor(imp_pgiro);

Voce_fBulk voce_f = this.findVoce_f(uc, imp_pgiro, ass_pgiro);

accert_pgiro.setTi_appartenenza( ass_pgiro.getTi_appartenenza() );
accert_pgiro.setTi_gestione( ass_pgiro.getTi_gestione() );
accert_pgiro.setCd_elemento_voce( ass_pgiro.getCd_voce() );
accert_pgiro.setCd_voce( voce_f.getCd_voce() );

Parametri_cnrBulk parametriCnr = (Parametri_cnrBulk)getHome(uc,Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(imp_pgiro.getEsercizio()));
if (parametriCnr==null || !parametriCnr.getFl_nuovo_pdg()) {
Voce_fBulk voce_f = this.findVoce_f(uc, imp_pgiro, ass_pgiro);
accert_pgiro.setCd_voce( voce_f.getCd_voce() );
} else
accert_pgiro.setCd_voce( ass_pgiro.getCd_voce() );

accert_pgiro.setUser( uc.getUser() );
updateBulk( uc, accert_pgiro );
Expand Down
Expand Up @@ -18,6 +18,7 @@
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.*;
import it.cnr.jada.comp.*;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.sql.*;
import it.cnr.jada.util.RemoteIterator;
import it.cnr.jada.util.ejb.EJBCommonServices;
Expand Down Expand Up @@ -174,7 +175,12 @@ public void aggiornaSaldiInDifferita( UserContext userContext, IDocumentoContabi
private void aggiornaSaldiInInserimento( UserContext userContext, ImpegnoResiduoBulk imp) throws ComponentException, java.rmi.RemoteException
{
SaldoComponentSession session = createSaldoComponentSession();
PrimaryKeyHashMap saldiDaAggiornare = imp.getVociMap();
PrimaryKeyHashMap saldiDaAggiornare;
try {
saldiDaAggiornare = imp.getVociMap(((Parametri_cnrHome)getHome(userContext, Parametri_cnrBulk.class)).isNuovoPdg(userContext));
} catch (PersistencyException e) {
throw handleException(e);
}
for ( Iterator i = saldiDaAggiornare.keySet().iterator(); i.hasNext(); )
{
Voce_fBulk voce = (Voce_fBulk) i.next();
Expand Down
Expand Up @@ -21,6 +21,7 @@
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.*;
import it.cnr.jada.comp.*;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.sql.*;
import it.cnr.jada.util.RemoteIterator;
import it.cnr.jada.util.ejb.EJBCommonServices;
Expand Down Expand Up @@ -312,7 +313,12 @@ private void aggiornaSaldiInInserimento(
throws ComponentException, it.cnr.jada.persistency.PersistencyException, java.rmi.RemoteException
{
SaldoComponentSession session = createSaldoComponentSession();
PrimaryKeyHashMap saldiDaAggiornare = imp.getVociMap();
PrimaryKeyHashMap saldiDaAggiornare;
try {
saldiDaAggiornare = imp.getVociMap(((Parametri_cnrHome)getHome(userContext, Parametri_cnrBulk.class)).isNuovoPdg(userContext));
} catch (PersistencyException e) {
throw handleException(e);
}
for ( Iterator i = saldiDaAggiornare.keySet().iterator(); i.hasNext(); )
{
Voce_fBulk voce = (Voce_fBulk) i.next();
Expand Down
Expand Up @@ -9,6 +9,7 @@
import it.cnr.contab.config00.bulk.Parametri_cdsBulk;
import it.cnr.contab.config00.bulk.Parametri_cdsHome;
import it.cnr.contab.config00.bulk.Parametri_cnrBulk;
import it.cnr.contab.config00.bulk.Parametri_cnrHome;
import it.cnr.contab.config00.contratto.bulk.Ass_contratto_uoBulk;
import it.cnr.contab.config00.contratto.bulk.ContrattoBulk;
import it.cnr.contab.config00.contratto.bulk.ContrattoHome;
Expand Down Expand Up @@ -373,19 +374,25 @@ public void aggiornaSaldiInDifferita( UserContext userContext, IDocumentoContabi
private void aggiornaSaldiInInserimento( UserContext userContext, ObbligazioneBulk obbligazione, Boolean forzaDispCassa) throws ComponentException, java.rmi.RemoteException
{
SaldoComponentSession session = createSaldoComponentSession();
PrimaryKeyHashMap saldiDaAggiornare = obbligazione.getVociMap();
PrimaryKeyHashMap saldiDaAggiornare;
try {
saldiDaAggiornare = obbligazione.getVociMap(((Parametri_cnrHome)getHome(userContext, Parametri_cnrBulk.class)).isNuovoPdg(userContext));
} catch (PersistencyException e) {
throw handleException(e);
}
for ( Iterator i = saldiDaAggiornare.keySet().iterator(); i.hasNext(); )
{
Voce_fBulk voce = (Voce_fBulk) i.next();
IVoceBilancioBulk voce = (IVoceBilancioBulk) i.next();
BigDecimal im_voce = (BigDecimal) saldiDaAggiornare.get(voce);
/* il check della disponabilità di cassa deve essere eseguito solo se
l'utente non ha ancora avuto il warning sulla disp.cassa oppure
l'utente ha avuto il warning sulla disp.cassa e ha risposto no */
boolean checkDispCassa = forzaDispCassa == null ||
forzaDispCassa != null && !forzaDispCassa.booleanValue();
session.aggiornaObbligazioniAccertamenti( userContext, voce, obbligazione.getCd_cds(), im_voce,
Voce_f_saldi_cmpBulk.TIPO_COMPETENZA,
checkDispCassa);
if (voce instanceof Voce_fBulk)
session.aggiornaObbligazioniAccertamenti( userContext, (Voce_fBulk)voce, obbligazione.getCd_cds(), im_voce,
Voce_f_saldi_cmpBulk.TIPO_COMPETENZA,
checkDispCassa);
/*
* Aggiorno i Saldi per CDR/Linea
*/
Expand Down Expand Up @@ -1400,15 +1407,22 @@ private void controllaDisponibilitaCassaPerVoceInInserimento (UserContext userCo
{

SaldoComponentSession session = createSaldoComponentSession();
Voce_fBulk voce;
IVoceBilancioBulk voce;
BigDecimal im_voce;
PrimaryKeyHashMap saldoVociMap = obbligazione.getVociMap();
PrimaryKeyHashMap saldoVociMap;
try {
saldoVociMap = obbligazione.getVociMap(((Parametri_cnrHome)getHome(userContext, Parametri_cnrBulk.class)).isNuovoPdg(userContext));
} catch (PersistencyException e) {
throw handleException(e);
}

for ( Iterator i = saldoVociMap.keySet().iterator(); i.hasNext(); )
{
voce = (Voce_fBulk) i.next();
im_voce = (BigDecimal) saldoVociMap.get( voce );
session.checkDisponabilitaCassaObbligazioni( userContext, voce, obbligazione.getCd_cds(), im_voce, Voce_f_saldi_cmpBulk.TIPO_COMPETENZA );
voce = (IVoceBilancioBulk) i.next();
if (voce instanceof Voce_fBulk) {
im_voce = (BigDecimal) saldoVociMap.get( voce );
session.checkDisponabilitaCassaObbligazioni( userContext, (Voce_fBulk)voce, obbligazione.getCd_cds(), im_voce, Voce_f_saldi_cmpBulk.TIPO_COMPETENZA );
}
}
}
catch ( Exception e )
Expand Down Expand Up @@ -1802,7 +1816,7 @@ protected void creaDettagliScadenzaPerLineeAttivitaDaPdG(UserContext aUC,Obbliga
osv.setToBeCreated();
if ( obbligazione.getCds().getCd_tipo_unita().equalsIgnoreCase( "SAC" ) )
{
Voce_fBulk articolo;
IVoceBilancioBulk articolo;
if ( ppsd.getCategoria_dettaglio().equals( it.cnr.contab.pdg00.bulk.Pdg_preventivo_spe_detBulk.CAT_SINGOLO) ||
ppsd.getCd_centro_responsabilita_clgs()==null)
articolo = obbligazione.getArticolo( ppsd.getCd_funzione(), ppsd.getCd_centro_responsabilita());
Expand Down Expand Up @@ -1912,7 +1926,7 @@ protected void creaDettagliScadenzaPerNuoveLineeAttivita (UserContext aUC,Obblig
osv.setToBeCreated();
if ( obbligazione.getCds().getCd_tipo_unita().equalsIgnoreCase( "SAC" ) )
{
Voce_fBulk articolo = obbligazione.getArticolo( la.getLinea_att().getFunzione().getCd_funzione(), la.getLinea_att().getCentro_responsabilita().getCd_centro_responsabilita());
IVoceBilancioBulk articolo = obbligazione.getArticolo( la.getLinea_att().getFunzione().getCd_funzione(), la.getLinea_att().getCentro_responsabilita().getCd_centro_responsabilita());
osv.setTi_appartenenza( articolo.getTi_appartenenza());
osv.setTi_gestione( articolo.getTi_gestione());
osv.setCd_voce( articolo.getCd_voce() );
Expand Down Expand Up @@ -3016,10 +3030,13 @@ public Vector listaLineeAttivitaPerCapitoliCdr (UserContext aUC,ObbligazioneBulk
//selezionati dall'utente nella lista Cdr
for (Iterator i = obbligazione.getCapitoliDiSpesaCdsSelezionatiColl().iterator(); i.hasNext(); )
{
Voce_fBulk voce = (Voce_fBulk) i.next();
IVoceBilancioBulk voce = (IVoceBilancioBulk) i.next();
for ( Iterator j = cdrDiScrivaniaColl.iterator(); j.hasNext(); )
if (((CdrBulk)j.next()).getCd_centro_responsabilita().equals( voce.getCd_centro_responsabilita()))
capitoli.add( voce );
if (voce instanceof Voce_fBulk) {
if (((CdrBulk)j.next()).getCd_centro_responsabilita().equals( ((Voce_fBulk)voce).getCd_centro_responsabilita()))
capitoli.add( voce );
}

}
lineeAttivita.addAll( obbligazioneHome.findLineeAttivitaSAC( capitoli, obbligazione ));
if (obbligazione.isSpesePerCostiAltrui() )
Expand Down Expand Up @@ -3399,9 +3416,9 @@ public SQLBuilder selectLinea_attByClause(UserContext userContext, ObbligazioneB
if ( i.hasNext() )
{
sql.openParenthesis( "AND" );
sql.addClause("AND", "cd_funzione", SQLBuilder.EQUALS, ((Voce_fBulk)i.next()).getCd_funzione());
sql.addClause("AND", "cd_funzione", SQLBuilder.EQUALS, ((IVoceBilancioBulk)i.next()).getCd_funzione());
while ( i.hasNext() )
sql.addClause( "OR", "cd_funzione", SQLBuilder.EQUALS, ((Voce_fBulk)i.next()).getCd_funzione());
sql.addClause( "OR", "cd_funzione", SQLBuilder.EQUALS, ((IVoceBilancioBulk)i.next()).getCd_funzione());
sql.closeParenthesis();
}

Expand Down Expand Up @@ -5675,9 +5692,12 @@ protected ObbligazioneBulk validaCreaModificaElementoVoceNext(UserContext userCo
if (listEv.isEmpty())
throw new ApplicationException("Attenzione! Non esiste congruenza tra la voce dell''impegno e quella di ribaltamento. Modificare la voce di ribaltamento!");

if (obbligazione.getElemento_voce().getFl_recon().equals(Boolean.FALSE) && obbligazione.getElemento_voce_next().getFl_recon().equals(Boolean.TRUE))
if (obbligazione.getElemento_voce().getFl_recon().equals(Boolean.FALSE) && obbligazione.getElemento_voce_next().getFl_recon().equals(Boolean.TRUE) &&
(obbligazione.getIncarico_repertorio()==null || obbligazione.getIncarico_repertorio().getPg_repertorio()==null) &&
(obbligazione.getContratto()==null || obbligazione.getContratto().getPg_contratto()==null))
throw new ApplicationException("Attenzione! Non esiste congruenza tra la voce dell''impegno che non richiede l'indicazione "+
" del campo contratto/incarico e quella di ribaltamento che ne richiede l'inserimento. Modificare la voce di ribaltamento!");
"del contratto/incarico e quella di ribaltamento che ne richiede l'inserimento. Modificare la voce di ribaltamento "+
"o inserire i dati relativi al contratto/incarico!");

try {
verificaGestioneTrovato(userContext, obbligazione, obbligazione.getElemento_voce_next());
Expand Down

0 comments on commit 91961f8

Please sign in to comment.