inventory-mapper.xml
3.37 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
<?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">
<!-- 网点库存管理 @author togxiaochuan -->
<mapper namespace="com.cjs.cms.dao.user.pick.InventoryDao">
<sql id="inventory_field">
T.ID, T.WAREHOUSE_CODE, T.OTC_CODE, T.OTC_NAME, T.TOTAL_AMOUNT, T.FROZEN_AMOUNT, T.USEFUL_AMOUNT, R.NAME WAREHOUSE_NAME, R.STATUS
</sql>
<insert id="save" parameterType="InventoryInfo" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
INSERT INTO HS_ASSET.INVENTORY(ID, WAREHOUSE_CODE, OTC_CODE, OTC_NAME, TOTAL_AMOUNT, FROZEN_AMOUNT, USEFUL_AMOUNT)
VALUES(HS_ASSET.INVENTORY_SEQ.NEXTVAL, #{warehouseCode}, #{otcCode}, #{otcName}, #{totalAmount}, #{frozenAmount}, #{usefulAmount})
</insert>
<delete id="delete" parameterType="InventoryInfo">
DELETE FROM HS_ASSET.INVENTORY WHERE WAREHOUSE_CODE = #{warehouseCode} AND OTC_CODE = #{otcCode}
</delete>
<select id="queryByWarehouseCode" parameterType="string" resultType="InventoryInfo">
SELECT <include refid="inventory_field" />
FROM HS_ASSET.INVENTORY T
INNER JOIN HS_ASSET.WAREHOUSE R
ON T.WAREHOUSE_CODE = R.CODE
WHERE WAREHOUSE_CODE = #{warehouseCode}
</select>
<select id="search" parameterType="map" resultType="InventoryInfo">
<include refid="common.pageStart" />
SELECT <include refid="inventory_field" />
FROM HS_ASSET.INVENTORY T
INNER JOIN HS_ASSET.WAREHOUSE R
ON T.WAREHOUSE_CODE = R.CODE
<include refid="searchCondition" />
ORDER BY T.ID DESC
<include refid="common.pageEnd" />
</select>
<sql id="searchCondition">
WHERE 1=1
<if test="warehouseCode != null and warehouseCode != ''">
AND INSTR(T.WAREHOUSE_CODE, #{warehouseCode}) > 0
</if>
<if test="warehouseName != null and warehouseName != ''">
AND INSTR(R.NAME, #{warehouseName}) > 0
</if>
<if test="otcCode != null and otcCode != ''">
AND INSTR(T.OTC_CODE, #{otcCode}) > 0
</if>
<if test="otcName != null and otcName != ''">
AND INSTR(T.OTC_NAME, #{otcName}) > 0
</if>
<if test="status != null and status != ''">
AND R.STATUS = #{status}
</if>
</sql>
<select id="searchTotal" parameterType="map" resultType="int">
SELECT COUNT(1) FROM HS_ASSET.INVENTORY T
INNER JOIN HS_ASSET.WAREHOUSE R
ON T.WAREHOUSE_CODE = R.CODE
<include refid="searchCondition" />
</select>
<select id="searchFoot" parameterType="map" resultType="map">
SELECT SUM(T.TOTAL_AMOUNT) TOTAL_AMOUNT, SUM(T.FROZEN_AMOUNT) FROZEN_AMOUNT, SUM(USEFUL_AMOUNT) USEFUL_AMOUNT
FROM HS_ASSET.INVENTORY T
INNER JOIN HS_ASSET.WAREHOUSE R
ON T.WAREHOUSE_CODE = R.CODE
<include refid="searchCondition" />
ORDER BY T.ID DESC
</select>
<update id="updateInventory" parameterType="InventoryInfo">
UPDATE HS_ASSET.INVENTORY SET TOTAL_AMOUNT = #{totalAmount}, FROZEN_AMOUNT = #{frozenAmount}, USEFUL_AMOUNT = #{usefulAmount}
WHERE ID = #{id}
</update>
<select id="queryById" parameterType="string" resultType="InventoryInfo">
SELECT T.ID, T.TOTAL_AMOUNT, T.FROZEN_AMOUNT, T.USEFUL_AMOUNT
FROM HS_ASSET.INVENTORY T
WHERE ID = #{id}
</select>
<select id="queryInfo" parameterType="map" resultType="InventoryInfo">
SELECT ID, WAREHOUSE_CODE, OTC_CODE, OTC_NAME, TOTAL_AMOUNT, FROZEN_AMOUNT, USEFUL_AMOUNT
FROM HS_ASSET.INVENTORY
WHERE WAREHOUSE_CODE = #{warehouseCode} AND OTC_CODE = #{otcCode}
</select>
</mapper>