|
|
@ -19,6 +19,7 @@ use app\model\personnel\PersonnelInfo; |
|
|
use app\model\sys\SysUser; |
|
|
use app\model\sys\SysUser; |
|
|
use app\service\admin\user\UserService; |
|
|
use app\service\admin\user\UserService; |
|
|
use core\base\BaseAdminService; |
|
|
use core\base\BaseAdminService; |
|
|
|
|
|
use PhpOffice\PhpSpreadsheet\IOFactory; |
|
|
use think\facade\Db; |
|
|
use think\facade\Db; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -42,7 +43,7 @@ class PersonnelService extends BaseAdminService |
|
|
*/ |
|
|
*/ |
|
|
public function getPage(array $where = []) |
|
|
public function getPage(array $where = []) |
|
|
{ |
|
|
{ |
|
|
$field = 'id,name,head_img,gender,birthday,phone,address,native_place,education,profile,emergency_contact_phone,id_card_front,id_card_back,employee_number,status,is_sys_user,sys_user_id,create_time,update_time,delete_time'; |
|
|
$field = 'id,name,head_img,gender,birthday,phone,address,native_place,education,profile,emergency_contact_phone,id_card_front,id_card_back,employee_number,status,is_sys_user,sys_user_id,create_time,update_time,deleted_at'; |
|
|
$order = 'create_time desc'; |
|
|
$order = 'create_time desc'; |
|
|
|
|
|
|
|
|
$search_model = $this->model->withSearch(["name", "gender", "phone", "address", "education", "employee_number", "status", "create_time"], $where)->field($field)->order($order); |
|
|
$search_model = $this->model->withSearch(["name", "gender", "phone", "address", "education", "employee_number", "status", "create_time"], $where)->field($field)->order($order); |
|
|
@ -80,7 +81,7 @@ class PersonnelService extends BaseAdminService |
|
|
*/ |
|
|
*/ |
|
|
public function getInfo(int $id) |
|
|
public function getInfo(int $id) |
|
|
{ |
|
|
{ |
|
|
$field = 'id,name,gender,head_img,birthday,phone,address,native_place,education,profile,emergency_contact_phone,id_card_front,id_card_back,employee_number,status,is_sys_user,sys_user_id,create_time,update_time,delete_time'; |
|
|
$field = 'id,name,gender,head_img,birthday,phone,address,native_place,education,profile,emergency_contact_phone,id_card_front,id_card_back,employee_number,status,is_sys_user,sys_user_id,create_time,update_time,deleted_at'; |
|
|
|
|
|
|
|
|
$info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); |
|
|
$info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); |
|
|
$info['gender'] = strval($info['gender']); |
|
|
$info['gender'] = strval($info['gender']); |
|
|
@ -188,4 +189,59 @@ class PersonnelService extends BaseAdminService |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function to_lead_into(array $data) |
|
|
|
|
|
{ |
|
|
|
|
|
$filePath = public_path() . $data['url']; |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
$spreadsheet = IOFactory::load($filePath); |
|
|
|
|
|
$worksheet = $spreadsheet->getActiveSheet(); |
|
|
|
|
|
$highestRow = $worksheet->getHighestRow(); |
|
|
|
|
|
|
|
|
|
|
|
$list = []; |
|
|
|
|
|
// 遍历每一行 |
|
|
|
|
|
foreach ($worksheet->getRowIterator() as $rowIndex => $row) { |
|
|
|
|
|
if ($rowIndex == 1) { |
|
|
|
|
|
// 跳过第一行(表头)和最后一行 |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$cellIterator = $row->getCellIterator(); |
|
|
|
|
|
$cellIterator->setIterateOnlyExistingCells(false); |
|
|
|
|
|
|
|
|
|
|
|
$data = []; |
|
|
|
|
|
foreach ($cellIterator as $cell) { |
|
|
|
|
|
$value = $cell->getValue(); // 获取每个单元格的值 |
|
|
|
|
|
|
|
|
|
|
|
if ($value instanceof \PhpOffice\PhpSpreadsheet\RichText\RichText) { |
|
|
|
|
|
$value = $value->getPlainText(); |
|
|
|
|
|
} |
|
|
|
|
|
$data[] = $value; |
|
|
|
|
|
} |
|
|
|
|
|
$list[] = $data; |
|
|
|
|
|
} |
|
|
|
|
|
$inserAll = []; |
|
|
|
|
|
$status = ['已禁用' => 0,'待审核'=>1,'已审核' => 2]; |
|
|
|
|
|
$is_sys_user = ['是' => 1,'否'=>0]; |
|
|
|
|
|
foreach ($list as $key => $item) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$inserAll[] = [ |
|
|
|
|
|
'name' => $item[0], |
|
|
|
|
|
'phone' => $item[1], |
|
|
|
|
|
'status' =>$status[$item[2]], |
|
|
|
|
|
'is_sys_user' =>$is_sys_user[$item[3]], |
|
|
|
|
|
'create_time' => date("Y-m-d H:i:s") |
|
|
|
|
|
]; |
|
|
|
|
|
} |
|
|
|
|
|
$this->model->insertAll($inserAll); |
|
|
|
|
|
return success("导入成功"); |
|
|
|
|
|
|
|
|
|
|
|
} catch (\PhpOffice\PhpSpreadsheet\Reader\Exception $e) { |
|
|
|
|
|
return fail($e->getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|