Ottimizzazione improtazione listini apulia

This commit is contained in:
2024-10-04 11:00:49 +02:00
parent 41afab06d6
commit 6f81a86a7d

View File

@@ -34,6 +34,7 @@ import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Service @Service
@Scope("request") @Scope("request")
@@ -104,7 +105,7 @@ public class ImportListiniAcquistoApuliaCarrefourService {
Date dataOraImport = new Date(); Date dataOraImport = new Date();
List<MtbLisaData> righeListino = List<MtbLisaData> righeListino =
Stream.of(variazioniListini) variazioniListini.parallelStream()
.filter(x->x.getCountArtFor().intValue() == 1 && .filter(x->x.getCountArtFor().intValue() == 1 &&
( x.getDataInizLisa() == null || UtilityDate.DaysAfter(x.getDataInizLisa(), x.getDataIniz()) >= 0)) ( x.getDataInizLisa() == null || UtilityDate.DaysAfter(x.getDataInizLisa(), x.getDataIniz()) >= 0))
.map( .map(
@@ -135,17 +136,17 @@ public class ImportListiniAcquistoApuliaCarrefourService {
mtbLisaData.setOperation(OperationType.INSERT); mtbLisaData.setOperation(OperationType.INSERT);
return mtbLisaData; return mtbLisaData;
} }
).toList(); ).collect(Collectors.toList());
List<String> listCond = List<String> listCond =
Stream.of(righeListino) righeListino.parallelStream()
.filter(x->x.getQtaCnf() != null ) .filter(x->x.getQtaCnf() != null )
.map(lisa -> { .map(lisa -> {
String whereCond = String whereCond =
"mtb_lisa.cod_art_for = " + UtilityDB.valueToString(lisa.getCodArtFor()) + " AND " + "mtb_lisa.cod_art_for = " + UtilityDB.valueToString(lisa.getCodArtFor()) + " AND " +
"mtb_lisa.cod_alis = " + UtilityDB.valueToString(lisa.getCodAlis()); "mtb_lisa.cod_alis = " + UtilityDB.valueToString(lisa.getCodAlis());
return whereCond; return whereCond;
}).toList(); }).collect(Collectors.toList());
if (listCond != null && !listCond.isEmpty()) { if (listCond != null && !listCond.isEmpty()) {
sql = sql =
@@ -315,12 +316,12 @@ public class ImportListiniAcquistoApuliaCarrefourService {
" WHERE lisa.cod_alis LIKE 'AP%'\n" + " WHERE lisa.cod_alis LIKE 'AP%'\n" +
" AND lisa.tipo_variazione <> 'D'\n" + " AND lisa.tipo_variazione <> 'D'\n" +
" AND lisa.tipo_variazione IS NOT NULL\n" + " AND lisa.tipo_variazione IS NOT NULL\n" +
" AND NOT EXISTS (SELECT value_string AS cod_alis\n" + " AND NOT EXISTS ( SELECT value_string AS cod_alis\n" +
" FROM dbo.parsestringintoarray(\n" + " FROM dbo.parsestringintoarray(\n" +
" (SELECT dbo.getgestsetup('IMPORT_[TYPE]',\n" + " (SELECT dbo.getgestsetup('IMPORT_LISTINI ACQUISTO',\n" +
" '[FORMAT]',\n" + " 'APULIA_CARREFOUR',\n" +
" 'LISTINI_DA_ESCLUDERE')),\n" + " 'LISTINI_DA_ESCLUDERE')),\n" +
" '|') listini_esclusi WHERE lisa.cod_alis = listini_esclusi.value_string)) lisa\n" + " '|') t where value_string = lisa.cod_alis)) lisa\n" +
" ON apulia.cod_alis = lisa.cod_alis AND apulia.cod_art_for = lisa.cod_art_for\n" + " ON apulia.cod_alis = lisa.cod_alis AND apulia.cod_art_for = lisa.cod_art_for\n" +
" LEFT OUTER JOIN mtb_lisa ON apulia.cod_alis = mtb_lisa.cod_alis AND apulia.cod_art_for = mtb_lisa.cod_art_for\n" + " LEFT OUTER JOIN mtb_lisa ON apulia.cod_alis = mtb_lisa.cod_alis AND apulia.cod_art_for = mtb_lisa.cod_art_for\n" +
" LEFT OUTER JOIN mtb_aart ON mtb_lisa.cod_mart = mtb_aart.cod_mart\n" + " LEFT OUTER JOIN mtb_aart ON mtb_lisa.cod_mart = mtb_aart.cod_mart\n" +