From 03c792b22fc27d3bff2f5a39e9048fe2191e4cd2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 22 Jan 2026 18:16:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=80=E7=BA=A7?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E9=83=A8=E9=97=A8=E4=BB=BB=E5=8A=A1=E5=9C=A8?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E9=83=A8=E9=97=A8=E8=B4=9F=E8=B4=A3=E4=BA=BA?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E=E5=AD=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0=E4=B8=BApending?= =?UTF-8?q?=5Fapproval?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TaskApprovalService.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/backend/src/main/java/com/designhub/service/TaskApprovalService.java b/backend/src/main/java/com/designhub/service/TaskApprovalService.java index 89f870a..fa05339 100644 --- a/backend/src/main/java/com/designhub/service/TaskApprovalService.java +++ b/backend/src/main/java/com/designhub/service/TaskApprovalService.java @@ -281,6 +281,31 @@ public class TaskApprovalService { task.setCurrentApproverRole("receiving_leader"); taskMapper.updateById(task); + // 🔥 如果是一级需求部门任务且是流水线任务,将第一个部门的子任务状态更新为pending_approval + // 这样接单部门负责人才能看到子任务组进行审核 + if (task.getIsPrimaryTask() != null && task.getIsPrimaryTask() == 1 + && task.getIsPipeline() != null && task.getIsPipeline() == 1) { + // 查询第一个部门的子任务(status='pending' 且 isLocked=0) + List firstDeptItems = taskItemMapper.selectList( + new LambdaQueryWrapper() + .eq(TaskItem::getTaskId, taskId) + .eq(TaskItem::getStatus, "pending") + .eq(TaskItem::getIsLocked, 0) + ); + + // 将第一个部门的子任务状态更新为pending_approval(待审核) + for (TaskItem item : firstDeptItems) { + item.setStatus("pending_approval"); + item.setUpdateTime(LocalDateTime.now()); + taskItemMapper.updateById(item); + log.info("一级需求任务第一个部门子任务 {} 状态已更新为pending_approval", item.getItemNo()); + } + + if (!firstDeptItems.isEmpty()) { + log.info("一级需求任务 {} 的第一个部门共 {} 个子任务已设置为待审核状态", taskId, firstDeptItems.size()); + } + } + // 记录审核日志 logApproval(taskId, approverId, 1, "approve", dto.getComment());