Browse Source

任务增加创建者,创建者可进行修改删除

recovery
ma 5 years ago
parent
commit
6c67fd8107
  1. 11
      tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java
  2. 60
      tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java
  3. 6
      tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java
  4. 40
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  5. 1
      tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java
  6. 7
      tall/src/main/resources/mapper_dao/TaskDetailDao.xml
  7. 25
      tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml

11
tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java

@ -60,6 +60,8 @@ public class ProTaskDetail implements Serializable {
private String milestone; private String milestone;
private Long buildUser;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Long getId() { public Long getId() {
@ -286,6 +288,14 @@ public class ProTaskDetail implements Serializable {
this.milestone = milestone == null ? null : milestone.trim(); this.milestone = milestone == null ? null : milestone.trim();
} }
public Long getBuildUser() {
return buildUser;
}
public void setBuildUser(Long buildUser) {
this.buildUser = buildUser;
}
@Override @Override
public String toString() { public String toString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@ -320,6 +330,7 @@ public class ProTaskDetail implements Serializable {
sb.append(", recStatus=").append(recStatus); sb.append(", recStatus=").append(recStatus);
sb.append(", priority=").append(priority); sb.append(", priority=").append(priority);
sb.append(", milestone=").append(milestone); sb.append(", milestone=").append(milestone);
sb.append(", buildUser=").append(buildUser);
sb.append("]"); sb.append("]");
return sb.toString(); return sb.toString();
} }

60
tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java

@ -1844,6 +1844,66 @@ public class ProTaskDetailExample {
addCriterion("milestone not between", value1, value2, "milestone"); addCriterion("milestone not between", value1, value2, "milestone");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andBuildUserIsNull() {
addCriterion("build_user is null");
return (Criteria) this;
}
public Criteria andBuildUserIsNotNull() {
addCriterion("build_user is not null");
return (Criteria) this;
}
public Criteria andBuildUserEqualTo(Long value) {
addCriterion("build_user =", value, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserNotEqualTo(Long value) {
addCriterion("build_user <>", value, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserGreaterThan(Long value) {
addCriterion("build_user >", value, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserGreaterThanOrEqualTo(Long value) {
addCriterion("build_user >=", value, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserLessThan(Long value) {
addCriterion("build_user <", value, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserLessThanOrEqualTo(Long value) {
addCriterion("build_user <=", value, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserIn(List<Long> values) {
addCriterion("build_user in", values, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserNotIn(List<Long> values) {
addCriterion("build_user not in", values, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserBetween(Long value1, Long value2) {
addCriterion("build_user between", value1, value2, "buildUser");
return (Criteria) this;
}
public Criteria andBuildUserNotBetween(Long value1, Long value2) {
addCriterion("build_user not between", value1, value2, "buildUser");
return (Criteria) this;
}
} }
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {

6
tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java

@ -74,8 +74,11 @@ public class TaskVo {
private Byte routineLocation; private Byte routineLocation;
@ApiModelProperty("入参") @ApiModelProperty("入参")
private String importParam; private String importParam;
@ApiModelProperty("任务创建人(userId)")
private String buildUser;
@ApiModelProperty("任务配置") @ApiModelProperty("任务配置")
private ProTaskShow proTaskConfig = new ProTaskShow(); private ProTaskShow proTaskConfig = new ProTaskShow();
public Long getDuration(){ public Long getDuration(){
if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) { if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) {
return endTime - beginTime; return endTime - beginTime;
@ -172,6 +175,9 @@ public class TaskVo {
private List<DeliverVo.OutputDocInfo> outputDoc; private List<DeliverVo.OutputDocInfo> outputDoc;
@ApiModelProperty("提醒的信息") @ApiModelProperty("提醒的信息")
private List<RemindInfo> remindInfoList; private List<RemindInfo> remindInfoList;
@ApiModelProperty("任务创建人(userId)")
private String buildUser;
public Long getDuration(){ public Long getDuration(){
if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) { if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) {
return endTime - beginTime; return endTime - beginTime;

40
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -1380,7 +1380,30 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
//用户在项目中的最高权限 //用户在项目中的最高权限
int power = proRoleService.selectPowerByRoleName(currentUserId, taskDetail.getProjectId()); int power = proRoleService.selectPowerByRoleName(currentUserId, taskDetail.getProjectId());
if (power > 1) { boolean flag = false;
ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole());
if (executorRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) {
flag = true;
} else {
ProMemberExample memberExample = new ProMemberExample();
memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(taskDetail.getProjectId());
List<ProMember> memberList = proMemberDao.selectByExample(memberExample);
if (CollectionUtil.isNotEmpty(memberList)) {
if (ObjectUtil.isNotNull(executorRole)) {
ProMemberRoleExample memberRoleExample = new ProMemberRoleExample();
memberRoleExample.createCriteria().andRoleIdEqualTo(executorRole.getId()).andMemberIdEqualTo(memberList.get(0).getId());
if (proMemberRoleDao.countByExample(memberRoleExample) != 0) {
flag = true;
}
}
}
}
//判断用户是否是此任务的的创建人
if(taskDetail.getBuildUser().equals(currentUserId)){
flag = true;
}
if (power > WebConstant.ROLE_POWER.LOOK_POWER.value || flag) {
if (ObjectUtil.isNotNull(taskDetail)) { if (ObjectUtil.isNotNull(taskDetail)) {
//修改任务删除状态 //修改任务删除状态
taskDetail.setRecStatus(WebConstant.REC_STATUS.Deleted.value); taskDetail.setRecStatus(WebConstant.REC_STATUS.Deleted.value);
@ -1441,7 +1464,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (ObjectUtil.isNotNull(taskSubTime)) { if (ObjectUtil.isNotNull(taskSubTime)) {
taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId());
} else { } else {
taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId()); //任务详情 //任务详情
taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId());
} }
if (ObjectUtil.isNotNull(taskDetail)) { if (ObjectUtil.isNotNull(taskDetail)) {
@ -1468,8 +1492,12 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
} }
} }
//判断用户是否是此任务的的创建人
if(taskDetail.getBuildUser().equals(currentUserId)){
flag = true;
}
if (power > 1 || flag) { if (power > WebConstant.ROLE_POWER.LOOK_POWER.value || flag) {
//任务名 //任务名
if (StrUtil.isNotEmpty(updateTaskInfo.getName())) { if (StrUtil.isNotEmpty(updateTaskInfo.getName())) {
taskDetail.setName(updateTaskInfo.getName()); taskDetail.setName(updateTaskInfo.getName());
@ -1632,9 +1660,9 @@ public class ProTaskDetailService implements IProTaskDetailService {
taskDetailDao.updateByPrimaryKeySelective(proTaskDetail); taskDetailDao.updateByPrimaryKeySelective(proTaskDetail);
}); });
for (ProTaskDetail proTaskDetail : proTaskDetailList) { // for (ProTaskDetail proTaskDetail : proTaskDetailList) {
//
} // }
} }
} else { } else {
//父任务id //父任务id

1
tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java

@ -363,6 +363,7 @@ public class TaskSubTimeService implements ITaskSubTimeService {
detail.setParentId(addTask.getParentTaskId()); detail.setParentId(addTask.getParentTaskId());
detail.setExecutorRole(addTask.getExecutorId()); detail.setExecutorRole(addTask.getExecutorId());
detail.setMilestone(addTask.getMilestone()); detail.setMilestone(addTask.getMilestone());
detail.setBuildUser(currentUserId);
//添加任务优先级 //添加任务优先级
if(ObjectUtil.isNotNull(addTask.getPriority())){ if(ObjectUtil.isNotNull(addTask.getPriority())){
detail.setPriority(addTask.getPriority()); detail.setPriority(addTask.getPriority());

7
tall/src/main/resources/mapper_dao/TaskDetailDao.xml

@ -41,6 +41,7 @@
<result column="priority" property="priority" /> <result column="priority" property="priority" />
<result column="milestone" property="milestone" /> <result column="milestone" property="milestone" />
<result column="tParentId" property="parentId" /> <result column="tParentId" property="parentId" />
<result column="buildUser" property="buildUser" />
<collection property="plugins" ofType="com.ccsens.tall.bean.vo.TaskVo$PluginVo"> <collection property="plugins" ofType="com.ccsens.tall.bean.vo.TaskVo$PluginVo">
<id column="pId" property="id"/> <id column="pId" property="id"/>
<result column="pName" property="name"/> <result column="pName" property="name"/>
@ -99,7 +100,8 @@
sp.show_type as spShowType, sp.show_type as spShowType,
d.priority as priority, d.priority as priority,
d.milestone as milestone, d.milestone as milestone,
d.parent_id AS tParentId d.parent_id AS tParentId,
d.build_user AS buildUser
FROM FROM
t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id
LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id
@ -258,7 +260,8 @@
sp.id as spid, sp.id as spid,
sp.show_type as spShowType, sp.show_type as spShowType,
d.milestone as milestone, d.milestone as milestone,
d.parent_id AS tParentId d.parent_id AS tParentId,
d.build_user AS buildUser
FROM FROM
t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id
LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id

25
tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml

@ -30,6 +30,7 @@
<result column="rec_status" jdbcType="TINYINT" property="recStatus" /> <result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="priority" jdbcType="TINYINT" property="priority" /> <result column="priority" jdbcType="TINYINT" property="priority" />
<result column="milestone" jdbcType="VARCHAR" property="milestone" /> <result column="milestone" jdbcType="VARCHAR" property="milestone" />
<result column="build_user" jdbcType="BIGINT" property="buildUser" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<where> <where>
@ -93,7 +94,7 @@
id, project_id, name, description, begin_time, end_time, cycle, parent_id, sub_task, id, project_id, name, description, begin_time, end_time, cycle, parent_id, sub_task,
sub_project_id, sub_project, executor_role, checker_role, money, delay, delay_time, sub_project_id, sub_project, executor_role, checker_role, money, delay, delay_time,
loop_to, loop_times, virtual, level, has_group, finish_need_all, all_member, created_at, loop_to, loop_times, virtual, level, has_group, finish_need_all, all_member, created_at,
updated_at, rec_status, priority, milestone updated_at, rec_status, priority, milestone, build_user
</sql> </sql>
<select id="selectByExample" parameterType="com.ccsens.tall.bean.po.ProTaskDetailExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.ccsens.tall.bean.po.ProTaskDetailExample" resultMap="BaseResultMap">
select select
@ -135,7 +136,7 @@
virtual, level, has_group, virtual, level, has_group,
finish_need_all, all_member, created_at, finish_need_all, all_member, created_at,
updated_at, rec_status, priority, updated_at, rec_status, priority,
milestone) milestone, build_user)
values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR},
#{description,jdbcType=VARCHAR}, #{beginTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT}, #{description,jdbcType=VARCHAR}, #{beginTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT},
#{cycle,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT}, #{subTask,jdbcType=VARCHAR}, #{cycle,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT}, #{subTask,jdbcType=VARCHAR},
@ -145,7 +146,7 @@
#{virtual,jdbcType=TINYINT}, #{level,jdbcType=TINYINT}, #{hasGroup,jdbcType=TINYINT}, #{virtual,jdbcType=TINYINT}, #{level,jdbcType=TINYINT}, #{hasGroup,jdbcType=TINYINT},
#{finishNeedAll,jdbcType=TINYINT}, #{allMember,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{finishNeedAll,jdbcType=TINYINT}, #{allMember,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{priority,jdbcType=TINYINT}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{priority,jdbcType=TINYINT},
#{milestone,jdbcType=VARCHAR}) #{milestone,jdbcType=VARCHAR}, #{buildUser,jdbcType=BIGINT})
</insert> </insert>
<insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.ProTaskDetail"> <insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.ProTaskDetail">
insert into t_pro_task_detail insert into t_pro_task_detail
@ -234,6 +235,9 @@
<if test="milestone != null"> <if test="milestone != null">
milestone, milestone,
</if> </if>
<if test="buildUser != null">
build_user,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
@ -320,6 +324,9 @@
<if test="milestone != null"> <if test="milestone != null">
#{milestone,jdbcType=VARCHAR}, #{milestone,jdbcType=VARCHAR},
</if> </if>
<if test="buildUser != null">
#{buildUser,jdbcType=BIGINT},
</if>
</trim> </trim>
</insert> </insert>
<select id="countByExample" parameterType="com.ccsens.tall.bean.po.ProTaskDetailExample" resultType="java.lang.Long"> <select id="countByExample" parameterType="com.ccsens.tall.bean.po.ProTaskDetailExample" resultType="java.lang.Long">
@ -415,6 +422,9 @@
<if test="record.milestone != null"> <if test="record.milestone != null">
milestone = #{record.milestone,jdbcType=VARCHAR}, milestone = #{record.milestone,jdbcType=VARCHAR},
</if> </if>
<if test="record.buildUser != null">
build_user = #{record.buildUser,jdbcType=BIGINT},
</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" />
@ -449,7 +459,8 @@
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}, rec_status = #{record.recStatus,jdbcType=TINYINT},
priority = #{record.priority,jdbcType=TINYINT}, priority = #{record.priority,jdbcType=TINYINT},
milestone = #{record.milestone,jdbcType=VARCHAR} milestone = #{record.milestone,jdbcType=VARCHAR},
build_user = #{record.buildUser,jdbcType=BIGINT}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
@ -538,6 +549,9 @@
<if test="milestone != null"> <if test="milestone != null">
milestone = #{milestone,jdbcType=VARCHAR}, milestone = #{milestone,jdbcType=VARCHAR},
</if> </if>
<if test="buildUser != null">
build_user = #{buildUser,jdbcType=BIGINT},
</if>
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
@ -569,7 +583,8 @@
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}, rec_status = #{recStatus,jdbcType=TINYINT},
priority = #{priority,jdbcType=TINYINT}, priority = #{priority,jdbcType=TINYINT},
milestone = #{milestone,jdbcType=VARCHAR} milestone = #{milestone,jdbcType=VARCHAR},
build_user = #{buildUser,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
</mapper> </mapper>
Loading…
Cancel
Save