|
@@ -745,7 +745,12 @@ class Admin extends Backend
|
|
|
|
|
|
$fieldArr['学号'] = 'username';
|
|
$fieldArr['学号'] = 'username';
|
|
$fieldArr['姓名'] = 'nickname';
|
|
$fieldArr['姓名'] = 'nickname';
|
|
|
|
+ $fieldArr['层次'] = 'cengci';
|
|
|
|
+ $fieldArr['专业'] = 'zhuanye';
|
|
|
|
+ $fieldArr['年级'] = 'nianji';
|
|
|
|
+ $fieldArr['队'] = 'dui';
|
|
$fieldArr['区队'] = 'depart_id';
|
|
$fieldArr['区队'] = 'depart_id';
|
|
|
|
+
|
|
//加载文件
|
|
//加载文件
|
|
$insert = [];
|
|
$insert = [];
|
|
try {
|
|
try {
|
|
@@ -757,13 +762,13 @@ class Admin extends Backend
|
|
$allRow = $currentSheet->getHighestRow(); //取得一共有多少行
|
|
$allRow = $currentSheet->getHighestRow(); //取得一共有多少行
|
|
$maxColumnNumber = Coordinate::columnIndexFromString($allColumn);
|
|
$maxColumnNumber = Coordinate::columnIndexFromString($allColumn);
|
|
$fields = [];
|
|
$fields = [];
|
|
- for ($currentRow = 1; $currentRow <= 1; $currentRow++) {
|
|
|
|
|
|
+ for ($currentRow = 2; $currentRow <= 2; $currentRow++) {
|
|
for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) {
|
|
for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) {
|
|
$val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();
|
|
$val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();
|
|
$fields[] = $val;
|
|
$fields[] = $val;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) {
|
|
|
|
|
|
+ for ($currentRow = 3; $currentRow <= $allRow; $currentRow++) {
|
|
$values = [];
|
|
$values = [];
|
|
for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) {
|
|
for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) {
|
|
$val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();
|
|
$val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();
|
|
@@ -787,49 +792,124 @@ class Admin extends Backend
|
|
if (!$insert) {
|
|
if (!$insert) {
|
|
$this->error(__('No rows were updated'));
|
|
$this->error(__('No rows were updated'));
|
|
}
|
|
}
|
|
- foreach ($insert as $key => $v)
|
|
|
|
- {
|
|
|
|
- $admin_info = Db::name('admin')->where('username',$v['username'])->find();
|
|
|
|
- if(empty($admin_info)){
|
|
|
|
- $salt = Random::alnum();
|
|
|
|
- $depart_id = Db::name('department')->where('name',$v['depart_id'])->value('id');
|
|
|
|
- $data = [
|
|
|
|
- 'username'=>$v['username'],
|
|
|
|
- 'nickname'=>$v['nickname'],
|
|
|
|
- 'salt'=>$salt,
|
|
|
|
- 'password'=>$this->auth->getEncryptPassword('123456', $salt),
|
|
|
|
- 'avatar'=>'/assets/img/avatar.png',
|
|
|
|
- 'loginfailure'=>0,
|
|
|
|
- 'email'=>$v['username'].'@163.com',
|
|
|
|
- 'status'=>'normal',
|
|
|
|
- 'createtime'=>time(),
|
|
|
|
- 'updatetime'=>time(),
|
|
|
|
- 'depart_id'=>$depart_id??0,
|
|
|
|
- ];
|
|
|
|
- $adminId = Db::name('admin')->insertGetId($data);
|
|
|
|
-
|
|
|
|
- $add = [
|
|
|
|
- 'department_id'=>$depart_id??0,
|
|
|
|
- 'admin_id'=>$adminId,
|
|
|
|
- 'create_time'=>time(),
|
|
|
|
- 'update_time'=>time(),
|
|
|
|
- ];
|
|
|
|
- $departmentId = Db::name('department_admin')->insertGetId($add);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- $group_info = Db::name('auth_group_access')->where('uid',$adminId)->find();
|
|
|
|
- if(empty($group_info)){
|
|
|
|
- $arr = [
|
|
|
|
- 'uid'=>$adminId,
|
|
|
|
- 'group_id'=>8
|
|
|
|
- ];
|
|
|
|
- Db::name('auth_group_access')->insertGetId($arr);
|
|
|
|
|
|
+ $idcard_str = '';
|
|
|
|
+ $insert_data = [];
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ foreach ($insert as $key => $v)
|
|
|
|
+ {
|
|
|
|
+ if(!empty($v['username'])){
|
|
|
|
+ if(empty($v['cengci'])){
|
|
|
|
+ $idcard_str.= $v['nickname'].":层次不能为空<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(empty($v['zhuanye'])){
|
|
|
|
+ $idcard_str.= $v['nickname'].":专业不能为空<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(empty($v['nianji'])){
|
|
|
|
+ $idcard_str.= $v['nickname'].":年级不能为空<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(empty($v['dui'])){
|
|
|
|
+ $idcard_str.= $v['nickname'].":队不能为空<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(empty($v['depart_id'])){
|
|
|
|
+ $idcard_str.= $v['nickname'].":区队不能为空<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ //层次
|
|
|
|
+ $cengci = Db::name('department')->where('name',$v['cengci'])->where('parent_id',0)->value('id');
|
|
|
|
+ if(empty($cengci)){
|
|
|
|
+ $idcard_str.= $v['nickname'].":层次有误,请核实是否存在<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }else{
|
|
|
|
+ //专业
|
|
|
|
+ $zhuanye = Db::name('department')->where('name',$v['zhuanye'])->where('parent_id',$cengci)->value('id');
|
|
|
|
+ if(empty($zhuanye)){
|
|
|
|
+ $idcard_str.= $v['nickname'].":专业有误,请核实是否存在或是否为层次下级<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }else{
|
|
|
|
+ //年级
|
|
|
|
+ $nianji = Db::name('department')->where('name',$v['nianji'])->where('parent_id',$zhuanye)->value('id');
|
|
|
|
+ if(empty($nianji)){
|
|
|
|
+ $idcard_str.= $v['nickname'].":年级有误,请核实是否存在或是否为专业下级<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }else{
|
|
|
|
+ //队
|
|
|
|
+ $dui = Db::name('department')->where('name',$v['dui'])->where('parent_id',$nianji)->value('id');
|
|
|
|
+ if(empty($dui)){
|
|
|
|
+ $idcard_str.= $v['nickname'].":队有误,请核实是否存在或是否为年级下级<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }else{
|
|
|
|
+ //区队
|
|
|
|
+ $depart_id = Db::name('department')->where('name',$v['depart_id'])->where('parent_id',$dui)->value('id');
|
|
|
|
+ if(empty($depart_id)){
|
|
|
|
+ $idcard_str.= $v['nickname'].":区队有误,请核实是否存在或是否为队下级<br/>";
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ $admin_info = Db::name('admin')->where('username',$v['username'])->find();
|
|
|
|
+ if(empty($admin_info)){
|
|
|
|
+ $salt = Random::alnum();
|
|
|
|
+ $insert = [
|
|
|
|
+ 'username'=>$v['username'],
|
|
|
|
+ 'nickname'=>$v['nickname'],
|
|
|
|
+ 'salt'=>$salt,
|
|
|
|
+ 'password'=>$this->auth->getEncryptPassword('123456', $salt),
|
|
|
|
+ 'avatar'=>'/assets/img/avatar.png',
|
|
|
|
+ 'loginfailure'=>0,
|
|
|
|
+ 'email'=>$v['username'].'@163.com',
|
|
|
|
+ 'status'=>'normal',
|
|
|
|
+ 'createtime'=>time(),
|
|
|
|
+ 'updatetime'=>time(),
|
|
|
|
+ 'depart_id'=>$depart_id??0,
|
|
|
|
+ ];
|
|
|
|
+ $adminId = Db::name('admin')->insertGetId($insert);
|
|
|
|
+ $add = [
|
|
|
|
+ 'department_id'=>$depart_id??0,
|
|
|
|
+ 'admin_id'=>$adminId,
|
|
|
|
+ 'create_time'=>time(),
|
|
|
|
+ 'update_time'=>time(),
|
|
|
|
+ ];
|
|
|
|
+ $departmentId = Db::name('department_admin')->insertGetId($add);
|
|
|
|
+ $group_info = Db::name('auth_group_access')->where('uid',$adminId)->find();
|
|
|
|
+ if(empty($group_info)){
|
|
|
|
+ $arr = [
|
|
|
|
+ 'uid'=>$adminId,
|
|
|
|
+ 'group_id'=>8
|
|
|
|
+ ];
|
|
|
|
+ Db::name('auth_group_access')->insertGetId($arr);
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ //已存在更新
|
|
|
|
+ Db::name('admin')->where('id',$admin_info['id'])->update(['depart_id'=>$depart_id]);
|
|
|
|
+ Db::name('department_admin')->where('admin_id',$admin_info['id'])->update(['department_id'=>$depart_id]);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } catch (PDOException $exception) {
|
|
|
|
+ $msg = $exception->getMessage();
|
|
|
|
+ if (preg_match("/.+Integrity constraint violation: 1062 Duplicate entry '(.+)' for key '(.+)'/is", $msg, $matches)) {
|
|
|
|
+ $msg = "导入失败,包含【{$matches[1]}】的记录已存在";
|
|
|
|
+ };
|
|
|
|
+ $this->error($msg);
|
|
|
|
+ } catch (Exception $e) {
|
|
|
|
+ $this->error($e->getMessage());
|
|
|
|
+ }
|
|
|
|
+ if(!empty($idcard_str) ){
|
|
|
|
+ $msg = '导入成功,';
|
|
|
|
+ if (!empty($idcard_str)) {
|
|
|
|
+ $msg .= '以下数据不合理:<br />' . $idcard_str;
|
|
|
|
+ }
|
|
|
|
+ $this->success($msg,'',[],15);
|
|
|
|
+ }else{
|
|
|
|
+ $this->success('导入成功');
|
|
}
|
|
}
|
|
-
|
|
|
|
- $this->success('导入成功');
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|