自动化立体仓库 - WMS系统
pang.jiabao
22 小时以前 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
<?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.OrderMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Order">
        <id column="id" property="id" />
        <result column="uuid" property="uuid" />
        <result column="order_no" property="orderNo" />
        <result column="order_time" property="orderTime" />
        <result column="doc_type" property="docType" />
        <result column="item_id" property="itemId" />
        <result column="item_name" property="itemName" />
        <result column="allot_item_id" property="allotItemId" />
        <result column="def_number" property="defNumber" />
        <result column="number" property="number" />
        <result column="cstmr" property="cstmr" />
        <result column="cstmr_name" property="cstmrName" />
        <result column="tel" property="tel" />
        <result column="oper_memb" property="operMemb" />
        <result column="total_fee" property="totalFee" />
        <result column="discount" property="discount" />
        <result column="discount_fee" property="discountFee" />
        <result column="other_fee" property="otherFee" />
        <result column="act_fee" property="actFee" />
        <result column="pay_type" property="payType" />
        <result column="salesman" property="salesman" />
        <result column="account_day" property="accountDay" />
        <result column="post_fee_type" property="postFeeType" />
        <result column="post_fee" property="postFee" />
        <result column="pay_time" property="payTime" />
        <result column="send_time" property="sendTime" />
        <result column="ship_name" property="shipName" />
        <result column="ship_code" property="shipCode" />
        <result column="settle" property="settle" />
        <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" />
 
    </resultMap>
 
    <update id="updateSettle">
        update man_order
        set settle = #{settle}
        ,update_time = getdate()
        <if test="userId != null">
            ,update_by = #{userId}
        </if>
        where 1=1
        and id = #{orderId}
    </update>
    <update id="updateSettleByOrderNo">
        update man_order
        set settle = #{status}
        ,update_time = getdate()
        <if test="userId != null">
            ,update_by = #{userId}
        </if>
        where 1=1
        and order_no = #{orderNo}
        and settle != #{status}
    </update>
    <update id="updateStatusByOrderNo">
        update man_order set account_day = #{status},update_time = getdate(),update_by = #{userId} where order_no = #{orderNo}
    </update>
    <update id="updatePendingSettleByOrderNo">
        update man_order set settle = #{status},update_time = getdate() where order_no = #{orderNo} and settle = 1
    </update>
 
    <select id="selectComplete" resultMap="BaseResultMap">
        select
            top 5 mo.*
        from
            man_order mo
                inner join man_doc_type mt on
                mo.doc_type = mt.doc_id
        where
            mt.pakout = 1
          and mo.settle = 5
          and mo.status = 1
        order by
            mo.create_time asc
    </select>
 
    <insert id="addToLogTable">
        INSERT INTO man_order_log SELECT * FROM man_order WHERE id = #{id}
    </insert>
 
    <select id="selectorderNoL" resultMap="BaseResultMap">
        select top 10 *
        from man_order
        where 1=1
        <if test="orderNo != null">
            and order_no = #{orderNo}
        </if>
    </select>
    <select id="selectStockUpOrderDetl" resultType="java.lang.String">
        select
            DISTINCT md.brand
        from
            man_order mo
                left join man_order_detl md on
                mo.order_no = md.order_no
        where
            mo.doc_type = 21
          and mo.account_day = 1
          and md.inspect = 0
          and mo.settle = 1
    </select>
    <select id="selectOrderNosByOrderNoLike" resultType="java.lang.String">
        select order_no from man_order where settle = 4 and order_no like '%' + #{orderNo} + '%' and doc_type in(21,23)
    </select>
    <select id="getUnfulfilledOrders" resultType="com.zy.asrs.entity.OrderStatisticsDto">
        select
            mo.order_no orderNo,
            count(mo.order_no) sum,
            count(case when md.work_qty = 0 then 1 end) toShipQuantity,
            count(case when md.work_qty != 0 and md.qty = 0 then 1 end) workQuantity,
        count(case when md.anfme = md.qty then 1 end) completedQuantity
        from
            man_order mo
            LEFT JOIN man_order_detl md on
            mo.id = md.order_id
        where
            mo.doc_type = 21
          and mo.settle in(1, 2)
        GROUP BY
            mo.order_no
    </select>
 
</mapper>