Fix importazione colli Eviosys e Vebad
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -83,9 +83,8 @@ public class ColliEviosysImportService {
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (rowData.size() >= 7) {
|
||||
Integer numOrd = Integer.parseInt((String) rowData.get(0));
|
||||
String barcodeUl = (String) rowData.get(2);
|
||||
int annoDataOrd = UtilityLocalDate.localDateFromDate((Date) rowData.get(5)).getYear();
|
||||
String lotto = (String) rowData.get(3);
|
||||
String qta = (String) rowData.get(6);
|
||||
|
||||
if (barcodeUl.length() > 18) {
|
||||
@@ -93,23 +92,31 @@ public class ColliEviosysImportService {
|
||||
}
|
||||
|
||||
String sql = Query.format(
|
||||
"SELECT data_ord\n" +
|
||||
"SELECT TOP 1 dtb_ordt.num_ord,\n" +
|
||||
" dtb_ordt.data_ord\n" +
|
||||
"FROM dtb_ordt\n" +
|
||||
"WHERE num_ord = %s\n" +
|
||||
" AND gestione = 'A'\n" +
|
||||
" AND YEAR(data_ord) = %s",
|
||||
numOrd, annoDataOrd
|
||||
" 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, data_cons\n" +
|
||||
"HAVING MAX(data_cons) <= %s\n" +
|
||||
"ORDER BY data_cons DESC",
|
||||
codAnag, codMart, new Date()
|
||||
);
|
||||
|
||||
Date dataOrd = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
HashMap<String, Object> returnQuery = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
|
||||
DtbOrdr ordr = new DtbOrdr();
|
||||
ordr.setDataOrd(dataOrd).setGestione("A").setNumOrd(numOrd);
|
||||
ordr.setDataOrd((Date) returnQuery.get("data_ord")).setGestione("A").setNumOrd((Integer) returnQuery.get("num_ord"));
|
||||
List<DtbOrdr> dtbOrdrs = new ArrayList<>();
|
||||
dtbOrdrs.add(ordr);
|
||||
|
||||
MtbColr mtbColr = new MtbColr()
|
||||
.setCodMart(codMart)
|
||||
.setPartitaMag(lotto)
|
||||
.setQtaCol(UtilityString.stringToBigDecimal(qta));
|
||||
|
||||
MtbColt mtbColt = new MtbColt()
|
||||
@@ -141,7 +148,7 @@ public class ColliEviosysImportService {
|
||||
.setNumCollo(mtbColt.getNumCollo())
|
||||
.setCriterioDistribuzione("U"), true);
|
||||
|
||||
entityBases = entityProcessor.processEntityList(colDistributed, multiDBTransactionManager, true);
|
||||
entityBases.addAll(entityProcessor.processEntityList(colDistributed, multiDBTransactionManager, true));
|
||||
}
|
||||
|
||||
return entityBases;
|
||||
|
||||
@@ -11,6 +11,7 @@ import it.integry.ems.logistic.dto.piegarese.VebadDesadvCorpoDTO;
|
||||
import it.integry.ems.logistic.dto.piegarese.VebadDesadvDettagliLottiDTO;
|
||||
import it.integry.ems.logistic.dto.piegarese.VebadDesadvEstremiDTO;
|
||||
import it.integry.ems.logistic.dto.piegarese.VebadDesadvTestataDTO;
|
||||
import it.integry.ems.logistic.dto.sm2.FiltroDistribuzioneColloDTO;
|
||||
import it.integry.ems.rules.businessLogic.LoadColliService;
|
||||
import it.integry.ems.rules.businessLogic.dto.LoadColliDTO;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
@@ -20,6 +21,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.DtbOrdr;
|
||||
import it.integry.ems_model.entity.MtbColr;
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
@@ -50,7 +52,7 @@ public class ColliImportService {
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
@Autowired
|
||||
private RequestDataDTO requestDataDTO;
|
||||
private DistribuzioneColliService distribuzioneColliService;
|
||||
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
@@ -378,6 +380,7 @@ public class ColliImportService {
|
||||
}
|
||||
|
||||
public List<EntityBase> importColliVebad(String format, String type, ImportRequestDTO requestDTO, List<AnomalieDTO> anomalie) throws Exception {
|
||||
List<EntityBase> entityBases = new ArrayList<>();
|
||||
Connection conn = multiDBTransactionManager.getPrimaryConnection();
|
||||
VebadDTO vebadDesadv = new VebadDTO().setDettagliLotti(new ArrayList<>());
|
||||
|
||||
@@ -500,6 +503,31 @@ public class ColliImportService {
|
||||
sql = Query.format("SELECT cod_mart from mtb_lisa WHERE cod_barre_imb = %s", dettagliLotti.getGtin());
|
||||
String codMart = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
sql = Query.format(
|
||||
"SELECT TOP 1 dtb_ordt.num_ord,\n" +
|
||||
" dtb_ordt.data_ord\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, data_cons\n" +
|
||||
"HAVING MAX(data_cons) <= %s\n" +
|
||||
"ORDER BY data_cons DESC",
|
||||
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));
|
||||
|
||||
MtbColr mtbColr = new MtbColr()
|
||||
.setDataScadPartita(dettagliLotti.getDataScad())
|
||||
.setPartitaMag(dettagliLotti.getLotto())
|
||||
@@ -514,6 +542,19 @@ public class ColliImportService {
|
||||
mtbColts.add(mtbColt);
|
||||
}
|
||||
|
||||
return entityProcessor.processEntityList(mtbColts, true);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user