Эх сурвалжийг харах

[智价云] 角色部门删除校验更新

tangyuanwang 1 долоо хоног өмнө
parent
commit
a4d10fb8f8

+ 6 - 1
app/Http/Controllers/Manager/Personnel/Department.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Manager\Personnel;
 use App\Http\Controllers\Controller;
 use App\Http\Requests\Manager\Personnel\Department as Request;
 use App\Models\Manager\Personnel\Department as DepartmentModel;
+use App\Models\Manager\Personnel\Employee as EmployeeModel;
 
 
 /**
@@ -182,12 +183,16 @@ class Department extends Controller
      * @date      2025-12-04
      * 
      */
-    public function delete(Request $request, DepartmentModel $DepartmentModel)
+    public function delete(Request $request, DepartmentModel $DepartmentModel,EmployeeModel $EmployeeModel)
     {
         // 验证参数
         $request->scene('delete')->validate();
         // 接收数据
         $id = request('id', 0);
+        // 查询部门下是否有员工
+        $map = ['department_id' => $id];
+        $data = $EmployeeModel->where($map)->first();
+        if ($data)     return json_send(['code' => 'error', 'msg' => '该部门下存在员工,不能删除']);
         // 查询用户
         $where = ['id' => $id];
         // 执行删除

+ 7 - 1
app/Http/Controllers/Manager/Personnel/Roles.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Manager\Personnel;
 use App\Http\Controllers\Controller;
 use App\Http\Requests\Manager\Personnel\Roles as Request;
 use App\Models\Manager\Personnel\Roles as RolesModel;
+use App\Models\Manager\Personnel\Employee as EmployeeModel;
 
 /**
  * 人员信息管理-角色管理
@@ -182,7 +183,7 @@ class Roles extends Controller
      * @date      2025-12-05
      * 
      */
-    public function delete(Request $request, RolesModel $RolesModel)
+    public function delete(Request $request, RolesModel $RolesModel,EmployeeModel $EmployeeModel)
     {
         // 验证参数
         $request->scene('delete')->validate();
@@ -190,6 +191,11 @@ class Roles extends Controller
         $id = request('id', 0);
         // 查询用户
         $where = ['id' => $id];
+        // 查询是否有员工使用该角色
+        $employee_data = $EmployeeModel->where('role_id', $id)->first();
+        if ($employee_data)    return json_send(['code' => 'error', 'msg' => '该角色已被使用,不能删除']);
+        // 查询用户
+        $where = ['id' => $id];
         // 执行删除
         $result =  $RolesModel->deleteRoles($where);
         // 提示删除失败