diff --git a/backend/src/main/java/com/designhub/service/AnalyticsService.java b/backend/src/main/java/com/designhub/service/AnalyticsService.java index 2a02fbc..bb0d974 100644 --- a/backend/src/main/java/com/designhub/service/AnalyticsService.java +++ b/backend/src/main/java/com/designhub/service/AnalyticsService.java @@ -2089,6 +2089,8 @@ public class AnalyticsService { List departments = departmentMapper.selectList(null); Map deptNames = departments.stream() .collect(Collectors.toMap(d -> d.getId(), d -> d.getDeptName(), (a, b) -> a)); + Map deptParentIds = departments.stream() + .collect(Collectors.toMap(d -> d.getId(), d -> d.getParentId() != null ? d.getParentId() : 0L, (a, b) -> a)); // 🔥 获取每个部门的人数(包含部门负责人) Map deptMemberCounts = new HashMap<>(); @@ -2110,7 +2112,17 @@ public class AnalyticsService { DimensionAnalysisVO.ReceivingDeptAnalysis analysis = new DimensionAnalysisVO.ReceivingDeptAnalysis(); analysis.setDeptId(deptId); - analysis.setDeptName(deptNames.getOrDefault(deptId, "未知部门")); + + // 🔥 如果是子部门且有同名部门,显示为"父部门-子部门"格式 + String deptName = deptNames.getOrDefault(deptId, "未知部门"); + Long parentId = deptParentIds.getOrDefault(deptId, 0L); + if (parentId != null && parentId > 0) { + String parentName = deptNames.get(parentId); + if (parentName != null && !parentName.isEmpty()) { + deptName = parentName + "-" + deptName; + } + } + analysis.setDeptName(deptName); analysis.setTotalTasks(deptTasks.size()); // 🔥 设置部门人数