From b6b46e1c4d390c80cf9bd7d4daa23202f2d11a22 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 26 五月 2023 13:47:57 +0800
Subject: [PATCH] 站点管理编辑高低库位
---
src/main/resources/mapper/LocMastMapper.xml | 304 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 302 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 64b64b7..25a8711 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,309 @@
<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>
+ <update id="updateLocSts">
+ UPDATE asr_loc_mast SET loc_sts = #{locSts} WHERE loc_no = #{locNo}
+ </update>
<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
+ *
+ 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_sts = 'O'
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+ and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
+ 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
+ *
+ 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_sts = 'O'
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+ <choose>
+ <when test="inoutEveryday != null and inoutEveryday">
+ AND bay1 < 11 and lev1 in (3,4)
+ </when>
+ <otherwise>
+ AND (bay1 >= 11 or (bay1 < 11 and lev1 in (1,2)))
+ </otherwise>
+ </choose>
+ and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
+ 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="queryFreeLocMast1" 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_sts = 'O'
+
+ <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>
+
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+
+ <choose>
+ <when test="inoutEveryday != null and inoutEveryday">
+ AND bay1 < 11 and lev1 in (3,4)
+ </when>
+ <otherwise>
+ AND (bay1 >= 11 or (bay1 < 11 and lev1 in (1,2)))
+ </otherwise>
+ </choose>
+ and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
+ 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="queryFreeLocMastEnd" resultMap="BaseResultMap">
+ select *
+ from asr_loc_mast
+ where row1=#{row}
+ and loc_sts='O'
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+ and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
+ order by loc_sts desc ,lev1 asc,bay1 asc
+ </select>
+
+ <select id="queryFreeLocMastEnd1" resultMap="BaseResultMap">
+ select *
+ from asr_loc_mast
+ where row1=#{row}
+ and loc_sts='O'
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+ <choose>
+ <when test="inoutEveryday != null and inoutEveryday">
+ AND bay1 < 11 </when>
+ <otherwise>
+ AND bay1 >= 11
+ </otherwise>
+ </choose>
+ and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
+ order by loc_sts desc ,lev1 asc,bay1 asc
+ </select>
+
+ <select id="queryFreeLocMastEnd0" resultMap="BaseResultMap">
+ select *
+ from asr_loc_mast
+ where bay1=#{bay}
+ and lev1=#{lev}
+-- and loc_sts='O'
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+ and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
+ <if test="row1 >= 1 and row1 <= 3">
+ and row1 >= 1 and row1 <= 3
+ order by loc_sts desc ,row1 asc
+ </if>
+ <if test="row1 >= 4 and row1 <= 7">
+ and row1 >= 4 and row1 <= 7
+ order by loc_sts desc ,row1 desc
+ </if>
+ <if test="row1 >= 8 and row1 <= 11">
+ and row1 >= 8 and row1 <= 11
+ order by loc_sts desc ,row1 asc
+ </if>
+ <if test="row1 >= 12 and row1 <= 14">
+ and row1 >= 12 and row1 <= 14
+ order by loc_sts desc ,row1 desc
+ </if>
+ <if test="row1 >= 15 and row1 <= 18">
+ and row1 >= 15 and row1 <= 18
+ order by loc_sts desc ,row1 asc
+ </if>
+ <if test="row1 >= 19 and row1 <= 21">
+ and row1 >= 19 and row1 <= 21
+ order by loc_sts desc ,row1 desc
+ </if>
+ </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', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
+ order by loc_sts desc ,lev1 asc,bay1 asc
+ </select>
+
+ <select id="findOutMast" resultMap="BaseResultMap">
+ select * from asr_loc_mast
+ where loc_type1 = #{locType1}
+ and loc_type2 = 2
+ and crn_no in
+ <foreach item="item" collection="crnNos" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ and loc_sts = 'O'
+ order by row1,bay1,lev1
+ </select>
+
+ <select id="findInEmptyLocMast" resultMap="BaseResultMap">
+ select top 1 * from asr_loc_mast
+ where loc_type2 = 1
+ and loc_type1 = #{locType1}
+ and row1 in
+ <foreach item="item" collection="rows" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ and loc_sts = 'O'
+ order by row1,bay1,lev1
+ </select>
+
+ <select id="findEmptyLocMastByLocNos" resultMap="BaseResultMap">
+ select * from asr_loc_mast
+ where loc_type2 = 1
+ and loc_type1 = #{locType1}
+ and loc_no in
+ <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ and loc_sts = 'O'
+ order by row1,bay1,lev1
+ </select>
+
+ <select id="findEmptyLowFrequencyLocMast" resultMap="BaseResultMap">
+ select * from asr_loc_mast
+ where loc_type2 = 3
+ and loc_type1 = #{locType1}
+ and loc_sts = 'O'
+ order by row1,bay1,lev1
+ </select>
+
+ <select id="selectLocByLev" resultMap="BaseResultMap">
+ SELECT * FROM asr_loc_mast WHERE lev1 = #{lev}
+ </select>
+
+ <select id="selectByLocNos" resultMap="BaseResultMap">
+ select * from asr_loc_mast
+ where loc_no in
+ <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
</select>
</mapper>
--
Gitblit v1.9.1