Browse Source

查询项目下的任务,查询角色下的成员,任务检查人相关

tall3
ma 4 years ago
parent
commit
8a976b2b7f
  1. 8
      common/src/main/java/com/ccsens/common/bean/dto/CRoleDto.java
  2. 11
      common/src/main/java/com/ccsens/common/bean/po/ProRoleTask.java
  3. 60
      common/src/main/java/com/ccsens/common/bean/po/ProRoleTaskExample.java
  4. 9
      common/src/main/java/com/ccsens/common/bean/vo/CRoleVo.java
  5. 12
      common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java
  6. 8
      common/src/main/java/com/ccsens/common/persist/dao/ProRoleDao.java
  7. 8
      common/src/main/java/com/ccsens/common/persist/dao/ProRoleTaskDao.java
  8. 8
      common/src/main/java/com/ccsens/common/service/IProRoleService.java
  9. 2
      common/src/main/java/com/ccsens/common/service/ITaskService.java
  10. 8
      common/src/main/java/com/ccsens/common/service/ProRoleService.java
  11. 33
      common/src/main/java/com/ccsens/common/service/TaskService.java
  12. 13
      common/src/main/resources/mapper_dao/ProRoleDao.xml
  13. 14
      common/src/main/resources/mapper_dao/ProRoleTaskDao.xml
  14. 3
      common/src/main/resources/mapper_dao/ProTaskDetailDao.xml
  15. 25
      common/src/main/resources/mapper_raw/ProRoleTaskMapper.xml

8
common/src/main/java/com/ccsens/common/bean/dto/CRoleDto.java

@ -26,4 +26,12 @@ public class CRoleDto {
@ApiModelProperty("角色id") @ApiModelProperty("角色id")
private List<Long> roleIds; private List<Long> roleIds;
} }
@Data
@ApiModel("查询角色下的所有成员")
public static class QueryMemberOfRole {
@NotNull(message = "角色id不能为空")
@ApiModelProperty("角色id")
private Long roleId;
}
} }

11
common/src/main/java/com/ccsens/common/bean/po/ProRoleTask.java

@ -18,6 +18,8 @@ public class ProRoleTask implements Serializable {
private Byte recStatus; private Byte recStatus;
private Byte roleDuty;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Long getId() { public Long getId() {
@ -76,6 +78,14 @@ public class ProRoleTask implements Serializable {
this.recStatus = recStatus; this.recStatus = recStatus;
} }
public Byte getRoleDuty() {
return roleDuty;
}
public void setRoleDuty(Byte roleDuty) {
this.roleDuty = roleDuty;
}
@Override @Override
public String toString() { public String toString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@ -89,6 +99,7 @@ public class ProRoleTask implements Serializable {
sb.append(", createdAt=").append(createdAt); sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt); sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus); sb.append(", recStatus=").append(recStatus);
sb.append(", roleDuty=").append(roleDuty);
sb.append("]"); sb.append("]");
return sb.toString(); return sb.toString();
} }

60
common/src/main/java/com/ccsens/common/bean/po/ProRoleTaskExample.java

