fix: 修复子任务审核后主任务状态不同步问题

This commit is contained in:
Your Name 2026-02-27 16:15:55 +08:00
parent c63f08732f
commit 51b38f18bd

View File

@ -1499,15 +1499,35 @@ public class TaskItemService {
}
}
// 🔥 更新主任务状态为已审核通过
// 🔥 更新主任务状态(避免出现“子任务进行中但主任务仍为pending”的状态错乱)
mainTask.setApprovalStatus("approved");
mainTask.setStatus("pending");
if (assignedReceiverId != null) {
// 子任务已指定处理人并进入进行中:主任务同步为进行中
mainTask.setStatus("in_progress");
mainTask.setReceiverId(assignedReceiverId);
com.designhub.entity.User receiver = userService.getUserById(assignedReceiverId);
if (receiver != null) {
mainTask.setReceiverDeptId(receiver.getDeptId());
}
LocalDateTime now = LocalDateTime.now();
if (mainTask.getStartTime() == null) {
mainTask.setStartTime(now);
}
if (mainTask.getActualStartTime() == null) {
mainTask.setActualStartTime(now);
}
} else {
// 未指定处理人,继续发布在任务大厅待接单
mainTask.setStatus("pending");
mainTask.setReceiverId(null);
mainTask.setReceiverDeptId(null);
}
mainTask.setReceivingApprovalTime(LocalDateTime.now());
mainTask.setCurrentApproverId(null);
mainTask.setCurrentApproverRole(null);
mainTask.setUpdateTime(LocalDateTime.now());
taskMapper.updateById(mainTask);
log.info("主任务 {} 接单部门审核通过,状态更新为 approved/pending", taskId);
log.info("主任务 {} 接单部门审核通过,状态更新为 {}/{}", taskId, mainTask.getApprovalStatus(), mainTask.getStatus());
}
/**