ShipmentDetailMapper.xml
7.39 KB
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
138
139
140
141
<?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.huaheng.shipment.shipmentDetail.mapper.ShipmentDetailMapper">
<resultMap id="BaseResultMap" type="com.huaheng.shipment.api.domain.ShipmentDetail">
<!--@mbg.generated-->
<!--@Table shipment_detail-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="shipmentId" jdbcType="INTEGER" property="shipmentId" />
<result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
<result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
<result column="shipmentCode" jdbcType="VARCHAR" property="shipmentCode" />
<result column="referCode" jdbcType="VARCHAR" property="referCode" />
<result column="referId" jdbcType="INTEGER" property="referId" />
<result column="referLineNum" jdbcType="VARCHAR" property="referLineNum" />
<result column="materialCode" jdbcType="VARCHAR" property="materialCode" />
<result column="materialName" jdbcType="VARCHAR" property="materialName" />
<result column="materialSpec" jdbcType="VARCHAR" property="materialSpec" />
<result column="materialUnit" jdbcType="VARCHAR" property="materialUnit" />
<result column="shipQty" jdbcType="DECIMAL" property="shipQty" />
<result column="requestQty" jdbcType="DECIMAL" property="requestQty" />
<result column="allocationRule" jdbcType="VARCHAR" property="allocationRule" />
<result column="replenishmentRule" jdbcType="VARCHAR" property="replenishmentRule" />
<result column="pickingRule" jdbcType="VARCHAR" property="pickingRule" />
<result column="pickLocs" jdbcType="VARCHAR" property="pickLocs" />
<result column="attribute1" jdbcType="VARCHAR" property="attribute1" />
<result column="attribute2" jdbcType="VARCHAR" property="attribute2" />
<result column="attribute3" jdbcType="VARCHAR" property="attribute3" />
<result column="attribute4" jdbcType="VARCHAR" property="attribute4" />
<result column="batch" jdbcType="VARCHAR" property="batch" />
<result column="lot" jdbcType="VARCHAR" property="lot" />
<result column="projectNo" jdbcType="VARCHAR" property="projectNo" />
<result column="manufactureDate" jdbcType="DATE" property="manufactureDate" />
<result column="expirationDate" jdbcType="DATE" property="expirationDate" />
<result column="agingDate" jdbcType="DATE" property="agingDate" />
<result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" />
<result column="dockLoc" jdbcType="VARCHAR" property="dockLoc" />
<result column="packingClass" jdbcType="VARCHAR" property="packingClass" />
<result column="stationCode" jdbcType="VARCHAR" property="stationCode" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="waveId" jdbcType="INTEGER" property="waveId" />
<result column="created" jdbcType="TIMESTAMP" property="created" />
<result column="createdBy" jdbcType="VARCHAR" property="createdBy" />
<result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" />
<result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" />
<result column="version" jdbcType="INTEGER" property="version" />
<result column="userDef1" jdbcType="VARCHAR" property="userDef1" />
<result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
<result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
<result column="processStamp" jdbcType="VARCHAR" property="processStamp" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, shipmentId, warehouseCode, companyCode, shipmentCode, referCode, referId, referLineNum,
materialCode, materialName, materialSpec, materialUnit, shipQty, requestQty, allocationRule,
replenishmentRule, pickingRule, pickLocs, attribute1, attribute2, attribute3, attribute4,
batch, lot, projectNo, manufactureDate, expirationDate, agingDate, inventorySts,
dockLoc, packingClass, stationCode, `status`, waveId, created, createdBy, lastUpdated,
lastUpdatedBy, version, userDef1, userDef2, userDef3, processStamp
</sql>
<select id="SelectFirstStatus" resultType="java.util.Map">
SELECT h.id, h.firstStatus, h.lastStatus
FROM shipment_header h
INNER JOIN shipment_detail d ON h.id = d.shipmentId AND d.id IN (#{ids})
GROUP BY h.id,h.firstStatus
</select>
<delete id="batchDelete">
DELETE FROM shipment_detail WHERE id IN
<foreach item="idItem" collection="array" open="(" separator="," close=")">
#{idItem}
</foreach>
</delete>
<delete id="deleteDetailByCode">
delete from shipment_detail where shipmentCode=#{code}
</delete>
<select id="StatisticalByReceiptId" resultType="java.util.Map">
SELECT count(*) as 'totalLines',sum(shipQty) as 'totalQty'
FROM shipment_detail
WHERE shipmentId=#{headerId}
</select>
<select id="countUnCompleted" resultType="java.lang.Integer">
SELECT COUNT(*) FROM shipment_detail WHERE shipmentId=#{shipmentId} AND shipQty>requestQty
</select>
<select id="selectStatus" resultType="java.util.Map">
SELECT max(status) maxStatus,min(status) minStatus
FROM shipment_detail
WHERE shipmentId=#{id}
</select>
<select id="getShipmentQtyLast7Days" resultType="com.huaheng.task.api.domain.TaskDetail">
SELECT a.click_date AS lastUpdated,
ifnull(b.taskQty, 0) AS qty
FROM (
SELECT curdate() AS click_date
UNION ALL
SELECT date_sub(curdate(), INTERVAL 1 DAY) AS click_date
UNION ALL
SELECT date_sub(curdate(), INTERVAL 2 DAY) AS click_date
UNION ALL
SELECT date_sub(curdate(), INTERVAL 3 DAY) AS click_date
UNION ALL
SELECT date_sub(curdate(), INTERVAL 4 DAY) AS click_date
UNION ALL
SELECT date_sub(curdate(), INTERVAL 5 DAY) AS click_date
UNION ALL
SELECT date_sub(curdate(), INTERVAL 6 DAY) AS click_date
) a
LEFT JOIN (
SELECT DATE(r.lastUpdated) AS date,
SUM(r.qty) AS taskQty
FROM task_detail r
WHERE r.taskType = 200
and r.lastUpdated >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
AND r.status > 90
GROUP BY DATE(r.lastUpdated)
) b ON a.click_date = b.date
ORDER BY a.click_date;
</select>
<select id="getWarehouseShipment" resultType="com.huaheng.task.api.domain.TaskDetail">
SELECT ifnull(sum(r.qty), 0) as qty, w.name as warehouseName
from warehouse w
left JOIN task_detail r on r.warehouseCode = w.code and r.status > 90 and r.taskType = 200
and date(r.lastUpdated) = CURDATE()
group by w.code
</select>
<select id="getCompanyShipment" resultType="com.huaheng.task.api.domain.TaskDetail">
SELECT ifnull(sum(r.qty), 0) as qty, c.name as companyName
from company c
left JOIN task_detail r on r.companyCode = c.code and r.status > 90 and r.taskType = 200
and date(r.lastUpdated) = CURDATE()
group by c.code
</select>
</mapper>