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 javax.validation.constraints.NotNull;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Data @Data
@ -148,7 +149,7 @@ public class TaskVo {
@ApiModelProperty("插件") @ApiModelProperty("插件")
private List<PluginVo> plugins; private List<PluginVo> plugins;
@ApiModelProperty("二级任务") @ApiModelProperty("二级任务")
private List<NormalTask> secondTasks; private List<NormalTask> secondTasks = new ArrayList<>();
@ApiModelProperty("时间状态 0:正常 1:任务开始 2:任务结束") @ApiModelProperty("时间状态 0:正常 1:任务开始 2:任务结束")
private Byte timeStatus = 0; private Byte timeStatus = 0;
@ApiModelProperty("当前周期内任务的序号") @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 startTime 开始时间
* @param endTime 结束时间 * @param endTime 结束时间
* @param userId 当前用户的userId * @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); 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 * @return 分解任务 List
*/ */
List<TaskVo.AboutWeekTask> selectTaskByExecutorRoleId(@Param("roleIds") List<Long> roleIds,@Param("startTime") Long startTime,@Param("endTime") Long endTime); 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()); TaskUtil.Task task = TaskUtil.splitTask(taskList, param.getStartTime(), param.getEndTime(), param.getProcess());
proTaskInfo.setGlobalTaskList(task.getGlobal()); proTaskInfo.setGlobalTaskList(task.getGlobal());
proTaskInfo.setNormalTaskList(task.getCommonTask()); 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; return proTaskInfo;

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

@ -850,8 +850,10 @@ public class ProTaskDetailService implements IProTaskDetailService {
//根据任务id查询项目下项目经理 //根据任务id查询项目下项目经理
Long pmId = taskDetailDao.selectPmByTaskId(task.getId()); Long pmId = taskDetailDao.selectPmByTaskId(task.getId());
ProRole proRole = proRoleDao.selectByPrimaryKey(pmId); ProRole proRole = proRoleDao.selectByPrimaryKey(pmId);
taskDetail.setCheckerRole(proRole.getId()); if (ObjectUtil.isNotNull(proRole)){
taskDetail.setCheckerRoleName(proRole.getName()); 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 //查找任务详情id
Long taskDetailId = null; Long taskDetailId = null;
//查找项目id
Long projectId = null;
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(param.getTaskId()); ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(param.getTaskId());
if(ObjectUtil.isNotNull(taskDetail)){ if(ObjectUtil.isNotNull(taskDetail)){
taskDetailId = taskDetail.getId(); taskDetailId = taskDetail.getId();
projectId = taskDetail.getProjectId();
}else { }else {
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(param.getTaskId()); ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(param.getTaskId());
if(ObjectUtil.isNotNull(proTaskSubTime)){ if(ObjectUtil.isNotNull(proTaskSubTime)){
ProTaskDetail task = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId()); ProTaskDetail task = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId());
if(ObjectUtil.isNotNull(task)){ if(ObjectUtil.isNotNull(task)){
projectId = task.getId();
taskDetailId = task.getId(); taskDetailId = task.getId();
} }
} }
@ -1288,7 +1293,7 @@ public class TaskDeliverService implements ITaskDeliverService {
taskDeliverDao.insertSelective(proTaskDeliver); taskDeliverDao.insertSelective(proTaskDeliver);
} }
normalTask = taskDetailService.getTaskInfoByTaskId(userId, taskDetail.getProjectId(), param.getTaskId(), null); normalTask = taskDetailService.getTaskInfoByTaskId(userId, projectId, param.getTaskId(), null);
return normalTask; return normalTask;
} }

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

@ -660,6 +660,7 @@
s.rec_status = 0 s.rec_status = 0
and d.executor_role = #{userId} and d.executor_role = #{userId}
AND d.project_id = 0 AND d.project_id = 0
AND d.parent_id = 0
order by s.begin_time order by s.begin_time
)t )t
LEFT JOIN LEFT JOIN
@ -797,4 +798,31 @@
AND tst.begin_time &gt;= #{startTime} AND tst.begin_time &gt;= #{startTime}
AND tst.end_time &lt;= #{endTime} AND tst.end_time &lt;= #{endTime}
</select> </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> </mapper>
Loading…
Cancel
Save