Browse Source

查询子项目,查询子任务

tall3
ma 4 years ago
parent
commit
79edf69929
  1. 7
      common/src/main/java/com/ccsens/common/bean/dto/CProjectDto.java
  2. 8
      common/src/main/java/com/ccsens/common/bean/dto/CTaskDto.java
  3. 30
      common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java
  4. 10
      common/src/main/java/com/ccsens/common/persist/dao/ProProjectDao.java
  5. 8
      common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java
  6. 12
      common/src/main/java/com/ccsens/common/service/IProjectService.java
  7. 9
      common/src/main/java/com/ccsens/common/service/ITaskService.java
  8. 9
      common/src/main/java/com/ccsens/common/service/ProjectService.java
  9. 11
      common/src/main/java/com/ccsens/common/service/TaskService.java
  10. 4
      common/src/main/resources/application.yml
  11. 33
      common/src/main/resources/mapper_dao/ProProjectDao.xml
  12. 32
      common/src/main/resources/mapper_dao/ProTaskDetailDao.xml

7
common/src/main/java/com/ccsens/common/bean/dto/CProjectDto.java

@ -49,4 +49,11 @@ public class CProjectDto {
@ApiModelProperty("所属角色的名称")
private String roleName;
}
@Data
@ApiModel("查询子项目信息")
public static class FindSonProject {
@ApiModelProperty("项目id")
private Long projectId;
}
}

8
common/src/main/java/com/ccsens/common/bean/dto/CTaskDto.java

@ -69,4 +69,12 @@ public class CTaskDto {
@ApiModelProperty("关联的绝对时间")
private Long timeDifference;
}
@Data
@ApiModel("查询子任务信息")
public static class FindSonTask{
@NotNull(message = "任务id不能为空")
@ApiModelProperty("任务详情id")
private Long detailId;
}
}

30
common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java

@ -102,4 +102,34 @@ public class CTaskVo {
private Long parentTaskDetailId;
}
@Data
@ApiModel("子任务信息")
public static class SonTaskDetail{
@ApiModelProperty("任务详情id")
private Long detailId;
@ApiModelProperty("任务名称")
private String name;
@ApiModelProperty("任务描述")
private String description;
@ApiModelProperty("重复频率")
private String cycle;
//以下是任务关系表
@ApiModelProperty("计划开始时间")
private Long planStartTime;
@ApiModelProperty("计划时长")
private Long planDuration;
@ApiModelProperty("计划结束时间")
private Long planEndTime;
@ApiModelProperty("实际开始时间")
private Long realStartTime;
@ApiModelProperty("实际时长")
private Long realDuration;
@ApiModelProperty("实际结束时间")
private Long realEndTime;
@ApiModelProperty("任务完成状态 0未开始 1进行中 2暂停 3完成")
private Byte taskStatus;
}
}

10
common/src/main/java/com/ccsens/common/persist/dao/ProProjectDao.java

@ -1,9 +1,12 @@
package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.dto.CProjectDto;
import com.ccsens.common.bean.vo.CProjectVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author AUSU
*/
@ -16,4 +19,11 @@ public interface ProProjectDao{
* @return 项目详情
*/
CProjectVo.ProjectInfo findProjectById(@Param("projectId") Long projectId);
/**
* 查询子项目列表
* @param param 项目id
* @return 子项目列表
*/
List<CProjectVo.ProjectInfo> findSonProjectId(CProjectDto.FindSonProject param);
}

8
common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java

@ -1,5 +1,6 @@
package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.dto.CTaskDto;
import com.ccsens.common.bean.po.ProTaskDetail;
import com.ccsens.common.bean.po.ProTaskStatusRecord;
import com.ccsens.common.bean.vo.CTaskVo;
@ -71,4 +72,11 @@ public interface ProTaskDetailDao extends ProTaskDetailMapper {
* @param newTaskDetailList 任务详情列表
*/
void insertAllTaskDetail(@Param("newTaskDetailList") List<ProTaskDetail> newTaskDetailList);
/**
* 查询子任务列表
* @param param 项目id
* @return 子任务列表
*/
List<CTaskVo.SonTaskDetail> findSonTask(CTaskDto.FindSonTask param);
}

12
common/src/main/java/com/ccsens/common/service/IProjectService.java

@ -3,6 +3,8 @@ package com.ccsens.common.service;
import com.ccsens.common.bean.dto.CProjectDto;
import com.ccsens.common.bean.vo.CProjectVo;
import java.util.List;
/**
* @author ma
*/
@ -25,7 +27,15 @@ public interface IProjectService {
/**
* 为复制的项目添加成员
* @return
*/
void addMemberForCopy(CProjectDto.MemberForProject param,Long userId);
/**
* 查询子项目信息
* @param param 项目id
* @param userId 用户id
* @return 子项目信息列表
*/
List<CProjectVo.ProjectInfo> findSonProject(CProjectDto.FindSonProject param, Long userId);
}

