自动化立体仓库 - WMS系统
pang.jiabao
2 天以前 ddc6cd417d5e912d5cba297bb7849a1dcf7367be
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
127
128
129
130
131
132
133
134
135
136
137
<?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.MatMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Mat">
        <id column="id" property="id" />
        <result column="uuid" property="uuid" />
        <result column="tag_id" property="tagId" />
        <result column="matnr" property="matnr" />
        <result column="maktx" property="maktx" />
        <result column="name" property="name" />
        <result column="specs" property="specs" />
        <result column="model" property="model" />
        <result column="color" property="color" />
        <result column="brand" property="brand" />
        <result column="unit" property="unit" />
        <result column="price" property="price" />
        <result column="sku" property="sku" />
        <result column="units" property="units" />
        <result column="barcode" property="barcode" />
        <result column="origin" property="origin" />
        <result column="manu" property="manu" />
        <result column="manu_date" property="manuDate" />
        <result column="item_num" property="itemNum" />
        <result column="safe_qty" property="safeQty" />
        <result column="weight" property="weight" />
        <result column="length" property="length" />
        <result column="volume" property="volume" />
        <result column="three_code" property="threeCode" />
        <result column="supp" property="supp" />
        <result column="supp_code" property="suppCode" />
        <result column="be_batch" property="beBatch" />
        <result column="dead_time" property="deadTime" />
        <result column="dead_warn" property="deadWarn" />
        <result column="source" property="source" />
        <result column="inspect" property="inspect" />
        <result column="danger" property="danger" />
        <result column="status" property="status" />
        <result column="create_by" property="createBy" />
        <result column="create_time" property="createTime" />
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
 
        <result column="stock" property="stock" />
    </resultMap>
 
    <select id="listByPage" resultMap="BaseResultMap">
        SELECT
        isnull(mld.amount,0) as stock,
        mm.*
        FROM man_mat mm
        LEFT JOIN man_tag mt ON mm.tag_id = mt.id
        LEFT JOIN (
            select
            matnr,
            sum(anfme) as amount
            from man_loc_detl
            group by matnr
        ) as mld on mld.matnr = mm.matnr
        WHERE 1=1
        and (mm.memo is null or mm.memo != '打包上线')
        AND (CHARINDEX(','+#{tagId}+',', ','+mt.path+',') > 0 OR mt.id = #{tagId})
        <if test="matnr != null and matnr != ''">
            and mm.matnr like concat('%',#{matnr},'%')
        </if>
        <if test="maktx != null and maktx != ''">
            and mm.maktx like concat('%',#{maktx},'%')
        </if>
        ORDER BY mm.create_time DESC
    </select>
 
    <select id="listByPage2" resultMap="BaseResultMap">
        SELECT
        isnull(mld.amount,0) as stock,
        mm.*
        FROM man_mat mm
        LEFT JOIN man_tag mt ON mm.tag_id = mt.id
        LEFT JOIN (
        select
        matnr,
        sum(anfme) as amount
        from man_loc_detl
        group by matnr
        ) as mld on mld.matnr = mm.matnr
        WHERE 1=1
        and (mm.memo is null or mm.memo != '打包上线')
        AND (CHARINDEX(','+#{tagId}+',', ','+mt.path+',') > 0 OR mt.id = #{tagId})
        <if test="matnr != null and matnr != ''">
            and mm.matnr like concat('%',#{matnr},'%')
        </if>
        <if test="maktx != null and maktx != ''">
            and mm.maktx like concat('%',#{maktx},'%')
        </if>
        <if test="specs != null and specs != ''">
            and mm.specs like concat('%',#{specs},'%')
        </if>
        ORDER BY mm.create_time DESC
    </select>
 
    <select id="selectByMatnr" resultMap="BaseResultMap">
        select top 1 * from man_mat where 1=1 and matnr = #{matnr}
    </select>
 
    <select id="selectByMatnrLink" resultMap="BaseResultMap">
        select * from man_mat
        where 1=1
        <if test="matnr != null and matnr != ''">
            and mm.matnr like concat('%',#{matnr},'%')
        </if>
    </select>
 
    <select id="getMatTurnPage" resultMap="BaseResultMap">
        select * from
        (
        select top 16
        ROW_NUMBER() over (order by a.matnr) as matNo,
        a.*
        from man_mat a
        where 1=1
        <if test="matnr!=null and matnr!='' ">
            and a.matnr like concat('%',#{matnr},'%')
        </if>
        ) t where t.matNo between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
 
    <select id="getStockOutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
        select
        count(1)
        from man_mat a
        where 1=1
        <if test="matnr!=null and matnr!='' ">
            and a.matnr = #{matnr}
        </if>
    </select>
</mapper>