You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
4.3 KiB
129 lines
4.3 KiB
<?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.ccsens.tall.persist.dao.ProRoleDao">
|
|
|
|
<resultMap id="resultMap_ProRole" type="com.ccsens.tall.bean.po.ProRole">
|
|
<id column="rId" property="id" />
|
|
<result column="rName" property="name" />
|
|
<result column="rDescription" property="description" />
|
|
<result column="rSequence" property="sequence" />
|
|
</resultMap>
|
|
|
|
<resultMap id="resultMap_ProRoleInfo" type="com.ccsens.tall.bean.vo.ProjectVo$RoleInfo">
|
|
<id column="rId" property="id"/>
|
|
<result column="rName" property="name"/>
|
|
<result column="parentId" property="parentId"/>
|
|
<collection property="members" ofType="com.ccsens.tall.bean.vo.ProjectVo$ProMemberVo">
|
|
<id column="mId" property="mId"/>
|
|
<result column="mName" property="mName"/>
|
|
<result column="mPhone" property="mPhone"/>
|
|
<result column="mUserId" property="mUserId"/>
|
|
<result column="stakeholderId" property="stakeholderId"/>
|
|
</collection>
|
|
</resultMap>
|
|
|
|
<resultMap id="roleMVP" type="com.ccsens.tall.bean.vo.TaskVo$RoleCheckList">
|
|
<id column="rId" property="id" />
|
|
<result column="rName" property="name" />
|
|
</resultMap>
|
|
|
|
<select id="selectFirstRoleByProjectIdAndUserId" parameterType="java.util.Map"
|
|
resultMap="resultMap_ProRole">
|
|
select
|
|
id as rId,
|
|
project_id as projectId,
|
|
name as rName,
|
|
description as rDescription,
|
|
sequence as rSequence
|
|
from
|
|
t_pro_role
|
|
where
|
|
id in (
|
|
SELECT
|
|
pr.parent_id
|
|
FROM
|
|
t_pro_member m join t_pro_member_role mr on m.id = mr.member_id
|
|
join t_pro_role pr on mr.role_id = pr.id
|
|
where
|
|
(m.user_id = #{userId})
|
|
and
|
|
(pr.project_id = #{projectId})
|
|
)
|
|
</select>
|
|
|
|
<select id="selectSecondRolesByProjectId" parameterType="java.util.Map"
|
|
resultMap="resultMap_ProRoleInfo">
|
|
select
|
|
pr.id as rId,
|
|
pr.name as rName,
|
|
pr.parent_id as parentId,
|
|
m.id as mId,
|
|
m.nickname as mName,
|
|
m.phone as mPhone,
|
|
m.user_id as mUserId,
|
|
m.stakeholder_id as stakeholderId
|
|
from
|
|
t_pro_role pr LEFT JOIN t_pro_member_role mr ON mr.role_id = pr.id
|
|
LEFT JOIN t_pro_member m ON mr.member_id = m.id
|
|
where
|
|
pr.project_id = #{projectId}
|
|
and
|
|
(SELECT name FROM t_pro_role r WHERE pr.parent_id = r.id) in ('PM','Member')
|
|
AND
|
|
pr.name not IN ('全体成员','观众')
|
|
</select>
|
|
|
|
<select id="selectCareLessRoleByProjectIdAndUserId" parameterType="java.util.Map"
|
|
resultType="Long">
|
|
select
|
|
per.role_id
|
|
from
|
|
t_pro_member m join t_pro_member_role mr on mr.member_id = m.id
|
|
join t_pro_role pr on mr.role_id = pr.id join
|
|
t_pro_role_execlude per on pr.id = per.other_role_id
|
|
where
|
|
(m.user_id = #{userId})
|
|
and
|
|
(pr.project_id = #{projectId})
|
|
</select>
|
|
|
|
<select id="selectRolesByProjectIdAndUserId" parameterType="java.util.Map"
|
|
resultMap="resultMap_ProRole">
|
|
select
|
|
r.id as rId,
|
|
r.name as rName,
|
|
r.description as rDescription,
|
|
r.sequence as rSequence
|
|
from
|
|
t_pro_role r JOIN t_pro_member_role mr on mr.role_id = r.id JOIN
|
|
t_pro_member m on mr.member_id = m.id
|
|
where
|
|
(m.user_id = #{userId})
|
|
and
|
|
(r.project_id = #{projectId})
|
|
</select>
|
|
|
|
<select id="selectPowerByRoleName" parameterType="java.util.Map"
|
|
resultType="int">
|
|
select
|
|
power
|
|
FROM
|
|
t_pro_role_power
|
|
WHERE
|
|
description = #{roleName}
|
|
</select>
|
|
<select id="findAll" parameterType="java.util.Map" resultMap="roleMVP">
|
|
SELECT
|
|
r.id as rId,
|
|
r.name as rName
|
|
FROM
|
|
t_pro_role r
|
|
WHERE
|
|
r.project_id = #{projectId}
|
|
AND
|
|
(SELECT name FROM t_pro_role pr WHERE r.parent_id = pr.id) in ('PM','Member')
|
|
AND
|
|
r.name not IN ('全体成员','观众','MVP')
|
|
|
|
</select>
|
|
</mapper>
|