9
common/src/main/java/com/ccsens/common/service/ITaskService.java

@ -47,4 +47,13 @@ public interface ITaskService {
* @param updateTaskProcesses 任务信息
*/
void updateTaskProcess(List<CTaskDto.UpdateTaskProcess> updateTaskProcesses);
/**
*查询子任务
* @param param 任务id
* @param userId 用户id
* @return 子项目列表
*/
List<CTaskVo.SonTaskDetail> findSonTask(CTaskDto.FindSonTask param,Long userId);
}

9
common/src/main/java/com/ccsens/common/service/ProjectService.java

@ -438,5 +438,14 @@ public class ProjectService implements IProjectService{
}
}
@Override
public List<CProjectVo.ProjectInfo> findSonProject(CProjectDto.FindSonProject param, Long userId) {
ProTaskDetail projectInfo = taskDetailDao.selectByPrimaryKey(param.getProjectId());
if (ObjectUtil.isNull(projectInfo)) {
throw new BaseException(CommonCodeError.PROJECT_NOT_FOUND);
}
return projectDao.findSonProjectId(param);
}
}

11
common/src/main/java/com/ccsens/common/service/TaskService.java

@ -13,6 +13,7 @@ import com.ccsens.common.persist.dao.*;
import com.ccsens.common.persist.mapper.ProTaskStatusRecordMapper;
import com.ccsens.common.util.CommonCodeError;
import com.ccsens.common.util.Constant;
import com.ccsens.util.CodeError;
import com.ccsens.util.JacksonUtil;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant;
@ -578,4 +579,14 @@ public class TaskService implements ITaskService {
}
}
@Override
public List<CTaskVo.SonTaskDetail> findSonTask(CTaskDto.FindSonTask param, Long userId) {
ProTaskDetail proTaskDetail = taskDetailDao.selectByPrimaryKey(param.getDetailId());
if (ObjectUtil.isNull(proTaskDetail)) {
throw new BaseException(CommonCodeError.NOT_TASK);
}
return taskDetailDao.findSonTask(param);
}
}

4
common/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: dev
include: util-dev,common
active: prod
include: util-prod,common

33
common/src/main/resources/mapper_dao/ProProjectDao.xml

@ -25,4 +25,37 @@
s.plan_start_time DESC
LIMIT 1
</select>
<select id="findSonProjectId" resultType="com.ccsens.common.bean.vo.CProjectVo$ProjectInfo">
SELECT
d.id AS detailId,
d.`name`,
d.description,
d.cycle,
s.plan_start_time,
s.plan_duration,
s.plan_end_time,
s.real_start_time,
s.real_duration,
s.real_end_time,
s.task_status
FROM
t_pro_parent_task AS pt
LEFT JOIN t_pro_task_detail AS d ON d.id = pt.task_detail_id
LEFT JOIN t_pro_task_sub AS s ON s.task_detail_id = pt.task_detail_id
LEFT JOIN t_label_business AS lb ON pt.task_detail_id = lb.business_id
LEFT JOIN t_label AS l ON lb.label_id = l.id
LEFT JOIN t_label_type AS lt ON l.label_type_id = lt.id
WHERE
lb.rec_status = 0
AND pt.rec_status = 0
AND d.rec_status = 0
AND s.rec_status = 0
AND l.rec_status = 0
AND lt.rec_status = 0
AND l.`level` = 0
AND lt.label_type = 1
AND pt.parent_task_detail_id = #{projectId}
</select>
</mapper>

32
common/src/main/resources/mapper_dao/ProTaskDetailDao.xml

@ -347,4 +347,36 @@
ORDER BY update_status_time
</select>
<select id="findSonTask" resultType="com.ccsens.common.bean.vo.CTaskVo$SonTaskDetail">
SELECT
d.id AS detailId,
d.`name`,
d.description,
d.cycle,
s.plan_start_time,
s.plan_duration,
s.plan_end_time,
s.real_start_time,
s.real_duration,
s.real_end_time,
s.task_status
FROM
t_pro_parent_task AS pt
LEFT JOIN t_pro_task_detail AS d ON d.id = pt.task_detail_id
LEFT JOIN t_pro_task_sub AS s ON s.task_detail_id = pt.task_detail_id
LEFT JOIN t_label_business AS lb ON pt.task_detail_id = lb.business_id
LEFT JOIN t_label AS l ON lb.label_id = l.id
LEFT JOIN t_label_type AS lt ON l.label_type_id = lt.id
WHERE
lb.rec_status = 0
AND pt.rec_status = 0
AND d.rec_status = 0
AND s.rec_status = 0
AND l.rec_status = 0
AND lt.rec_status = 0
AND l.`level` != 0
AND lt.label_type = 1
AND pt.parent_task_detail_id = #{detailId}
</select>
</mapper>
Loading…
Cancel
Save