自动化立体仓库 - WMS系统
Junjie
2023-12-12 5d48d59ca16cdca92c55195144f8e280914cfc05
src/main/resources/mapper/LocMastMapper.xml
@@ -33,86 +33,11 @@
        <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="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 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')
@@ -187,6 +112,16 @@
        order by loc_sts desc ,lev1 asc,bay1 asc
    </select>
    <select id="selectAreaEmpty" resultMap="BaseResultMap">
        select * from asr_loc_mast
        where loc_sts in ('O')
        and loc_type3 = #{locType3}
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
        ORDER BY row1,bay1,lev1
    </select>
    <select id="selectEmptyByLocNos" resultMap="BaseResultMap">
        SELECT * FROM asr_loc_mast
        WHERE loc_sts IN ('O')
@@ -197,4 +132,16 @@
        ORDER BY
        row1 ASC
    </select>
    <select id="selectByLoc" resultMap="BaseResultMap">
        select * from asr_loc_mast
        where loc_no = #{locNo}
    </select>
    <select id="updateLocType2ByRBL" resultMap="BaseResultMap">
        update asr_loc_mast set loc_type2 = #{locType2}
        where (row1 &gt;= #{startRow} and row1 &lt;= #{endRow})
        and (bay1 &gt;= #{startBay} and bay1 &lt;= #{endBay})
        and (lev1 &gt;= #{startLev} and lev1 &lt;= #{endLev})
    </select>
</mapper>