diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java index 1a855c3a..4d583b01 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java @@ -27,4 +27,12 @@ public interface IInputDocDao { * @return */ List viewDocHistory(Long docId); + + /** + * 查询二级任务下的所有的任务 + * @param param + * @param userId + * @return + */ + List selByTwoTaskId(@Param("param") LwbsDto.SelByProjectIdToTaskDto param,@Param("userId") Long userId,@Param("taskId") Long taskId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java index 9413572f..1ad98303 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java @@ -10,12 +10,29 @@ import com.ccsens.util.bean.dto.QueryDto; import java.util.List; public interface IInputDocService { + /** + * 查询 该人参加得所有的项目 + * @param param + * @param userId + * @return + */ List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId); + /** + * 查询 该人参加的项目(把项目当成一级任务)及项目下的二级任务 + * @param param + * @param userId + * @return + */ TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); - //List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); - + /** + * 查询二级任务下的所有的子任务 + * @param param + * @param userId + * @return + */ + List selByTwoTaskId(LwbsDto.SelByProjectIdToTaskDto param, Long userId,Long taskId); /** * 根据任务id查询输入文档 * @param params 任务id diff --git a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java index 0ce20d68..af64d66e 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -79,6 +79,21 @@ public class InputDocService implements IInputDocService { TaskVo.ProTaskInfo taskInfo=new TaskVo.ProTaskInfo(); //普通的任务和全局的 List normalTaskList1= iInputDocDao.selectByCompany(param,userId); + //给二级任务下添加子任务 + //遍历项目 + for (int i = 0; i < normalTaskList1.size(); i++) { + //遍历任务 + for (int i1 = 0; i1 < normalTaskList1.get(i).getSecondTasks().size(); i1++) { + Long taskId= normalTaskList1.get(i).getSecondTasks().get(i1).getDetailId(); + //查询该任务下的子任务 + List list = selByTwoTaskId(param, userId, taskId); + //给二级任务添加子任务 + if(CollectionUtil.isNotEmpty(list)){ + // 第i个项目 i1个二级任务 添加二级任务的子任务 + normalTaskList1.get(i).getSecondTasks().get(i1).getSecondTasks().addAll(list); + } + } + } //拆分后得全局任务和普通任务 List globalTaskList = new ArrayList<>(); List normalTaskList = new ArrayList<>(); @@ -87,24 +102,55 @@ public class InputDocService implements IInputDocService { List list= normalTaskList1.get(i).getSecondTasks(); TaskUtil.Task task = TaskUtil.splitTask(list, param.getStartTime(), param.getEndTime(), param.getProcess()); if(CollectionUtil.isNotEmpty(task.getGlobalTask())){ - //给全局任务下先存项目名称 - TaskVo.GlobalTask globalTask=new TaskVo.GlobalTask(); - BeanUtil.copyProperties(normalTaskList1.get(i),globalTask); - globalTask.setNormalTaskList(task.getGlobalTask()); - globalTaskList.add(globalTask); + if(param.getId()==null) { + //给全局任务下先存项目名称 + TaskVo.GlobalTask globalTask = new TaskVo.GlobalTask(); + BeanUtil.copyProperties(normalTaskList1.get(i), globalTask); + globalTask.setNormalTaskList(task.getGlobalTask()); + globalTaskList.add(globalTask); + }else { + //直接存二级任务信息 + task.getGlobalTask().forEach(ac->{ + TaskVo.GlobalTask globalTask = new TaskVo.GlobalTask(); + BeanUtil.copyProperties(ac,globalTask); + globalTask.setNormalTaskList(ac.getSecondTasks()); + globalTaskList.add(globalTask); + }); + } } if(CollectionUtil.isNotEmpty(task.getCommonTask())){ - //给普通任务下先存项目 - TaskVo.NormalTask normalTask =new TaskVo.NormalTask(); - BeanUtil.copyProperties(normalTaskList1.get(i),normalTask); - normalTask.setSecondTasks(task.getCommonTask()); - normalTaskList.add(normalTask); + if(param.getId()==null) { + //给普通任务下先存项目 + TaskVo.NormalTask normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(normalTaskList1.get(i), normalTask); + normalTask.setSecondTasks(task.getCommonTask()); + normalTaskList.add(normalTask); + }else { + //自查项目不要项目信息 + task.getCommonTask().forEach(ac1->{ + normalTaskList.add(ac1); + }); + } } } taskInfo.setGlobalTaskList(globalTaskList); taskInfo.setNormalTaskList(normalTaskList); + return taskInfo; } + + /** + * 查询二级任务下的所有的子任务 + * + * @param param + * @param userId + * @return + */ + @Override + public List selByTwoTaskId(LwbsDto.SelByProjectIdToTaskDto param, Long userId,Long taskId) { + return iInputDocDao.selByTwoTaskId(param, userId,taskId); + } + /** * 根据任务id查找输入文档 * @param param 任务id diff --git a/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml index 9cabea14..61914175 100644 --- a/tall/src/main/resources/mapper_dao/IInputDocDao.xml +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -39,13 +39,13 @@ tsp.description AS pDescription, tsp.begin_time as pBeginTime, tsp.end_time as pEndTime, - (tsp.end_time-tsp.begin_time)/1000/3600 as pDuration, + (tsp.end_time-tsp.begin_time)/1000/3600/24 as pDuration, tptdt.id as task_id, tptdt.name, tptdt.description, tptdt.begin_time_sub_time, tptdt.end_time_sub_time, - (tptdt.end_time_sub_time-tptdt.begin_time_sub_time)/1000/3600 as duration, + (tptdt.end_time_sub_time-tptdt.begin_time_sub_time)/1000/3600/24 as duration, tptdt.cycle, tptdt.priority, tptdt.milestone, @@ -97,7 +97,36 @@ and tsp.id =#{param.id} - + + + + + + + + + + + + + + + + \ No newline at end of file