|
@@ -127,6 +127,7 @@ class EmployeeService extends Service
|
|
|
$model = new Employee();
|
|
|
$model = $model->where('id',$data['id'])->first();
|
|
|
$model->number = $data['number'];
|
|
|
+ $model->card_no = $data['card_no'];
|
|
|
$model->emp_name = $data['emp_name'];
|
|
|
$model->mobile = $data['mobile'] ?? '';
|
|
|
$model->leave_time = $data['leave_time'] ?? '';
|
|
@@ -134,7 +135,6 @@ class EmployeeService extends Service
|
|
|
$model->birth_date = $data['birth_date']??'';
|
|
|
$model->state = empty($data['leave_time']) ? Employee::USE : Employee::NOT_USE;
|
|
|
$model->is_admin = $data['is_admin'];
|
|
|
- $model->account = $data['number'];
|
|
|
if($model->pic != $data['pic']){
|
|
|
// 使用正则表达式匹配特定路径部分并替换为空
|
|
|
$pattern = '/^https?:\/\/[^\/]+\/image\//';
|
|
@@ -143,10 +143,16 @@ class EmployeeService extends Service
|
|
|
}
|
|
|
$model->pic = $data['pic'] ?? "";
|
|
|
if($model->is_admin == 1){
|
|
|
- if($data['password'] !== '******'){
|
|
|
- $model->password = Hash::make($data['password']);
|
|
|
+ if($data['password'] !== '******') $model->password = Hash::make($data['password']);
|
|
|
+ if(! empty($data['account'])) {
|
|
|
+ $model->account = $data['account'];
|
|
|
+ }else{
|
|
|
+ $model->account = $data['card_no'];
|
|
|
}
|
|
|
+ }else{
|
|
|
+ $model->account = "";
|
|
|
}
|
|
|
+
|
|
|
$model->save();
|
|
|
|
|
|
EmployeeDepartPermission::where('employee_id',$data['id'])->delete();
|
|
@@ -199,8 +205,8 @@ class EmployeeService extends Service
|
|
|
try{
|
|
|
DB::beginTransaction();
|
|
|
$model = new Employee();
|
|
|
-
|
|
|
$model->number = $data['number'];
|
|
|
+ $model->card_no = $data['card_no'];
|
|
|
$model->emp_name = $data['emp_name'];
|
|
|
$model->mobile = $data['mobile'] ?? '';
|
|
|
$model->leave_time = $data['leave_time'] ?? '';
|
|
@@ -208,13 +214,15 @@ class EmployeeService extends Service
|
|
|
$model->state = empty($data['leave_time']) ? Employee::USE : Employee::NOT_USE;
|
|
|
$model->crt_id = $user['id'];
|
|
|
$model->is_admin = $data['is_admin'];
|
|
|
- $model->account = $data['number'];
|
|
|
$model->sex = $data['sex']??'男';
|
|
|
$model->birth_date = $data['birth_date']??'';
|
|
|
$model->pic = $data['pic'] ?? '';
|
|
|
if($model->is_admin == 1){
|
|
|
- if($data['password'] !== '********'){
|
|
|
- $model->password = Hash::make($data['password']);
|
|
|
+ $model->password = Hash::make($data['password']);
|
|
|
+ if(! empty($data['account'])) {
|
|
|
+ $model->account = $data['account'];
|
|
|
+ }else{
|
|
|
+ $model->account = $data['card_no'];
|
|
|
}
|
|
|
}
|
|
|
$model->save();
|
|
@@ -300,7 +308,7 @@ class EmployeeService extends Service
|
|
|
*/
|
|
|
public function employeeList($data,$user){
|
|
|
$model = Employee::where('del_time',0)
|
|
|
- ->select('number','mobile','emp_name','id','entry_time','leave_time','is_admin','state','is_device','sex','birth_date','pic')
|
|
|
+ ->select('number','mobile','emp_name','id','entry_time','leave_time','is_admin','state','is_device','sex','birth_date','pic','card_no')
|
|
|
->orderBy('number','asc');
|
|
|
|
|
|
if(! empty($data['depart'])) {
|
|
@@ -316,6 +324,7 @@ class EmployeeService extends Service
|
|
|
$model->whereIn("id", $employee_id);
|
|
|
}
|
|
|
|
|
|
+ if(! empty($data['card_no'])) $model->where('card_no', 'LIKE', '%'.$data['card_no'].'%');
|
|
|
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']);
|
|
@@ -408,33 +417,51 @@ class EmployeeService extends Service
|
|
|
* @param $is_add
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function employeeRule($data,$is_add = true){
|
|
|
+ public function employeeRule($data, $is_add = true){
|
|
|
if($this->isEmpty($data,'number')) return [false,'工号不存在!'];
|
|
|
+ if($this->isEmpty($data,'card_no')) return [false,'身份证号不存在!'];
|
|
|
if($this->isEmpty($data,'emp_name')) return [false,'姓名不存在!'];
|
|
|
if(empty($data['depart'])) return [false,'部门不能为空'];
|
|
|
+ if(! empty($data['is_admin'])){
|
|
|
+ $id = $data['id'] ?? 0;
|
|
|
+ $bool = Employee::where('del_time',0)
|
|
|
+ ->when(! empty($id), function ($query) use ($id) {
|
|
|
+ return $query->where('id', "<>", $id);
|
|
|
+ })
|
|
|
+ ->where('account', $data['account'])
|
|
|
+ ->exists();
|
|
|
+ if($bool) return [false, "账号" . $data['account'] ."已存在"];
|
|
|
+ }
|
|
|
|
|
|
$mobile = $data['mobile'] ?? "";
|
|
|
$number = $data['number'] ?? "";
|
|
|
+ $card_no = $data['card_no'] ?? "";
|
|
|
if(! $is_add){
|
|
|
if($this->isEmpty($data,'id')) return [false,'ID不能为空!'];
|
|
|
$bool = Employee::where('del_time',0)
|
|
|
->where('id','<>',$data['id'])
|
|
|
- ->where(function ($query) use ($mobile, $number){
|
|
|
+ ->where(function ($query) use ($mobile, $number, $card_no){
|
|
|
$query->where('number', $number);
|
|
|
$query->when(! empty($mobile), function ($query) use ($mobile) {
|
|
|
return $query->orWhere('mobile', $mobile);
|
|
|
});
|
|
|
+ $query->when(! empty($card_no), function ($query) use ($card_no) {
|
|
|
+ return $query->orWhere('card_no', $card_no);
|
|
|
+ });
|
|
|
})->exists();
|
|
|
}else{
|
|
|
$bool = Employee::where('del_time',0)
|
|
|
- ->where(function ($query) use ($mobile, $number){
|
|
|
+ ->where(function ($query) use ($mobile, $number, $card_no){
|
|
|
$query->where('number', $number);
|
|
|
$query->when(! empty($mobile), function ($query) use ($mobile) {
|
|
|
return $query->orWhere('mobile', $mobile);
|
|
|
});
|
|
|
+ $query->when(! empty($card_no), function ($query) use ($card_no) {
|
|
|
+ return $query->orWhere('card_no', $card_no);
|
|
|
+ });
|
|
|
})->exists();
|
|
|
}
|
|
|
- if($bool) return [false,'工号或手机号码已存在!'];
|
|
|
+ if($bool) return [false,'工号、手机号码或身份证已存在!'];
|
|
|
|
|
|
return [true,''];
|
|
|
}
|