|
@@ -145,8 +145,10 @@ class EmployeeService extends Service
|
|
|
}
|
|
|
$model->save();
|
|
|
|
|
|
+ $time = time();
|
|
|
+
|
|
|
EmployeeRole::where('employee_id',$data['id'])->update([
|
|
|
- 'del_time' => time()
|
|
|
+ 'del_time' => $time
|
|
|
]);
|
|
|
if(isset($data['role'])){
|
|
|
$insert = [];
|
|
@@ -154,15 +156,17 @@ class EmployeeService extends Service
|
|
|
$insert[] = [
|
|
|
'employee_id' => $model->id,
|
|
|
'role_id' => $value,
|
|
|
- 'crt_time' => time(),
|
|
|
- 'upd_time' => time(),
|
|
|
+ 'crt_time' => $time,
|
|
|
+ 'upd_time' => $time,
|
|
|
];
|
|
|
}
|
|
|
EmployeeRole::insert($insert);
|
|
|
}
|
|
|
|
|
|
if(! empty($data['index_array'])){
|
|
|
-
|
|
|
+ EmployeeIndex::where('del_time',0)
|
|
|
+ ->update(['del_time' => $time]);
|
|
|
+ EmployeeIndex::insert($data['index_array']);
|
|
|
}
|
|
|
|
|
|
DB::commit();
|
|
@@ -256,6 +260,20 @@ class EmployeeService extends Service
|
|
|
return [true,'删除成功'];
|
|
|
}
|
|
|
|
|
|
+ public function employeeDetail($data){
|
|
|
+ if($this->isEmpty($data,'id')) return [false,'人员id不能为空'];
|
|
|
+ $user = Employee::where('id', $data['id'])->where('del_time',0)->first();
|
|
|
+ if(empty($user)) return [false, '人员不存在或已被删除'];
|
|
|
+ $user = $user->toArray();
|
|
|
+ $detail = EmployeeIndex::where('del_time',0)
|
|
|
+ ->where('employee_id',$user['id'])
|
|
|
+ ->select('employee_id','index','index_2','index_3','type','start_time','end_time')
|
|
|
+ ->get()->toArray();
|
|
|
+ $user['detail'] = $detail;
|
|
|
+
|
|
|
+ return [true, $user];
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 用户列表
|
|
|
* @param $data
|
|
@@ -362,8 +380,6 @@ class EmployeeService extends Service
|
|
|
* @return array
|
|
|
*/
|
|
|
public function employeeRule($data,$is_add = true){
|
|
|
- if(empty($data['id'])) return [false,'人员ID不能为空'];
|
|
|
-
|
|
|
if(! empty($data['index_array'])){
|
|
|
$typeIntervals = []; // 用于收集每个 type 的时间区间,用于后续不相交校验
|
|
|
foreach ($data['index_array'] as $key => $value){
|
|
@@ -374,6 +390,7 @@ class EmployeeService extends Service
|
|
|
list($start_time, $end_time) = $this->changeDateToTimeStampAboutRange($value['crt_time']);
|
|
|
$data['index_array'][$key]['start_time'] = $start_time;
|
|
|
$data['index_array'][$key]['end_time'] = $end_time;
|
|
|
+ $data['index_array'][$key]['employee_id'] = $data['id'];
|
|
|
if ($start_time === null || $end_time === null || $start_time > $end_time) return [false, $name . ":时间区间无效"];
|
|
|
// 收集每个 type 的时间区间,用于后续不相交校验
|
|
|
$type = $value['type'];
|
|
@@ -384,6 +401,8 @@ class EmployeeService extends Service
|
|
|
];
|
|
|
|
|
|
if(! isset($value['index'])) return [false, 'index不存在'];
|
|
|
+ if(! isset($value['index_2'])) return [false, 'index_2不存在'];
|
|
|
+ if(! isset($value['index_3'])) return [false, 'index_3不存在'];
|
|
|
if(isset(EmployeeIndex::$positive[$value['type']])){
|
|
|
$name_string = EmployeeIndex::$positive[$value['type']];
|
|
|
$res = $this->checkNumber($value['index'],2,'non-negative');
|
|
@@ -393,8 +412,6 @@ class EmployeeService extends Service
|
|
|
$res = $this->checkNumber($value['index']);
|
|
|
if(! $res['valid']) return [false, $name_string . ":" . $res['error']];
|
|
|
}elseif(isset(EmployeeIndex::$positive_2[$value['type']])){
|
|
|
- if(! isset($value['index_2'])) return [false, 'index_2不存在'];
|
|
|
- if(! isset($value['index_3'])) return [false, 'index_3不存在'];
|
|
|
$name_string = EmployeeIndex::$positive[$value['type']];
|
|
|
$res = $this->checkNumber($value['index'],2,'positive');
|
|
|
if(! $res['valid']) return [false, $name_string . "基数:" . $res['error']];
|
|
@@ -426,6 +443,15 @@ class EmployeeService extends Service
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if(! $is_add){
|
|
|
+ if(empty($data['id'])) return [false,'人员ID不能为空'];
|
|
|
+
|
|
|
+ $bool = Employee::where('del_time',0)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->exists();
|
|
|
+ if(! $bool) return [false, '人员不存在或已被删除'];
|
|
|
+ }
|
|
|
+
|
|
|
return [true,''];
|
|
|
}
|
|
|
|
|
@@ -503,7 +529,7 @@ class EmployeeService extends Service
|
|
|
if(! empty($data['title'])) $model->where('title', 'LIKE', '%' . $data['title'] . '%');
|
|
|
|
|
|
$list = $this->limit($model,'',$data);
|
|
|
- $list = $this->fillRoleList($list);
|
|
|
+ $list = $this->fillRoleList($list, $user);
|
|
|
|
|
|
return [true, $list];
|
|
|
}
|