From 4d19e5efe88f49dab0eb4cb7dfa1deb3b8927e80 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 27 Feb 2026 16:25:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8C=87=E6=B4=BE=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF=E9=A6=96=E8=8A=82=E7=82=B9=E5=BC=BA=E5=88=B6=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=B8=BB=E4=BB=BB=E5=8A=A1=E6=8E=A5=E5=8D=95=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/designhub/service/TaskService.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index 845bad4..88627a3 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -4137,6 +4137,16 @@ public class TaskService { Long receiverId = mainTask.getReceiverId(); Long receiverDeptId = mainTask.getReceiverDeptId(); + String receiverName = null; + if (receiverId != null) { + User receiver = userService.getUserById(receiverId); + if (receiver != null) { + receiverName = receiver.getRealName() != null ? receiver.getRealName() : receiver.getUsername(); + if (receiverDeptId == null) { + receiverDeptId = receiver.getDeptId(); + } + } + } List taskItems = taskItemMapper.selectList( new LambdaQueryWrapper() @@ -4192,17 +4202,15 @@ public class TaskService { if (itemDeptIndex == firstDeptIndex) { item.setStatus("in_progress"); item.setIsLocked(0); - // 指派模式下:如果子任务已有预先指定的接收人,保留;否则使用主任务的接收人 - if (item.getReceiverId() == null && receiverId != null) { + // 指派模式下:以主任务的接收人为准,避免主任务与子任务接收人不一致 + if (receiverId != null) { item.setReceiverId(receiverId); + item.setReceiverName(receiverName); if (receiverDeptId != null) { item.setReceiverDeptId(receiverDeptId); } - log.info("顺序流水线第一部门子任务 {} 设置接收人: receiverId={}, deptId={}", + log.info("顺序流水线第一部门子任务 {} 同步接收人: receiverId={}, deptId={}", item.getId(), receiverId, receiverDeptId); - } else { - log.info("顺序流水线第一部门子任务 {} 保留预先指定的接收人: receiverId={}", - item.getId(), item.getReceiverId()); } // 计算并设置deadline(使用工作时间计算) if (item.getEstimatedHours() != null && item.getEstimatedHours().compareTo(BigDecimal.ZERO) > 0) {