From ac46eaf3e60dedf92c0bd4879d88cf388112417f Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 06 六月 2025 09:48:49 +0800 Subject: [PATCH] 123 --- src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 67 +++++++++++++++++++++++---------- 1 files changed, 47 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 f9e5435..9fbf7c8 100644 --- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java +++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java @@ -20,10 +20,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; @Service @@ -62,29 +64,48 @@ * * @return */ + @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.setWeight(nccSaleXsfhmxWms.getNastnum().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.setCstmrName(nccSaleXsfhmxWms.getKhmc()); + } + param.setOrderDetails(orderDetails); + openService.pakoutOrderCreate(param); + nccSaleXsfhmxWmsService.updateBatchById(map.get(key)); + } } catch (Exception e) { e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -98,6 +119,7 @@ * * @return */ + @Transactional public ReturnT<String> start1In(List<NccSaleXsfhmxWms> wmsFlag) { try { OpenOrderPakinParam param = new OpenOrderPakinParam(); @@ -134,6 +156,7 @@ * * @return */ + @Transactional public ReturnT<String> start2In(List<NccScZkmxbWms> wmsFlag) { try { OpenOrderPakinParam param = new OpenOrderPakinParam(); @@ -171,6 +194,7 @@ * * @return */ + @Transactional public ReturnT<String> start2Out(List<NccScZkmxbWms> wmsFlag) { try { OpenOrderPakoutParam param = new OpenOrderPakoutParam(); @@ -207,6 +231,7 @@ * * @return */ + @Transactional public ReturnT<String> start3(List<NccCgCgdhdWms> wmsFlag) { try { OpenOrderPakinParam param = new OpenOrderPakinParam(); @@ -245,6 +270,7 @@ * * @return */ + @Transactional public ReturnT<String> start4(List<NccCkPddWms> wmsFlag) { try { InventoryCheckOrder param = new InventoryCheckOrder(); @@ -285,6 +311,7 @@ * * @return */ + @Transactional public ReturnT<String> start5(List<NccSaleDbddWms> wmsFlag) { try { OpenOrderPakoutParam param = new OpenOrderPakoutParam(); -- Gitblit v1.9.1