From ee7c6dce22c33fb24fc1770d081fe50d524ee130 Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Tue, 23 Apr 2024 22:20:11 +0800 Subject: [PATCH] api sign_repair delete --- .../Services/EmployeeSignRepairService.php | 21 ++++++++++++++++++- .../Api/Hr/SignRepairController.php | 3 --- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/app/Admin/Services/EmployeeSignRepairService.php b/app/Admin/Services/EmployeeSignRepairService.php index 9327c83..77917fd 100644 --- a/app/Admin/Services/EmployeeSignRepairService.php +++ b/app/Admin/Services/EmployeeSignRepairService.php @@ -9,6 +9,7 @@ use Illuminate\Validation\Rule; use Slowlyo\OwlAdmin\Admin; use App\Enums\CheckStatus; use Slowlyo\OwlAdmin\Models\AdminUser; +use App\Exceptions\RuntimeException; class EmployeeSignRepairService extends BaseService { @@ -74,7 +75,7 @@ class EmployeeSignRepairService extends BaseService $createRules = [ 'employee_id' => ['required'], 'sign_time' => ['required'], - 'date' => ['required'], + 'date' => ['required', 'date'], 'store_id' => ['required'], 'reason' => ['required'], ]; @@ -103,4 +104,22 @@ class EmployeeSignRepairService extends BaseService return true; } + + public function delete(string $ids): mixed + { + $list = $this->query()->with(['workflow'])->whereIn('id', explode(',', $ids))->get(); + foreach ($list as $item) { + $workflow = $item->workflow; + if ($workflow) { + if ($workflow->check_status == CheckStatus::Processing) { + throw new RuntimeException(CheckStatus::Processing->text() . ', 无法删除'); + } + if ($workflow->check_status == CheckStatus::Success) { + throw new RuntimeException(CheckStatus::Success->text() . ', 无法删除'); + } + } + $item->delete(); + } + return true; + } } diff --git a/app/Http/Controllers/Api/Hr/SignRepairController.php b/app/Http/Controllers/Api/Hr/SignRepairController.php index 78ea893..da4f0d7 100644 --- a/app/Http/Controllers/Api/Hr/SignRepairController.php +++ b/app/Http/Controllers/Api/Hr/SignRepairController.php @@ -89,9 +89,6 @@ class SignRepairController extends Controller { $user = $this->guard()->user(); $model = EmployeeSignRepair::with(['workflow'])->where('employee_id', $user->id)->findOrFail($id); - if (!$model->canUpdate()) { - throw new RuntimeException('审核中, 无法删除'); - } try { DB::beginTransaction();