Skip to content

Commit

Permalink
Corretti problemi di performance accesso al db nella lettura del dett…
Browse files Browse the repository at this point in the history
…aglio di un flusso di rendicontazione.
  • Loading branch information
pintorig committed May 31, 2021
1 parent 879d8ac commit 5dd43ea
Show file tree
Hide file tree
Showing 14 changed files with 249 additions and 200 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,19 @@ public LeggiFrDTOResponse leggiFlussoRendicontazione(LeggiFrDTO leggiRendicontaz

List<it.govpay.bd.viste.model.Rendicontazione> findAll = rendicontazioniBD.getFr(leggiRendicontazioniDTO.getIdFlusso(), leggiRendicontazioniDTO.getObsoleto(), leggiRendicontazioniDTO.getDataOraFlusso());

Fr flussoRendicontazione = findAll.get(0).getFr();
response.setFr(flussoRendicontazione);
response.setDominio(flussoRendicontazione.getDominio(configWrapper));
response.setRendicontazioni(findAll);

if(findAll != null && !findAll.isEmpty()) {
Fr flussoRendicontazione = findAll.get(0).getFr();
response.setFr(flussoRendicontazione);
response.setDominio(flussoRendicontazione.getDominio(configWrapper));
response.setRendicontazioni(findAll);
} else { // flusso senza rendicontazioni
FrBD frBD = new FrBD(rendicontazioniBD);
frBD.setAtomica(false);

Fr flussoRendicontazione = frBD.getFr(leggiRendicontazioniDTO.getIdFlusso(), leggiRendicontazioniDTO.getObsoleto(), leggiRendicontazioniDTO.getDataOraFlusso());
response.setFr(flussoRendicontazione);
response.setDominio(flussoRendicontazione.getDominio(configWrapper));
}
} catch (NotFoundException e) {
throw new RendicontazioneNonTrovataException(e.getMessage(), e);
} finally {
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -287,30 +287,42 @@ public List<VistaRendicontazione> findAll(JDBCServiceManagerProperties jdbcPrope
if(idPagamentoObj instanceof Long)
id_pagamento = (Long) idPagamentoObj;

Object idTributoObj = map.remove("sng_id_tributo");
Long idTributo = null;
Object idTributoObj = map.remove("sng_id_tributo");
if(idTributoObj instanceof Long) {
idTributo = (Long) idTributoObj;
}

Long idApplicazione = (Long)map.remove("vrs_id_applicazione");
Long idDominio = (Long)map.remove("vrs_id_dominio");
Long idApplicazione = null;
Object idApplicazioneObj = map.remove("vrs_id_applicazione");
if(idApplicazioneObj instanceof Long) {
idApplicazione = (Long) idApplicazioneObj;
}

Long idDominio = null;
Object idDominioObj = map.remove("vrs_id_dominio");
if(idDominioObj instanceof Long) {
idDominio = (Long) idDominioObj;
}

Long idUO = null;
Object idUoObject = map.remove("vrs_id_uo");
if(idUoObject instanceof Long) {
idUO = (Long) idUoObject;
}

Long idTipoVersamento = null;
Object idTipoVersamentoObject = map.remove("vrs_id_tipo_versamento");
if(idTipoVersamentoObject instanceof Long) {
idTipoVersamento = (Long) idTipoVersamentoObject;
}

Long idTipoVersamentoDominio = null;
Object idTipoVersamentoDominioObject = map.remove("vrs_id_tipo_versamento_dominio");
if(idTipoVersamentoDominioObject instanceof Long) {
idTipoVersamentoDominio = (Long) idTipoVersamentoDominioObject;
}

Long idDocumento = null;
Object idDocumentoObject = map.remove("vrs_id_documento");
if(idDocumentoObject instanceof Long) {
Expand All @@ -336,13 +348,17 @@ public List<VistaRendicontazione> findAll(JDBCServiceManagerProperties jdbcPrope
rendicontazione.setSngIdTributo(id_singoloVersamento_tributo);
}

it.govpay.orm.IdApplicazione id_versamento_applicazione = new it.govpay.orm.IdApplicazione();
id_versamento_applicazione.setId(idApplicazione);
rendicontazione.setVrsIdApplicazione(id_versamento_applicazione);
if(idApplicazione != null) {
it.govpay.orm.IdApplicazione id_versamento_applicazione = new it.govpay.orm.IdApplicazione();
id_versamento_applicazione.setId(idApplicazione);
rendicontazione.setVrsIdApplicazione(id_versamento_applicazione);
}

it.govpay.orm.IdDominio id_versamento_dominio = new it.govpay.orm.IdDominio();
id_versamento_dominio.setId(idDominio);
rendicontazione.setVrsIdDominio(id_versamento_dominio);
if(idDominio != null) {
it.govpay.orm.IdDominio id_versamento_dominio = new it.govpay.orm.IdDominio();
id_versamento_dominio.setId(idDominio);
rendicontazione.setVrsIdDominio(id_versamento_dominio);
}

if(idUO != null) {
it.govpay.orm.IdUo id_versamento_ente = new it.govpay.orm.IdUo();
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/mysql/gov_pay.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1844,8 +1844,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/mysql/patch/3.5.sql
Original file line number Diff line number Diff line change
Expand Up @@ -222,8 +222,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/oracle/gov_pay.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2250,8 +2250,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/oracle/patch/3.5.sql
Original file line number Diff line number Diff line change
Expand Up @@ -317,8 +317,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/postgresql/gov_pay.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1836,8 +1836,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/postgresql/patch/3.5.sql
Original file line number Diff line number Diff line change
Expand Up @@ -315,8 +315,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/sqlserver/gov_pay.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1806,8 +1806,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/db/sql/sqlserver/patch/3.5.sql
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,8 @@ CREATE VIEW v_rendicontazioni_ext AS
incassi.trn AS rnc_trn
FROM fr
JOIN rendicontazioni ON rendicontazioni.id_fr = fr.id
JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN singoli_versamenti ON rendicontazioni.id_singolo_versamento = singoli_versamenti.id
LEFT JOIN versamenti ON versamenti.id = singoli_versamenti.id_versamento
LEFT JOIN pagamenti on rendicontazioni.id_pagamento = pagamenti.id
LEFT JOIN rpt on pagamenti.id_rpt = rpt.id
LEFT JOIN incassi on pagamenti.id_incasso = incassi.id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,10 @@ public static FlussoRendicontazione toRsModel(it.govpay.bd.model.Fr fr, List<it.
rsModel.setRagioneSocialePsp(fr.getRagioneSocialePsp());

List<it.govpay.backoffice.v1.beans.Rendicontazione> rendicontazioniLst = new ArrayList<>();
for(it.govpay.bd.viste.model.Rendicontazione rendicontazione: listaRendicontazioni) {
rendicontazioniLst.add(toRendicontazioneRsModel(rendicontazione));
if(listaRendicontazioni != null) {
for(it.govpay.bd.viste.model.Rendicontazione rendicontazione: listaRendicontazioni) {
rendicontazioniLst.add(toRendicontazioneRsModel(rendicontazione));
}
}
rsModel.setRendicontazioni(rendicontazioniLst);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,10 @@ public static FlussoRendicontazione toRsModel(it.govpay.bd.model.Fr fr, List<it.
}

List<it.govpay.ragioneria.v1.beans.Rendicontazione> rendicontazioniLst = new ArrayList<>();
for(it.govpay.bd.viste.model.Rendicontazione rendicontazione: listaRendicontazioni) {
rendicontazioniLst.add(toRendicontazioneRsModel(rendicontazione));
if(listaRendicontazioni != null) {
for(it.govpay.bd.viste.model.Rendicontazione rendicontazione: listaRendicontazioni) {
rendicontazioniLst.add(toRendicontazioneRsModel(rendicontazione));
}
}
rsModel.setRendicontazioni(rendicontazioniLst);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,10 @@ public static FlussoRendicontazione toRsModel(it.govpay.bd.model.Fr fr, List<it.
}

List<it.govpay.ragioneria.v2.beans.Rendicontazione> rendicontazioniLst = new ArrayList<>();
for(it.govpay.bd.viste.model.Rendicontazione rendicontazione: listaRendicontazioni) {
rendicontazioniLst.add(toRendicontazioneRsModel(rendicontazione));
if(listaRendicontazioni != null) {
for(it.govpay.bd.viste.model.Rendicontazione rendicontazione: listaRendicontazioni) {
rendicontazioniLst.add(toRendicontazioneRsModel(rendicontazione));
}
}
rsModel.setRendicontazioni(rendicontazioniLst);

Expand Down

0 comments on commit 5dd43ea

Please sign in to comment.