Merge branch 'develop' into feature/Syncronizations

This commit is contained in:
2024-01-25 16:36:46 +01:00
5 changed files with 84 additions and 16 deletions

View File

@@ -0,0 +1,63 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration.model._base.BaseMigration;
import it.integry.ems.migration.model._base.MigrationModelInterface;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.StbGestSetup;
import it.integry.ems_model.entity.StbGestSetupDepo;
import it.integry.ems_model.entity.StbGestSetupDet;
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.UtilityDate;
import it.integry.ems_model.utility.UtilityString;
import org.json.JSONArray;
import java.util.ArrayList;
import java.util.List;
public class Migration_20240125114347 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
SetupGest setupGest = getContextBean(SetupGest.class);
final String gestName = "PICKING";
final String section = "LOGISTICA";
final String keySection = "COD_DTIP_DOC_TRASF_INTERNI";
String jsonString = setupGest.getSetup(advancedDataSource.getConnection(), gestName, section, keySection);
if (UtilityString.isNullOrEmpty(jsonString))
return;
List<String> queries = new ArrayList<>();
JSONArray jsonArray = new JSONArray(jsonString);
for (int i = 0; i < jsonArray.length(); i++) {
String codMdep = jsonArray.getJSONObject(i).getString("codMdep");
String codDtip = jsonArray.getJSONObject(i).getString("codDtip");
queries.add(Query.format("INSERT INTO stb_gest_setup_depo (gest_name, section, key_section, cod_mdep, value) VALUES (%s, %s, %s, %s, %s)",
gestName, section, keySection, codMdep, codDtip));
}
queries.add(Query.format("UPDATE stb_gest_setup SET flag_setup_depo = 'S', value = NULL WHERE gest_name = %s AND section = %s AND key_section = %s",
gestName, section, keySection));
for (String query : queries) {
System.out.println(query);
executeStatement(advancedDataSource.getConnection(), query);
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -211,9 +211,11 @@ public class EmsServices {
IEntityImporter entityImporter = EntityImporterUtility.getRightImporterClassByType(enumType).newInstance();
setEntityImporter(entityImporter, file, multiDBTransactionManager, type, format, body, headless);
if (UtilityString.isNullOrEmpty(body.getFileName())) {
body.setFileName(file.getName());
}
// if (UtilityString.isNullOrEmpty(body.getFileName())) {
// body.setFileName(file.getName());
// }
body.setFileName(file.getName());
List<EntityBase> tmpResult = (List<EntityBase>) entityImporter.doImport();
response.getAnomalie().addAll(entityImporter.getAnomalie());

View File

@@ -138,7 +138,7 @@ public class UtilityExcel {
File file = new File(path + fileName);
if (!file.exists()){
throw new Exception("Impossibile aprire il file.");
throw new Exception(String.format("Impossibile aprire il file %s.", path + fileName));
}
pkg = OPCPackage.open(file);

View File

@@ -24,6 +24,7 @@ import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.*;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -869,6 +870,19 @@ public class DocumentiAcquistoImportService {
Map<String, String> setup = setupGest.getImportSetupSection(multiDBTransactionManager.getPrimaryConnection(), type, format);
String tipiDoc = setup.get("TIPI_DOCUMENTO");
String pIva = setup.get("PARTITA_IVA");
String fileName = setup.get("FILE_FILTER");
int ggImport = Integer.parseInt(setup.get("GG_IMPORT"));
if (pIva == null || pIva.isEmpty()){
throw new Exception("Partita iva mancante");
}
if (UtilityString.isNullOrEmpty(fileName))
fileName = requestDTO.getFileName();
fileName = FilenameUtils.removeExtension(fileName);
Date dataFile = UtilityDate.StringToDate(fileName.substring(fileName.length() - 8), "yyyyMMdd");
if (UtilityDate.DaysAfter(dataFile, UtilityDate.getTodayWithoutTime()) < ggImport) return null;
Iterator<Row> rowIterator = UtilityExcel.readXlsxFile(setup, requestDTO);
List<RifOrdApuliaDTO> rifOrdApuliaList = new ArrayList<>();

View File

@@ -1928,18 +1928,7 @@ public class WMSGenericService {
if (!UtilityString.equalsIgnoreCase(mtbColtToMove.getCodMdep(), mtbDepoPosizioni.getCodMdep())) {
String jsonString = setupGest.getSetup("PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI");
if (UtilityString.isNullOrEmpty(jsonString))
throw new Exception("La configurazione della setup gest non è completa per gestire gli spostamenti tra depositi");
String codDtipToUse = null;
JSONArray jsonArray = new JSONArray(jsonString);
for (int i = 0; i < jsonArray.length(); i++) {
if (UtilityString.equalsIgnoreCase(jsonArray.getJSONObject(i).getString("codMdep"), mtbDepoPosizioni.getCodMdep())) {
codDtipToUse = jsonArray.getJSONObject(i).getString("codDtip");
}
}
String codDtipToUse = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI", mtbDepoPosizioni.getCodMdep());
if (UtilityString.isNullOrEmpty(codDtipToUse))
throw new Exception("La configurazione della setup gest non è completa per gestire gli spostamenti tra depositi");