自动化立体仓库 - WMS系统
#1
dubin
2025-12-16 44c51c450765e98a969f9d2a48185ffa511ef3aa
src/main/resources/mapper/LocMastMapper.xml
@@ -42,6 +42,7 @@
        from asr_loc_mast
        where row1=#{row}
        and loc_sts='O'
        and whs_type=#{whsType}
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
@@ -51,6 +52,7 @@
    <select id="queryShallowLocFMast" resultMap="BaseResultMap">
        select * from asr_loc_mast
        where 1=1
        and whs_type=#{whsType}
        and loc_no in (
         select
         concat(
@@ -77,43 +79,151 @@
    </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 *
        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 row1>17 and row1 &lt; 31 and bay1 = #{bay} and lev1 = #{lev} and loc_sts='F' order by row1 desc
        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 loc_no in
        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">
            #{locNo}
        </foreach>
        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="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 loc_no in
        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">
            #{locNo}
        </foreach>
        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="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 loc_no in
        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">
            #{locNo}
        </foreach>
        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 loc_no in
        <foreach collection="locNos" item="locNo" index="index" open="(" close=")" separator=",">
            #{locNo}
        </foreach>
        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>
        <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 &lt;= #{rowEnd}
            </if>
            <if test="bayBeg != null">
                and bay1 >= #{bayBeg}
            </if>
            <if test="bayEnd != null">
                and bay1 &lt;= #{bayEnd}
            </if>
            <if test="levBeg != null">
                and lev1 >= #{levBeg}
            </if>
            <if test="levEnd != null">
                and lev1 &lt;= #{levEnd}
            </if>
            order by loc_sts desc ,row1 desc,lev1 asc,bay1 asc
        </select>
    <select id="getLevList" resultType="integer">
        select distinct lev1 from asr_loc_mast
    </select>
</mapper>