diff --git a/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java b/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java index b1bf3abb4d..00fb03614e 100644 --- a/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java +++ b/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java @@ -101,8 +101,12 @@ public class UtilityExcel { if (requestDTO.getRawContentB64() != null) stream = new ByteArrayInputStream(Base64.decodeBase64(requestDTO.getRawContentB64())); - else if (requestDTO.getPathFile() != null) { + else if (requestDTO.getPathFile() != null && requestDTO.getFileName() != null) { File file = new File(requestDTO.getPathFile()); + if ( file.isDirectory()) { + file = new File(requestDTO.getPathFile() + "/" + requestDTO.getFileName()); + } + stream = Files.newInputStream(file.toPath()); } else throw new Exception("Errore nella lettura del file"); diff --git a/ems-engine/src/main/java/it/integry/ems/product/importaz/GrigliaVenditaImporter.java b/ems-engine/src/main/java/it/integry/ems/product/importaz/GrigliaVenditaImporter.java index c72f5cdd3f..d389aa5e3d 100644 --- a/ems-engine/src/main/java/it/integry/ems/product/importaz/GrigliaVenditaImporter.java +++ b/ems-engine/src/main/java/it/integry/ems/product/importaz/GrigliaVenditaImporter.java @@ -19,7 +19,7 @@ public class GrigliaVenditaImporter extends BaseEntityImporter> switch (enumFormat) { case EXCEL: ImportGrigliaVenditaService importGrigliaVenditaService = ContextLoader.getCurrentWebApplicationContext().getBean(ImportGrigliaVenditaService.class); - result = importGrigliaVenditaService.importGriglieExcel(type, format, requestDto); + result = importGrigliaVenditaService.importGriglieExcel(type, format, requestDto, anomalie); break; default: throw new Exception("Tipo " + format + " non supportato"); diff --git a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaVenditaService.java b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaVenditaService.java index 357156977a..7c3f69c321 100644 --- a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaVenditaService.java +++ b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaVenditaService.java @@ -1,5 +1,6 @@ package it.integry.ems.product.importaz.service; +import it.integry.ems.Import.dto.AnomalieDTO; import it.integry.ems.Import.dto.ImportRequestDTO; import it.integry.ems.service.EntityProcessor; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; @@ -8,7 +9,10 @@ import it.integry.ems_model.entity.VtbGriglia; import it.integry.ems_model.entity.VtbGrigliaArt; import it.integry.ems_model.service.SetupGest; import it.integry.ems_model.types.OperationType; +import it.integry.ems_model.utility.Query; +import it.integry.ems_model.utility.UtilityDB; import it.integry.ems_model.utility.UtilityExcel; +import it.integry.ems_model.utility.UtilityString; import org.apache.poi.ss.usermodel.Row; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; @@ -28,7 +32,7 @@ public class ImportGrigliaVenditaService { @Autowired private EntityProcessor entityProcessor; - public List importGriglieExcel(String type, String format, ImportRequestDTO requestDTO) throws Exception { + public List importGriglieExcel(String type, String format, ImportRequestDTO requestDTO, List anomalie) throws Exception { Date dataValidita = new Date(); String descrizione = "Griglia di vendita "; @@ -51,8 +55,19 @@ public class ImportGrigliaVenditaService { for (String codGriglia : hashMap.keySet()) { List codMartList = hashMap.get(codGriglia); + String sql = + Query.format( + "SELECT cod_mdep FROM mtb_depo WHERE cod_jfas = %S", + codGriglia); + + String codMdep = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); + if (UtilityString.isNullOrEmpty(codMdep)) { + anomalie.add(AnomalieDTO.error(String.format("Nessun codice deposito trovato per il codice %s", codGriglia))); + continue; + } + VtbGriglia vtbGriglia = new VtbGriglia() - .setCodGriglia(codGriglia) + .setCodGriglia(codMdep) .setDescrizione(descrizione + codGriglia) .setDataValidita(dataValidita); @@ -60,7 +75,7 @@ public class ImportGrigliaVenditaService { .map(codMart -> { VtbGrigliaArt vtbGrigliaArt = new VtbGrigliaArt() .setCodMart(codMart) - .setCodGriglia(codGriglia) + .setCodGriglia(codMdep) .setDataValidita(dataValidita); vtbGrigliaArt.setOperation(OperationType.INSERT_OR_UPDATE);