Browse Source

修改lwbs任务层级问题,生产遇到的bug

logistics
ma 4 years ago
parent
commit
4bf85973d1
  1. 3
      tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java
  2. 10
      tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java
  3. 7
      tall/src/main/java/com/ccsens/tall/service/LwbsService.java
  4. 6
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  5. 7
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  6. 28
      tall/src/main/resources/mapper_dao/TaskDetailDao.xml

3
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<PluginVo> plugins;
@ApiModelProperty("二级任务")
private List<NormalTask> secondTasks;
private List<NormalTask> secondTasks = new ArrayList<>();
@ApiModelProperty("时间状态 0:正常 1:任务开始 2:任务结束")
private Byte timeStatus = 0;
@ApiModelProperty("当前周期内任务的序号")

10
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<TaskVo.NormalTask> queryLwbsByProjectId(@Param("projectId")Long projectId, @Param("startTime")Long startTime, @Param("endTime")Long endTime, @Param("userId")Long userId,@Param("roleIds") List<Long> roleIds);
@ -95,4 +96,11 @@ public interface TaskDetailDao extends ProTaskDetailMapper {
* @return 分解任务 List
*/
List<TaskVo.AboutWeekTask> selectTaskByExecutorRoleId(@Param("roleIds") List<Long> roleIds,@Param("startTime") Long startTime,@Param("endTime") Long endTime);
/**
* 根据任务详情id查询二级任务
* @param detailId 任务详情id
* @return 二级任务
*/
List<TaskVo.NormalTask> getSecondTasks(Long detailId);
}

7
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<TaskVo.NormalTask> secondTasks = taskDetailDao.getSecondTasks(normalTask.getDetailId());
normalTask.getSecondTasks().addAll(secondTasks);
}
}
}
}
return proTaskInfo;

6
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());
}
}
}

7
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;
}

28
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 &gt;= #{startTime}
AND tst.end_time &lt;= #{endTime}
</select>
<select id="getSecondTasks" resultType="com.ccsens.tall.bean.vo.TaskVo$NormalTask">
SELECT
td.id AS detailId,
td.executor_role AS executorRole,
td.parent_id AS parentId,
(
SELECT
`name`
FROM
t_pro_task_detail
WHERE
id = #{detailId}
) AS parentName,
td.begin_time AS beginTime,
td.end_time AS endTime,
td.priority AS priority,
td.name AS name,
tst.id AS id,
td.project_id AS projectId
FROM
t_pro_task_detail AS td
LEFT JOIN t_pro_task_sub_time AS tst ON tst.task_detail_id = td.id AND tst.rec_status = 0
WHERE
td.parent_id = #{detailId}
AND td.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save