Skip to content

Commit

Permalink
Piano Economico Progetto
Browse files Browse the repository at this point in the history
  • Loading branch information
raffaelepagano committed Jun 13, 2019
1 parent fcf36cf commit 8ec2fbe
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 16 deletions.
Expand Up @@ -1814,16 +1814,17 @@ private void validaSaldiPianoEconomico(UserContext userContext, ProgettoBulk pro
sqlSaldi.addSQLClause(FindClause.OR,"VOCE_F_SALDI_CDR_LINEA.VAR_MENO_OBBL_RES_PRO",SQLBuilder.GREATER,BigDecimal.ZERO);
sqlSaldi.closeParenthesis();

Ass_progetto_piaeco_voceHome assPiaecoHome = (Ass_progetto_piaeco_voceHome)getHome(userContext, Ass_progetto_piaeco_voceBulk.class);
SQLBuilder sqlExist = assPiaecoHome.createSQLBuilder();
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.PG_PROGETTO","V_LINEA_ATTIVITA_VALIDA.PG_PROGETTO");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.ESERCIZIO_PIANO","VOCE_F_SALDI_CDR_LINEA.ESERCIZIO_RES");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.TI_APPARTENENZA","VOCE_F_SALDI_CDR_LINEA.TI_APPARTENENZA");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.TI_GESTIONE","VOCE_F_SALDI_CDR_LINEA.TI_GESTIONE");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.CD_ELEMENTO_VOCE","VOCE_F_SALDI_CDR_LINEA.CD_ELEMENTO_VOCE");

if (!Optional.ofNullable(rimodulazione).isPresent())
if (!Optional.ofNullable(rimodulazione).isPresent()) {
Ass_progetto_piaeco_voceHome assPiaecoHome = (Ass_progetto_piaeco_voceHome)getHome(userContext, Ass_progetto_piaeco_voceBulk.class);
SQLBuilder sqlExist = assPiaecoHome.createSQLBuilder();
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.PG_PROGETTO","V_LINEA_ATTIVITA_VALIDA.PG_PROGETTO");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.ESERCIZIO_PIANO","VOCE_F_SALDI_CDR_LINEA.ESERCIZIO_RES");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.TI_APPARTENENZA","VOCE_F_SALDI_CDR_LINEA.TI_APPARTENENZA");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.TI_GESTIONE","VOCE_F_SALDI_CDR_LINEA.TI_GESTIONE");
sqlExist.addSQLJoin("ASS_PROGETTO_PIAECO_VOCE.CD_ELEMENTO_VOCE","VOCE_F_SALDI_CDR_LINEA.CD_ELEMENTO_VOCE");

sqlSaldi.addSQLNotExistsClause(FindClause.AND, sqlExist);
}

List<Voce_f_saldi_cdr_lineaBulk> saldiList = new it.cnr.jada.bulk.BulkList(saldiHome.fetchAll(sqlSaldi));

Expand Down
Expand Up @@ -4,6 +4,8 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
Expand Down Expand Up @@ -56,6 +58,7 @@
import it.cnr.jada.persistency.sql.FindClause;
import it.cnr.jada.persistency.sql.Query;
import it.cnr.jada.persistency.sql.SQLBuilder;
import it.cnr.jada.persistency.sql.SimpleFindClause;
import it.cnr.si.spring.storage.StoreService;

