From 9528744b1db4b4c63beac11aa70c2c2f547858b6 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 11 十二月 2025 16:09:56 +0800
Subject: [PATCH] #AGV任务转历史档

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 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 caa1443..ca9d398 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -31,6 +31,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -148,7 +149,7 @@
         // 鐢熸垚宸ヤ綔妗f槑缁�
         List<DetlDto> detlDtos = new ArrayList<>();
         param.getList().forEach(elem -> {
-            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(), elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
+            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(), elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme(), elem.getThreeCode());
             if (DetlDto.has(detlDtos, detlDto)) {
                 DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(), detlDto.getBrand(), detlDto.getStandby1(), detlDto.getStandby2(), detlDto.getStandby3(), detlDto.getBoxType1(), detlDto.getBoxType2(), detlDto.getBoxType3());
                 assert detlDto1 != null;
@@ -274,7 +275,7 @@
                         }
                         detlDtos.add(new DetlDto(locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(),
                                 locDetl.getStandby1(), locDetl.getStandby2(), locDetl.getStandby3(),
-                                locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3(), locDetl.getAnfme()));
+                                locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3(), locDetl.getAnfme(), locDetl.getThreeCode()));
                         locDetl.setOwner(param.getOwnerId());
                         try {
                             locDetlService.update(locDetl, new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr", locDetl.getMatnr()));
@@ -409,8 +410,21 @@
         // 鍒ゆ柇鏄惁鏄洏鐐瑰崟
         String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
 //        OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo);
-        CheckOrder checkOrder = checkOrderService.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", orderNo));
-        int ioType = checkOrder.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103);
+
+        int ioType =  (taskDto.isAll() ? 101 : 103);
+        if(ioType == 101){
+            boolean DiffQty = taskDto.getLocDtos().stream().allMatch(locDto ->
+                    locDetlService.selectOne(new EntityWrapper<LocDetl>()
+                            .eq("loc_no", locDto.getLocNo())
+                            .eq("matnr", locDto.getMatnr())
+                            .eq("batch", locDto.getBatch())
+                            .eq("standby1",locDto.getStandby2())
+                    ).getDiffQty().compareTo(BigDecimal.ZERO) == 0
+            );
+            if (!DiffQty){
+                ioType = 103;
+            }
+        }
         StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));

--
Gitblit v1.9.1