diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20241105102316.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20241105102316.java new file mode 100644 index 0000000000..309d180deb --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20241105102316.java @@ -0,0 +1,26 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.IntegryCustomerDB; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20241105102316 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + if (!isCustomerDb(IntegryCustomerDB.Salpar_VgAlimenti)) + return; + + executeStatement("update vtb_dest set flag_stampa_prezzi = 'S' where flag_stampa_prezzi = 'N'"); + executeStatement("update vtb_clie set flag_stampa_prezzi = 'S' where flag_stampa_prezzi = 'N'"); + } + + @Override + public void down() throws Exception { + + } + +} \ No newline at end of file diff --git a/ems-core/src/main/java/it/integry/ems/rules/completing/OrderRules.java b/ems-core/src/main/java/it/integry/ems/rules/completing/OrderRules.java index c620b0d3b6..f4381a086c 100644 --- a/ems-core/src/main/java/it/integry/ems/rules/completing/OrderRules.java +++ b/ems-core/src/main/java/it/integry/ems/rules/completing/OrderRules.java @@ -477,4 +477,24 @@ public class OrderRules extends QueryRules { return true; } + + public static void setCodVvetIdViaggio(Connection conn, DtbOrdt dtbOrdt) throws SQLException { + if ( dtbOrdt.getDtbOrdr() != null && dtbOrdt.getDtbOrdr().size() > 0 ){ + List listaIdViaggio = dtbOrdt.getDtbOrdr().stream() + .filter(x->x.getIdViaggio() != null) + .map( + DtbOrdr::getIdViaggio + ).distinct().collect(Collectors.toList()); + + String sql = + String.format( + "SELECT TOP 1 cod_vvet FROM vtb_viaggi WHERE id_viaggio in (%s) ORDER BY data_ora_iniz_trasp DESC", + UtilityDB.listValueToString(listaIdViaggio)); + + String codVvet = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql); + if ( !UtilityString.isNullOrEmpty(codVvet)){ + dtbOrdt.setCodVvet(codVvet); + } + } + } } \ No newline at end of file diff --git a/ems-core/src/main/resources/rules/post_calc.drl b/ems-core/src/main/resources/rules/post_calc.drl index 33132fe45e..a17abb0a14 100644 --- a/ems-core/src/main/resources/rules/post_calc.drl +++ b/ems-core/src/main/resources/rules/post_calc.drl @@ -57,6 +57,9 @@ then } CommonRules.completePosRigaEntity(conn, $testata); OrdWebRules.completeIdArtOrd(conn, $testata); + if ($testata.getGestione().equalsIgnoreCase("V")) { + OrderRules.setCodVvetIdViaggio(conn, $testata); + } if ($testata.getExecuteRecalc() ) { DocOrdCalTotaliRules.calcTotali(conn, $testata); OrderRules.sospendiOrdine(conn, $testata); diff --git a/ems-engine/src/main/java/it/integry/ems/activity/service/SteUPService.java b/ems-engine/src/main/java/it/integry/ems/activity/service/SteUPService.java index 07a63e5551..03270542ff 100644 --- a/ems-engine/src/main/java/it/integry/ems/activity/service/SteUPService.java +++ b/ems-engine/src/main/java/it/integry/ems/activity/service/SteUPService.java @@ -694,24 +694,28 @@ public class SteUPService { } else if (activityTypeId.equalsIgnoreCase(tipoAttivitaRotturaStock)) { List> pluRepo = getGrigliaPluRepo(codMdep, codJfas, activityTypeId, null, dataCreation, true, barcodes); if (repartiFreschi != null && repartiFreschi.contains(codJfas)) { - List finalBarcodes = barcodes; - barcodes = new ArrayList<>(); + if ( barcodes != null && barcodes.size() > 0 ) { + List finalBarcodes = barcodes; + barcodes = new ArrayList<>(); - Map>> pluByCodMarts = pluRepo.stream() - .collect(groupingBy(x -> x.get("cod_mart").toString())); + Map>> pluByCodMarts = pluRepo.stream() + .collect(groupingBy(x -> x.get("cod_mart").toString())); - for (Map.Entry>> entry : pluByCodMarts.entrySet()) { - List> hashMapList = entry.getValue(); - String codMart = entry.getKey(); - System.out.println(codMart); + for (Map.Entry>> entry : pluByCodMarts.entrySet()) { + List> hashMapList = entry.getValue(); + String codMart = entry.getKey(); + logger.info("Articolo: " + codMart); - boolean containBarcode = hashMapList.stream().anyMatch(x -> finalBarcodes.contains(((String) x.get("barcode")))); + boolean containBarcode = hashMapList.stream().anyMatch(x -> finalBarcodes.contains(((String) x.get("barcode")))); - if (!containBarcode) { - java.util.stream.Stream> barcode = hashMapList.stream().filter(x -> x.get("barcode") != null); - if (barcode.count() > 0) - barcodes.add(barcode.findFirst().map(x -> x.get("barcode").toString()).get()); + if (!containBarcode) { + java.util.stream.Stream> barcode = hashMapList.stream().filter(x -> x.get("barcode") != null); + if (barcode.count() > 0) + barcodes.add(barcode.findFirst().map(x -> x.get("barcode").toString()).get()); + } } + } else { + barcodes.addAll(pluRepo.stream().filter(x -> x.get("barcode") != null).map(x->x.get("barcode").toString()).collect(Collectors.toList())); } // barcodes = pluRepo.stream().filter(a-> !finalBarcodes.contains(((String) a.get("barcode")))).map(a->(String) a.get("barcode")).collect(Collectors.toList()); } else { diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/accettazione/service/WMSAccettazioneBollaService.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/accettazione/service/WMSAccettazioneBollaService.java index 1894c482ea..9b66705f28 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/accettazione/service/WMSAccettazioneBollaService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/accettazione/service/WMSAccettazioneBollaService.java @@ -114,6 +114,7 @@ public class WMSAccettazioneBollaService { " FROM Wdtb_docr left outer join mtb_aart on Wdtb_docr.cod_mart = mtb_aart.cod_mart \n" + " left outer join mtb_grup on mtb_aart.cod_mgrp = mtb_grup.cod_mgrp \n" + " WHERE wdtb_docr.cod_art_for is not null AND \n" + + " wdtb_docr.cod_mart is not null AND \n" + " ( mtb_grup.tipo_mgrp is null or mtb_grup.tipo_mgrp <> 'FTT') \n" + " group by Wdtb_docr.num_doc,\n" + " Wdtb_docr.data_doc,\n" +