审核列表排序

main
Jing Li 2024-05-01 21:37:12 +08:00
parent c2e4fef464
commit d626c7516b
1 changed files with 9 additions and 6 deletions

View File

@ -7,13 +7,8 @@ use App\Enums\CheckStatus;
use App\Exceptions\RuntimeException; use App\Exceptions\RuntimeException;
use App\Http\Resources\TaskResource; use App\Http\Resources\TaskResource;
use App\Http\Resources\WorkflowLogResource; use App\Http\Resources\WorkflowLogResource;
use App\Models\Task;
use App\Models\TaskHygiene; use App\Models\TaskHygiene;
use App\Models\TaskLedger;
use App\Models\{WorkflowCheck, WorkflowLog}; 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\Http\{Request, Response};
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
@ -32,11 +27,19 @@ class WorkflowController extends Controller
$explodes = explode(',', $request->input('include')); $explodes = explode(',', $request->input('include'));
$include = array_merge($include, $explodes); $include = array_merge($include, $explodes);
} }
$orderBy = <<<'MySQL'
CASE
WHEN check_status = 2 THEN 100
ELSE 0
END
MySQL;
$list = WorkflowLog::with($include) $list = WorkflowLog::with($include)
->whereHas('check', fn($q) => $q->where('subject_type', $subjectType)) ->whereHas('check', fn($q) => $q->where('subject_type', $subjectType))
->own($user) ->own($user)
->where('check_status', '>', CheckStatus::None->value) ->where('check_status', '>', CheckStatus::None->value)
// ->orderBy('check_status') ->orderBy(DB::raw($orderBy), 'DESC')
->orderBy('id', 'desc') ->orderBy('id', 'desc')
->paginate($request->input('per_page')); ->paginate($request->input('per_page'));