自动化立体仓库 - WMS系统
luxiaotao1123
2022-11-28 9880fb9c0d0a1445d7288d8b0022065cccfff3c0
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" />
@@ -36,6 +39,51 @@
    </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
        *
        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', '0100201', '0100301')
                and bay1 != 1 and lev1 != 1
                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'
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
        order by loc_sts desc ,lev1 asc,bay1 asc
    </select>
</mapper>