diff --git a/app/Http/Controllers/Api/WorkflowController.php b/app/Http/Controllers/Api/WorkflowController.php index 4025c5e..ed74d8a 100644 --- a/app/Http/Controllers/Api/WorkflowController.php +++ b/app/Http/Controllers/Api/WorkflowController.php @@ -7,13 +7,8 @@ use App\Enums\CheckStatus; use App\Exceptions\RuntimeException; use App\Http\Resources\TaskResource; use App\Http\Resources\WorkflowLogResource; -use App\Models\Task; use App\Models\TaskHygiene; -use App\Models\TaskLedger; use App\Models\{WorkflowCheck, WorkflowLog}; -use Illuminate\Database\Eloquent\Builder; -use Illuminate\Database\Eloquent\Relations\MorphTo; -use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Http\{Request, Response}; use Illuminate\Support\Facades\DB; use Illuminate\Validation\Rule; @@ -32,11 +27,19 @@ class WorkflowController extends Controller $explodes = explode(',', $request->input('include')); $include = array_merge($include, $explodes); } + + $orderBy = <<<'MySQL' + CASE + WHEN check_status = 2 THEN 100 + ELSE 0 + END +MySQL; + $list = WorkflowLog::with($include) ->whereHas('check', fn($q) => $q->where('subject_type', $subjectType)) ->own($user) ->where('check_status', '>', CheckStatus::None->value) - // ->orderBy('check_status') + ->orderBy(DB::raw($orderBy), 'DESC') ->orderBy('id', 'desc') ->paginate($request->input('per_page'));