diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java index ff6aaf5..c16e35f 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java @@ -32,6 +32,7 @@ public interface ITaskService extends IService { Integer getHolderLevel(Integer staffId, Integer staffGlobalLevel, Long taskId); /** + * 对拥有项目一级/二级访问权限的员工,直接返回1 * @return 1:all rights 2:father holder 3:current holder 0:no right */ Integer getHolderLevel(String token, Long taskId); diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java index 2e31c74..e121674 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java @@ -137,6 +137,10 @@ public class TaskServiceImpl extends ServiceImpl implements IT Task task = baseMapper.selectOne(Wrappers.lambdaQuery().eq(Task::getTaskId, taskId)); if (task == null || staffId <= 0) return 0; + Integer projectAccessLevel = projectGroupService.getProjectAccessLevel(staffId, staffGlobalLevel, task.getTaskProjectId()); + if (projectAccessLevel > 0 && projectAccessLevel <= 2) { + return 1; + } int count = 0; if (task.getTaskHolderId().equals(staffId)) count++; @@ -326,19 +330,19 @@ public class TaskServiceImpl extends ServiceImpl implements IT List taskList = new ArrayList<>(); Boolean existClosed = false; Boolean existCompleted = false; - for(TaskTrendDTO taskTrendDTO: resList) { - if(Objects.equals(Task.STATUS_CLOSED, taskTrendDTO.getTaskStatus())) { + for (TaskTrendDTO taskTrendDTO : resList) { + if (Objects.equals(Task.STATUS_CLOSED, taskTrendDTO.getTaskStatus())) { existClosed = true; } - if(Objects.equals(Task.STATUS_COMPLETED, taskTrendDTO.getTaskStatus())) { + if (Objects.equals(Task.STATUS_COMPLETED, taskTrendDTO.getTaskStatus())) { existCompleted = true; } taskList.add(taskTrendDTO); } - if(!existClosed) { + if (!existClosed) { taskList.add(getZeroNumInstance(Task.STATUS_CLOSED)); } - if(!existCompleted) { + if (!existCompleted) { taskList.add(getZeroNumInstance(Task.STATUS_COMPLETED)); } TaskTrendDTO unclosedTask = baseMapper.selectUnclosedTaskTrendBeforeDate(projectId, startDate);