From bbc375ab5704f937b64cfd9fa9019faaa1c72a58 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期五, 11 七月 2025 14:47:46 +0800 Subject: [PATCH] # --- src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 66 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 21 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 926acab..04efe68 100644 --- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java +++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java @@ -325,28 +325,52 @@ @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)); - 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 nccSaleDbddWms : map.get(key)) { + log.info("nccSaleDbddWms鏁版嵁:{}", JSONObject.toJSON(nccSaleDbddWms)); + detlDto = new DetlDto(); + detlDto.setMatnr(nccSaleDbddWms.getWlbm()); + detlDto.setAnfme(nccSaleDbddWms.getZsl().doubleValue()); + detlDto.setWeight(nccSaleDbddWms.getFsl().doubleValue()); + detlDto.setBatch(nccSaleDbddWms.getVbatchcode()); + detlDto.setLineNumber(i); + detlDto.setRemark(JSONObject.toJSONString(nccSaleDbddWms)); + detlDto.setStandby1(nccSaleDbddWms.getDcckbm()); + orderDetails.add(detlDto); + i++; + param.setOrderNo(nccSaleDbddWms.getVbillcode() + "-" + size); + param.setCstmrName(nccSaleDbddWms.getDrkczzmc()); + nccSaleDbddWms.setWmsFlag(1); + } + param.setOrderDetails(orderDetails); + openService.pakoutOrderCreate(param); + nccSaleDbddWmsService.updateBatchById(map.get(key)); + size++; + } } catch (Exception e) { e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -- Gitblit v1.9.1