Sistemata procedura di importazione delle griglie di vendita

This commit is contained in:
2024-09-27 12:18:12 +02:00
parent 3a0667df22
commit 2211fb890b
3 changed files with 24 additions and 5 deletions

View File

@@ -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");

View File

@@ -19,7 +19,7 @@ public class GrigliaVenditaImporter extends BaseEntityImporter<List<EntityBase>>
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");

View File

@@ -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<EntityBase> importGriglieExcel(String type, String format, ImportRequestDTO requestDTO) throws Exception {
public List<EntityBase> importGriglieExcel(String type, String format, ImportRequestDTO requestDTO, List<AnomalieDTO> 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<String> 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);