ration-old-quality-mapper.xml
3.88 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
<?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 tongxiaochuan -->
<mapper namespace="com.cjs.cms.dao.ration.RationOldQualityDao">
<sql id="ration_old_quality_field">
id, ration_old_config_id, user_id, stock_amount, buy_amount, quality_amount, ration_amount, create_at, create_by
</sql>
<sql id="searchCondition">
where 1 = 1
<if test="otcName != null and otcName != ''">
and b.otc_name = #{otcName}
</if>
<if test="otcCode!=null and otcCode !=''">
and b.otc_code = #{otcCode}
</if>
<if test="userId!=null and userId !=''">
and a.user_id = #{userId}
</if>
<if test="sellUserId != null and sellUserId != ''">
and b.sell_user_id = #{sellUserId}
</if>
<if test="buyUserId != null and buyUserId != ''">
and b.buy_user_id = #{buyUserId}
</if>
<if test="rationStatus != null and rationStatus != ''">
and b.ration_status = #{rationStatus}
</if>
<if test="startDate != null and startDate != ''">
<![CDATA[ and a.create_at >= #{startDate}]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[ and a.create_at <= #{endDate}]]>
</if>
</sql>
<!-- 查询在托管分配 -->
<select id="search" parameterType="map" resultType="map">
select b.otc_code, b.otc_name, a.user_id, a.buy_amount, a.stock_amount, a.quality_amount,
a.ration_amount, DATE_FORMAT(a.create_at,'%Y-%m-%d') create_at, a.create_by, b.ration_status
from ration_old_quality a left join ration_old_config b on a.ration_old_config_id=b.id
<include refid="searchCondition" />
<include refid="common.pageLimit" />
</select>
<select id="searchTotal" parameterType="map" resultType="int">
select count(1)
from ration_old_quality a left join ration_old_config b on a.ration_old_config_id=b.id
<include refid="searchCondition" />
</select>
<select id="searchFooter" parameterType="map" resultType="map">
select sum(a.buy_amount) as buy_amount, sum(a.stock_amount) stock_amount,
sum(a.quality_amount) quality_amount, sum(a.ration_amount) ration_amount
from ration_old_quality a left join ration_old_config b on a.ration_old_config_id=b.id
<include refid="searchCondition" />
</select>
<insert id="insert" parameterType="RationOldQualityInfo">
insert into ration_old_quality(ration_old_config_id, user_id, stock_amount,
buy_amount, quality_amount, ration_amount, create_at, create_by)
values(#{rationOldConfigId}, #{userId}, #{stockAmount}, #{buyAmount}, #{qualityAmount},
#{rationAmount}, CURRENT_TIMESTAMP, #{createBy})
</insert>
<!-- 查询指定规则的同意配售数量未使用完的用户 -->
<select id="queryUserByRationAmount" parameterType="int" resultType="RationOldQualityInfo">
<![CDATA[select user_id from ration_old_quality
where ration_old_config_id = #{rationOldConfigId}
and ration_amount < quality_amount]]>
</select>
<!-- 查询待配售信息 -->
<select id="queryByConfigId" parameterType="int" resultType="RationOldQualityInfo">
select <include refid="ration_old_quality_field" /> from ration_old_quality
where ration_old_config_id = #{rationOldConfigId} and ration_amount != 0
</select>
<select id="queryRationAmount" resultType="int">
select ration_amount from ration_old_quality
where ration_old_config_id = #{rationOldConfigId} and user_id = #{userId}
</select>
<select id="queryByConfigAndUser" parameterType="map" resultType="RationOldQualityInfo">
select <include refid="ration_old_quality_field" />
from ration_old_quality
where ration_old_config_id = #{rationOldConfigId} and user_id = #{userId}
</select>
<update id="updateDistribute" parameterType="RationOldQualityInfo">
update ration_old_quality
set stock_amount = #{stockAmount}, quality_amount = #{qualityAmount}
where ration_old_config_id = #{rationOldConfigId} and user_id = #{userId}
</update>
</mapper>