From 4bf85973d1e1fda51ab2a05cad3d036cf893db7b Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Fri, 30 Apr 2021 17:37:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9lwbs=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=B1=82=E7=BA=A7=E9=97=AE=E9=A2=98,=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E9=81=87=E5=88=B0=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/tall/bean/vo/TaskVo.java | 3 +- .../tall/persist/dao/TaskDetailDao.java | 10 ++++++- .../com/ccsens/tall/service/LwbsService.java | 7 +++++ .../tall/service/ProTaskDetailService.java | 6 ++-- .../tall/service/TaskDeliverService.java | 7 ++++- .../resources/mapper_dao/TaskDetailDao.xml | 28 +++++++++++++++++++ 6 files changed, 56 insertions(+), 5 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index 17876277..e1d61885 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -13,6 +13,7 @@ import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.ByteArrayInputStream; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; @Data @@ -148,7 +149,7 @@ public class TaskVo { @ApiModelProperty("插件") private List plugins; @ApiModelProperty("二级任务") - private List secondTasks; + private List secondTasks = new ArrayList<>(); @ApiModelProperty("时间状态 0:正常 1:任务开始 2:任务结束") private Byte timeStatus = 0; @ApiModelProperty("当前周期内任务的序号") diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java index c8cdff27..359110b8 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java @@ -68,7 +68,8 @@ public interface TaskDetailDao extends ProTaskDetailMapper { * @param startTime 开始时间 * @param endTime 结束时间 * @param userId 当前用户的userId - * @return + * @param roleIds 角色id + * @return lwb任务 */ List queryLwbsByProjectId(@Param("projectId")Long projectId, @Param("startTime")Long startTime, @Param("endTime")Long endTime, @Param("userId")Long userId,@Param("roleIds") List roleIds); @@ -95,4 +96,11 @@ public interface TaskDetailDao extends ProTaskDetailMapper { * @return 分解任务 List */ List selectTaskByExecutorRoleId(@Param("roleIds") List roleIds,@Param("startTime") Long startTime,@Param("endTime") Long endTime); + + /** + * 根据任务详情id查询二级任务 + * @param detailId 任务详情id + * @return 二级任务 + */ + List getSecondTasks(Long detailId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/LwbsService.java b/tall/src/main/java/com/ccsens/tall/service/LwbsService.java index 40661c1d..257a3f5a 100644 --- a/tall/src/main/java/com/ccsens/tall/service/LwbsService.java +++ b/tall/src/main/java/com/ccsens/tall/service/LwbsService.java @@ -117,6 +117,13 @@ public class LwbsService implements ILwbsService{ TaskUtil.Task task = TaskUtil.splitTask(taskList, param.getStartTime(), param.getEndTime(), param.getProcess()); proTaskInfo.setGlobalTaskList(task.getGlobal()); proTaskInfo.setNormalTaskList(task.getCommonTask()); + //查看普通任务下是否有子任务 + if (CollectionUtil.isNotEmpty(proTaskInfo.getNormalTaskList())){ + for (TaskVo.NormalTask normalTask : proTaskInfo.getNormalTaskList()) { + List secondTasks = taskDetailDao.getSecondTasks(normalTask.getDetailId()); + normalTask.getSecondTasks().addAll(secondTasks); + } + } } } return proTaskInfo; diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 3e76ad57..241d3fdd 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -850,8 +850,10 @@ public class ProTaskDetailService implements IProTaskDetailService { //根据任务id查询项目下项目经理 Long pmId = taskDetailDao.selectPmByTaskId(task.getId()); ProRole proRole = proRoleDao.selectByPrimaryKey(pmId); - taskDetail.setCheckerRole(proRole.getId()); - taskDetail.setCheckerRoleName(proRole.getName()); + if (ObjectUtil.isNotNull(proRole)){ + taskDetail.setCheckerRole(proRole.getId()); + taskDetail.setCheckerRoleName(proRole.getName()); + } } } diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java index b02f2691..5d1cedd7 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java @@ -1254,14 +1254,19 @@ public class TaskDeliverService implements ITaskDeliverService { //查找任务详情id Long taskDetailId = null; + //查找项目id + Long projectId = null; + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(param.getTaskId()); if(ObjectUtil.isNotNull(taskDetail)){ taskDetailId = taskDetail.getId(); + projectId = taskDetail.getProjectId(); }else { ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(param.getTaskId()); if(ObjectUtil.isNotNull(proTaskSubTime)){ ProTaskDetail task = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId()); if(ObjectUtil.isNotNull(task)){ + projectId = task.getId(); taskDetailId = task.getId(); } } @@ -1288,7 +1293,7 @@ public class TaskDeliverService implements ITaskDeliverService { taskDeliverDao.insertSelective(proTaskDeliver); } - normalTask = taskDetailService.getTaskInfoByTaskId(userId, taskDetail.getProjectId(), param.getTaskId(), null); + normalTask = taskDetailService.getTaskInfoByTaskId(userId, projectId, param.getTaskId(), null); return normalTask; } diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index f72b8f26..85612636 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -660,6 +660,7 @@ s.rec_status = 0 and d.executor_role = #{userId} AND d.project_id = 0 + AND d.parent_id = 0 order by s.begin_time )t LEFT JOIN @@ -797,4 +798,31 @@ AND tst.begin_time >= #{startTime} AND tst.end_time <= #{endTime} + + \ No newline at end of file