fix: 修复一级需求部门任务在需求部门负责人审核通过后子任务状态更新为pending_approval

This commit is contained in:
Your Name 2026-01-22 18:16:57 +08:00
parent 8d65610643
commit 03c792b22f

View File

@ -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<TaskItem> firstDeptItems = taskItemMapper.selectList(
new LambdaQueryWrapper<TaskItem>()
.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());