public class RimodulaProgettoRicercaComponent extends it.cnr.jada.comp.CRUDComponent {
Expand Down Expand Up @@ -278,15 +281,32 @@ public RimodulaProgettoRicercaComponent() {
public Query select(UserContext userContext,CompoundFindClause clauses,OggettoBulk bulk) throws ComponentException, it.cnr.jada.persistency.PersistencyException
{
SQLBuilder sql = (SQLBuilder) super.select( userContext, clauses, bulk );
Optional.ofNullable(bulk).filter(Progetto_rimodulazioneBulk.class::isInstance)
.map(Progetto_rimodulazioneBulk.class::cast).flatMap(el->Optional.ofNullable(el.getProgetto()))
.flatMap(el->Optional.ofNullable(el.getCd_unita_organizzativa())).ifPresent(cduo->{

Optional<String> optCdUo = Optional.ofNullable(bulk).filter(Progetto_rimodulazioneBulk.class::isInstance)
.map(Progetto_rimodulazioneBulk.class::cast).flatMap(el->Optional.ofNullable(el.getProgetto()))
.flatMap(el->Optional.ofNullable(el.getCd_unita_organizzativa()));

Optional<String> optCdUo2 = Optional.empty();

if (clauses!=null){
Enumeration<SimpleFindClause> e = clauses.getClauses();
while(e.hasMoreElements()){
SimpleFindClause findClause = e.nextElement();
if (findClause.getPropertyName().equals("progetto.unita_organizzativa.cd_unita_organizzativa"))
optCdUo2 = Optional.of(findClause.getValue().toString());
}
}

if (optCdUo.isPresent() || optCdUo2.isPresent()) {
sql.addTableToHeader("PROGETTO");
sql.addSQLClause(FindClause.AND, "PROGETTO.ESERCIZIO", SQLBuilder.EQUALS, CNRUserContext.getEsercizio(userContext));
sql.addSQLClause(FindClause.AND, "PROGETTO.TIPO_FASE", SQLBuilder.EQUALS, ProgettoBulk.TIPO_FASE_NON_DEFINITA);
sql.addSQLJoin("PROGETTO.PG_PROGETTO", "PROGETTO_RIMODULAZIONE.PG_PROGETTO");
sql.addSQLClause(FindClause.AND, "PROGETTO.CD_UNITA_ORGANIZZATIVA", SQLBuilder.EQUALS, cduo);
});
if (optCdUo.isPresent())
sql.addSQLClause(FindClause.AND, "PROGETTO.CD_UNITA_ORGANIZZATIVA", SQLBuilder.EQUALS, optCdUo.get());
if (optCdUo2.isPresent())
sql.addSQLClause(FindClause.AND, "PROGETTO.CD_UNITA_ORGANIZZATIVA", SQLBuilder.EQUALS, optCdUo2.get());
}
return sql;
}

Expand Down
Expand Up @@ -113,7 +113,7 @@ public List<OggettoBulk> constructVariazioniBilancio(it.cnr.jada.UserContext use
if (fonte.equals("FES")) {
if (esercizio.compareTo(CNRUserContext.getEsercizio(userContext))<0){
Var_stanz_resBulk varStanz = new Var_stanz_resBulk();
varStanz.setEsercizio(esercizio);
varStanz.setEsercizio(CNRUserContext.getEsercizio(userContext));
varStanz.setEsercizio_res(new Esercizio_baseBulk(esercizio));
varStanz.setTipologia_fin(fonte);
varStanz.setCdr(cdr);
Expand All @@ -126,7 +126,7 @@ public List<OggettoBulk> constructVariazioniBilancio(it.cnr.jada.UserContext use
result.add(varStanz);
} else if (esercizio.compareTo(CNRUserContext.getEsercizio(userContext))==0){
Pdg_variazioneBulk pdgVar = new Pdg_variazioneBulk();
pdgVar.setEsercizio(esercizio);
pdgVar.setEsercizio(CNRUserContext.getEsercizio(userContext));
pdgVar.setTipologia_fin(fonte);
pdgVar.setCentro_responsabilita(cdr);

Expand All @@ -141,6 +141,37 @@ public List<OggettoBulk> constructVariazioniBilancio(it.cnr.jada.UserContext use
}
});
}

rimodulazione.getVociMovimentateNonAssociate().stream().forEach(voce->{
if (voce.getEsercizio().compareTo(CNRUserContext.getEsercizio(userContext))<0){
Var_stanz_resBulk varStanz = new Var_stanz_resBulk();
varStanz.setEsercizio(CNRUserContext.getEsercizio(userContext));
varStanz.setEsercizio_res(new Esercizio_baseBulk(voce.getEsercizio()));
varStanz.setTipologia_fin("FES");
varStanz.setCdr(cdr);

Ass_var_stanz_res_cdrBulk assCdr = new Ass_var_stanz_res_cdrBulk();
assCdr.setCentro_di_responsabilita(cdr);
assCdr.setIm_spesa(voce.getAssestato().negate());
varStanz.addToAssociazioneCDR(assCdr);

result.add(varStanz);
} else if (voce.getEsercizio().compareTo(CNRUserContext.getEsercizio(userContext))==0){
Pdg_variazioneBulk pdgVar = new Pdg_variazioneBulk();
pdgVar.setEsercizio(CNRUserContext.getEsercizio(userContext));
pdgVar.setTipologia_fin("FES");
pdgVar.setCentro_responsabilita(cdr);

Ass_pdg_variazione_cdrBulk assCdr = new Ass_pdg_variazione_cdrBulk();
assCdr.setCentro_responsabilita(cdr);
assCdr.setIm_entrata(BigDecimal.ZERO);
assCdr.setIm_spesa(voce.getAssestato().negate());
pdgVar.addToAssociazioneCDR(assCdr);

result.add(pdgVar);
}
});

return result;
}

Expand Down
Expand Up @@ -61,6 +61,13 @@
enabledOnInsert="false"
enabledOnFreeSearch="true"
label="UO Coordinatrice" />
<fieldProperty
name="cd_unita_organizzativa_progetto"
property="progetto.unita_organizzativa.cd_unita_organizzativa"
maxLength="30"
inputSize="30"
inputType="TEXT"
label="Codice Uo Coordinatrice" />
<fieldProperty
name="statoOf"
property="progetto.statoPrg"
Expand Down Expand Up @@ -311,6 +318,7 @@
<formFieldProperty name="cd_progetto" />
<formFieldProperty name="ds_progetto" />
<formFieldProperty name="unita_organizzativa_progetto" />
<formFieldProperty name="cd_unita_organizzativa_progetto" />
<formFieldProperty name="stato" />
<formFieldProperty name="statoRadio" />
<formFieldProperty name="dtInizioRimodulato" />
Expand Down Expand Up @@ -349,12 +357,14 @@
<formFieldProperty
name="imCofinanziatoOf" />

<columnFieldProperty name="cd_unita_organizzativa_progetto" />
<columnFieldProperty name="cd_progetto" />
<columnFieldProperty name="ds_progetto" />
<columnFieldProperty name="pg_rimodulazione" />
<columnFieldProperty name="pg_gen_rimodulazione" />
<columnFieldProperty name="stato" />

<findFieldProperty name="cd_unita_organizzativa_progetto" />
<findFieldProperty name="cd_progetto" />
<findFieldProperty name="ds_progetto" />
<findFieldProperty name="pg_rimodulazione" />
Expand Down

0 comments on commit 8ec2fbe

Please sign in to comment.