From 9880fb9c0d0a1445d7288d8b0022065cccfff3c0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 28 十一月 2022 10:06:19 +0800
Subject: [PATCH] Merge branch 'ynasrs' of http://47.97.1.152:5880/r/zy-asrs into ynasrs

---
 src/main/resources/mapper/LocMastMapper.xml |   58 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 2fe2065..bc2f802 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -39,30 +39,50 @@
     </resultMap>
 
     <select id="queryFreeLocMast" resultMap="BaseResultMap">
+        select
+        *
+        from asr_loc_mast
+        where 1=1
+        and row1 in
+        <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        and ctn_no =
+        (
+            select
+            top 1
+            ctn_no
+            from (
+                select
+                ctn_no,
+                count(1) as count
+                from asr_loc_mast
+                where 1=1
+                and row1 in
+                <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+                and loc_sts = 'O'
+                <if test="locType1 != null">
+                    and loc_type1 = #{locType1}
+                </if>
+                and loc_no not in ('0100101', '0100201', '0100301')
+                and bay1 != 1 and lev1 != 1
+                group by ctn_no
+            ) a
+            where count = #{rowsLen}
+            order by right(ctn_no, 2) + 0 asc, left(ctn_no, 3) + 0 asc
+        )
+    </select>
+
+    <select id="queryFreeLocMast0" resultMap="BaseResultMap">
         select top 1 *
         from asr_loc_mast
-        where
-        row1 =
-        (
-        case
-        when #{row}=3 then 1
-        when #{row}=4 then 7
-        when #{row}=11 then 8
-        when #{row}=12 then 14
-        when #{row}=18 then 15
-        when #{row}=19 then 21
-        end
-        )
+        where row1=#{row}
+        and loc_sts='O'
         <if test="locType1 != null">
             and loc_type1 = #{locType1}
         </if>
-        <if test="locType2 != null">
-            and loc_type2 = #{locType2}
-        </if>
-        <if test="locType3 != null">
-            and loc_type3 = #{locType3}
-        </if>
-        and loc_sts='O'
         order by loc_sts desc ,lev1 asc,bay1 asc
     </select>
 

--
Gitblit v1.9.1