From 1596ce91095ad30f781006a2cfa5d856d3ac9416 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期六, 09 九月 2023 11:00:45 +0800
Subject: [PATCH] Merge branch 'tzskasrs' of http://47.97.1.152:5880/r/zy-asrs into tzskasrs

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index fc9d604..3c2e7c0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -27,7 +27,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.swing.*;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -125,9 +124,10 @@
         // 鐢熸垚宸ヤ綔妗f槑缁�
         List<DetlDto> detlDtos = new ArrayList<>();
         param.getList().forEach(elem -> {
-            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq());
+            detlDto.setContainerCode(elem.getContainerCode());
             if (DetlDto.has(detlDtos, detlDto)) {
-                DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
+                DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                 assert detlDto1 != null;
                 detlDto1.setAnfme(detlDto1.getAnfme() + detlDto.getAnfme());
             } else {
@@ -446,12 +446,26 @@
             } else {
                 // 璁㈠崟鍚堝苟鍑哄簱
                 List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
+
+                //瀹為檯鍑哄簱鏁伴噺
+                Double locAnfme = locDto.getAnfme();
+                //璁㈠崟瀹為檯鍑哄簱鏁伴噺
+                Double orderAnfme;
+
                 for (OrderDto orderDto : orderDtoList) {
                     OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
                     if (orderDetl == null) {
                         orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null);
                     }
-                    if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDto.getAnfme())) {
+
+                    if(locAnfme > orderDetl.getAnfme()){
+                        orderAnfme = orderDetl.getAnfme();
+                        locAnfme -= orderAnfme;
+                    }else {
+                        orderAnfme = locAnfme;
+                    }
+
+                    if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme)) {
                         throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
                     }
                     orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -947,9 +961,23 @@
                     }
                 } else {
                     // 璁㈠崟鍚堝苟鍑哄簱
+
+                    //瀹為檯鍙栨秷鐨勫嚭搴撴暟閲�
+                    Double wrkDetlAnfme = wrkDetl.getAnfme();
+                    //璁㈠崟瀹為檯鍑哄簱鏁伴噺
+                    Double orderAnfme;
+
                     List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class);
                     for (OrderDto orderDto : orderDtoList) {
-                        if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderDto.getAnfme())) {
+
+                        if(wrkDetlAnfme > orderDto.getAnfme()){
+                            orderAnfme = orderDto.getAnfme();
+                            wrkDetlAnfme -= orderAnfme;
+                        }else {
+                            orderAnfme = wrkDetlAnfme;
+                        }
+
+                        if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderAnfme)) {
                             throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
                         }
                     }

--
Gitblit v1.9.1