From 055743022694b6fc1bb1864137e0c81b6ea658c5 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期四, 29 一月 2026 19:45:26 +0800
Subject: [PATCH] 盘点出库增加一个标记    可筛选可清除

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   64 +++++++++++++++++++++++++-------
 1 files changed, 50 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..ca19bc7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -277,6 +277,7 @@
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
         wrkMast.setCrnNo(staDesc.getCrnNo());
+        wrkMast.setMk(locMast.getMk());
         if (!wrkMastService.insert(wrkMast)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + param.getLocNo());
         }
@@ -413,6 +414,7 @@
                 wrkMast.setModiTime(now);
                 wrkMast.setAppeUser(userId);
                 wrkMast.setModiUser(userId);
+                wrkMast.setMk(locMast.getMk());
                 wrkMastService.insert(wrkMast);
 
                 Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", combMat.getMatnr()));
@@ -585,6 +587,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 +672,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("璇ヨ鍗曠墿鏂欏凡缁忕粍鎵橈紒");
                 }
 
                 // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
@@ -1200,6 +1224,7 @@
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
         wrkMast.setBarcode(locMast.getBarcode());
+        wrkMast.setMk(locMast.getMk());
         if (!wrkMastService.insert(wrkMast)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + locDetl.getLocNo());
         }
@@ -1250,21 +1275,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 +1320,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 +1328,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 +1347,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