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