Browse Source

提交

recovery
wang0018 4 years ago
parent
commit
f2cddbafe7
  1. 8
      tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java
  2. 21
      tall/src/main/java/com/ccsens/tall/service/IInputDocService.java
  3. 66
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  4. 36
      tall/src/main/resources/mapper_dao/IInputDocDao.xml

8
tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java

@ -27,4 +27,12 @@ public interface IInputDocDao {
* @return
*/
List<InputDocVo.HistoryRecord> viewDocHistory(Long docId);
/**
* 查询二级任务下的所有的任务
* @param param
* @param userId
* @return
*/
List<TaskVo.NormalTask> selByTwoTaskId(@Param("param") LwbsDto.SelByProjectIdToTaskDto param,@Param("userId") Long userId,@Param("taskId") Long taskId);
}

21
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<LwbsVo.SelByUserIdToComProjectVo> selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId);
/**
* 查询 该人参加的项目把项目当成一级任务及项目下的二级任务
* @param param
* @param userId
* @return
*/
TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId);
//List<LwbsVo.SelByProjectIdToTasksVo> selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId);
/**
* 查询二级任务下的所有的子任务
* @param param
* @param userId
* @return
*/
List<TaskVo.NormalTask> selByTwoTaskId(LwbsDto.SelByProjectIdToTaskDto param, Long userId,Long taskId);
/**
* 根据任务id查询输入文档
* @param params 任务id

66
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<TaskVo.NormalTask> 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<TaskVo.NormalTask> list = selByTwoTaskId(param, userId, taskId);
//给二级任务添加子任务
if(CollectionUtil.isNotEmpty(list)){
// 第i个项目 i1个二级任务 添加二级任务的子任务
normalTaskList1.get(i).getSecondTasks().get(i1).getSecondTasks().addAll(list);
}
}
}
//拆分后得全局任务和普通任务
List<TaskVo.GlobalTask> globalTaskList = new ArrayList<>();
List<TaskVo.NormalTask> normalTaskList = new ArrayList<>();
@ -87,24 +102,55 @@ public class InputDocService implements IInputDocService {
List<TaskVo.NormalTask> 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<TaskVo.NormalTask> selByTwoTaskId(LwbsDto.SelByProjectIdToTaskDto param, Long userId,Long taskId) {
return iInputDocDao.selByTwoTaskId(param, userId,taskId);
}
/**
* 根据任务id查找输入文档
* @param param 任务id

36
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}
</if>
</select>
<resultMap type="com.ccsens.tall.bean.vo.TaskVo$NormalTask" id="selByTwoTaskIdResaultMap">
<id property="id" column="times_id"/>
<result property="detailId" column="id"/>
<result property="name" column="name"/>
<result property="description" column="description"/>
<result property="beginTime" column="begin_time_sub_time"/>
<result property="endTime" column="end_time_sub_time"/>
<result property="duration" column="duration"/>
<result property="cycle" column="cycle"/>
<result property="priority" column="priority"/>
<result property="milestone" column="milestone"/>
<result property="hasGroup" column="has_group"/>
<result property="projectId" column="project_id" />
</resultMap>
<select id="selByTwoTaskId" resultMap="selByTwoTaskIdResaultMap">
SELECT
tptd.*,
tptst.begin_time AS begin_time_sub_time,
tptst.end_time AS end_time_sub_time,
(tptst.end_time-tptst.begin_time)/1000/3600/24 as duration,
tptst.id as times_id
FROM
t_pro_task_detail tptd
LEFT JOIN t_pro_task_sub_time tptst ON tptd.id = tptst.task_detail_id
AND tptst.rec_status = 0
WHERE
tptd.rec_status = 0
and tptd.parent_id=#{taskId}
AND tptst.begin_time &lt;= #{param.endTime} AND tptst.end_time &gt;= #{param.startTime}
</select>
<select id="findDocByTask" resultMap="DocAndFile">
SELECT
tid.id AS docId,
@ -134,4 +163,5 @@
ORDER BY
tir.created_at DESC
</select>
</mapper>
Loading…
Cancel
Save