From a1f531ee3acc549aabfed8efb6c821e6f6209fa4 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 26 十一月 2025 08:06:59 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   61 +++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 14 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 5349f62..7562426 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -585,6 +585,17 @@
 //        if (param.getCombMats().size() > 1) {
 //            throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
 //        }
+        HashMap<String, Object> containMatnrMap = new HashMap<>();
+        for (CombParam.CombMat mat : param.getCombMats()) {
+            if(!containMatnrMap.containsKey(mat.getMatnr())) {
+                containMatnrMap.put(mat.getMatnr(), 1);
+            }
+        }
+
+        if (containMatnrMap.size() > 1) {
+            throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
+        }
+
 
         int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
         int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
@@ -659,6 +670,17 @@
                 }
                 if (order.getSettle() > 2) {
                     throw new CoolException("鍗曟嵁缂栧彿宸蹭綔涓氬畬鎴�");
+                }
+
+                List<WaitPakin> waitPakinList = waitPakinService.selectList(new EntityWrapper<WaitPakin>()
+                        .eq("matnr", elem.getMatnr())
+                        .eq("batch", elem.getBatch())
+                        .eq("order_no", elem.getOrderNo())
+                        .eq("anfme", elem.getAnfme())
+                        .eq("standby1", elem.getStandby1())
+                );
+                if (!waitPakinList.isEmpty()) {
+                    throw new CoolException("璇ヨ鍗曠墿鏂欏凡缁忕粍鎵橈紒");
                 }
 
                 // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
@@ -1250,21 +1272,15 @@
         if (checkOrderDetlList.isEmpty()) {
             throw new CoolException("鐩樼偣鍗曟棤鐗╂枡鏄庣粏");
         }
-        InventoryCheckOrderDetl orderDetl = checkOrderDetlList.get(0);
-
-        List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
-                .eq("matnr", orderDetl.getMatnr())
-                .eq("batch", orderDetl.getBatch())
-        );
 
         boolean complete = true;
-        for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
+        for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetlList) {
             if (!checkOrderDetl.getStatus().equals("2")) {
                 complete = false;
             }
         }
         if (complete) {
-            boolean result = reportToThirdService.reportCheckOrder(orderDetl.getMatnr(), orderDetl.getBatch());
+            boolean result = reportToThirdService.reportCheckOrder(checkOrderDetlList);
             if (!result) {
                 throw new CoolException("鐩樼偣鍗曚笂鎶ュけ璐�");
             }
@@ -1301,7 +1317,7 @@
                     .setJson(JSON.toJSONString(map))
                     .build()
                     .doPost();
-            log.info("toOutSta:{}", response);
+            log.info("toOutSta:{},{}",map, response);
         } catch (Exception e) {
             log.error("fail", e);
         }
@@ -1309,6 +1325,12 @@
 
     @Override
     public void toAllOut(PalletToAllOutParam param, Long userId) {
+        String barcodeSize = param.getBarcode().substring(0, 2);
+        String newBarcodeSize = param.getNewBarcode().substring(0, 2);
+        if (!barcodeSize.equals(newBarcodeSize)) {
+            throw new CoolException("鎵樼洏灏哄涓嶄竴鑷�");
+        }
+
         WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
         if (wrkMast == null) {
             throw new CoolException("宸ヤ綔妗d笉瀛樺湪");
@@ -1322,15 +1344,26 @@
             throw new CoolException("宸ヤ綔鐘舵�佹湭澶勪簬宸插嚭搴�");
         }
 
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+        if (locMast == null) {
+            throw new CoolException("搴撲綅涓嶅瓨鍦�");
+        }
+
+        if (!locMast.getLocSts().equals("P")) {
+            throw new CoolException("搴撲綅绫诲瀷涓嶆槸鎷f枡鍑哄簱");
+        }
+
         wrkMast.setBarcode(param.getNewBarcode());
         wrkMast.setModiTime(new Date());
         wrkMast.setModiUser(userId);
         wrkMastService.updateById(wrkMast);
 
-        WrkDetl wrkDetl = new WrkDetl();
-        wrkDetl.setZpallet(param.getNewBarcode());
-        wrkDetl.setModiTime(new Date());
-        wrkDetl.setModiUser(userId);
-        wrkDetlService.update(wrkDetl, new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+        wrkDetlService.updateBarcode(wrkMast.getWrkNo(), param.getNewBarcode());
+
+        locMast.setBarcode(param.getNewBarcode());
+        locMast.setModiTime(new Date());
+        locMastService.updateById(locMast);
+
+        locDetlService.updateBarcode(locMast.getLocNo(), param.getNewBarcode());
     }
 }

--
Gitblit v1.9.1