自动化立体仓库 - WMS系统
zjj
2025-02-17 8aa26cdd7fd9c4ed2d9fc56be0f9c9c05f531b18
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,188 @@
        <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>
    <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'
        and whs_type=#{whsType}
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </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 whs_type=#{whsType}
        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 1=1
        and whs_type=#{whsType}
        and 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 1=1
        and whs_type=#{whsType}
        and 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 1=1-->
<!--        and whs_type=#{whsType}-->
<!--        and 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="selectLocByLocStsPakInF1" resultMap="BaseResultMap">
        SELECT top 1 *
        FROM [dbo].[asr_loc_mast]
        WHERE 1=1
        and whs_type=#{whsType}
        and crn_no=#{crnNo}
        and bay1 = #{bay}
        and lev1 = #{lev}
        and gro1 = #{gro}
        AND loc_sts not in ('O') order by row1
    </select>
    <select id="selectLocByLocStsPakInShuttleF1" resultMap="BaseResultMap">
        SELECT top 1 *
        FROM [dbo].[asr_loc_mast]
        WHERE 1=1
          and whs_type=#{whsType}
          and crn_no=#{crnNo}
          and bay1 = #{bay}
          and lev1 = #{lev}
          and gro1 = #{gro}
          AND loc_sts not in ('O') order by bay1
    </select>
<!--    <select id="selectLocByLocStsPakInF2" resultMap="BaseResultMap">-->
<!--        SELECT top 1 *-->
<!--        FROM [dbo].[asr_loc_mast]-->
<!--        WHERE 1=1-->
<!--        and whs_type=#{whsType}-->
<!--        and 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="selectLocByLocStsPakInF2" resultMap="BaseResultMap">
        SELECT top 1 *
        FROM [dbo].[asr_loc_mast]
        WHERE 1=1
        and whs_type=#{whsType}
        and crn_no=#{crnNo}
        and bay1 = #{bay}
        and lev1 = #{lev}
        and gro1 = #{gro}
        AND loc_sts not in ('O') order by row1 desc
    </select>
    <select id="selectLocByLocStsPakInShuttleF2" resultMap="BaseResultMap">
        SELECT top 1 *
        FROM [dbo].[asr_loc_mast]
        WHERE 1=1
          and whs_type=#{whsType}
          and crn_no=#{crnNo}
          and bay1 = #{bay}
          and lev1 = #{lev}
          and gro1 = #{gro}
          AND loc_sts not in ('O') order by bay1 desc
    </select>
<!--    <select id="selectLocByLocStsPakInO1" resultMap="BaseResultMap">-->
<!--        SELECT top 1 *-->
<!--        FROM [dbo].[asr_loc_mast]-->
<!--        WHERE 1=1-->
<!--        and whs_type=#{whsType}-->
<!--        and 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="selectLocByLocStsPakInO1" resultMap="BaseResultMap">
        SELECT top 1 *
        FROM [dbo].[asr_loc_mast]
        WHERE 1=1
        and whs_type=#{whsType}
        and crn_no=#{crnNo}
        and bay1 = #{bay}
        and lev1 = #{lev}
        and gro1 = #{gro}
        AND loc_sts in ('O') order by row1 desc
    </select>
<!--    <select id="selectLocByLocStsPakInO2" resultMap="BaseResultMap">-->
<!--        SELECT top 1 *-->
<!--        FROM [dbo].[asr_loc_mast]-->
<!--        WHERE 1=1-->
<!--        and whs_type=#{whsType}-->
<!--        and 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="selectLocByLocStsPakInO2" resultMap="BaseResultMap">
        SELECT top 1 *
        FROM [dbo].[asr_loc_mast]
        WHERE 1=1
        and whs_type=#{whsType}
        and crn_no=#{crnNo}
        and bay1 = #{bay}
        and lev1 = #{lev}
        and gro1 = #{gro}
        AND loc_sts in ('O') order by row1
    </select>
</mapper>