From a1db2ea6ccdafdffdf2ed4e52844179e72dc77a5 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 20 一月 2026 10:25:09 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocMastMapper.xml |  193 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 192 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 3664a87..9a5b3a3 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -16,6 +16,9 @@
         <result column="lev1" property="lev1" />
         <result column="full_plt" property="fullPlt" />
         <result column="loc_type" property="locType" />
+        <result column="loc_type1" property="locType1" />
+        <result column="loc_type2" property="locType2" />
+        <result column="loc_type3" property="locType3" />
         <result column="out_enable" property="outEnable" />
         <result column="io_time" property="ioTime" />
         <result column="first_time" property="firstTime" />
@@ -30,9 +33,197 @@
         <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" />
 
     </resultMap>
 
+    <select id="queryFreeLocMast" resultMap="BaseResultMap">
+        select top 1 *
+        from asr_loc_mast
+        where row1=#{row}
+        and loc_sts='O'
+        and whs_type=#{whsType}
+        <if test="locType1 != null">
+            and loc_type1 = #{locType1}
+        </if>
+        order by loc_sts desc ,lev1 asc,bay1 asc
+    </select>
+
+    <select id="queryShallowLocFMast" resultMap="BaseResultMap">
+        select * from asr_loc_mast
+        where 1=1
+        and whs_type=#{whsType}
+        and loc_no in (
+         select
+         concat(
+         (
+         case
+         when left(loc_no, 2) = '01' then '02'
+         when left(loc_no, 2) = '04' then '03'
+         when left(loc_no, 2) = '05' then '06'
+         when left(loc_no, 2) = '08' then '07'
+         when left(loc_no, 2) = '09' then '10'
+         when left(loc_no, 2) = '12' then '11'
+         when left(loc_no, 2) = '13' then '14'
+         when left(loc_no, 2) = '16' then '15'
+         when left(loc_no, 2) = '17' then '18'
+         when left(loc_no, 2) = '20' then '19'
+         end)
+         , right(loc_no, 5)) as shallowLocNo
+         from asr_loc_mast
+         where 1=1
+         and loc_sts = 'O'
+         and row1 in (1,4,5,8,9,12,13,16,17,20)
+        )
+        and (loc_sts = 'F' or loc_sts = 'D') and crn_no = #{crnNo}
+    </select>
+
+    <select id="selectLocShuttleMoveUnilateralY" resultMap="BaseResultMap">
+        select *
+        from [dbo].[asr_loc_mast]
+        where 1=1
+        and whs_type=#{whsType}
+        and row1>1 and row1 &lt; 18
+        and bay1 = #{bay}
+        and lev1 = #{lev}
+        and loc_sts='F'
+        order by row1
+    </select>
+
+    <select id="selectLocShuttleMoveUnilateralN" resultMap="BaseResultMap">
+        select *
+        from [dbo].[asr_loc_mast]
+        where 1=1
+        and whs_type=#{whsType}
+        and row1>17 and row1 &lt; 31
+        and bay1 = #{bay}
+        and lev1 = #{lev}
+        and loc_sts='F'
+        order by row1 desc
+    </select>
+
+<!--    <select id="selectLocByLocStsPakInF1" resultMap="BaseResultMap">-->
+<!--        SELECT top 1 *-->
+<!--        FROM [dbo].[asr_loc_mast]-->
+<!--        WHERE 1=1-->
+<!--        and whs_type=#{whsType}-->
+<!--        and loc_no in-->
+<!--        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">-->
+<!--            #{locNo}-->
+<!--        </foreach>-->
+<!--        AND loc_sts not in ('O') order by row1-->
+<!--    </select>-->
+
+    <select id="selectLocByLocStsPakInF1" resultMap="BaseResultMap">
+        SELECT top 1 *
+        FROM [dbo].[asr_loc_mast]
+        WHERE 1=1
+        and whs_type=#{whsType}
+        and crn_no=#{crnNo}
+        and bay1 = #{bay}
+        and lev1 = #{lev}
+        and gro1 = #{gro}
+        AND loc_sts not in ('O') order by row1
+    </select>
+
+<!--    <select id="selectLocByLocStsPakInF2" resultMap="BaseResultMap">-->
+<!--        SELECT top 1 *-->
+<!--        FROM [dbo].[asr_loc_mast]-->
+<!--        WHERE 1=1-->
+<!--        and whs_type=#{whsType}-->
+<!--        and loc_no in-->
+<!--        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">-->
+<!--            #{locNo}-->
+<!--        </foreach>-->
+<!--        AND loc_sts not in ('O') order by row1 desc-->
+<!--    </select>-->
+    <select id="selectLocByLocStsPakInF2" resultMap="BaseResultMap">
+        SELECT top 1 *
+        FROM [dbo].[asr_loc_mast]
+        WHERE 1=1
+        and whs_type=#{whsType}
+        and crn_no=#{crnNo}
+        and bay1 = #{bay}
+        and lev1 = #{lev}
+        and gro1 = #{gro}
+        AND loc_sts not in ('O') order by row1 desc
+    </select>
+<!--    <select id="selectLocByLocStsPakInO1" resultMap="BaseResultMap">-->
+<!--        SELECT top 1 *-->
+<!--        FROM [dbo].[asr_loc_mast]-->
+<!--        WHERE 1=1-->
+<!--        and whs_type=#{whsType}-->
+<!--        and loc_no in-->
+<!--        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">-->
+<!--            #{locNo}-->
+<!--        </foreach>-->
+<!--        AND loc_sts in ('O') order by row1 desc-->
+<!--    </select>-->
+    <select id="selectLocByLocStsPakInO1" resultMap="BaseResultMap">
+        SELECT top 1 *
+        FROM [dbo].[asr_loc_mast]
+        WHERE 1=1
+        and whs_type=#{whsType}
+        and crn_no=#{crnNo}
+        and bay1 = #{bay}
+        and lev1 = #{lev}
+        and gro1 = #{gro}
+        AND loc_sts in ('O') order by row1 desc
+    </select>
+<!--    <select id="selectLocByLocStsPakInO2" resultMap="BaseResultMap">-->
+<!--        SELECT top 1 *-->
+<!--        FROM [dbo].[asr_loc_mast]-->
+<!--        WHERE 1=1-->
+<!--        and whs_type=#{whsType}-->
+<!--        and loc_no in-->
+<!--        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">-->
+<!--            #{locNo}-->
+<!--        </foreach>-->
+<!--        AND loc_sts in ('O') order by row1-->
+<!--    </select>-->
+    <select id="selectLocByLocStsPakInO2" resultMap="BaseResultMap">
+        SELECT top 1 *
+        FROM [dbo].[asr_loc_mast]
+        WHERE 1=1
+        and whs_type=#{whsType}
+        and crn_no=#{crnNo}
+        and bay1 = #{bay}
+        and lev1 = #{lev}
+        and gro1 = #{gro}
+        AND loc_sts in ('O') order by row1
+    </select>
+
+        <select id="queryFreeLocMast2" resultMap="BaseResultMap">
+            select *
+            from asr_loc_mast
+            where 1=1
+            and loc_sts='O'
+            <if test="locType1 != null">
+                and loc_type1 = #{locType1}
+            </if>
+
+            <if test="rowBeg != null">
+                and row1 >= #{rowBeg}
+            </if>
+            <if test="rowEnd != null">
+                and row1 &lt;= #{rowEnd}
+            </if>
+            <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>
+            order by loc_sts desc ,row1 desc,lev1 asc,bay1 asc
+        </select>
+
+    <select id="getLevList" resultType="integer">
+        select distinct lev1 from asr_loc_mast order by lev1
+    </select>
 </mapper>

--
Gitblit v1.9.1