|
@@ -47,11 +47,12 @@ class Employee extends Model
|
|
|
'department_id' => $data['department_id'],
|
|
'department_id' => $data['department_id'],
|
|
|
'open_notice' => $data['open_notice'],
|
|
'open_notice' => $data['open_notice'],
|
|
|
'duty_type' => isset($data['duty_type']) ? $data['duty_type'] : '',
|
|
'duty_type' => isset($data['duty_type']) ? $data['duty_type'] : '',
|
|
|
|
|
+ 'company_id' => $data['company_id'],
|
|
|
'insert_time' => time(),
|
|
'insert_time' => time(),
|
|
|
];
|
|
];
|
|
|
$Employee_id = $this->insertGetId($insert_data);
|
|
$Employee_id = $this->insertGetId($insert_data);
|
|
|
if ($Employee_id) {
|
|
if ($Employee_id) {
|
|
|
- $this->where('id', $Employee_id)->update(['employee_code' => $this->employee_idToCode($Employee_id)]);
|
|
|
|
|
|
|
+ $this->where('id', $Employee_id)->update(['employee_code' => $this->employee_id_rule($data['company_id'], $Employee_id)]);
|
|
|
}
|
|
}
|
|
|
return $Employee_id;
|
|
return $Employee_id;
|
|
|
}
|
|
}
|
|
@@ -122,6 +123,38 @@ class Employee extends Model
|
|
|
return 'RH' . str_pad($id, 9, '0', STR_PAD_LEFT);
|
|
return 'RH' . str_pad($id, 9, '0', STR_PAD_LEFT);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 员工ID生成规则
|
|
|
|
|
+ * @author 唐远望
|
|
|
|
|
+ * @version 1.0
|
|
|
|
|
+ * @date 2026-03-31
|
|
|
|
|
+ * @param int $company_id 公司ID
|
|
|
|
|
+ * @param int $id 员工ID
|
|
|
|
|
+ *
|
|
|
|
|
+ */
|
|
|
|
|
+ public function employee_id_rule($company_id,$id)
|
|
|
|
|
+ {
|
|
|
|
|
+ $new_id =rand(100000000, 999999999);
|
|
|
|
|
+ //查询最新一条记录员工ID
|
|
|
|
|
+ $latest_employee = $this->where('company_id', $company_id)->where([['employee_code','!=','']])->orderBy('id', 'desc')->first();
|
|
|
|
|
+ if (!$latest_employee) {
|
|
|
|
|
+ $new_id = $company_id.str_pad(1, 9, '0', STR_PAD_LEFT);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ //如果包含RH字符,则去除后字符串转数字+1,否则直接字符串数据+1
|
|
|
|
|
+ if (strpos($latest_employee->employee_code, 'RH') === 0) {
|
|
|
|
|
+ $latest_id = intval(str_ireplace('RH', '', $latest_employee->employee_code));
|
|
|
|
|
+ $new_id = $company_id.$latest_id + 1;
|
|
|
|
|
+ } else if (trim($latest_employee->employee_code) != '') {
|
|
|
|
|
+ $new_id = intval($latest_employee->employee_code) + 1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $new_id = $company_id.str_pad(1, 9, '0', STR_PAD_LEFT);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return $new_id;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 编码转id
|
|
* 编码转id
|
|
|
* @author 唐远望
|
|
* @author 唐远望
|
|
@@ -167,7 +200,7 @@ class Employee extends Model
|
|
|
];
|
|
];
|
|
|
$Employee_id = $this->insertGetId($insert_data);
|
|
$Employee_id = $this->insertGetId($insert_data);
|
|
|
if ($Employee_id) {
|
|
if ($Employee_id) {
|
|
|
- $this->where('id', $Employee_id)->update(['employee_code' => $this->employee_idToCode($Employee_id)]);
|
|
|
|
|
|
|
+ $this->where('id', $Employee_id)->update(['employee_code' => $this->employee_id_rule($data['company_id'],$Employee_id)]);
|
|
|
}
|
|
}
|
|
|
//处理省份城市大区信息
|
|
//处理省份城市大区信息
|
|
|
if (isset($data['area_data'])) {
|
|
if (isset($data['area_data'])) {
|