|
@@ -59,9 +59,18 @@ class EmployeeService extends Service
|
|
|
$model = $model->where('id',$data['id'])->first();
|
|
$model = $model->where('id',$data['id'])->first();
|
|
|
$model->number = $data['number'];
|
|
$model->number = $data['number'];
|
|
|
$model->title = $data['title'];
|
|
$model->title = $data['title'];
|
|
|
- $model->mobile = $data['mobile'] ?? '';
|
|
|
|
|
|
|
+ $model->mobile = $data['mobile'];
|
|
|
|
|
+ $model->sex = $data['sex'];
|
|
|
|
|
+ $model->education = $data['education'];
|
|
|
|
|
+ $model->id_card = $data['id_card'];
|
|
|
|
|
+ $model->major = $data['major'];
|
|
|
|
|
+ $model->p_title = $data['p_title'];
|
|
|
|
|
+ $model->state = $data['state'];
|
|
|
$model->is_admin = $data['is_admin'];
|
|
$model->is_admin = $data['is_admin'];
|
|
|
- if($model->is_admin && $data['password'] !== '******') $model->password = Hash::make($data['password']);
|
|
|
|
|
|
|
+ if($model->is_admin && $data['password'] !== '******') {
|
|
|
|
|
+ $model->password = Hash::make($data['password']);
|
|
|
|
|
+ $model->p_version = $model->p_version + 1;
|
|
|
|
|
+ }
|
|
|
$model->save();
|
|
$model->save();
|
|
|
|
|
|
|
|
EmployeeDepartPermission::where('employee_id',$data['id'])->delete();
|
|
EmployeeDepartPermission::where('employee_id',$data['id'])->delete();
|
|
@@ -111,11 +120,17 @@ class EmployeeService extends Service
|
|
|
|
|
|
|
|
$model->number = $data['number'];
|
|
$model->number = $data['number'];
|
|
|
$model->title = $data['title'];
|
|
$model->title = $data['title'];
|
|
|
- $model->mobile = $data['mobile'] ?? '';
|
|
|
|
|
|
|
+ $model->mobile = $data['mobile'];
|
|
|
|
|
+ $model->sex = $data['sex'];
|
|
|
|
|
+ $model->education = $data['education'];
|
|
|
|
|
+ $model->id_card = $data['id_card'];
|
|
|
|
|
+ $model->major = $data['major'];
|
|
|
|
|
+ $model->p_title = $data['p_title'];
|
|
|
|
|
+ $model->state = $data['state'];
|
|
|
$model->crt_id = $user['id'];
|
|
$model->crt_id = $user['id'];
|
|
|
$model->is_admin = $data['is_admin'];
|
|
$model->is_admin = $data['is_admin'];
|
|
|
$model->account = $data['account'] ?? "";
|
|
$model->account = $data['account'] ?? "";
|
|
|
- if($model->is_admin && $data['password']) $model->password = Hash::make($data['password']);
|
|
|
|
|
|
|
+ if($model->is_admin) $model->password = Hash::make($data['password']);
|
|
|
$model->top_depart_id = $data['top_depart_id'];
|
|
$model->top_depart_id = $data['top_depart_id'];
|
|
|
$model->save();
|
|
$model->save();
|
|
|
|
|
|
|
@@ -169,7 +184,7 @@ class EmployeeService extends Service
|
|
|
public function employeeList($data,$user){
|
|
public function employeeList($data,$user){
|
|
|
$model = Employee::TopClear($user,$data);
|
|
$model = Employee::TopClear($user,$data);
|
|
|
$model = $model->where('del_time',0)
|
|
$model = $model->where('del_time',0)
|
|
|
- ->select('number','mobile','title','id','is_admin', 'account', 'crt_time')
|
|
|
|
|
|
|
+ ->select('number','mobile','title','id','is_admin', 'account', 'crt_time', 'state')
|
|
|
->orderBy('id','desc');
|
|
->orderBy('id','desc');
|
|
|
|
|
|
|
|
if(! empty($data['number'])) $model->where('number', 'LIKE', '%'.$data['number'].'%');
|
|
if(! empty($data['number'])) $model->where('number', 'LIKE', '%'.$data['number'].'%');
|
|
@@ -209,6 +224,7 @@ class EmployeeService extends Service
|
|
|
|
|
|
|
|
// 业务状态字段
|
|
// 业务状态字段
|
|
|
$item['is_admin_title'] = Employee::IS_ADMIN_TITLE[$item['is_admin']] ?? "";
|
|
$item['is_admin_title'] = Employee::IS_ADMIN_TITLE[$item['is_admin']] ?? "";
|
|
|
|
|
+ $item['state_title'] = Employee::State_Type[$item['state']] ?? "";
|
|
|
$item['crt_time'] = !empty($item['crt_time']) ? date("Y-m-d", $item['crt_time']) : "";
|
|
$item['crt_time'] = !empty($item['crt_time']) ? date("Y-m-d", $item['crt_time']) : "";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -263,36 +279,38 @@ class EmployeeService extends Service
|
|
|
public function employeeRule(&$data, $user,$is_add = true){
|
|
public function employeeRule(&$data, $user,$is_add = true){
|
|
|
if(empty($data['number'])) return [false,'工号不存在'];
|
|
if(empty($data['number'])) return [false,'工号不存在'];
|
|
|
if(empty($data['title'])) return [false,'姓名不存在'];
|
|
if(empty($data['title'])) return [false,'姓名不存在'];
|
|
|
|
|
+ if(! empty($data['sex']) && ! isset(Employee::SEX_TYPE[$data['sex']])) return [false, '性别不存在'];
|
|
|
|
|
+ if(empty($data['mobile'])) return [false,'联系电话不能为空'];
|
|
|
|
|
+// if(! $this->isValidPhone($data['mobile'])) return [false, '手机号码格式错误'];
|
|
|
|
|
+ if(! empty($data['education']) && ! isset(Employee::Education[$data['education']])) return [false, '学历不存在'];
|
|
|
|
|
+ if(empty($data['id_card'])) return [false, '身份证号不能为空'];
|
|
|
if(empty($data['depart'])) return [false,'部门不能为空'];
|
|
if(empty($data['depart'])) return [false,'部门不能为空'];
|
|
|
- if(! empty($data['is_admin']) && empty($data['password'])) return [false, '密码不能为空'];
|
|
|
|
|
|
|
+ if(empty($data['is_use'])) return [false,'状态不能为空'];
|
|
|
|
|
+ if(! isset(Employee::State_Type[$data['state']])) return [false,'状态不存在'];
|
|
|
|
|
+ if(! empty($data['is_admin'])){
|
|
|
|
|
+ if(empty($data['password'])) return [false, '密码不能为空'];
|
|
|
|
|
+ if(mb_strlen($data['password']) < 6) return [false, '密码长度不得小于6位长度'];
|
|
|
|
|
+ }
|
|
|
$data['top_depart_id'] = $user['top_depart_id'];
|
|
$data['top_depart_id'] = $user['top_depart_id'];
|
|
|
|
|
|
|
|
- $mobile = $data['mobile'] ?? "";
|
|
|
|
|
- $number = $data['number'] ?? "";
|
|
|
|
|
if(! $is_add){
|
|
if(! $is_add){
|
|
|
if($this->isEmpty($data,'id')) return [false,'ID不能为空'];
|
|
if($this->isEmpty($data,'id')) return [false,'ID不能为空'];
|
|
|
$bool = Employee::where('del_time',0)
|
|
$bool = Employee::where('del_time',0)
|
|
|
->where('id','<>',$data['id'])
|
|
->where('id','<>',$data['id'])
|
|
|
- ->where(function ($query) use ($mobile, $number){
|
|
|
|
|
- $query->where('number', $number);
|
|
|
|
|
- $query->when(! empty($mobile), function ($query) use ($mobile) {
|
|
|
|
|
- return $query->orWhere('mobile', $mobile);
|
|
|
|
|
- });
|
|
|
|
|
- })->exists();
|
|
|
|
|
|
|
+ ->where('top_depart_id', $data['top_depart_id'])
|
|
|
|
|
+ ->where('number', $data['number'])
|
|
|
|
|
+ ->exists();
|
|
|
}else{
|
|
}else{
|
|
|
if(! empty($data['is_admin'])){
|
|
if(! empty($data['is_admin'])){
|
|
|
$code = Depart::where('id', $user['top_depart_id'])->value('code');
|
|
$code = Depart::where('id', $user['top_depart_id'])->value('code');
|
|
|
$data['account'] = $code . "_" . $data['number'];
|
|
$data['account'] = $code . "_" . $data['number'];
|
|
|
}
|
|
}
|
|
|
$bool = Employee::where('del_time',0)
|
|
$bool = Employee::where('del_time',0)
|
|
|
- ->where(function ($query) use ($mobile, $number){
|
|
|
|
|
- $query->where('number', $number);
|
|
|
|
|
- $query->when(! empty($mobile), function ($query) use ($mobile) {
|
|
|
|
|
- return $query->orWhere('mobile', $mobile);
|
|
|
|
|
- });
|
|
|
|
|
- })->exists();
|
|
|
|
|
|
|
+ ->where('top_depart_id', $data['top_depart_id'])
|
|
|
|
|
+ ->where('number', $data['number'])
|
|
|
|
|
+ ->exists();
|
|
|
}
|
|
}
|
|
|
- if($bool) return [false,'工号或手机号码已存在'];
|
|
|
|
|
|
|
+ if($bool) return [false,'人员工号已存在'];
|
|
|
|
|
|
|
|
return [true,''];
|
|
return [true,''];
|
|
|
}
|
|
}
|