预约优化

main
鹿和sa0ChunLuyu 2 weeks ago
parent 73344cea53
commit 82a2e64188

@ -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);
}
//最优时间/单天全检 分配

@ -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);
});
}

Loading…
Cancel
Save