diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index 545681a..ad726d8 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -2952,13 +2952,14 @@ public class TaskService { for (TaskItem item : taskItems) { item.setStatus("in_progress"); item.setIsLocked(0); - // 如果子任务还没有接收人,设置为主任务的接收人 - if (item.getReceiverId() == null && receiverId != null) { + // 指派模式下:强制更新所有子任务的接收人为主任务的接收人 + if (receiverId != null) { item.setReceiverId(receiverId); if (receiverDeptId != null) { item.setReceiverDeptId(receiverDeptId); } - log.info("子任务 {} 已设置接收人: {}", item.getId(), receiverId); + log.info("并行流水线子任务 {} 已设置/更新接收人: receiverId={}, deptId={}", + item.getId(), receiverId, receiverDeptId); } taskItemMapper.updateById(item); } @@ -2970,13 +2971,14 @@ public class TaskService { if (item.getGroupNo().equals(firstGroupNo)) { item.setStatus("in_progress"); item.setIsLocked(0); - // 如果子任务还没有接收人,设置为主任务的接收人 - if (item.getReceiverId() == null && receiverId != null) { + // 指派模式下:强制更新第一组子任务的接收人为主任务的接收人 + if (receiverId != null) { item.setReceiverId(receiverId); if (receiverDeptId != null) { item.setReceiverDeptId(receiverDeptId); } - log.info("子任务 {} 已设置接收人: {}", item.getId(), receiverId); + log.info("顺序流水线第一组子任务 {} 已设置/更新接收人: receiverId={}, deptId={}", + item.getId(), receiverId, receiverDeptId); } taskItemMapper.updateById(item); log.info("顺序流水线任务第一组子任务已更新为in_progress:itemId={}", item.getId());