From 3f30983db5b3cd2b25cb215579501a2ef134883c Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 04 八月 2023 17:00:11 +0800
Subject: [PATCH] agv 订单出库功能完善
---
src/main/resources/mapper/LocMastMapper.xml | 137 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 134 insertions(+), 3 deletions(-)
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 36d335e..552b136 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -35,6 +35,8 @@
<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>
@@ -62,15 +64,144 @@
<foreach item="item" collection="rows" index="index" separator="," open="(" close=")">
#{item}
</foreach>
+ and loc_no not in ('0100101', '0200101', '0300101', '0400101')
and loc_sts = 'O'
- <if test="locType1 != null">
- and loc_type1 = #{locType1}
- </if>
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="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_no not in ('0100101', '0200101', '0300101', '0400101')
+ and (bay1 = 3 or bay1 = 11 or (bay1 = 7 and row1 = 10))
+ and loc_sts = 'O'
+ 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=#{row}
+ and loc_sts='O'
+ order by loc_sts desc ,lev1 asc,bay1 asc
+ </select>
+
+ <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 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 <= #{rowEnd}
+ </if>
+ <if test="bayBeg != null">
+ and bay1 >= #{bayBeg}
+ </if>
+ <if test="bayEnd != null">
+ and bay1 <= #{bayEnd}
+ </if>
+ <if test="levBeg != null">
+ and lev1 >= #{levBeg}
+ </if>
+ <if test="levEnd != null">
+ and lev1 <= #{levEnd}
+ </if>
+ and loc_no not in ('0100101')
+ order by loc_sts desc ,lev1 asc,bay1 asc
+ </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="updateLocType2ByRBL" resultMap="BaseResultMap">
+ update asr_loc_mast set loc_type2 = #{locType2}
+ where (row1 >= #{startRow} and row1 <= #{endRow})
+ and (bay1 >= #{startBay} and bay1 <= #{endBay})
+ and (lev1 >= #{startLev} and lev1 <= #{endLev})
+ </select>
</mapper>
--
Gitblit v1.9.1