Fix importazione colli vebad e eviosys
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-02-26 09:57:44 +01:00
parent b900f7f36b
commit 6bdb777d13
2 changed files with 53 additions and 78 deletions

View File

@@ -92,43 +92,43 @@ public class ColliEviosysImportService {
}
String sql = Query.format(
"SELECT TOP 1 dtb_ordt.num_ord,\n" +
" dtb_ordt.data_ord,\n" +
" dtb_ordt.cod_mdep\n" +
"FROM dtb_ordt\n" +
" INNER JOIN dbo.dtb_ordr ON dtb_ordt.num_ord = dtb_ordr.num_ord AND dtb_ordr.data_ord = dtb_ordt.data_ord AND\n" +
" dtb_ordt.gestione = dtb_ordr.gestione\n" +
"WHERE cod_anag = %s\n" +
" AND dtb_ordt.gestione = 'A'\n" +
" AND flag_annulla = 'N'\n" +
" AND flag_evaso = 'I'\n" +
" AND cod_mart = %s\n" +
"GROUP BY dtb_ordt.num_ord, dtb_ordt.data_ord, dtb_ordt.cod_mdep, data_cons\n" +
"HAVING MAX(data_cons) <= %s\n" +
"ORDER BY data_cons DESC",
"WITH getOrder AS (SELECT dtb_ordr.num_ord,\n" +
" dtb_ordr.data_ord,\n" +
" dtb_ordr.riga_ord,\n" +
" dtb_ordr.cod_mdep,\n" +
" DENSE_RANK() OVER (ORDER BY data_cons DESC, dtb_ordt.data_ord, dtb_ordt.num_ord) AS dr\n" +
" FROM dtb_ordt\n" +
" INNER JOIN dtb_ordr ON dtb_ordt.num_ord = dtb_ordr.num_ord\n" +
" AND dtb_ordr.data_ord = dtb_ordt.data_ord\n" +
" AND dtb_ordt.gestione = dtb_ordr.gestione\n" +
" WHERE cod_anag = %s\n" +
" AND dtb_ordt.gestione = 'A'\n" +
" AND flag_annulla = 'N'\n" +
" AND flag_evaso = 'I'\n" +
" AND cod_mart = %s\n" +
" AND data_cons <= %s)\n" +
"SELECT *\n" +
"FROM getOrder\n" +
"WHERE dr = 1",
codAnag, codMart, new Date()
);
HashMap<String, Object> returnQuery = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
codMdep = returnQuery.get("cod_mdep").toString();
DtbOrdr ordr = new DtbOrdr();
ordr.setDataOrd((Date) returnQuery.get("data_ord")).setGestione("A").setNumOrd((Integer) returnQuery.get("num_ord"));
List<DtbOrdr> dtbOrdrs = new ArrayList<>();
dtbOrdrs.add(ordr);
DtbOrdr dtbOrdr = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, DtbOrdr.class);
MtbColr mtbColr = new MtbColr()
.setCodMart(codMart)
.setPartitaMag(lotto)
.setQtaCol(UtilityString.stringToBigDecimal(qta));
.setQtaCol(UtilityString.stringToBigDecimal(qta))
.setCodMart(codMart)
.setDataOrd(UtilityLocalDate.localDateFromDate(dtbOrdr.getDataOrd()))
.setNumOrd(dtbOrdr.getNumOrd())
.setRigaOrd(dtbOrdr.getRigaOrd());;
MtbColt mtbColt = new MtbColt()
.setDataCollo(LocalDate.now())
.setSegno(1)
.setGestione("A")
.setBarcodeUl(barcodeUl)
.setCodMdep(codMdep)
.setFiltroOrdini(MtbColtUtils.generaFiltroOrdini(null, dtbOrdrs))
.setCodMdep(dtbOrdr.getCodMdep())
.setCodAnag(codAnag);
mtbColt.setMtbColr(new ArrayList<>())
@@ -141,20 +141,7 @@ public class ColliEviosysImportService {
}
}
for (MtbColt mtbColt : mtbColtList) {
entityProcessor.processEntity(mtbColt, multiDBTransactionManager);
List<MtbColt> colDistributed = distribuzioneColliService.distribuzioneRigheColloNew(new FiltroDistribuzioneColloDTO()
.setDataCollo(mtbColt.getDataCollo())
.setSerCollo(mtbColt.getSerCollo())
.setGestione(mtbColt.getGestione())
.setNumCollo(mtbColt.getNumCollo())
.setCriterioDistribuzione("U"), true);
entityBases.addAll(entityProcessor.processEntityList(colDistributed, multiDBTransactionManager, true));
}
return entityBases;
return entityProcessor.processEntityList(mtbColtList, multiDBTransactionManager, true);
}
private Object cellToString(Cell cell) {

View File

@@ -452,6 +452,9 @@ public class ColliImportService {
dataScad = new Date();
}
String oraProdTemp = line.substring(224, 224 + 4).trim();
Integer oraProd = oraProdTemp.isEmpty() ? null : Integer.parseInt(oraProdTemp);
vebadDesadv.getDettagliLotti()
.add(
new VebadDesadvDettagliLottiDTO()
@@ -469,7 +472,7 @@ public class ColliImportService {
.setTranscodifica(line.substring(134, 134 + 20))
.setCodStabilimentoProd(line.substring(154, 154 + 20))
.setDescStabilimentoProd(line.substring(174, 174 + 50))
.setOraProd(Integer.parseInt(line.substring(224, 224 + 4)))
.setOraProd(oraProd)
);
}
}
@@ -503,38 +506,36 @@ public class ColliImportService {
String codMart = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
sql = Query.format(
"SELECT TOP 1 dtb_ordt.num_ord,\n" +
" dtb_ordt.data_ord,\n" +
" dtb_ordt.cod_mdep\n" +
"FROM dtb_ordt\n" +
" INNER JOIN dbo.dtb_ordr ON dtb_ordt.num_ord = dtb_ordr.num_ord AND dtb_ordr.data_ord = dtb_ordt.data_ord AND\n" +
" dtb_ordt.gestione = dtb_ordr.gestione\n" +
"WHERE cod_anag = %s\n" +
" AND dtb_ordt.gestione = 'A'\n" +
" AND flag_annulla = 'N'\n" +
" AND flag_evaso = 'I'\n" +
" AND cod_mart = %s\n" +
"GROUP BY dtb_ordt.num_ord, dtb_ordt.data_ord, dtb_ordt.cod_mdep, data_cons\n" +
"HAVING MAX(data_cons) <= %s\n" +
"ORDER BY data_cons DESC",
"WITH getOrder AS (SELECT dtb_ordr.num_ord,\n" +
" dtb_ordr.data_ord,\n" +
" dtb_ordr.riga_ord,\n" +
" DENSE_RANK() OVER (ORDER BY data_cons DESC, dtb_ordt.data_ord, dtb_ordt.num_ord) AS dr\n" +
" FROM dtb_ordt\n" +
" INNER JOIN dtb_ordr ON dtb_ordt.num_ord = dtb_ordr.num_ord\n" +
" AND dtb_ordr.data_ord = dtb_ordt.data_ord\n" +
" AND dtb_ordt.gestione = dtb_ordr.gestione\n" +
" WHERE cod_anag = %s\n" +
" AND dtb_ordt.gestione = 'A'\n" +
" AND flag_annulla = 'N'\n" +
" AND flag_evaso = 'I'\n" +
" AND cod_mart = %s\n" +
" AND data_cons <= %s)\n" +
"SELECT *\n" +
"FROM getOrder\n" +
"WHERE dr = 1",
codAnag, codMart, vebadDesadv.getTestataDoc().getDataDDT()
);
HashMap<String, Object> returnQuery = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
DtbOrdr ordr = new DtbOrdr();
ordr.setDataOrd((Date) returnQuery.get("data_ord")).setGestione("A").setNumOrd((Integer) returnQuery.get("num_ord"));
List<DtbOrdr> dtbOrdrs = new ArrayList<>();
dtbOrdrs.add(ordr);
mtbColt.setFiltroOrdini(MtbColtUtils.generaFiltroOrdini(null, dtbOrdrs))
.setCodMdep(returnQuery.get("cod_mdep").toString());
DtbOrdr dtbOrdr = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, DtbOrdr.class);
MtbColr mtbColr = new MtbColr()
.setDataScadPartita(dettagliLotti.getDataScad())
.setPartitaMag(dettagliLotti.getLotto())
.setCodBarre(dettagliLotti.getGtin())
.setNumCnf(new BigDecimal(dettagliLotti.getQtaSscc()))
.setCodMart(codMart);
.setCodMart(codMart)
.setDataOrd(UtilityLocalDate.localDateFromDate(dtbOrdr.getDataOrd()))
.setNumOrd(dtbOrdr.getNumOrd())
.setRigaOrd(dtbOrdr.getRigaOrd());
mtbColt.setMtbColr(new ArrayList<>())
.getMtbColr()
@@ -543,19 +544,6 @@ public class ColliImportService {
mtbColts.add(mtbColt);
}
for (MtbColt mtbColt : mtbColts) {
entityProcessor.processEntity(mtbColt, multiDBTransactionManager);
List<MtbColt> colDistributed = distribuzioneColliService.distribuzioneRigheColloNew(new FiltroDistribuzioneColloDTO()
.setDataCollo(mtbColt.getDataCollo())
.setSerCollo(mtbColt.getSerCollo())
.setGestione(mtbColt.getGestione())
.setNumCollo(mtbColt.getNumCollo())
.setCriterioDistribuzione("U"), true);
entityBases.addAll(entityProcessor.processEntityList(colDistributed, multiDBTransactionManager, true));
}
return entityBases;
return entityProcessor.processEntityList(mtbColts, multiDBTransactionManager, true);
}
}