From b50a2e2df1c0fab844dc194ae58f01cf906e32b8 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 27 三月 2023 12:12:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   79 +++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 40 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 0ead33d..87f58c1 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -162,45 +162,29 @@
     public void startupFullTakeStore(StockOutParam param, Long userId) {
         ArrayList<String> locNos = new ArrayList<>();
         for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
-            locNos.add(locDetl.getLocNo());
+            if (!locNos.contains(locDetl.getLocNo())){
+                locNos.add(locDetl.getLocNo());
+            }
         }
         //妫�娴嬫槸鍚︿负娴呭簱浣�
-        List<LocMast> locMasts = null;
         boolean sign=false;
         String th = "";
-        for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
-            int row = getRow(locDetl.getLocNo());
-            int bay = getBay(locDetl.getLocNo());
-            int lev = getLev(locDetl.getLocNo());
-            if (!(row==4 || row==5)){
-                if (row>5){
-                    locMasts=locMastService.selectList(new EntityWrapper<LocMast>().ge("row1", 5).le("row1", row)
-                            .eq("bay1",bay).eq("lev1",lev));
-                    for (LocMast locMast1:locMasts){
-                        if (locNos.contains(locMast1.getLocNo())){
-                            continue;
-                        }
-                        if (locMast1.getRow1()<row){
-                            if (!locMast1.getLocSts().equals("O")){
-                                sign=true;
-                                th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
-                                break;
-                            }
-                        }
+        for (String locNo:locNos){
+            if (sign){
+                break;
+            }
+            List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+            if (!Cools.isEmpty(groupInsideLoc)) {
+                for (String insideLoc : groupInsideLoc) {
+                    if (locNos.contains(insideLoc)){
+                        continue;
                     }
-                }else {
-                    locMasts=locMastService.selectList(new EntityWrapper<LocMast>().le("row1", 4).ge("row1", row)
-                            .eq("bay1",bay).eq("lev1",lev));
-                    for (LocMast locMast1:locMasts){
-                        if (locNos.contains(locMast1.getLocNo())){
-                            continue;
-                        }
-                        if (locMast1.getRow1()>row){
-                            if (!locMast1.getLocSts().equals("O")){
-                                sign=true;
-                                th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
-                                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;
                         }
                     }
                 }
@@ -532,15 +516,30 @@
     @Override
     @Transactional
     public void emptyPlateOut(EmptyPlateOutParam param, Long userId) {
+        List<String> locNos = param.getLocNos();
         //妫�娴嬫槸鍚︿负娴呭簱浣�
-        List<LocMast> locMasts = null;
         boolean sign=false;
         String th = "";
-        for (String locNoKong: param.getLocNos()){
-            int row = getRow(locNoKong);
-            int bay = getBay(locNoKong);
-            int lev = getLev(locNoKong);
-
+        for (String locNo:locNos){
+            if (sign){
+                break;
+            }
+            List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+            if (!Cools.isEmpty(groupInsideLoc)) {
+                for (String insideLoc : groupInsideLoc) {
+                    if (locNos.contains(insideLoc)){
+                        continue;
+                    }
+                    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);

--
Gitblit v1.9.1