diff --git a/pms/src/main/java/org/nl/pms/Portal/controller/PortalDashboardController.java b/pms/src/main/java/org/nl/pms/Portal/controller/PortalDashboardController.java index 8d551e5..97d27f2 100644 --- a/pms/src/main/java/org/nl/pms/Portal/controller/PortalDashboardController.java +++ b/pms/src/main/java/org/nl/pms/Portal/controller/PortalDashboardController.java @@ -31,8 +31,10 @@ public class PortalDashboardController { @GetMapping("/project-plan/{projectId}") @SaIgnore public ApiResponse projectPlan(@PathVariable Long projectId) { + CurrentUser currentUser = SecurityUtils.getCurrentUser(); try { - return ApiResponse.success(portalDashboardService.getProjectPlan(SecurityUtils.getCurrentUsername(), projectId)); + return ApiResponse.success(portalDashboardService.getProjectPlan( + currentUser.getUsername(), currentUser.getPresonName(), projectId)); } catch (IllegalArgumentException exception) { throw new BadRequestException(exception.getMessage()); } diff --git a/pms/src/main/java/org/nl/pms/Portal/service/PortalDashboardService.java b/pms/src/main/java/org/nl/pms/Portal/service/PortalDashboardService.java index 7b31237..4a39f6c 100644 --- a/pms/src/main/java/org/nl/pms/Portal/service/PortalDashboardService.java +++ b/pms/src/main/java/org/nl/pms/Portal/service/PortalDashboardService.java @@ -6,5 +6,5 @@ public interface PortalDashboardService { PortalDashboardVO getDashboard(String username, String personName, long projectPage, long projectSize); - PortalDashboardVO.ProjectPlan getProjectPlan(String username, Long projectId); + PortalDashboardVO.ProjectPlan getProjectPlan(String username, String personName, Long projectId); } diff --git a/pms/src/main/java/org/nl/pms/Portal/service/impl/PortalDashboardServiceImpl.java b/pms/src/main/java/org/nl/pms/Portal/service/impl/PortalDashboardServiceImpl.java index 99a5a5a..546a3d8 100644 --- a/pms/src/main/java/org/nl/pms/Portal/service/impl/PortalDashboardServiceImpl.java +++ b/pms/src/main/java/org/nl/pms/Portal/service/impl/PortalDashboardServiceImpl.java @@ -69,7 +69,8 @@ public class PortalDashboardServiceImpl implements PortalDashboardService { } @Override - public PortalDashboardVO.ProjectPlan getProjectPlan(String username, Long projectId) { + public PortalDashboardVO.ProjectPlan getProjectPlan(String username, String personName, Long projectId) { + List currentUserIdentifiers = currentUserIdentifiers(username, personName); Project project = projectMapper.selectById(projectId); if (project == null) { throw new IllegalArgumentException("项目不存在"); @@ -80,7 +81,7 @@ public class PortalDashboardServiceImpl implements PortalDashboardService { plan.setProjectLeader(project.getProjectLeader()); plan.setDevelopMembers(parseMembers(project.getDevelopMembers())); plan.setMasters(buildPlanMasters(projectId)); - boolean isLeader = username != null && username.equals(project.getProjectLeader()); + boolean isLeader = containsUser(project.getProjectLeader(), currentUserIdentifiers); plan.setProjectLeaderCurrentUser(isLeader); List details = projectPlanDetailMapper.selectList(new LambdaQueryWrapper() @@ -89,7 +90,7 @@ public class PortalDashboardServiceImpl implements PortalDashboardService { var masterNames = projectPlanMasterMapper.selectList(new LambdaQueryWrapper() .eq(ProjectPlanMaster::getProjectId, projectId)).stream() .collect(java.util.stream.Collectors.toMap(ProjectPlanMaster::getId, ProjectPlanMaster::getMasterName, (left, right) -> left)); - plan.setTasks(details.stream().filter(detail -> containsMember(detail.getTaskMembers(), username)).map(detail -> { + plan.setTasks(details.stream().filter(detail -> containsMember(detail.getTaskMembers(), currentUserIdentifiers)).map(detail -> { PortalDashboardVO.Task task = new PortalDashboardVO.Task(); task.setDetailId(detail.getId()); task.setMasterName(masterNames.getOrDefault(detail.getMasterId(), "-")); @@ -221,21 +222,22 @@ public class PortalDashboardServiceImpl implements PortalDashboardService { item.setTotalDevDays(master.getTotalDevDays()); item.setDevStartDate(master.getDevStartDate() == null ? null : master.getDevStartDate().toString()); item.setDevEndDate(master.getDevEndDate() == null ? null : master.getDevEndDate().toString()); - item.setDetails(detailsByMaster.getOrDefault(master.getId(), List.of()).stream().map(detail -> { - PortalDashboardVO.PlanDetail task = new PortalDashboardVO.PlanDetail(); - task.setId(detail.getId()); - task.setDetailName(detail.getDetailName()); - task.setDetailDescription(detail.getDetailDescription()); - task.setTaskMembers(parseMembers(detail.getTaskMembers())); - task.setStatus(detail.getStatus()); - task.setStatusLabel(taskStatus(detail.getStatus())); - task.setPriority(detail.getPriority()); - task.setPriorityLabel(priorityLabel(detail.getPriority())); - task.setProgress(detail.getProgress()); - task.setDevStartDate(detail.getDevStartDate() == null ? null : detail.getDevStartDate().toString()); - task.setDevEndDate(detail.getDevEndDate() == null ? null : detail.getDevEndDate().toString()); - return task; - }).toList()); + item.setDetails(detailsByMaster.getOrDefault(master.getId(), List.of()).stream() + .map(detail -> { + PortalDashboardVO.PlanDetail task = new PortalDashboardVO.PlanDetail(); + task.setId(detail.getId()); + task.setDetailName(detail.getDetailName()); + task.setDetailDescription(detail.getDetailDescription()); + task.setTaskMembers(parseMembers(detail.getTaskMembers())); + task.setStatus(detail.getStatus()); + task.setStatusLabel(taskStatus(detail.getStatus())); + task.setPriority(detail.getPriority()); + task.setPriorityLabel(priorityLabel(detail.getPriority())); + task.setProgress(detail.getProgress()); + task.setDevStartDate(detail.getDevStartDate() == null ? null : detail.getDevStartDate().toString()); + task.setDevEndDate(detail.getDevEndDate() == null ? null : detail.getDevEndDate().toString()); + return task; + }).toList()); return item; }).toList(); } @@ -303,8 +305,4 @@ public class PortalDashboardServiceImpl implements PortalDashboardService { } return parseMembers(members).stream().anyMatch(userIdentifiers::contains); } - - private boolean containsMember(String members, String username) { - return containsMember(members, currentUserIdentifiers(username, null)); - } } diff --git a/pms_vue/src/assets/images/logo.png b/pms_vue/src/assets/images/logo.png index a1ca19b..bc7e2db 100644 Binary files a/pms_vue/src/assets/images/logo.png and b/pms_vue/src/assets/images/logo.png differ diff --git a/pms_vue/src/layout/components/Navbar.vue b/pms_vue/src/layout/components/Navbar.vue index e1702dd..04c6762 100644 --- a/pms_vue/src/layout/components/Navbar.vue +++ b/pms_vue/src/layout/components/Navbar.vue @@ -5,13 +5,11 @@
+
+ {{ new Date().toISOString().slice(0, 10) }} +