| <?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> |