@ -524,6 +524,66 @@ public class ProRoleTaskExample {
addCriterion("rec_status not between", value1, value2, "recStatus"); addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andRoleDutyIsNull() {
addCriterion("role_duty is null");
return (Criteria) this;
}
public Criteria andRoleDutyIsNotNull() {
addCriterion("role_duty is not null");
return (Criteria) this;
}
public Criteria andRoleDutyEqualTo(Byte value) {
addCriterion("role_duty =", value, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyNotEqualTo(Byte value) {
addCriterion("role_duty <>", value, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyGreaterThan(Byte value) {
addCriterion("role_duty >", value, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyGreaterThanOrEqualTo(Byte value) {
addCriterion("role_duty >=", value, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyLessThan(Byte value) {
addCriterion("role_duty <", value, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyLessThanOrEqualTo(Byte value) {
addCriterion("role_duty <=", value, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyIn(List<Byte> values) {
addCriterion("role_duty in", values, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyNotIn(List<Byte> values) {
addCriterion("role_duty not in", values, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyBetween(Byte value1, Byte value2) {
addCriterion("role_duty between", value1, value2, "roleDuty");
return (Criteria) this;
}
public Criteria andRoleDutyNotBetween(Byte value1, Byte value2) {
addCriterion("role_duty not between", value1, value2, "roleDuty");
return (Criteria) this;
}
} }
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {

9
common/src/main/java/com/ccsens/common/bean/vo/CRoleVo.java

@ -60,4 +60,13 @@ public class CRoleVo {
@ApiModelProperty("角色名称") @ApiModelProperty("角色名称")
private String name; private String name;
} }
@Data
@ApiModel("角色下的成员信息")
public static class MemberOfRoleInfo {
@ApiModelProperty("成员id")
private Long id;
@ApiModelProperty("成员名称")
private String name;
}
} }

12
common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java

@ -40,10 +40,22 @@ public class CTaskVo {
private Long skipTaskId; private Long skipTaskId;
@ApiModelProperty("任务面板") @ApiModelProperty("任务面板")
private PanelInfo panel; private PanelInfo panel;
@ApiModelProperty("检查人列表")
private List<CheckerOfTask> checkerList;
@ApiModelProperty("插件") @ApiModelProperty("插件")
private List<List<TaskPluginInfo>> plugins; private List<List<TaskPluginInfo>> plugins;
} }
@Data
@ApiModel("任务下的检查人")
public static class CheckerOfTask {
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("名字")
private String name;
}
@Data @Data
@ApiModel("任务面板信息") @ApiModel("任务面板信息")
public static class PanelInfo{ public static class PanelInfo{

8
common/src/main/java/com/ccsens/common/persist/dao/ProRoleDao.java

@ -1,6 +1,7 @@
package com.ccsens.common.persist.dao; package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.dto.CRoleDto;
import com.ccsens.common.bean.po.ProRole; import com.ccsens.common.bean.po.ProRole;
import com.ccsens.common.bean.po.ProTaskSub; import com.ccsens.common.bean.po.ProTaskSub;
import com.ccsens.common.bean.vo.CRoleVo; import com.ccsens.common.bean.vo.CRoleVo;
@ -117,4 +118,11 @@ public interface ProRoleDao extends ProRoleMapper {
* @return 角色id * @return 角色id
*/ */
Long getRoleIdByTaskDetailId(@Param("taskDetailId") Long taskDetailId); Long getRoleIdByTaskDetailId(@Param("taskDetailId") Long taskDetailId);
/**
* 查询角色下的所有成员
* @param param 角色id
* @return 成员信息列表
*/
List<CRoleVo.MemberOfRoleInfo> queryMemberOfRole(CRoleDto.QueryMemberOfRole param);
} }

8
common/src/main/java/com/ccsens/common/persist/dao/ProRoleTaskDao.java

@ -1,6 +1,7 @@
package com.ccsens.common.persist.dao; package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.po.ProRoleTask; import com.ccsens.common.bean.po.ProRoleTask;
import com.ccsens.common.bean.vo.CTaskVo;
import com.ccsens.common.persist.mapper.ProRoleTaskMapper; import com.ccsens.common.persist.mapper.ProRoleTaskMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -33,4 +34,11 @@ public interface ProRoleTaskDao extends ProRoleTaskMapper {
* @return 角色任务id * @return 角色任务id
*/ */
List<Long> isMyTask(@Param("taskDetailId") Long taskDetailId,@Param("roleIdList") List<Long> userOfRoles); List<Long> isMyTask(@Param("taskDetailId") Long taskDetailId,@Param("roleIdList") List<Long> userOfRoles);
/**
* 根据任务id查找任务下的检查人
* @param detailId 任务详情id
* @return 检查人列表
*/
List<CTaskVo.CheckerOfTask> queryCheckerOfTask(@Param("detailId") Long detailId);
} }

8
common/src/main/java/com/ccsens/common/service/IProRoleService.java

@ -18,4 +18,12 @@ public interface IProRoleService {
* @return 所有角色 * @return 所有角色
*/ */
List<CRoleVo.AllRoleOfProject> queryAllRoleByProjectId(CRoleDto.QueryRoleById param, Long userId); List<CRoleVo.AllRoleOfProject> queryAllRoleByProjectId(CRoleDto.QueryRoleById param, Long userId);
/**
* 查询角色下的所有成员
* @param param 角色id
* @param userId 用户id
* @return 成员信息
*/
List<CRoleVo.MemberOfRoleInfo> queryMemberOfRole(CRoleDto.QueryMemberOfRole param, Long userId);
} }

2
common/src/main/java/com/ccsens/common/service/ITaskService.java

@ -34,7 +34,7 @@ public interface ITaskService {
List<CTaskVo.QueryTask> queryRegularTask(CTaskDto.QueryRegularTask param, Long userId); List<CTaskVo.QueryTask> queryRegularTask(CTaskDto.QueryRegularTask param, Long userId);
/** /**
* 根据时间和角色查找定期任务 * 修改任务状态
* @param param 任务分解id和任务状态 * @param param 任务分解id和任务状态
* @param userId 用户id * @param userId 用户id
*/ */

8
common/src/main/java/com/ccsens/common/service/ProRoleService.java

@ -149,4 +149,12 @@ public class ProRoleService implements IProRoleService {
roleList.add(role); roleList.add(role);
return roleList; return roleList;
} }
@Override
public List<CRoleVo.MemberOfRoleInfo> queryMemberOfRole(CRoleDto.QueryMemberOfRole param, Long userId) {
List<CRoleVo.MemberOfRoleInfo> memberOfRoleInfos = proRoleDao.queryMemberOfRole(param);
return null;
}
} }

33
common/src/main/java/com/ccsens/common/service/TaskService.java

@ -197,6 +197,19 @@ public class TaskService implements ITaskService {
queryTask.setPlugins(plugins); queryTask.setPlugins(plugins);
} }
/**
* 查询任务下的检查人
* @param taskList 任务列表
*/
public void queryCheckerOfTask(List<CTaskVo.QueryTask> taskList) {
if (CollectionUtil.isNotEmpty(taskList)) {
for (CTaskVo.QueryTask queryTask : taskList) {
List<CTaskVo.CheckerOfTask> checkerList = roleTaskDao.queryCheckerOfTask(queryTask.getDetailId());
queryTask.setCheckerList(checkerList);
}
}
}
@Override @Override
public List<CTaskVo.QueryTask> queryPermanentGlobalTask(CTaskDto.QueryPermanentGlobalTask param, Long userId) { public List<CTaskVo.QueryTask> queryPermanentGlobalTask(CTaskDto.QueryPermanentGlobalTask param, Long userId) {
//查找当前角色是否有查看权限 //查找当前角色是否有查看权限
@ -222,7 +235,8 @@ public class TaskService implements ITaskService {
List<CTaskVo.QueryTask> permanentGlobalTask = taskDetailDao.queryPermanentGlobalTask(roleIds); List<CTaskVo.QueryTask> permanentGlobalTask = taskDetailDao.queryPermanentGlobalTask(roleIds);
//查找项目面板和插件信息 //查找项目面板和插件信息
queryPluginForTask(permanentGlobalTask); queryPluginForTask(permanentGlobalTask);
//查询任务下的检查人
queryCheckerOfTask(permanentGlobalTask);
return permanentGlobalTask; return permanentGlobalTask;
} }
@ -251,6 +265,8 @@ public class TaskService implements ITaskService {
// } // }
List<CTaskVo.QueryTask> globalTask = taskDetailDao.queryGlobalTask(roleIds, param.getTimeNode(), param.getTimeUnit()); List<CTaskVo.QueryTask> globalTask = taskDetailDao.queryGlobalTask(roleIds, param.getTimeNode(), param.getTimeUnit());
queryPluginForTask(globalTask); queryPluginForTask(globalTask);
//查询任务下的检查人
queryCheckerOfTask(globalTask);
return globalTask; return globalTask;
} }
@ -307,9 +323,13 @@ public class TaskService implements ITaskService {
} }
} }
queryPluginForTask(replenishTask); queryPluginForTask(replenishTask);
//查询任务下的检查人
queryCheckerOfTask(replenishTask);
return replenishTask; return replenishTask;
} }
queryPluginForTask(regularTask); queryPluginForTask(regularTask);
//查询任务下的检查人
queryCheckerOfTask(regularTask);
return regularTask; return regularTask;
} }
@ -658,6 +678,17 @@ public class TaskService implements ITaskService {
} }
} }
//TODO 检查人(待定) //TODO 检查人(待定)
if (CollectionUtil.isNotEmpty(param.getCheckerIdList())) {
for (Long checkId : param.getCheckerIdList()) {
ProRoleTask roleTask = new ProRoleTask();
roleTask.setId(snowflake.nextId());
roleTask.setRoleId(checkId);
roleTask.setTaskId(proTaskDetail.getId());
roleTask.setRoleDuty((byte)1);
roleTask.setOperator(userId);
roleTaskDao.insertSelective(roleTask);
}
}
//上下道工序 //上下道工序
if (ObjectUtil.isNotNull(param.getProcessTaskId())) { if (ObjectUtil.isNotNull(param.getProcessTaskId())) {
ProTaskProcess taskProcess = new ProTaskProcess(); ProTaskProcess taskProcess = new ProTaskProcess();

13
common/src/main/resources/mapper_dao/ProRoleDao.xml

@ -229,4 +229,17 @@
AND task_id = #{taskDetailId} AND task_id = #{taskDetailId}
</select> </select>
<select id="queryMemberOfRole" resultType="com.ccsens.common.bean.vo.CRoleVo$MemberOfRoleInfo">
SELECT
m.id,
m.`name`
FROM
t_pro_role_member AS rm
LEFT JOIN t_pro_member AS m ON m.id = rm.member_id
WHERE
rm.rec_status = 0
AND m.rec_status = 0
AND rm.role_id = #{roleId}
</select>
</mapper> </mapper>

14
common/src/main/resources/mapper_dao/ProRoleTaskDao.xml

@ -45,4 +45,18 @@
</select> </select>
<select id="queryCheckerOfTask" resultType="com.ccsens.common.bean.vo.CTaskVo$CheckerOfTask">
SELECT
r.id,
r.`name`
FROM
t_pro_role_task AS rt
LEFT JOIN t_pro_role AS r ON r.id = rt.role_id
WHERE
rt.rec_status = 0
AND r.rec_status = 0
AND rt.task_id = #{detailId}
AND rt.role_duty = 1
</select>
</mapper> </mapper>

3
common/src/main/resources/mapper_dao/ProTaskDetailDao.xml

@ -411,11 +411,12 @@
WHERE WHERE
td.rec_status = 0 AND ts.rec_status = 0 AND rt.rec_status = 0 td.rec_status = 0 AND ts.rec_status = 0 AND rt.rec_status = 0
AND td.id = #{taskDetailId} AND td.id = #{taskDetailId}
LIMIT 1
</select> </select>
<select id="queryTaskOfProject" resultType="com.ccsens.common.bean.vo.CTaskVo$TaskOfProject"> <select id="queryTaskOfProject" resultType="com.ccsens.common.bean.vo.CTaskVo$TaskOfProject">
SELECT SELECT
t.id, t.id AS detailId,
t.`name` t.`name`
FROM FROM
t_pro_parent_task AS p t_pro_parent_task AS p

25
common/src/main/resources/mapper_raw/ProRoleTaskMapper.xml

@ -9,6 +9,7 @@
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" /> <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" /> <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" /> <result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="role_duty" jdbcType="TINYINT" property="roleDuty" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<where> <where>
@ -69,7 +70,7 @@
</where> </where>
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, role_id, task_id, operator, created_at, updated_at, rec_status id, role_id, task_id, operator, created_at, updated_at, rec_status, role_duty
</sql> </sql>
<select id="selectByExample" parameterType="com.ccsens.common.bean.po.ProRoleTaskExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.ccsens.common.bean.po.ProRoleTaskExample" resultMap="BaseResultMap">
select select
@ -104,10 +105,10 @@
<insert id="insert" parameterType="com.ccsens.common.bean.po.ProRoleTask"> <insert id="insert" parameterType="com.ccsens.common.bean.po.ProRoleTask">
insert into t_pro_role_task (id, role_id, task_id, insert into t_pro_role_task (id, role_id, task_id,
operator, created_at, updated_at, operator, created_at, updated_at,
rec_status) rec_status, role_duty)
values (#{id,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, #{taskId,jdbcType=BIGINT}, values (#{id,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, #{taskId,jdbcType=BIGINT},
#{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP},
#{recStatus,jdbcType=TINYINT}) #{recStatus,jdbcType=TINYINT}, #{roleDuty,jdbcType=TINYINT})
</insert> </insert>
<insert id="insertSelective" parameterType="com.ccsens.common.bean.po.ProRoleTask"> <insert id="insertSelective" parameterType="com.ccsens.common.bean.po.ProRoleTask">
insert into t_pro_role_task insert into t_pro_role_task
@ -133,6 +134,9 @@
<if test="recStatus != null"> <if test="recStatus != null">
rec_status, rec_status,
</if> </if>
<if test="roleDuty != null">
role_duty,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
@ -156,6 +160,9 @@
<if test="recStatus != null"> <if test="recStatus != null">
#{recStatus,jdbcType=TINYINT}, #{recStatus,jdbcType=TINYINT},
</if> </if>
<if test="roleDuty != null">
#{roleDuty,jdbcType=TINYINT},
</if>
</trim> </trim>
</insert> </insert>
<select id="countByExample" parameterType="com.ccsens.common.bean.po.ProRoleTaskExample" resultType="java.lang.Long"> <select id="countByExample" parameterType="com.ccsens.common.bean.po.ProRoleTaskExample" resultType="java.lang.Long">
@ -188,6 +195,9 @@
<if test="record.recStatus != null"> <if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT}, rec_status = #{record.recStatus,jdbcType=TINYINT},
</if> </if>
<if test="record.roleDuty != null">
role_duty = #{record.roleDuty,jdbcType=TINYINT},
</if>
</set> </set>
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
@ -201,7 +211,8 @@
operator = #{record.operator,jdbcType=BIGINT}, operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT} rec_status = #{record.recStatus,jdbcType=TINYINT},
role_duty = #{record.roleDuty,jdbcType=TINYINT}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
@ -227,6 +238,9 @@
<if test="recStatus != null"> <if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT}, rec_status = #{recStatus,jdbcType=TINYINT},
</if> </if>
<if test="roleDuty != null">
role_duty = #{roleDuty,jdbcType=TINYINT},
</if>
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
@ -237,7 +251,8 @@
operator = #{operator,jdbcType=BIGINT}, operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP}, created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT} rec_status = #{recStatus,jdbcType=TINYINT},
role_duty = #{roleDuty,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
</mapper> </mapper>
Loading…
Cancel
Save