From 5d156a85fcb29d64009df1be11ffd0fc86c13b2c Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 26 五月 2023 10:04:57 +0800
Subject: [PATCH] 库位地图,出库选择,出库拦截非空库位

---
 src/main/java/com/zy/asrs/utils/Utils.java                  |   37 ++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   30 +-------------
 2 files changed, 40 insertions(+), 27 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 690e997..3f02ed6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -165,33 +165,9 @@
                 locNos.add(locDetl.getLocNo());
             }
         }
-        //妫�娴嬫槸鍚︿负娴呭簱浣�
-        boolean sign = false;
-        String th = "";
-        for (String locNo : locNos) {
-            if (sign) {
-                break;
-            }
-            List<String> groupInsideLoc = Utils.getGroupLoc(locNo);
-            if (!Cools.isEmpty(groupInsideLoc)) {
-                for (String insideLoc : groupInsideLoc) {
-                    if (locNos.contains(insideLoc)) {
-                        break;
-                    }
-                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
-                    if (locMast != null) {
-                        if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
-                            sign = true;
-                            th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-        if (sign){
-            throw new CoolException("鍑哄簱澶辫触锛�" + th);
-        }
+
+        //妫�娴嬫彁浜ょ殑鍑哄簱搴撲綅鏄惁鍚堟硶(娴呭簱浣嶆湁闈炵┖搴撲綅)
+        Utils.checkStockOutLocNo(locNos);
 
         // 鐩爣绔欑偣鐘舵�佹娴�
         BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index ff68c6d..9e7e7dd 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -1,7 +1,12 @@
 package com.zy.asrs.utils;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Arith;
 import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.LocMastService;
 import com.zy.common.properties.SlaveProperties;
 
 import java.text.DecimalFormat;
@@ -527,6 +532,38 @@
         return result;
     }
 
+    //妫�娴嬫彁浜ょ殑鍑哄簱搴撲綅鏄惁鍚堟硶(娴呭簱浣嶆湁闈炵┖搴撲綅)
+    public static void checkStockOutLocNo(List<String> locNos) {
+        LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
+        //妫�娴嬫槸鍚︿负娴呭簱浣�
+        boolean sign = false;
+        String th = "";
+        for (String locNo : locNos) {
+            if (sign) {
+                break;
+            }
+            List<String> groupInsideLoc = Utils.getGroupLoc(locNo);
+            if (!Cools.isEmpty(groupInsideLoc)) {
+                for (String insideLoc : groupInsideLoc) {
+                    if (locNos.contains(insideLoc)) {
+                        break;
+                    }
+                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
+                    if (locMast != null) {
+                        if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
+                            sign = true;
+                            th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
+                            break;
+                        }
+                    }
+                }
+            }
+        }
+        if (sign){
+            throw new CoolException("鍑哄簱澶辫触锛�" + th);
+        }
+    }
+
     public static void main(String[] args) {
         List<String> groupLoc = Utils.getGroupLoc("1300801");
         System.out.println(groupLoc);

--
Gitblit v1.9.1