|
|
@@ -10,7 +10,8 @@ use App\Models\Manager\Personnel\EmployeeDepartment as EmployeeDepartmentModel;
|
|
|
use App\Facades\Servers\Encrypts\AccessToken;
|
|
|
use App\Models\Manager\Personnel\EmployeePlatform as EmployeePlatformModel;
|
|
|
use App\Models\Manager\Personnel\EmployeeProvince as EmployeeProvinceModel;
|
|
|
-use App\Models\Manager\Citys as CitysModel;
|
|
|
+use App\Models\Manager\Personnel\EmployeeZoning as EmployeeZoningModel;
|
|
|
+
|
|
|
/**
|
|
|
* 员工模型
|
|
|
* @author 唐远望
|
|
|
@@ -43,8 +44,6 @@ class Employee extends Model
|
|
|
'email' => $data['email'],
|
|
|
'password' => md5($data['password']),
|
|
|
'role_id' => $data['role_id'],
|
|
|
- 'province_ids' => isset($data['province_ids']) ? $data['province_ids'] : '',
|
|
|
- 'city_ids' => isset($data['city_ids']) ? ',' . $data['city_ids'] . ',' : '',
|
|
|
'department_id' => $data['department_id'],
|
|
|
'open_notice' => $data['open_notice'],
|
|
|
'duty_type' => isset($data['duty_type']) ? $data['duty_type'] : '',
|
|
|
@@ -57,6 +56,44 @@ class Employee extends Model
|
|
|
return $Employee_id;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 处理用户城市大区显示
|
|
|
+ * @author 唐远望
|
|
|
+ * @version 1.0
|
|
|
+ * @date 2026-03-19
|
|
|
+ * @param int $id 编码
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function get_area_info($uid)
|
|
|
+ {
|
|
|
+ $user_area_info = '';
|
|
|
+ //获取用户关联大区信息
|
|
|
+ $EmployeeZoningModel = new EmployeeZoningModel();
|
|
|
+ $EmployeeProvinceModel = new EmployeeProvinceModel();
|
|
|
+ $EmployeeAreaModel = new EmployeeAreaModel();
|
|
|
+ $user_area_info = $EmployeeZoningModel->where('employee_id', $uid)->get()->toArray();
|
|
|
+ if ($user_area_info) {
|
|
|
+ //查询用户关联省份信息
|
|
|
+ foreach ($user_area_info as $key => $value) {
|
|
|
+ $province_info = $EmployeeProvinceModel->where(['employee_id' => $uid, 'zoning_id' => $value['zoning_id']])->get()->toArray();
|
|
|
+ $user_area_info[$key]['province_info'] = '';
|
|
|
+ if (empty($province_info)) continue;
|
|
|
+ $user_area_info[$key]['province_info'] = $province_info;
|
|
|
+ //查询用户关联城市信息
|
|
|
+ foreach ($province_info as $k => $v) {
|
|
|
+ $city_info = $EmployeeAreaModel->where(['employee_id' => $uid, 'province_id' => $v['province_id']])->get()->toArray();
|
|
|
+ $user_area_info[$key]['province_info'][$k]['city_info'] = '';
|
|
|
+ if (empty($city_info)) continue;
|
|
|
+ $user_area_info[$key]['province_info'][$k]['city_info'] = $city_info;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $user_area_info;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* id转编码
|
|
|
* @author 唐远望
|
|
|
@@ -100,14 +137,13 @@ class Employee extends Model
|
|
|
$EmployeeDepartmentModel = new EmployeeDepartmentModel();
|
|
|
$EmployeePlatformModel = new EmployeePlatformModel();
|
|
|
$EmployeeProvinceModel = new EmployeeProvinceModel();
|
|
|
+ $EmployeeZoningModel = new EmployeeZoningModel();
|
|
|
$insert_data = [
|
|
|
'name' => $data['name'],
|
|
|
'mobile' => $data['mobile'],
|
|
|
'email' => $data['email'],
|
|
|
'password' => md5($data['password']),
|
|
|
'role_id' => $data['role_id'],
|
|
|
- 'province_ids' => isset($data['province_ids']) ? $data['province_ids'] : '',
|
|
|
- 'city_ids' => isset($data['city_ids']) ? ',' . $data['city_ids'] . ',' : '',
|
|
|
'department_ids' => isset($data['department_ids']) ? ',' . $data['department_ids'] . ',' : '',
|
|
|
'open_notice' => $data['open_notice'],
|
|
|
'duty_type' => isset($data['duty_type']) ? $data['duty_type'] : '',
|
|
|
@@ -121,22 +157,34 @@ class Employee extends Model
|
|
|
//处理省份城市大区信息
|
|
|
if (isset($data['area_data'])) {
|
|
|
$area_data = $data['area_data'];
|
|
|
- foreach ($area_data as $key => $province_data) {
|
|
|
- $insert_province_data = [
|
|
|
+ foreach ($area_data as $zoning_key => $zoning_data) {
|
|
|
+ $insert_zoning_data = [
|
|
|
'employee_id' => $Employee_id,
|
|
|
- 'province_id' => $province_data['province_id'],
|
|
|
- 'province_name' => $province_data['province_name']
|
|
|
+ 'zoning_name' => $zoning_data['zoning_name'],
|
|
|
+ 'is_province_all' => $zoning_data['is_province_all'],
|
|
|
+ 'zoning_id' => $zoning_data['zoning_id'],
|
|
|
];
|
|
|
- if(!$insert_province_data['province_name']) continue;
|
|
|
- $EmployeeProvinceModel->insert($insert_province_data);
|
|
|
- $city_ids = $province_data['city_ids'];
|
|
|
- foreach ($city_ids as $city_info) {
|
|
|
- $insert_city_data = [
|
|
|
+ $EmployeeZoningModel->insert($insert_zoning_data);
|
|
|
+ $province_data_list = $zoning_data['province_data'];
|
|
|
+ foreach ($province_data_list as $province_key => $province_data) {
|
|
|
+ $insert_province_data = [
|
|
|
'employee_id' => $Employee_id,
|
|
|
- 'city_id' => $city_info['id'],
|
|
|
- 'city_name' => $city_info['name']
|
|
|
+ 'zoning_id' => $zoning_data['zoning_id'],
|
|
|
+ 'province_id' => $province_data['province_id'],
|
|
|
+ 'province_name' => $province_data['province_name'],
|
|
|
+ 'is_city_all' => $province_data['is_city_all'],
|
|
|
];
|
|
|
- $EmployeeAreaModel->insert($insert_city_data);
|
|
|
+ $EmployeeProvinceModel->insert($insert_province_data);
|
|
|
+ $city_ids = $province_data['city_ids'];
|
|
|
+ foreach ($city_ids as $city_key => $city_info) {
|
|
|
+ $insert_city_data = [
|
|
|
+ 'employee_id' => $Employee_id,
|
|
|
+ 'province_id' => $province_data['province_id'],
|
|
|
+ 'city_id' => $city_info['id'],
|
|
|
+ 'city_name' => $city_info['name']
|
|
|
+ ];
|
|
|
+ $EmployeeAreaModel->insert($insert_city_data);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -194,7 +242,6 @@ class Employee extends Model
|
|
|
$Employee->email = $data['email'];
|
|
|
if (isset($data['password']) && $data['password'] != '') $Employee->password = md5($data['password']);
|
|
|
$Employee->role_id = $data['role_id'];
|
|
|
- $Employee->city_ids = isset($data['city_ids']) ? ',' . $data['city_ids'] . ',' : '';
|
|
|
$Employee->department_ids = isset($data['department_ids']) ? ',' . $data['department_ids'] . ',' : '';
|
|
|
$Employee->open_notice = $data['open_notice'];
|
|
|
$Employee->duty_type = isset($data['duty_type']) ? $data['duty_type'] : '';
|
|
|
@@ -222,12 +269,12 @@ class Employee extends Model
|
|
|
$EmployeeDepartmentModel = new EmployeeDepartmentModel();
|
|
|
$EmployeePlatformModel = new EmployeePlatformModel();
|
|
|
$EmployeeProvinceModel = new EmployeeProvinceModel();
|
|
|
+ $EmployeeZoningModel = new EmployeeZoningModel();
|
|
|
$Employee->name = $data['name'];
|
|
|
$Employee->mobile = $data['mobile'];
|
|
|
$Employee->email = $data['email'];
|
|
|
if (isset($data['password']) && $data['password'] != '') $Employee->password = md5($data['password']);
|
|
|
$Employee->role_id = $data['role_id'];
|
|
|
- $Employee->city_ids = isset($data['city_ids']) ? ',' . $data['city_ids'] . ',' : '';
|
|
|
$Employee->department_ids = isset($data['department_ids']) ? ',' . $data['department_ids'] . ',' : '';
|
|
|
$Employee->open_notice = $data['open_notice'];
|
|
|
$Employee->duty_type = isset($data['duty_type']) ? $data['duty_type'] : '';
|
|
|
@@ -237,26 +284,38 @@ class Employee extends Model
|
|
|
|
|
|
$EmployeeAreaModel->where('employee_id', $Employee->id)->delete();
|
|
|
$EmployeeProvinceModel->where('employee_id', $Employee->id)->delete();
|
|
|
+ $EmployeeZoningModel->where('employee_id', $Employee->id)->delete();
|
|
|
//处理省份城市大区信息
|
|
|
if (isset($data['area_data'])) {
|
|
|
$area_data = $data['area_data'];
|
|
|
- foreach ($area_data as $key => $province_data) {
|
|
|
- $province_id = $province_data['province_id'];
|
|
|
- $insert_province_data = [
|
|
|
+ foreach ($area_data as $zoning_key => $zoning_data) {
|
|
|
+ $insert_zoning_data = [
|
|
|
'employee_id' => $Employee->id,
|
|
|
- 'province_id' => $province_data['province_id'],
|
|
|
- 'province_name' => $province_data['province_name']
|
|
|
+ 'zoning_name' => $zoning_data['zoning_name'],
|
|
|
+ 'is_province_all' => $zoning_data['is_province_all'],
|
|
|
+ 'zoning_id' => $zoning_data['zoning_id'],
|
|
|
];
|
|
|
- if(!$insert_province_data['province_name']) continue;
|
|
|
- $EmployeeProvinceModel->insert($insert_province_data);
|
|
|
- $city_ids = $province_data['city_ids'];
|
|
|
- foreach ($city_ids as $city_info) {
|
|
|
- $insert_city_data = [
|
|
|
+ $EmployeeZoningModel->insert($insert_zoning_data);
|
|
|
+ $province_data_list = $zoning_data['province_data'];
|
|
|
+ foreach ($province_data_list as $province_key => $province_data) {
|
|
|
+ $insert_province_data = [
|
|
|
'employee_id' => $Employee->id,
|
|
|
- 'city_id' => $city_info['id'],
|
|
|
- 'city_name' => $city_info['name']
|
|
|
+ 'zoning_id' => $zoning_data['zoning_id'],
|
|
|
+ 'province_id' => $province_data['province_id'],
|
|
|
+ 'province_name' => $province_data['province_name'],
|
|
|
+ 'is_city_all' => $province_data['is_city_all'],
|
|
|
];
|
|
|
- $EmployeeAreaModel->insert($insert_city_data);
|
|
|
+ $EmployeeProvinceModel->insert($insert_province_data);
|
|
|
+ $city_ids = $province_data['city_ids'];
|
|
|
+ foreach ($city_ids as $city_key => $city_info) {
|
|
|
+ $insert_city_data = [
|
|
|
+ 'employee_id' => $Employee->id,
|
|
|
+ 'province_id' => $province_data['province_id'],
|
|
|
+ 'city_id' => $city_info['id'],
|
|
|
+ 'city_name' => $city_info['name']
|
|
|
+ ];
|
|
|
+ $EmployeeAreaModel->insert($insert_city_data);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|