自动化立体仓库 - WMS系统
#
LSH
2023-05-18 bd1a2aef7fbe13e920c473b4f5e7ff5ba942c9a8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?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="fire_no" property="fireNo" />
        <result column="fire_status" property="fireStatus" />
        <result column="pack_status" property="packStatus" />
        <result column="channel" property="channel" />
        <result column="freeze" property="freeze" />
 
    </resultMap>
 
    <select id="queryFreeLocMast" resultMap="BaseResultMap">
        select top 1 *
        from asr_loc_mast
        where row1=#{row}
        and loc_sts='O'
        <choose>
            <when test="locType1 != null">
                and loc_type1 = #{locType1}
            </when>
            <otherwise>
                and 1!=1
            </otherwise>
        </choose>
        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>