From 74fd6eb7fb0322078f7946f51073f20e90231df1 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期二, 01 四月 2025 11:54:00 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocMastMapper.xml |   74 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 64b64b7..82aa34b 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,12 +33,79 @@
         <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_type='O' order by loc_type desc ,lev1 asc,bay1 asc
+        select top 1 *
+        from asr_loc_mast
+        where row1=#{row}
+        and loc_sts='O'
+        <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 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="selectLocByLocStsPakInF1" resultMap="BaseResultMap">
+        SELECT top 1 * FROM [dbo].[asr_loc_mast] WHERE 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="selectLocByLocStsPakInF2" resultMap="BaseResultMap">
+        SELECT top 1 * FROM [dbo].[asr_loc_mast] WHERE 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="selectLocByLocStsPakInO1" resultMap="BaseResultMap">
+        SELECT top 1 * FROM [dbo].[asr_loc_mast] WHERE 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="selectLocByLocStsPakInO2" resultMap="BaseResultMap">
+        SELECT top 1 * FROM [dbo].[asr_loc_mast] WHERE loc_no in
+        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">
+            #{locNo}
+        </foreach>
+        AND loc_sts in ('O') order by row1
+    </select>
+
 </mapper>

--
Gitblit v1.9.1