ImportManager.php 4.3 KB
<?php
/**
 * @remark :
 * @name   :ImportManager.php
 * @author :lyh
 * @method :post
 * @time   :2023/8/7 17:47
 */

namespace App\Console\Commands;

use App\Models\Manage\EntryPosition;
use App\Models\Manage\JobLevel;
use App\Models\Manage\ManageHr;
use App\Models\Service\Service;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;

class ImportManager extends Command
{
    /**
     * @remark :导入5.0管理员数据
     * @name   :handle
     * @author :lyh
     * @method :post
     * @time   :2023/8/7 17:49
     */
        public function handle(){
            $model = new Service();
            $info = $model->read(['type'=>5]);
            $values = json_decode($info['values']);
            foreach ($values as $k => $v){
                $v = (array)$v;
                $data = [
                    'name'=>$v['name'],
                    'mobile'=>$v['mobile'],
                    'password'=>'$2y$10$ZNHxlIddWiQzQbIIzFgYJOsPlQ4n0cwWl8Sea53qvQvDXtu3WeYMC',
                    'created_at'=>date('Y-m-d H:i:s'),
                    'updated_at'=>date('Y-m-d H:i:s'),
                ];
                $manager_id = DB::table('gl_manage')->insertGetId($data);
                if($v['sex'] == '女'){
                    $v['sex'] = 2;
                }else{
                    $v['sex'] = 1;
                }
                $education = [
                    '专科' => 1,
                    '大专' => 1,
                    '中专' => 0,
                    '本科' => 2,
                    '自考本科'=>0,
                    '全日制本科'=>2,
                    '本科在读'=>2,
                    '大学本科'=>2,
                    '硕士研究生' => 3,
                    '硕士'=>3,
                    '其他' => 0,
                ];
                //获取入职岗位
                $entryPositionModel = new EntryPosition();
                $entry_position = $entryPositionModel->read(['name'=>$v['entry_position']]);
                if($entry_position !== false){
                    $entry_position = $entry_position['id'];
                }else{
                    $entry_position = '';
                }
                //获取级别
                $jobLevelModel = new JobLevel();
                $p_level = $jobLevelModel->read(['name'=>$v['p_level']]);
                if($entry_position !== false){
                    $p_level = $p_level['id'];
                }else{
                    $p_level = '';
                }
                $manager_data = [
                    'manage_id'=>$manager_id ?? '',
                    'name'=>$v['name'],
                    'id_card'=>$v['id_card'],
                    'mobile'=>$v['mobile'],
                    'birthday'=>$v['birthday'],
                    'address'=>$v['address'],
                    'sex'=>$v['sex'],
                    'nationality'=>$v['nationality'],
                    'education'=>isset($education[$v['education']]) ?? 0,
                    'major'=>$v['major'],
                    'graduate_school'=>$v['graduate_school'],
                    'english_level'=>$v['english_level'],
                    'entry_position'=>$entry_position,
                    'p_level'=>$p_level,
                    'residential_address'=>$v['residential_address'],
                    'emergency_contact'=>$v['emergency_contact'],
                    'career_history'=>json_encode((array)$v['career_history']),
                    'learning_history'=>json_encode((array)$v['learning_history']),
                    'bank_card'=>$v['bank_card'],
                    'photo_gallery'=>json_encode((array)$v['photo_gallery']),
                    'id_card_gallery'=>json_encode((array)$v['id_card_gallery']),
                    'certificate_gallery'=>json_encode((array)$v['certificate_gallery']),
                    'dangyuan'=>$v['dangyuan'],
                    'dangzhibu'=>$v['dangzhibu'],
                    'dang_address'=>$v['dang_address'],
                    'join_date'=>$v['join_date'],
                    'status'=>($v['status'] == '在职') ? 1 : 2,
                    'computer_account'=>$v['computer_account'],
                    'qq_account'=>$v['qq_account']
                ];
                $hrModel = new ManageHr();
                $hrModel->add($manager_data);
            }
            return 1;
        }
}