<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.zy.asrs.mapper.AgvLocMastMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.zy.asrs.entity.AgvLocMast">
|
<id column="loc_no" property="locNo" />
|
<result column="whs_type" property="whsType" />
|
<result column="plt_type" property="pltType" />
|
<result column="ctn_type" property="ctnType" />
|
<result column="loc_sts" property="locSts" />
|
<result column="sheet_no" property="sheetNo" />
|
<result column="crn_no" property="crnNo" />
|
<result column="row1" property="row1" />
|
<result column="bay1" property="bay1" />
|
<result column="lev1" property="lev1" />
|
<result column="floor" property="floor" />
|
<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" />
|
<result column="modi_user" property="modiUser" />
|
<result column="modi_time" property="modiTime" />
|
<result column="appe_user" property="appeUser" />
|
<result column="appe_time" property="appeTime" />
|
<result column="error_time" property="errorTime" />
|
<result column="error_memo" property="errorMemo" />
|
<result column="ctn_kind" property="ctnKind" />
|
<result column="sc_weight" property="scWeight" />
|
<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="qr_code_value" property="qrCodeValue" />
|
<result column="status" property="status" />
|
|
</resultMap>
|
|
<select id="queryFreeLocMast33" 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 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="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 agv_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>
|