From d46f45254cf23f4c0302be87e067b25acda54ca1 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 11 七月 2025 09:23:41 +0800 Subject: [PATCH] # --- src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 66 ++++++++++++++++++++++----------- 1 files changed, 44 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java index d4876d2..e8173d4 100644 --- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java +++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java @@ -325,29 +325,51 @@ @Transactional public ReturnT<String> start5(List<NccSaleDbddWms> wmsFlag) { try { - OpenOrderPakoutParam param = new OpenOrderPakoutParam(); - param.setOrderType("闆嗗洟鍐呴儴璋冩嫧"); - DetlDto detlDto; - List<DetlDto> orderDetails = new ArrayList<>(); - long i = 1; - for (NccSaleDbddWms nccCgCgdhdWms : wmsFlag) { - log.info("nccCgCgdhdWms鏁版嵁:{}", JSONObject.toJSON(nccCgCgdhdWms)); - detlDto = new DetlDto(); - detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); - detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue()); - detlDto.setWeight(nccCgCgdhdWms.getFsl().doubleValue()); - detlDto.setBatch(nccCgCgdhdWms.getVbatchcode()); - detlDto.setLineNumber(i); - detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms)); - detlDto.setStandby1(nccCgCgdhdWms.getDcckbm()); - orderDetails.add(detlDto); - i++; - nccCgCgdhdWms.setWmsFlag(1); - param.setOrderNo(nccCgCgdhdWms.getVbillcode()); + List<String> ids = storeTypeService.listOwn(); + HashMap<String, List<NccSaleDbddWms>> map = new HashMap<>(); + List<NccSaleDbddWms> fenzu; + for (NccSaleDbddWms wms : wmsFlag) { + if(!ids.contains(wms.getDcckbm())){ + continue; + } + + if (map.get(wms.getDcckbm()) == null) { + fenzu = new ArrayList<>(); + fenzu.add(wms); + map.put(wms.getDcckbm(), fenzu); + } else { + fenzu = map.get(wms.getDcckbm()); + fenzu.add(wms); + map.put(wms.getDcckbm(), fenzu); + } } - param.setOrderDetails(orderDetails); - openService.pakoutOrderCreate(param); - nccSaleDbddWmsService.updateBatchById(wmsFlag); + int size = 1; + for (String key : map.keySet()) { + OpenOrderPakoutParam param = new OpenOrderPakoutParam(); + param.setOrderType("闆嗗洟鍐呴儴璋冩嫧"); + DetlDto detlDto; + List<DetlDto> orderDetails = new ArrayList<>(); + long i = 1; + for (NccSaleDbddWms nccCgCgdhdWms : map.get(key)) { + log.info("nccCgCgdhdWms鏁版嵁:{}", JSONObject.toJSON(nccCgCgdhdWms)); + detlDto = new DetlDto(); + detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); + detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue()); + detlDto.setWeight(nccCgCgdhdWms.getFsl().doubleValue()); + detlDto.setBatch(nccCgCgdhdWms.getVbatchcode()); + detlDto.setLineNumber(i); + detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms)); + detlDto.setStandby1(nccCgCgdhdWms.getDcckbm()); + orderDetails.add(detlDto); + i++; + nccCgCgdhdWms.setWmsFlag(1); + param.setOrderNo(nccCgCgdhdWms.getVbillcode()); + } + param.setOrderDetails(orderDetails); + openService.pakoutOrderCreate(param); + nccSaleDbddWmsService.updateBatchById(map.get(key)); + size++; + } } catch (Exception e) { e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -- Gitblit v1.9.1