From 3c8343535bec2a53855956e25598e2271fc84c0d Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期日, 07 七月 2024 10:28:21 +0800
Subject: [PATCH] 更新测试管理搜索功能

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

diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 61d8a3a..fee4223 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -33,12 +33,94 @@
         <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="fire_no" property="fireNo" />
+        <result column="fire_status" property="fireStatus" />
+        <result column="pack_status" property="packStatus" />
+        <result column="channel" property="channel" />
+        <result column="freeze" property="freeze" />
 
     </resultMap>
 
     <select id="queryFreeLocMast" resultMap="BaseResultMap">
-        select top 1 * from asr_loc_mast where row1=#{row} and loc_sts='O' order by loc_sts desc ,lev1 asc,bay1 asc
+        select top 1 *
+        from asr_loc_mast
+        where row1=#{row}
+        and loc_sts='O'
+        <choose>
+            <when test="locType1 != null">
+                and loc_type1 = #{locType1}
+            </when>
+            <otherwise>
+                and 1!=1
+            </otherwise>
+        </choose>
+        order by lev1 asc,bay1 asc
+    </select>
+
+    <select id="queryFreeLocMast1" resultMap="BaseResultMap">
+        select top 1 *
+        from asr_loc_mast
+        where row1=#{row}
+        and loc_sts='O'
+        and channel > 0
+        and channel &lt; #{channelMax}
+        <if test="locType1 != null">
+            and loc_type1 = #{locType1}
+        </if>
+        order by channel asc
+    </select>
+
+    <select id="queryFreeLocMast2" resultMap="BaseResultMap">
+        select top 1 *
+        from asr_loc_mast
+        where row1=#{row}
+        and loc_sts='O'
+        <if test="locType2 != null and locType2 != 0">
+            and loc_type2 = #{locType2}
+        </if>
+        <if test="locType1 != null">
+            and loc_type1 = #{locType1}
+        </if>
+        order by lev1 asc,bay1 asc
+    </select>
+
+    <select id="queryFreeLocMastCount" resultType="int">
+        select count(1)
+        from asr_loc_mast
+        where row1=#{row}
+        and loc_sts='O'
+        and loc_type2 = #{locType2}
+        <if test="locType1 != null">
+            and loc_type1 = #{locType1}
+        </if>
+    </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>
 </mapper>

--
Gitblit v1.9.1