Finish Hotfix-56

This commit is contained in:
2024-04-03 14:12:01 +02:00
2 changed files with 40 additions and 5 deletions

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240403140725 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB()) return;
createSetup("IMPORT_DOCUMENTI VENDITA", "GELORENT", "ARTICOLO", "COD_MART",
"Inserire COD_MART per cercare codice artioclo interno COD_ART_FOR per utlizzare codice articolo del fornitore", null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -16,10 +16,7 @@ import it.integry.ems_model.entity.DtbDoct;
import it.integry.ems_model.entity.JtbRicorrenze;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityDate;
import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString;
import it.integry.ems_model.utility.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -233,6 +230,8 @@ public class DocumentiImportService {
if (UtilityString.isNullOrEmpty(codDtip))
throw new Exception("Codice tipo documento non configurato");
boolean isCodMart = setup.getOrDefault("ARTICOLO", "COD_MART").equalsIgnoreCase("COD_MART");
for (String line : lines) {
String[] columns = line.split(";");
@@ -242,7 +241,7 @@ public class DocumentiImportService {
char lastLine = columns[5].charAt(0);
String dest = String.valueOf(Integer.parseInt(columns[6]));
String codMart = String.valueOf(Integer.parseInt(columns[7]));
codMart = "0" + codMart;
if ( isCodMart ) codMart = "0" + codMart;
//TESTATA
if (typeBolla == 1){
@@ -297,6 +296,7 @@ public class DocumentiImportService {
"dtb_ordt.flag_sospeso = 'N' AND \n" +
"dtb_ordt.flag_annulla = 'N' ANd\n" +
"dtb_ordr.flag_evaso = 'I' AND \n" +
"dtb_ordr.cod_mart is not null AND \n" +
"dtb_ordr.qta_ord - dtb_ordr.qta_evasa > 0 AND \n" +
"dtb_ordr.data_cons = " + UtilityDB.valueToString(dtbDoct.getDataCons());
@@ -308,6 +308,19 @@ public class DocumentiImportService {
BigDecimal numCnf = UtilityString.stringToBigDecimal(columns[8]);
DtbDocr dtbDocr = new DtbDocr();
if (!isCodMart) {
sql =
Query.format(
"SELECT cod_mart \n" +
" FROM dbo.getListinoAcquisto(null, null, %s, null, 'N', null) lisa \n" +
" WHERE tipo_variazione <> 'D' AND \n" +
"cod_mart is not null AND\n" +
"EXISTS (SELECT * FROM dtb_ordr WHERE gestione = 'A' AND cod_mdep = %s AND data_ord >= DateAdd(year, -1, %s) and dtb_ordr.cod_mart = lisa.cod_mart)",
codMart, codMdep, dtbDoct.getDataCons());
codMart = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
}
for (HashMap<String, Object> r : data){
if (r.get("cod_mart").toString().equals(codMart)){
dtbDocr.setDataOrd(UtilityHashMap.getValueIfExists(r, "data_ord"));