LeaveDao.xml
2.8 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
<?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.thinkgem.jeesite.modules.oa.dao.LeaveDao">
<sql id="leaveColumns">
a.*,
u.id AS "createBy.id",
u.name AS "createBy.name",
o.id AS "createBy.office.id",
o.name AS "createBy.office.name"
</sql>
<sql id="leaveJoins">
JOIN sys_user u ON u.id = a.create_by
JOIN sys_office o ON o.id = u.office_id
</sql>
<select id="get" resultType="Leave">
SELECT
<include refid="leaveColumns"/>
FROM oa_leave a
<include refid="leaveJoins"/>
WHERE a.id = #{id}
</select>
<select id="findList" resultType="Leave">
SELECT
<include refid="leaveColumns"/>
FROM oa_leave a
<include refid="leaveJoins"/>
WHERE a.del_flag = #{DEL_FLAG_NORMAL}
<if test="createDateStart != null">
AND a.create_date >= #{createDateStart}
</if>
<if test="createDateEnd != null">
AND a.create_date <= #{createDateEnd}
</if>
<if test="leaveType != null and leaveType != ''">
AND a.leave_type = #{leaveType}
</if>
<if test="ids != null and ids != ''">
AND a.id IN (${ids})
</if>
${sqlMap.dsf}
ORDER BY a.id DESC
</select>
<select id="findAllList" resultType="Leave">
SELECT
<include refid="leaveColumns"/>
FROM oa_leave a
<include refid="leaveJoins"/>
WHERE a.del_flag = #{DEL_FLAG_NORMAL}
ORDER BY a.id DESC
</select>
<insert id="insert">
INSERT INTO oa_leave(
id,
process_instance_id,
start_time,
end_time,
leave_type,
reason,
apply_time,
reality_start_time,
reality_end_time,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag
) VALUES (
#{id},
#{processInstanceId},
#{startTime},
#{endTime},
#{leaveType},
#{reason},
#{createDate},
#{realityStartTime},
#{realityEndTime},
#{createBy.id},
#{createDate},
#{updateBy.id},
#{updateDate},
#{remarks},
#{delFlag}
)
</insert>
<update id="update">
UPDATE oa_leave SET
leave_type = #{leaveType},
start_time = #{startTime},
end_time = #{endTime},
reason = #{reason},
update_by = #{updateBy.id},
update_date = #{updateDate},
remarks = #{remarks}
WHERE id = #{id}
</update>
<update id="updateRealityTime">
UPDATE oa_leave SET
reality_start_time = #{realityStartTime},
reality_end_time = #{realityEndTime},
update_by = #{updateBy.id},
update_date = #{updateDate},
remarks = #{remarks}
WHERE id = #{id}
</update>
<update id="updateProcessInstanceId">
UPDATE oa_leave SET
process_instance_id = #{processInstanceId}
WHERE id = #{id}
</update>
<update id="delete">
UPDATE oa_leave SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id}
</update>
</mapper>