diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index ddaccfe..d6950dc 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -1691,12 +1691,13 @@ public class TaskService { } // 验证任务是否是流水线任务 - // 特殊情况:一级需求部门任务在待完善明细状态下,允许将非流水线任务转换为流水线任务 - boolean isPrimaryTaskPendingDetail = existTask.getIsPrimaryTask() != null + // 特殊情况:一级需求部门任务在草稿或待完善明细状态下,允许将非流水线任务转换为流水线任务 + boolean isPrimaryTaskCanConvert = existTask.getIsPrimaryTask() != null && existTask.getIsPrimaryTask() == 1 - && "pending_detail_completion".equals(existTask.getApprovalStatus()); + && ("pending_detail_completion".equals(existTask.getApprovalStatus()) + || "draft".equals(existTask.getApprovalStatus())); - if ((existTask.getIsPipeline() == null || existTask.getIsPipeline() != 1) && !isPrimaryTaskPendingDetail) { + if ((existTask.getIsPipeline() == null || existTask.getIsPipeline() != 1) && !isPrimaryTaskCanConvert) { throw new BusinessException(ResultCode.PARAM_ERROR, "该任务不是流水线任务"); }