From f3d1059d1b6446dfbfcb7328b99fbc45c2c4d371 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Mon, 26 Apr 2021 18:11:23 +0800 Subject: [PATCH] =?UTF-8?q?lwbs=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2"?= =?UTF-8?q?=E6=88=91=E7=9A=84"=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/tall/persist/dao/TaskDetailDao.java | 2 +- .../main/java/com/ccsens/tall/service/LwbsService.java | 8 +++++++- tall/src/main/resources/mapper_dao/TaskDetailDao.xml | 7 +++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java index b451322d..a177df26 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java @@ -70,7 +70,7 @@ public interface TaskDetailDao extends ProTaskDetailMapper { * @param userId 当前用户的userId * @return */ - List queryLwbsByProjectId(@Param("projectId")Long projectId, @Param("startTime")Long startTime, @Param("endTime")Long endTime, @Param("userId")Long userId); + List queryLwbsByProjectId(@Param("projectId")Long projectId, @Param("startTime")Long startTime, @Param("endTime")Long endTime, @Param("userId")Long userId,@Param("roleIds") List roleIds); /** * 通过任务详情id查询项目下的经理角色id diff --git a/tall/src/main/java/com/ccsens/tall/service/LwbsService.java b/tall/src/main/java/com/ccsens/tall/service/LwbsService.java index bc9e5d46..8ad885c0 100644 --- a/tall/src/main/java/com/ccsens/tall/service/LwbsService.java +++ b/tall/src/main/java/com/ccsens/tall/service/LwbsService.java @@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author 逗 @@ -33,6 +34,8 @@ public class LwbsService implements ILwbsService{ private TaskDetailDao taskDetailDao; @Resource public SysProjectDao sysProjectDao; + @Resource + public ProMemberService proMemberService; /** * 查询该用户的所有项目 @@ -125,8 +128,11 @@ public class LwbsService implements ILwbsService{ private TaskVo.ProTaskInfo queryLwbsByProjectId(Long projectId, Long startTime,Long endTime, Long userId){ TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); + //查找当前用户在项目中的角色 + List proRoles = proMemberService.selectRolesByUserIdAndProjectId(userId, projectId, null); + List roleIds = proRoles.stream().map(ProRole::getId).collect(Collectors.toList()); //查询当前项目下所有任务 - List normalTaskList = taskDetailDao.queryLwbsByProjectId(projectId,startTime,endTime,userId); + List normalTaskList = taskDetailDao.queryLwbsByProjectId(projectId,startTime,endTime,userId,roleIds); //分解为全局和普通 if(CollectionUtil.isNotEmpty(normalTaskList)) { TaskUtil.Task task = TaskUtil.splitTask(normalTaskList, startTime, endTime, 0); diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index f991ca6b..bb00af62 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -721,6 +721,13 @@ AND s.end_time >= #{startTime} AND d.Level = 2 + AND + + d.executor_role IN + + #{item} + + order by s.begin_time )t LEFT JOIN