From f6f8bb8d5dfc7f663bdce8a0fbf5062a030de2f6 Mon Sep 17 00:00:00 2001
From: ytfl <ytfl@qq.com>
Date: 星期六, 14 六月 2025 20:07:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 585613e..8449098 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -27,6 +27,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 绉诲姩绔湇鍔℃牳蹇冪被
@@ -555,9 +556,15 @@
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);
         }
-//        if (param.getCombMats().size() > 1) {
+        List<String> codes = param.getCombMats().stream().map(CombParam.CombMat::getTiaoma).collect(Collectors.toList());
+        Set<String> sets = new HashSet<>();
+        if (codes.stream().anyMatch(item -> !sets.add(item))) {
+            throw new CoolException("鏉$爜閲嶅鎵爜浜�");
+        }
+        //        if (param.getCombMats().size() > 1) {
 //            throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
 //        }
+
         // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
         if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                 eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
@@ -622,6 +629,7 @@
                 waitPakin.setStandby1(detlDto.getStandby1());
                 waitPakin.setStandby2(detlDto.getStandby2());
                 waitPakin.setStandby3(detlDto.getStandby3());
+                waitPakin.setTkFlag(param.getTkFlag());
                 if (!waitPakinService.insert(waitPakin)) {
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
@@ -830,26 +838,21 @@
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
             }
+        }
+        List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+        for (WrkDetl wrkDetl : wrkDetls1) {
+            LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
+            locDetlAdjusts.add(locDetlAdjust);
+
             String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
             List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
             for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
                 if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) {
                     checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme());
                     checkOrderDetl.setStatus("2");
-                } else {
-                    InventoryCheckOrderDetl newDetl = new InventoryCheckOrderDetl();
-                    Synchro.Copy(wrkDetl, newDetl);
-                    newDetl.setAnfme(0D);
-                    newDetl.setCheckAnfme(wrkDetl.getAnfme());
-                    newDetl.setOrderNo(checkOrderDetl.getOrderNo());
-                    newDetl.setStatus("2");
+                    inventoryCheckOrderDetlService.updateById(checkOrderDetl);
                 }
             }
-        }
-        List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-        for (WrkDetl wrkDetl : wrkDetls1) {
-            LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
-            locDetlAdjusts.add(locDetlAdjust);
         }
         // 淇敼鐩樼偣浠诲姟涓绘。鐘舵��
         wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N");

--
Gitblit v1.9.1