ReceiptHeaderMapper.xml
2.49 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
<?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.receiptHeader.mapper.ReceiptHeaderMapper">
<select id="createCode" resultType="java.lang.String">
SELECT code FROM receipt_header WHERE type = #{receiptType,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1
</select>
<insert id="headerToHistory">
INSERT INTO receipt_header_history (
code, warehouseCode, companyId, type, sourceCode, sourcePlatform, companyCode, totalQty,
totalLines, remark, uploadStatus, uploadremark, uploadTime, appointmentTime, firstStatus, lastStatus,
created, createdBy, lastUpdated, lastUpdatedBy, ENABLE, userDef1, userDef2, userDef3, deleted)
SELECT
code, warehouseCode, companyId, type, sourceCode, sourcePlatform, companyCode, totalQty,
totalLines, remark, uploadStatus, uploadremark, uploadTime, appointmentTime, firstStatus,
lastStatus, created, createdBy, lastUpdated, lastUpdatedBy, ENABLE, userDef1, userDef2, userDef3, 1
FROM receipt_header WHERE code = #{code,jdbcType=VARCHAR}
</insert>
<insert id="detailToHistory">
INSERT INTO receipt_detail_history (
id,sourceLine,receiptCode,materialCode,batch,lot,project,manufactureDate,expirationDate,inventoryStatus,qty,
price,uploadTime,created,createdBy,lastUpdated,lastUpdatedBy,enable,deleted,userDef1,userDef2,userDef3)
SELECT
id,sourceLine,receiptCode,materialCode,batch,lot,project,manufactureDate,expirationDate,inventoryStatus,qty,
price,uploadTime,created,createdBy,lastUpdated,lastUpdatedBy,enable,1,userDef1,userDef2,userDef3
FROM receipt_detail WHERE receiptCode = #{code,jdbcType=VARCHAR}
</insert>
<select id="getLastStatus" resultType="java.lang.Short">
SELECT MIN(`status`) AS lastStatus FROM receipt_detail WHERE receiptId = #{receiptId}
</select>
<update id="updateDetailStatus">
<if test="status != null and status == 300 and receiptId != null">
UPDATE receipt_detail SET status=#{status} WHERE receiptId=#{receiptId} AND qty <= qtyCompleted
</if>
<if test="status != null and status == 800 and receiptId != null">
UPDATE receipt_detail SET status=#{status} WHERE receiptId=#{receiptId} AND status >= 300
</if>
</update>
</mapper>