自动化立体仓库 - WMS系统
#
LSH
2023-02-13 6ee5f8a9a8cbec6bfe559debfc08ad4b8035add5
src/main/resources/mapper/LocMastMapper.xml
@@ -33,8 +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="fire_no" property="fireNo" />
        <result column="fire_status" property="fireStatus" />
        <result column="pack_status" property="packStatus" />
        <result column="channel" property="channel" />
    </resultMap>
@@ -46,6 +49,72 @@
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
        order by loc_sts desc ,lev1 asc,bay1 asc
        order by lev1 asc,bay1 asc
    </select>
    <select id="queryFreeLocMast1" resultMap="BaseResultMap">
        select top 1 *
        from asr_loc_mast
        where row1=#{row}
        and loc_sts='O'
        and channel > 0
        and channel &lt; #{channelMax}
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
        order by channel asc
    </select>
    <select id="queryFreeLocMast2" resultMap="BaseResultMap">
        select top 1 *
        from asr_loc_mast
        where row1=#{row}
        and loc_sts='O'
        <if test="locType2 != null and locType2 != 0">
            and loc_type2 = #{locType2}
        </if>
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
        order by lev1 asc,bay1 asc
    </select>
    <select id="queryFreeLocMastCount" resultType="int">
        select count(1)
        from asr_loc_mast
        where row1=#{row}
        and loc_sts='O'
        and loc_type2 = #{locType2}
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
    </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>
</mapper>