|
|
@@ -8,6 +8,7 @@ use App\Models\Manager\Personnel\Employee as EmployeeModel;
|
|
|
use App\Models\Manager\Personnel\Department as DepartmentModel;
|
|
|
use App\Models\Manager\Personnel\Roles as RolesModel;
|
|
|
use App\Models\Manager\Citys as CitysModel;
|
|
|
+use App\Models\Manager\Personnel\EmployeeArea as EmployeeAreaModel;
|
|
|
|
|
|
/**
|
|
|
* 人员信息管理-员工管理
|
|
|
@@ -24,7 +25,7 @@ class Employee extends Controller
|
|
|
* @date 2025-12-04
|
|
|
*
|
|
|
*/
|
|
|
- public function list(Request $request, EmployeeModel $EmployeeModel,DepartmentModel $DepartmentModel,RolesModel $RolesModel,CitysModel $CitysModel)
|
|
|
+ public function list(Request $request, EmployeeModel $EmployeeModel,DepartmentModel $DepartmentModel,RolesModel $RolesModel,CitysModel $CitysModel,EmployeeAreaModel $EmployeeAreaModel)
|
|
|
{
|
|
|
$request->scene('list')->validate();
|
|
|
// 查询条件
|
|
|
@@ -44,6 +45,7 @@ class Employee extends Controller
|
|
|
$department_name = request('department_name', '');
|
|
|
$department_ids =[];
|
|
|
$city_id = request('city_id', '');
|
|
|
+ $city_ids = request('city_ids', '');
|
|
|
// 时间条件
|
|
|
if ($start_time) $map[] = ['insert_time', '>=', strtotime($start_time)];
|
|
|
if ($end_time) $map[] = ['insert_time', '<=', strtotime($end_time)];
|
|
|
@@ -71,6 +73,14 @@ class Employee extends Controller
|
|
|
if ($role_name) {
|
|
|
$result_model = $result_model->whereIn('role_id', $role_ids);
|
|
|
}
|
|
|
+ //多选查询地区
|
|
|
+ if ($city_ids) {
|
|
|
+ $city_ids = explode(',', $city_ids);
|
|
|
+ $subQuery = $EmployeeAreaModel->whereIn('city_id', $city_ids)->distinct('employee_id')->select('employee_id');
|
|
|
+ $result_model = $result_model->whereIn('id', function ($query1) use ($subQuery) {
|
|
|
+ $query1->select('employee_id')->fromSub($subQuery, 'sub1');
|
|
|
+ });
|
|
|
+ }
|
|
|
$result =$result_model
|
|
|
->where($map)
|
|
|
->select($field)
|