From 4ae446d2ea5cb42512d4e26f2f7bcf95242be5d0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 01 七月 2021 10:43:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java |    9 +++++++++
 src/main/java/com/zy/asrs/mapper/LocMastMapper.java            |    3 +++
 src/main/java/com/zy/asrs/service/LocMastService.java          |    8 ++++++++
 src/main/java/com/zy/common/service/CommonService.java         |   10 +++++++++-
 4 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 5a414ba..19d14b3 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -18,4 +18,7 @@
     @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
     List<String> queryGroupEmptyStock(Integer crnNo);
 
+    @Select("select count(*) as count from asr_loc_mast where 1=1 and loc_sts = 'O' and loc_type1 = #{locType1} and crn_no = #{crnNo}")
+    Integer selectEmptyLocCount(@Param("locType1") Short locType1, @Param("crnNo") Integer crnNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index 79f0778..6aaec7d 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -18,4 +18,12 @@
      * @return 鍚岀粍绌哄簱浣嶉泦鍚�
      */
     List<String> queryGroupEmptyStock(String sourceLocNo);
+
+    /**
+     * 妫�鏌ュ綋鍓嶅簱浣嶆墍灞炲贩閬撶殑绌哄簱浣嶆暟閲�
+     * @param locMast
+     * @return
+     */
+    Boolean checkEmptyCount(LocMast locMast);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index 4e34f77..463a59c 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -33,4 +33,13 @@
         }
         return this.baseMapper.queryGroupEmptyStock(sourceStock.getCrnNo());
     }
+
+    @Override
+    public Boolean checkEmptyCount(LocMast locMast) {
+        if (locMast == null) {
+            return false;
+        }
+        return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 1;
+    }
+
 }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index a854101..a4df5c5 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -252,9 +252,17 @@
             if (Utils.isShallowLoc(slaveProperties, curRow)) {
                 Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
                 locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1());
+                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                if (!locMastService.checkEmptyCount(locMast)) {
+                    locMast = null;
+                }
             }
             if (Cools.isEmpty(locMast)) {
                 locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1());
+                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                if (!locMastService.checkEmptyCount(locMast)) {
+                    locMast = null;
+                }
             }
         }
         if (Cools.isEmpty(locMast)) {
@@ -296,4 +304,4 @@
         }
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.1