|
@@ -182,14 +182,6 @@ class EmployeeService extends Service
|
|
|
->select('number','mobile','emp_name','id','entry_time','leave_time','is_admin','state')
|
|
|
->orderBy('id','desc');
|
|
|
|
|
|
- if($user['id'] != Employee::SPECIAL_ADMIN && ! $user['is_all_depart']){
|
|
|
- $depart_id = $this->getDepartIdList($user);
|
|
|
- $employee_id = EmployeeDepartPermission::whereIn('depart_id',$depart_id)
|
|
|
- ->select("employee_id")
|
|
|
- ->get()->toArray();
|
|
|
- $model->whereIn('id',array_unique(array_column($employee_id,'employee_id')));
|
|
|
- }
|
|
|
-
|
|
|
if(! empty($data['depart'])) {
|
|
|
$employee_id = DB::table('employee_depart_permission')
|
|
|
->where("depart_id", $data['depart'])
|
|
@@ -197,7 +189,11 @@ class EmployeeService extends Service
|
|
|
->get()->toArray();
|
|
|
$employee_id = array_column($employee_id,'employee_id');
|
|
|
$model->whereIn("id", $employee_id);
|
|
|
+ }else{
|
|
|
+ $employee_id = $this->getEmployee($user);
|
|
|
+ $model->whereIn('id',$employee_id);
|
|
|
}
|
|
|
+
|
|
|
if(! empty($data['number'])) $model->where('number', 'LIKE', '%'.$data['number'].'%');
|
|
|
if(! empty($data['emp_name'])) $model->where('emp_name', 'LIKE', '%'.$data['emp_name'].'%');
|
|
|
if(! empty($data['state'])) $model->where('state',$data['state']);
|
|
@@ -209,7 +205,7 @@ class EmployeeService extends Service
|
|
|
->select('employee_id')->get()->toArray();
|
|
|
$model->whereIn('id',array_column($emp,'employee_id'));
|
|
|
}
|
|
|
- if(! $user['is_all_depart']) $model->where('is_manager',0);
|
|
|
+ if($user['id'] != Employee::SPECIAL_ADMIN) $model->where('is_manager',0);
|
|
|
|
|
|
$list = $this->limit($model,'',$data);
|
|
|
|
|
@@ -269,6 +265,20 @@ class EmployeeService extends Service
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
+ //获取当前顶级部门下人员id
|
|
|
+ public function getEmployee($user){
|
|
|
+ $top_depart_id = $user['depart_top'][0] ?? [];
|
|
|
+ $top_depart_id = $top_depart_id['depart_id'] ?? 0;
|
|
|
+ $list = Depart::where('del_time',0)->select('id','parent_id')->get()->toArray();
|
|
|
+ // 查找所有子级id
|
|
|
+ $childIds = $this->findChildIds($top_depart_id, $list);
|
|
|
+ $childIds[] = $top_depart_id;
|
|
|
+ $employee_id = EmployeeDepartPermission::whereIn('depart_id',$childIds)
|
|
|
+ ->select("employee_id")
|
|
|
+ ->get()->toArray();
|
|
|
+ return array_unique(array_column($employee_id,'employee_id'));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 用户参数规则
|
|
|
* @param $data
|
|
@@ -701,7 +711,6 @@ class EmployeeService extends Service
|
|
|
|
|
|
$count = 0;
|
|
|
foreach ($data['data'] as $value){
|
|
|
- if(empty($user['is_all_depart']) && empty($value['parent_id'])) return [false,'上级部门必须选择'];
|
|
|
if(empty($value['parent_id']) && ! empty($value['is_main'])) $count ++;
|
|
|
}
|
|
|
if($count > 1) return [false,'顶级总社只允许存在一个!'];
|
|
@@ -719,12 +728,12 @@ class EmployeeService extends Service
|
|
|
|
|
|
foreach ($data['data'] as $key => $value){
|
|
|
if(empty($value['parent_id'])) $data['data'][$key]['parent_id'] = 0;
|
|
|
- if(empty($value['grade'])) $data['data'][$key]['grade'] = 0;
|
|
|
|
|
|
$data['data'][$key]['upd_time'] = time();
|
|
|
|
|
|
//Depart::whereRaw("(binary code = '{$value['code']}' OR title = '{$value['title']}')")
|
|
|
if($is_check){
|
|
|
+ if(empty($user['is_all_depart']) && empty($value['parent_id'])) return [false,'上级部门必须选择'];
|
|
|
$data['data'][$key]['crt_time'] = time();
|
|
|
$bool = Depart::whereRaw("binary code = '{$value['code']}'")
|
|
|
->where('del_time',0)
|