WorkflowTaskMapper.xml
2.87 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
<?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.show.mapper.WorkflowTaskMapper">
<update id="finishTodoTask" parameterType="long">
UPDATE workflow_task t
SET t.STATUS = '已结束'
WHERE
t.instance_id = #{instanceId}
AND t.`status` = '待审核'
</update>
<update id="beforeTaskDone">
UPDATE workflow_task t
SET t.current_work = 0
WHERE
t.instance_id = #{instanceId}
</update>
<select id="administerRoleTasks" resultType="com.show.model.WorkflowTask">
SELECT
t2.*
FROM
academy_role_administer_mapping t
LEFT JOIN workflow_task t2 ON t.role_id = t2.assignee
WHERE
t.delete_date IS NULL
AND t.administer_id = #{userId}
AND t2.assignee_type = '角色'
AND t2.instance_id = #{instanceId}
AND t2.node_id = #{nodeId}
and t2.status = '待审核'
and t2.assignee = #{role}
</select>
<select id="administerNotInRoleTask" resultType="com.show.model.WorkflowTask">
SELECT
*
FROM
workflow_task t
WHERE
t.delete_date IS NULL
AND t.instance_id = #{instanceId}
AND t.node_id = #{nodeId}
AND t.assignee_type = '角色'
and t.check_id is null
AND t.assignee NOT IN (
SELECT
t2.assignee
FROM
academy_role_administer_mapping t
LEFT JOIN workflow_task t2 ON t.role_id = t2.assignee
WHERE
t.delete_date IS NULL
AND t.administer_id = #{userId}
AND t2.assignee_type = '角色'
AND t2.instance_id = #{instanceId}
AND t2.node_id = #{nodeId}
and t2.assignee = #{role}
)
</select>
<select id="studentTask" resultType="com.show.model.WorkflowTask">
SELECT
*
FROM
workflow_task t
WHERE
t.delete_date IS NULL
and t.instance_id = #{instanceId}
and t.node_name = '提交'
order by t.create_date
limit 1
</select>
<select id="updatedWorks" resultType="com.show.vo.work.GetWorkflowHistoryVO">
SELECT
t.id,
t.node_name,
t.node_id,
t.check_id,
t.`status`,
t.approve_opinion,
ifnull(t.update_date,t.create_date) endTime,
t.assignee,
t.assignee_type
FROM
workflow_task t
WHERE
t.delete_date IS NULL
AND t.instance_id = #{instanceId}
ORDER BY
t.id
</select>
</mapper>