<?xml version="1.0" encoding="UTF-8"?> 
 | 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
 | 
<mapper namespace="com.zy.asrs.mapper.LocMastMapper"> 
 | 
  
 | 
    <!-- 通用查询映射结果 --> 
 | 
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocMast"> 
 | 
        <id column="loc_no" property="locNo" /> 
 | 
        <result column="whs_type" property="whsType" /> 
 | 
        <result column="plt_type" property="pltType" /> 
 | 
        <result column="ctn_type" property="ctnType" /> 
 | 
        <result column="loc_sts" property="locSts" /> 
 | 
        <result column="sheet_no" property="sheetNo" /> 
 | 
        <result column="crn_no" property="crnNo" /> 
 | 
        <result column="row1" property="row1" /> 
 | 
        <result column="bay1" property="bay1" /> 
 | 
        <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" /> 
 | 
        <result column="modi_user" property="modiUser" /> 
 | 
        <result column="modi_time" property="modiTime" /> 
 | 
        <result column="appe_user" property="appeUser" /> 
 | 
        <result column="appe_time" property="appeTime" /> 
 | 
        <result column="error_time" property="errorTime" /> 
 | 
        <result column="error_memo" property="errorMemo" /> 
 | 
        <result column="ctn_kind" property="ctnKind" /> 
 | 
        <result column="sc_weight" property="scWeight" /> 
 | 
        <result column="inv_wh" property="invWh" /> 
 | 
        <result column="mk" property="mk" /> 
 | 
        <result column="barcode" property="barcode" /> 
 | 
        <result column="ctn_no" property="ctnNo" /> 
 | 
        <result column="frozen" property="frozen" /> 
 | 
        <result column="frozen_memo" property="frozenMemo" /> 
 | 
    </resultMap> 
 | 
  
 | 
    <select id="queryFreeLocMast" resultMap="BaseResultMap"> 
 | 
        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="selectLocByLev" resultMap="BaseResultMap"> 
 | 
        SELECT * FROM asr_loc_mast WHERE lev1 = #{lev} 
 | 
    </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 < 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 < 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="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="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> 
 | 
    <select id="findFirstFrozenLocNo" resultType="java.lang.String"> 
 | 
        select top 1 loc_no  from asr_loc_mast where frozen = 1 and loc_no in  
 | 
        <foreach collection="locNoList" item="item" index="index" separator="," open="(" close=")"> 
 | 
            #{item} 
 | 
        </foreach> 
 | 
    </select> 
 | 
  
 | 
</mapper> 
 |