From 6d3b7e69524cdc6fd4c44fe9f37661a19a56c6ff Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期二, 03 六月 2025 21:08:32 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 57 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 37 insertions(+), 20 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 492455b..8712fc1 100644 --- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java +++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; @Service @@ -66,27 +67,43 @@ @Transactional public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) { try { - OpenOrderPakoutParam param = new OpenOrderPakoutParam(); - DetlDto detlDto; - List<DetlDto> orderDetails = new ArrayList<>(); - long i = 1; - for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) { - param.setOrderType("閿�鍞彂璐�"); - detlDto = new DetlDto(); - detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm()); - detlDto.setAnfme(nccSaleXsfhmxWms.getNnum().doubleValue()); - detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm()); - detlDto.setLineNumber(i); - detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms)); - orderDetails.add(detlDto); - log.info("NccSaleXsfhmxWms鏁版嵁:{}", JSONObject.toJSON(nccSaleXsfhmxWms)); - i++; - nccSaleXsfhmxWms.setWmsFlag(1); - param.setOrderNo(nccSaleXsfhmxWms.getVbillcode()); + HashMap<String, List<NccSaleXsfhmxWms>> map = new HashMap<>(); + List<NccSaleXsfhmxWms> fenzu; + for (NccSaleXsfhmxWms wms : wmsFlag) { + if (map.get(wms.getFhckbm()) == null) { + fenzu = new ArrayList<>(); + fenzu.add(wms); + map.put(wms.getFhckbm(), fenzu); + } else { + fenzu = map.get(wms.getFhckbm()); + fenzu.add(wms); + map.put(wms.getFhckbm(), fenzu); + } } - param.setOrderDetails(orderDetails); - openService.pakoutOrderCreate(param); - nccSaleXsfhmxWmsService.updateBatchById(wmsFlag); + int size = 1; + for (String key : map.keySet()) { + OpenOrderPakoutParam param = new OpenOrderPakoutParam(); + DetlDto detlDto; + List<DetlDto> orderDetails = new ArrayList<>(); + long i = 1; + for (NccSaleXsfhmxWms nccSaleXsfhmxWms : map.get(key)) { + param.setOrderType("閿�鍞彂璐�"); + detlDto = new DetlDto(); + detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm()); + detlDto.setAnfme(nccSaleXsfhmxWms.getNnum().doubleValue()); + detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm()); + detlDto.setLineNumber(i); + detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms)); + orderDetails.add(detlDto); + log.info("NccSaleXsfhmxWms鏁版嵁:{}", JSONObject.toJSON(nccSaleXsfhmxWms)); + i++; + nccSaleXsfhmxWms.setWmsFlag(1); + param.setOrderNo(nccSaleXsfhmxWms.getVbillcode() + "-" + size); + } + param.setOrderDetails(orderDetails); + openService.pakoutOrderCreate(param); + nccSaleXsfhmxWmsService.updateBatchById(map.get(key)); + } } catch (Exception e) { e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -- Gitblit v1.9.1