From 6f7a815b2d6e4f30e7ccf901b24d5103aaa72078 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 25 十二月 2023 10:23:08 +0800
Subject: [PATCH] Merge branch 'tzskasrs-1' of http://47.97.1.152:5880/r/zy-asrs into tzskasrs-1

---
 src/main/resources/mapper/LocMastMapper.xml |  129 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 109 insertions(+), 20 deletions(-)

diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 2fe2065..ee92255 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -33,37 +33,126 @@
         <result column="inv_wh" property="invWh" />
         <result column="mk" property="mk" />
         <result column="barcode" property="barcode" />
-        <result column="Pdc_type" property="PdcType" />
         <result column="ctn_no" property="ctnNo" />
+        <result column="qr_code_value" property="qrCodeValue" />
+        <result column="status" property="status" />
 
     </resultMap>
 
-    <select id="queryFreeLocMast" resultMap="BaseResultMap">
-        select top 1 *
+    <select id="selectAvailableNearLocDesc" resultMap="BaseResultMap">
+        SELECT TOP 1 * FROM asr_loc_mast WHERE loc_sts IN ('O')
+        <foreach collection="groupLoc" item="loc" index="index" open="AND loc_no IN (" close=")" separator=",">
+            #{loc}
+        </foreach>
+        ORDER BY
+        row1 DESC
+    </select>
+    <select id="selectAvailableNearLocAsc" resultMap="BaseResultMap">
+        SELECT TOP 1 * FROM asr_loc_mast WHERE loc_sts IN ('O') AND loc_no IN
+        <foreach collection="groupOuterLoc" item="loc" index="index" open="(" close=")" separator=",">
+            #{loc}
+        </foreach>
+        ORDER BY
+        row1 ASC
+    </select>
+
+    <select id="selectAllPeakLoc" resultMap="BaseResultMap">
+        SELECT a.*
+        from(
+            SELECT * FROM asr_loc_mast WHERE loc_sts = 'O' AND row1 = 1
+            UNION ALL
+            SELECT * FROM asr_loc_mast WHERE loc_sts = 'O' AND row1 = 8 and bay1 > 7
+            UNION ALL
+            SELECT * FROM asr_loc_mast WHERE loc_sts = 'O' AND row1 = 12
+            UNION ALL
+            SELECT * FROM asr_loc_mast WHERE loc_sts = 'O' AND row1 = 23
+            UNION ALL
+            SELECT * FROM asr_loc_mast WHERE loc_sts = 'O' AND row1 = 18 AND (bay1 = 1 or bay1 = 3 )
+        ) a ORDER BY a.lev1,a.bay1 ASC
+    </select>
+
+    <select id="selectAllLocNotEmpty" resultMap="BaseResultMap">
+        SELECT * FROM asr_loc_mast WHERE loc_sts != 'O' AND loc_no in
+        <foreach collection="groupLoc" item="loc" index="index" open="(" close=")" separator=",">
+            #{loc}
+        </foreach>
+    </select>
+
+    <select id="selectLocByLev" resultMap="BaseResultMap">
+        SELECT * FROM asr_loc_mast WHERE lev1 = #{lev}
+    </select>
+
+    <select id="queryFreeLocMast2" resultMap="BaseResultMap">
+        select *
         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 1=1
+        and loc_sts='O'
         <if test="locType1 != null">
             and loc_type1 = #{locType1}
         </if>
-        <if test="locType2 != null">
-            and loc_type2 = #{locType2}
+        <if test="rowBeg != null">
+            and row1 >= #{rowBeg}
         </if>
-        <if test="locType3 != null">
-            and loc_type3 = #{locType3}
+        <if test="rowEnd != null">
+            and row1 &lt;= #{rowEnd}
         </if>
-        and loc_sts='O'
+        <if test="bayBeg != null">
+            and bay1 >= #{bayBeg}
+        </if>
+        <if test="bayEnd != null">
+            and bay1 &lt;= #{bayEnd}
+        </if>
+        <if test="levBeg != null">
+            and lev1 >= #{levBeg}
+        </if>
+        <if test="levEnd != null">
+            and lev1 &lt;= #{levEnd}
+        </if>
+        and loc_no not in ('0100101')
         order by loc_sts desc ,lev1 asc,bay1 asc
     </select>
 
+    <select id="selectAreaEmpty" resultMap="BaseResultMap">
+        select * from asr_loc_mast
+        where loc_sts in ('O')
+        and loc_type3 = #{locType3}
+        <if test="locType1 != null">
+            and loc_type1 = #{locType1}
+        </if>
+        ORDER BY row1,bay1,lev1
+    </select>
+
+    <select id="selectAreaEmptyByLev" resultMap="BaseResultMap">
+        select * from asr_loc_mast
+        where loc_sts in ('O')
+        and loc_type3 = #{locType3}
+        <if test="locType1 != null">
+            and loc_type1 = #{locType1}
+        </if>
+        and lev1 = #{lev}
+        ORDER BY row1,bay1,lev1
+    </select>
+
+    <select id="selectEmptyByLocNos" resultMap="BaseResultMap">
+        SELECT * FROM asr_loc_mast
+        WHERE loc_sts IN ('O')
+        AND loc_no IN
+        <foreach collection="locNos" item="loc" index="index" open="(" close=")" separator=",">
+            #{loc}
+        </foreach>
+        ORDER BY
+        row1 ASC
+    </select>
+
+    <select id="selectByLoc" resultMap="BaseResultMap">
+        select * from asr_loc_mast
+        where loc_no = #{locNo}
+    </select>
+
+    <select id="updateLocType2ByRBL" resultMap="BaseResultMap">
+        update asr_loc_mast set loc_type2 = #{locType2}
+        where (row1 &gt;= #{startRow} and row1 &lt;= #{endRow})
+        and (bay1 &gt;= #{startBay} and bay1 &lt;= #{endBay})
+        and (lev1 &gt;= #{startLev} and lev1 &lt;= #{endLev})
+    </select>
 </mapper>

--
Gitblit v1.9.1