BpmDefActMapper.xml
4.12 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.hotent.bpm.persistence.dao.BpmDefActDao">
<resultMap id="BpmDefAct" type="com.hotent.bpm.persistence.model.BpmDefAct">
<id property="id" column="ID_" jdbcType="VARCHAR"/>
<result property="authorizeId" column="AUTHORIZE_ID_" jdbcType="VARCHAR"/>
<result property="defKey" column="DEF_KEY_" jdbcType="VARCHAR"/>
<result property="defName" column="DEF_NAME_" jdbcType="VARCHAR"/>
<result property="rightContent" column="RIGHT_CONTENT_" jdbcType="VARCHAR"/>
<result property="type" column="TYPE_" jdbcType="VARCHAR"/>
</resultMap>
<sql id="columns">
ID_,AUTHORIZE_ID_,DEF_KEY_,DEF_NAME_,RIGHT_CONTENT_,TYPE_
</sql>
<sql id="dynamicWhere">
<where>
<if test="id!=null"> AND ID_ =#{id} </if>
<if test="authorizeId!=null"> AND AUTHORIZE_ID_ =#{authorizeId} </if>
<if test="defKey!=null"> AND DEF_KEY_ =#{defKey} </if>
<if test="defName!=null"> AND DEF_NAME_ LIKE #{defName} </if>
<if test="rightContent!=null"> AND RIGHT_CONTENT_ LIKE #{rightContent} </if>
<if test="type!=null"> AND TYPE_ = #{type} </if>
</where>
</sql>
<insert id="create" parameterType="com.hotent.bpm.persistence.model.BpmDefAct">
INSERT INTO BPM_DEF_ACT
(ID_,AUTHORIZE_ID_,DEF_KEY_,DEF_NAME_,RIGHT_CONTENT_,TYPE_)
VALUES
(#{id,jdbcType=VARCHAR}, #{authorizeId,jdbcType=VARCHAR}, #{defKey,jdbcType=VARCHAR}, #{defName,jdbcType=VARCHAR}, #{rightContent,jdbcType=VARCHAR},#{type,jdbcType=VARCHAR})
</insert>
<delete id="delById" parameterType="java.lang.String">
DELETE FROM BPM_DEF_ACT
WHERE
ID_=#{id}
</delete>
<delete id="delByMap" parameterType="java.util.Map" >
DELETE FROM BPM_DEF_ACT
<include refid="dynamicWhere" />
</delete>
<select id="getById" parameterType="java.lang.String" resultMap="BpmDefAct">
SELECT <include refid="columns"/>
FROM BPM_DEF_ACT
WHERE
ID_=#{id}
</select>
<select id="getAll" resultMap="BpmDefAct">
SELECT <include refid="columns"/>
FROM BPM_DEF_ACT
<include refid="dynamicWhere" />
<if test="orderField">
order by ${orderField} ${orderSeq}
</if>
<if test="orderField">
order by ID_ desc
</if>
</select>
<select id="getByAuthorizeId" resultMap="BpmDefAct">
SELECT <include refid="columns"/>
FROM BPM_DEF_ACT
WHERE AUTHORIZE_ID_=#{authorizeId}
</select>
<delete id="delByAuthorizeId" parameterType="java.lang.String">
DELETE FROM BPM_DEF_ACT
WHERE AUTHORIZE_ID_=#{authorizeId}
</delete>
<!--根据用户权限Map获取有权限流程列表 -->
<select id="getActRightByUserMap" resultMap="BpmDefAct" parameterType="java.util.Map" >
select b.ID_,b.AUTHORIZE_ID_,b.DEF_KEY_,b.DEF_NAME_,b.RIGHT_CONTENT_,b.TYPE_ from BPM_DEF_ACT b ,
BPM_DEF_AUTH_TYPE t where b.AUTHORIZE_ID_=t.AUTHORIZE_ID_ and t.AUTHORIZE_TYPE_=#{authorizeType}
and b.AUTHORIZE_ID_ in (
select distinct a.ID_ from BPM_DEF_AUTHORIZE a, (
select u.AUTHORIZE_ID_ from BPM_DEF_USER u where u.RIGHT_TYPE_ = 'everyone'
<foreach collection="userRightMap" index="key" item="value" open="" separator=" " close="">
union
select u.AUTHORIZE_ID_ from BPM_DEF_USER u
where u.RIGHT_TYPE_ = #{key} and u.OWNER_ID_ in (${value})
</foreach>
) c where a.ID_ = c.AUTHORIZE_ID_
)
<if test="defKey!=null">
and ( b.DEF_KEY_ = #{defKey} OR b.DEF_KEY_ IN ( SELECT TYPE_ID_ FROM BPM_DEFINITION WHERE DEF_KEY_ = #{defKey} ) )
</if>
</select>
<delete id="remove" parameterType="java.lang.String">
DELETE FROM BPM_DEF_ACT
WHERE
ID_=#{id}
</delete>
<select id="get" parameterType="java.lang.String" resultMap="BpmDefAct">
SELECT * FROM BPM_DEF_ACT
WHERE
ID_=#{id}
</select>
<select id="query" parameterType="java.util.Map" resultMap="BpmDefAct">
SELECT * FROM BPM_DEF_ACT
<where>
<if test="whereSql!=null">
${whereSql}
</if>
</where>
<if test="orderBySql!=null">
ORDER BY ${orderBySql}
</if>
<if test="orderBySql==null">
ORDER BY id_ DESC
</if>
</select>
</mapper>