ConstructionCreditMapper.xml
6.85 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
142
143
144
145
146
147
148
149
150
151
152
<?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.trash.business.mapper.ConstructionCreditMapper">
<resultMap type="ConstructionCredit" id="ConstructionCreditResult">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="type" column="type" />
<result property="time" column="time" />
<result property="place" column="place" />
<result property="reason" column="reason" />
<result property="status" column="status" />
<result property="lostCredit" column="lost_credit" />
<result property="objectId" column="object_id" />
<result property="createBy" column="create_by" />
</resultMap>
<sql id="selectConstructionCreditVo">
select id, name, type, time, place, reason, status, lost_credit,object_id from construction_credit
</sql>
<select id="selectConstructionCreditList" parameterType="ConstructionCredit" resultMap="ConstructionCreditResult">
<include refid="selectConstructionCreditVo"/>
<where>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="type != null and type != ''"> and type = #{type}</if>
<if test="time != null "> and DATE_FORMAT(time,("%y%m%d")) = DATE_FORMAT(#{time},("%y%m%d")) </if>
<if test="place != null and place != ''"> and place = #{place}</if>
<if test="reason != null and reason != ''"> and reason = #{reason}</if>
<if test="status != null "> and status = #{status}</if>
<if test="lostCredit != null "> and lost_credit = #{lostCredit}</if>
<if test="objectId != null "> and object_id = #{objectId}</if>
<if test="ids != null ">
and object_id in
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where>
order by time DESC
</select>
<select id="selectConstructionCreditById" parameterType="Long" resultMap="ConstructionCreditResult">
<include refid="selectConstructionCreditVo"/>
where id = #{id}
</select>
<insert id="insertConstructionCredit" parameterType="ConstructionCredit" useGeneratedKeys="true" keyProperty="id">
insert into construction_credit
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">name,</if>
<if test="type != null">type,</if>
<if test="time != null">time,</if>
<if test="place != null">place,</if>
<if test="reason != null">reason,</if>
<if test="status != null">status,</if>
<if test="lostCredit != null">lost_credit,</if>
<if test="objectId != null ">object_id,</if>
<if test="createBy != null ">create_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">#{name},</if>
<if test="type != null">#{type},</if>
<if test="time != null">#{time},</if>
<if test="place != null">#{place},</if>
<if test="reason != null">#{reason},</if>
<if test="status != null">#{status},</if>
<if test="lostCredit != null">#{lostCredit},</if>
<if test="objectId != null ">#{objectId},</if>
<if test="createBy != null ">#{createBy},</if>
</trim>
</insert>
<update id="updateConstructionCredit" parameterType="ConstructionCredit">
update construction_credit
<trim prefix="SET" suffixOverrides=",">
<if test="name != null">name = #{name},</if>
<if test="type != null">type = #{type},</if>
<if test="time != null">time = #{time},</if>
<if test="place != null">place = #{place},</if>
<if test="reason != null">reason = #{reason},</if>
<if test="status != null">status = #{status},</if>
<if test="lostCredit != null">lost_credit = #{lostCredit},</if>
<if test="objectId != null ">object_id = #{objectId}</if>
</trim>
where id = #{id}
</update>
<delete id="deleteConstructionCreditById" parameterType="Long">
delete from construction_credit where id = #{id}
</delete>
<delete id="deleteConstructionCreditByIds" parameterType="String">
delete from construction_credit where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<select id="getNames" parameterType="ConstructionCredit" resultType="String">
select DISTINCT name from construction_credit
<where>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="status != null "> and status = #{status}</if>
<if test="lostCredit != null "> and lost_credit = #{lostCredit}</if>
</where>
</select>
<select id="getTypes" parameterType="ConstructionCredit" resultType="String">
select DISTINCT type from construction_credit
<where>
<if test="name != null and name != ''"> and type like concat('%', #{type}, '%')</if>
<if test="status != null "> and status = #{status}</if>
<if test="lostCredit != null "> and lost_credit = #{lostCredit}</if>
</where>
</select>
<select id="getPlaces" parameterType="ConstructionCredit" resultType="String">
select DISTINCT place from construction_credit
<where>
<if test="name != null and name != ''"> and place like concat('%', #{place}, '%')</if>
<if test="status != null "> and status = #{status}</if>
<if test="lostCredit != null "> and lost_credit = #{lostCredit}</if>
</where>
</select>
<select id="selectConstructionCreditHistory" parameterType="ConstructionCredit" resultMap="ConstructionCreditResult">
SELECT t1.*
FROM construction_credit t1
INNER JOIN (
SELECT name, MAX(id) as max_id
FROM construction_credit
GROUP BY name
) t2 ON t1.name = t2.name AND t1.id = t2.max_id
<where>
<if test="name != null and name != ''"> and t1.name like concat('%', #{name}, '%')</if>
<if test="type != null and type != ''"> and t1.type = #{type}</if>
<if test="place != null and place != ''"> and t1.place = #{place}</if>
<if test="ids != null ">
and object_id in
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where>
ORDER BY id desc
</select>
</mapper>