From 82a2e64188e517105de3501fc09da76aabb9f0ee Mon Sep 17 00:00:00 2001 From: sa0ChunLuyu Date: Sat, 25 Jul 2026 01:52:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=BA=A6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Admin/YeWu/PlanListController.php | 10 +---- .../API/Admin/YeWu/WorkMainController.php | 39 +++++++++++-------- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php index 68b17ae..59d9f41 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php @@ -200,17 +200,9 @@ public function GetEnablePlan() $episodeid = request('episodeid'); $appointment_type = request('appointment_type'); //预约类型 $appointment_date = request('date'); //预约日期 - $scope = request('scope', 'all'); - $do_user = request('do_user', 0); - - $userDeptId = 0; - if ($do_user) { - $user = DB::table('users')->find($do_user); - $userDeptId = $user->department_id ?? 0; - } $service = new PlanListService(); - return $service->GetEnablePlan($regnum, $entrustid, $episodeid, $appointment_type, $appointment_date, $scope, $userDeptId); + return $service->GetEnablePlan($regnum, $entrustid, $episodeid, $appointment_type, $appointment_date); } //最优时间/单天全检 分配 diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php index e4e551f..a6d467e 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php @@ -136,33 +136,38 @@ public function GetList(Request $request) $list=$list->where(['reservation_department'=>$department->department_name]); }else{ - //获取当前科室及所有子科室的 department_number - $deptNumbers = DB::table('s_department') + //获取当前科室及所有子科室的 department_number 和 id + $deptQuery = DB::table('s_department') ->where('is_del', 0) ->where(function($q) use ($department_id) { $q->where('id', $department_id) ->orWhere('pid', $department_id); - }) - ->pluck('department_number'); + }); + $deptNumbers = clone $deptQuery; + $deptNumbers = $deptNumbers->pluck('department_number'); + $deptIds = $deptQuery->pluck('id'); - //工作台科室:合并关联科室及子科室的 department_number + //工作台科室:合并关联科室及子科室的 department_number 和 id if ($department->is_workbench == 1) { $linkedIds = json_decode($department->linked_departments, true); if (!empty($linkedIds) && is_array($linkedIds)) { - $linkedDeptNumbers = DB::table('s_department') + $linkedQuery = DB::table('s_department') ->where('is_del', 0) ->where(function($q) use ($linkedIds) { $q->whereIn('id', $linkedIds) ->orWhereIn('pid', $linkedIds); - }) - ->pluck('department_number'); - $deptNumbers = $deptNumbers->merge($linkedDeptNumbers); + }); + $linkedDeptNumbers = clone $linkedQuery; + $deptNumbers = $deptNumbers->merge($linkedDeptNumbers->pluck('department_number')); + $linkedDeptIds = $linkedQuery->pluck('id'); + $deptIds = $deptIds->merge($linkedDeptIds); } } - $list = $list->where(function ($q) use($deptNumbers) { + $list = $list->where(function ($q) use($deptNumbers, $deptIds) { $q->whereIn('RISRAcceptDeptCode', $deptNumbers) - ->orWhereIn('reservation_department_code', $deptNumbers); + ->orWhereIn('reservation_department_code', $deptNumbers) + ->orWhereIn('s_department_resources.department_id', $deptIds); }); } $dateType = $searchInfo['dateType'] ?? 'reservation_date'; @@ -239,17 +244,19 @@ public function GetListByDept(Request $request) // 选中具体科室时,按科室编号过滤 if (!empty($department_id)) { - $deptNumbers = DB::table('s_department') + $deptQuery = DB::table('s_department') ->where('is_del', 0) ->where(function ($q) use ($department_id) { $q->where('id', $department_id) ->orWhere('pid', $department_id); - }) - ->pluck('department_number'); + }); + $deptNumbers = (clone $deptQuery)->pluck('department_number'); + $deptIds = $deptQuery->pluck('id'); - $list = $list->where(function ($q) use ($deptNumbers) { + $list = $list->where(function ($q) use ($deptNumbers, $deptIds) { $q->whereIn('RISRAcceptDeptCode', $deptNumbers) - ->orWhereIn('reservation_department_code', $deptNumbers); + ->orWhereIn('reservation_department_code', $deptNumbers) + ->orWhereIn('s_department_resources.department_id', $deptIds); }); }