ReceiptContainerHeaderMapper.xml
3.73 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
<?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.pc.receipt.receiptContainerHeader.mapper.ReceiptContainerHeaderMapper">
<select id="selectUnCompletedReceiptContainer" resultType="com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader">
SELECT id, receiptContainerCode,receiptCode, warehouseId, warehouseCode, taskType, status, created, createdBy
FROM receipt_container_header
WHERE status < 40
<if test="id != null ">
AND id = #{id}
</if>
<if test="receiptContainerCode != null and receiptContainerCode != ''">
<bind name="receiptContainerCodePattern" value="'%' + receiptContainerCode + '%'" />
AND receiptContainerCode like #{receiptContainerCodePattern}
</if>
<if test="receiptCode != null and receiptCode != ''">
<bind name="receiptCodePattern" value="'%' + receiptCode + '%'" />
AND receiptCode like #{receiptCodePattern}
</if>
<if test="warehouseId != null ">
AND warehouseId = #{warehouseId}
</if>
<if test="warehouseCode != null and warehouseCode != ''">
<bind name="warehouseCodePattern" value="'%' + warehouseCode + '%'" />
AND warehouseCode like #{warehouseCodePattern}
</if>
<if test="taskType != null ">
AND taskType = #{taskType}
</if>
<if test="params != null and params.createdBegin != null and params.createdBegin != ''">
AND created >= #{params.createdBegin}
</if>
<if test="params != null and params.createdEnd != null and params.createdEnd != ''">
AND created <= #{params.createdEnd}
</if>
<if test="createdBy != null and createdBy != ''">
<bind name="createdByPattern" value="'%' + createdBy + '%'" />
AND createdBy like #{createdByPattern}
</if>
</select>
<select id="getDetail" resultType="java.util.Map">
SELECT d.id, d.receiptId, d.receiptCode, d.materialCode, d.batch, d.project, d.qtyCompleted, d.qty, m.name, s.dictLabel inventoryStatus, '个' unit
FROM receipt_detail d
INNER JOIN material m ON d.materialCode = m.code and m.deleted = FALSE AND d.receiptCode = #{receiptCode}
AND m.warehouseCode=d.warehouseCode AND d.warehouseCode=#{warehouseCode}
INNER JOIN sys_dict_data s ON s.dictType = 'inventoryStatus' AND d.inventoryStatus = s.dictValue AND s.warehouseCode=m.warehouseCode
AND s.enable = TRUE AND s.deleted = FALSE
</select>
<select id="getReceiptInfoByBill" resultType="java.util.Map">
select rch.id, rch.receiptContainerCode as 'containerCode',rch.locationCode,rch.taskType,rch.`status`,rcd.materialCode,m.`name` as 'materialName',rcd.qty,rcd.created,rcd.createdBy
from receipt_container_header rch
LEFT JOIN receipt_container_detail rcd ON rcd.headerId=rch.id and rch.warehouseCode=#{warehouseCode}
INNER JOIN receipt_header rh on rcd.receiptId=rh.id and rh.deleted=FALSE and rh.`code`=#{receiptCode}
INNER JOIN material m ON rcd.materialCode = m.code and m.deleted = FALSE
</select>
<select id="CheckContainer" resultType="java.lang.Integer">
SELECT COUNT(*) AS count FROM task WHERE lastStatus < 40 AND containerCode = #{containerCode}
</select>
<update id="updateReceiptDetailQty">
UPDATE receipt_detail d
INNER JOIN receipt_container_detail cd ON d.id=cd.receiptDetailId AND cd.headerId=#{headerId}
SET d.qtyCompleted = d.qtyCompleted - cd.qty
</update>
</mapper>