From fad798fc0320e83cce5e6cf510439fe9cbb16c52 Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Fri, 26 Apr 2024 10:16:38 +0800 Subject: [PATCH] admin workflow --- app/Http/Controllers/Api/WorkflowController.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/WorkflowController.php b/app/Http/Controllers/Api/WorkflowController.php index 4627494..13e6099 100644 --- a/app/Http/Controllers/Api/WorkflowController.php +++ b/app/Http/Controllers/Api/WorkflowController.php @@ -143,8 +143,21 @@ class WorkflowController extends Controller ], [ 'remarks.required_if' => '未通过原因必填', ]); - $check = WorkflowCheck::where('subject_type', $request->input('subject_type'))->where('subject_id', $id)->firstOrFail(); - $user = $request->user(); + $subjectType = $request->input('subject_type'); + if ($subjectType == (new TaskHygiene)->getMorphClass()) { + $task = Task::findOrFail($id); + $taskable = $task->taskable; + if (!$taskable) { + throw new RuntimeException('任务不存在'); + } + $check = $taskable->workflow; + if (!$check) { + throw new RuntimeException('审核记录不存在'); + } + } else { + $check = WorkflowCheck::where('subject_type', $subjectType)->where('subject_id', $id)->firstOrFail(); + } + $user = $this->guard()->user(); try { DB::beginTransaction(); $log = $check->logs()->where('check_status', CheckStatus::Processing)->first();