| | |
| | | </if> |
| | | <choose> |
| | | <when test="inoutEveryday != null and inoutEveryday"> |
| | | AND bay1 < 11 |
| | | AND bay1 < 11 and lev1 in (3,4) |
| | | </when> |
| | | <otherwise> |
| | | AND bay1 > 10 |
| | | AND (bay1 >= 11 or (bay1 < 11 and lev1 in (1,2))) |
| | | </otherwise> |
| | | </choose> |
| | | and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') |
| | |
| | | ) |
| | | </select> |
| | | |
| | | <select id="queryFreeLocMast1" 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_sts = 'O' |
| | | |
| | | <if test="rowBeg != null"> |
| | | and row1 >= #{rowBeg} |
| | | </if> |
| | | <if test="rowEnd != null"> |
| | | and row1 <= #{rowEnd} |
| | | </if> |
| | | <if test="bayBeg != null"> |
| | | and bay1 >= #{bayBeg} |
| | | </if> |
| | | <if test="bayEnd != null"> |
| | | and bay1 <= #{bayEnd} |
| | | </if> |
| | | <if test="levBeg != null"> |
| | | and lev1 >= #{levBeg} |
| | | </if> |
| | | <if test="levEnd != null"> |
| | | and lev1 <= #{levEnd} |
| | | </if> |
| | | |
| | | <if test="locType1 != null"> |
| | | and loc_type1 = #{locType1} |
| | | </if> |
| | | |
| | | <choose> |
| | | <when test="inoutEveryday != null and inoutEveryday"> |
| | | AND bay1 < 11 and lev1 in (3,4) |
| | | </when> |
| | | <otherwise> |
| | | AND (bay1 >= 11 or (bay1 < 11 and lev1 in (1,2))) |
| | | </otherwise> |
| | | </choose> |
| | | and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') |
| | | 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="queryFreeLocMastEnd" resultMap="BaseResultMap"> |
| | | select * |
| | | from asr_loc_mast |
| | | where row1=#{row} |
| | | and loc_sts='O' |
| | | and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') |
| | | order by loc_sts desc ,lev1 asc,bay1 asc |
| | | </select> |
| | | |
| | | <select id="queryFreeLocMastEnd0" resultMap="BaseResultMap"> |
| | | select * |
| | | from asr_loc_mast |
| | | where bay1=#{bay} |
| | | and lev1=#{lev} |
| | | -- and loc_sts='O' |
| | | and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') |
| | | <if test="row1 >= 1 and row1 <= 3"> |
| | | and row1 >= 1 and row1 <= 3 |
| | | order by loc_sts desc ,row1 asc |
| | | </if> |
| | | <if test="row1 >= 4 and row1 <= 7"> |
| | | and row1 >= 4 and row1 <= 7 |
| | | order by loc_sts desc ,row1 desc |
| | | </if> |
| | | <if test="row1 >= 8 and row1 <= 11"> |
| | | and row1 >= 8 and row1 <= 11 |
| | | order by loc_sts desc ,row1 asc |
| | | </if> |
| | | <if test="row1 >= 12 and row1 <= 14"> |
| | | and row1 >= 12 and row1 <= 14 |
| | | order by loc_sts desc ,row1 desc |
| | | </if> |
| | | <if test="row1 >= 15 and row1 <= 18"> |
| | | and row1 >= 15 and row1 <= 18 |
| | | order by loc_sts desc ,row1 asc |
| | | </if> |
| | | <if test="row1 >= 19 and row1 <= 21"> |
| | | and row1 >= 19 and row1 <= 21 |
| | | order by loc_sts desc ,row1 desc |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |