diff --git a/backend/src/main/java/com/designhub/mapper/TaskMapper.java b/backend/src/main/java/com/designhub/mapper/TaskMapper.java index 7767e3c..223103d 100644 --- a/backend/src/main/java/com/designhub/mapper/TaskMapper.java +++ b/backend/src/main/java/com/designhub/mapper/TaskMapper.java @@ -28,7 +28,9 @@ public interface TaskMapper extends BaseMapper { " b.brand_name AS brand_name, " + " c.category_name AS category_name, " + " p.platform_name AS platform_name, " + - " approver.real_name AS current_approver_name " + + " approver.real_name AS current_approver_name, " + + " primary_user.real_name AS primary_publisher_name, " + + " primary_dept.dept_name AS primary_publisher_dept_name " + "FROM task t " + "LEFT JOIN sys_user u ON t.publisher_id = u.id " + "LEFT JOIN sys_dept d ON t.publisher_dept_id = d.id " + @@ -36,6 +38,8 @@ public interface TaskMapper extends BaseMapper { "LEFT JOIN category c ON t.category_id = c.id " + "LEFT JOIN platform p ON t.platform_id = p.id " + "LEFT JOIN sys_user approver ON t.current_approver_id = approver.id " + + "LEFT JOIN sys_user primary_user ON t.primary_publisher_id = primary_user.id " + + "LEFT JOIN sys_dept primary_dept ON t.primary_publisher_dept_id = primary_dept.id " + "WHERE t.status = 'pending' AND t.approval_status = 'approved' AND t.deleted = 0 AND (t.is_pipeline = 0 OR t.is_pipeline IS NULL)" + " AND t.task_type_id = #{taskTypeId}" + " AND t.demand_type_id = #{demandTypeId}" + @@ -87,7 +91,9 @@ public interface TaskMapper extends BaseMapper { " b.brand_name AS brand_name, " + " c.category_name AS category_name, " + " p.platform_name AS platform_name, " + - " approver.real_name AS current_approver_name " + + " approver.real_name AS current_approver_name, " + + " primary_user.real_name AS primary_publisher_name, " + + " primary_dept.dept_name AS primary_publisher_dept_name " + "FROM task t " + "LEFT JOIN sys_user u ON t.publisher_id = u.id " + "LEFT JOIN sys_dept d ON t.publisher_dept_id = d.id " + @@ -95,6 +101,8 @@ public interface TaskMapper extends BaseMapper { "LEFT JOIN category c ON t.category_id = c.id " + "LEFT JOIN platform p ON t.platform_id = p.id " + "LEFT JOIN sys_user approver ON t.current_approver_id = approver.id " + + "LEFT JOIN sys_user primary_user ON t.primary_publisher_id = primary_user.id " + + "LEFT JOIN sys_dept primary_dept ON t.primary_publisher_dept_id = primary_dept.id " + "WHERE t.status = 'pending' AND t.approval_status = 'approved' AND t.deleted = 0 AND (t.is_pipeline = 0 OR t.is_pipeline IS NULL)" + "" + " AND t.task_type_id IN " + @@ -153,7 +161,9 @@ public interface TaskMapper extends BaseMapper { " p.platform_name AS platformName, " + " u.real_name AS publisherName, " + " d.dept_name AS publisherDeptName, " + - " approver.real_name AS currentApproverName " + + " approver.real_name AS currentApproverName, " + + " primary_user.real_name AS primaryPublisherName, " + + " primary_dept.dept_name AS primaryPublisherDeptName " + "FROM task t " + "LEFT JOIN brand b ON t.brand_id = b.id " + "LEFT JOIN category c ON t.category_id = c.id " + @@ -161,6 +171,8 @@ public interface TaskMapper extends BaseMapper { "LEFT JOIN sys_user u ON t.publisher_id = u.id " + "LEFT JOIN sys_dept d ON t.publisher_dept_id = d.id " + "LEFT JOIN sys_user approver ON t.current_approver_id = approver.id " + + "LEFT JOIN sys_user primary_user ON t.primary_publisher_id = primary_user.id " + + "LEFT JOIN sys_dept primary_dept ON t.primary_publisher_dept_id = primary_dept.id " + "WHERE t.publisher_id = #{userId} AND t.deleted = 0 " + " AND t.status = #{status} " + "ORDER BY t.create_time DESC" + @@ -180,7 +192,9 @@ public interface TaskMapper extends BaseMapper { " p.platform_name AS platformName, " + " u.real_name AS publisherName, " + " d.dept_name AS publisherDeptName, " + - " approver.real_name AS currentApproverName " + + " approver.real_name AS currentApproverName, " + + " primary_user.real_name AS primaryPublisherName, " + + " primary_dept.dept_name AS primaryPublisherDeptName " + "FROM task t " + "LEFT JOIN brand b ON t.brand_id = b.id " + "LEFT JOIN category c ON t.category_id = c.id " + @@ -188,6 +202,8 @@ public interface TaskMapper extends BaseMapper { "LEFT JOIN sys_user u ON t.publisher_id = u.id " + "LEFT JOIN sys_dept d ON t.publisher_dept_id = d.id " + "LEFT JOIN sys_user approver ON t.current_approver_id = approver.id " + + "LEFT JOIN sys_user primary_user ON t.primary_publisher_id = primary_user.id " + + "LEFT JOIN sys_dept primary_dept ON t.primary_publisher_dept_id = primary_dept.id " + "WHERE (t.receiver_id = #{userId} OR t.detail_completer_id = #{userId}) AND t.deleted = 0 " + " AND t.status = #{status} " + "ORDER BY t.create_time DESC" + diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index fa93803..106762c 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -1405,6 +1405,22 @@ public class TaskService { } } + // 填充一级需求发起人信息 + if (task.getPrimaryPublisherId() != null) { + User primaryPublisher = userService.getUserById(task.getPrimaryPublisherId()); + if (primaryPublisher != null) { + task.setPrimaryPublisherName(primaryPublisher.getRealName() != null ? primaryPublisher.getRealName() : primaryPublisher.getUsername()); + } + } + + // 填充一级需求发起人部门名称 + if (task.getPrimaryPublisherDeptId() != null) { + Department primaryDept = departmentService.getDepartmentById(task.getPrimaryPublisherDeptId()); + if (primaryDept != null) { + task.setPrimaryPublisherDeptName(primaryDept.getDeptName()); + } + } + // 填充子任务统计信息 fillSubTaskStats(task); }