自动化立体仓库 - WMS系统
#1
dubin
7 天以前 aa360de4381100150d34a469ecc087a78cf1720e
src/main/resources/mapper/LocMastMapper.xml
@@ -33,7 +33,6 @@
        <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>
@@ -48,4 +47,103 @@
        </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="selectLocShuttleMoveUnilateralY" resultMap="BaseResultMap">
        select * from [dbo].[asr_loc_mast] where row1>1 and row1 &lt; 18 and bay1 = #{bay} and lev1 = #{lev} and loc_sts='F' order by row1
    </select>
    <select id="selectLocShuttleMoveUnilateralN" resultMap="BaseResultMap">
        select * from [dbo].[asr_loc_mast] where row1>17 and row1 &lt; 31 and bay1 = #{bay} and lev1 = #{lev} and loc_sts='F' order by row1 desc
    </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>
    <select id="selectByBarcode" resultMap="BaseResultMap">
        SELECT top 1 * FROM [dbo].[asr_loc_mast] WHERE barcode = #{zpallet}
    </select>
    <select id="queryLocToOne" resultMap="BaseResultMap">
        select top 1 * from asr_loc_mast
        where loc_sts = 'O' and row1 in (1,2)
        <if test="locType2 == 4">
            and lev1 in(1)
        </if>
        <if test="locType2 == 5">
            and lev1 in(2,3)
        </if>
        <if test="locType2 == 6">
            and lev1 in(4,5)
        </if>
        order by lev1 asc,bay1 asc
    </select>
    <select id="queryLocToTwo" resultMap="BaseResultMap">
        select top 1 * from asr_loc_mast
        where loc_sts = 'O' and row1 in (3,4)
        <if test="locType2 == 7">
            and lev1 in(1,2)
        </if>
        <if test="locType2 == 8">
            and lev1 in(3,4,5,6)
        </if>
        order by lev1 asc,bay1 asc
    </select>
</mapper>