| 
					
				 | 
			
			
				@@ -33,125 +33,266 @@ class Import{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return bool 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function deal($data): bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $id = $data['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $res = Db::table("new_talent_zhiren")->where('id',$id)->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if($res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if($res['task_status'] != -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load("/www/wwwroot/report/public/storage/".$res['task_file']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $sheet = $spreadsheet->getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $datas = $sheet->toArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $datas = array_slice($datas, 1); //去标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $street = Db::table("sys_dict")->where("pid",1655)->column("code","name"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $index = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if($data['type'] == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $id = $data['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $res = Db::table("new_talent_zhiren")->where('id',$id)->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if($res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if($res['task_status'] != -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load("/www/wwwroot/report/public/storage/".$res['task_file']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $sheet = $spreadsheet->getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $datas = $sheet->toArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $datas = array_slice($datas, 1); //去标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $street = Db::table("sys_dict")->where("pid",1655)->column("code","name"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for ($index = 0;$index < count($datas);$index++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $row = $datas[$index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $msg = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $item = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for ($i = 0; $i < 11; $i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        switch ($i){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(in_array($row[$i],['企业用户','民办非企业','事业单位'])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    if($row[$i] == '事业单位'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        $item['special'] = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for ($index = 0;$index < count($datas);$index++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $row = $datas[$index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $msg = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $item = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for ($i = 0; $i < 11; $i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            switch ($i){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(in_array($row[$i],['企业用户','民办非企业','事业单位'])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if($row[$i] == '事业单位'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['special'] = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['special'] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        $item['special'] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"导入的机构类型不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    array_push($msg,"导入的机构类型不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(empty($row[$i])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    array_push($msg,"机构名称不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    $info = Db::table("un_enterprise")->where('name',$row[$i])->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    if($info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        array_push($msg,"机构名称已存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(empty($row[$i])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"机构名称不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $info = Db::table("un_enterprise")->where('name',$row[$i])->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if($info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            array_push($msg,"机构名称已存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        $isMatched = preg_match('/^[\x{4e00}-\x{9fa5}\(\)()\da-zA-Z&]{2,50}$/u', $row[$i], $matches); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $isMatched = preg_match('/^[\x{4e00}-\x{9fa5}\(\)()\da-zA-Z&]{2,50}$/u', $row[$i], $matches); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            if($isMatched){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                $item['name'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                array_push($msg,"机构名称只能是中文或数字"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $info = Db::table("un_enterprise")->where('idCard',$row[$i])->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if($info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"机构代码已存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $isMatched = preg_match('/^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/', $row[$i], $matches); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         if($isMatched){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            $item['name'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['idCard'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            array_push($msg,"机构名称只能是中文或数字"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            array_push($msg,"组织机构代码证不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $info = Db::table("un_enterprise")->where('idCard',$row[$i])->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if($info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    array_push($msg,"机构代码已存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    $isMatched = preg_match('/^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/', $row[$i], $matches); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['agentName'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 4: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $isMatched = preg_match('/^1[3456789]\d{9}$/', $row[$i], $matches); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     if($isMatched){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        $item['idCard'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $item['agentPhone'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        array_push($msg,"组织机构代码证不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"联系电话不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $item['agentName'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 4: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $isMatched = preg_match('/^1[3456789]\d{9}$/', $row[$i], $matches); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if($isMatched){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    $item['agentPhone'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    array_push($msg,"联系电话不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 5: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $item['street'] = array_key_exists($row[$i],$street) ? $street[$row[$i]] : '00000'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 6: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $item['address'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 7: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $item['ephone'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $item['bankCard'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 9: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $item['bank'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            case 10: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                $item['bankNetwork'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 5: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['street'] = array_key_exists($row[$i],$street) ? $street[$row[$i]] : '00000'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 6: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['address'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 7: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['ephone'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['bankCard'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 9: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['bank'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 10: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['bankNetwork'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(count($msg) >= 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $sheet->setCellValue('L'.($index+2), '导入失败,失败原因:'.implode(";",$msg)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['id'] = getStringId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['type'] = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['source'] = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['username'] = $item['idCard']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $password = generate_password(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['password'] =  hash('md5', $password); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['active'] = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['checkState'] = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $item['createTime'] = date("Y-m-d H:i:s",time()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Db::table("un_enterprise")->insert($item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $sheet->setCellValue('L'.($index+2), '导入成功,初始账号为:'.$item['idCard'].',初始密码为:'.$password); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var_dump($msg,($index+1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(count($msg) >= 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $sheet->setCellValue('L'.($index+2), '导入失败,失败原因:'.implode(";",$msg)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $item['id'] = getStringId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $item['type'] = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $item['source'] = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $item['username'] = $item['idCard']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $password = generate_password(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $item['password'] =  hash('md5', $password); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $item['createTime'] = date("Y-m-d H:i:s",time()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Db::table("un_enterprise")->insert($item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $sheet->setCellValue('L'.($index+2), '导入成功,初始账号为:'.$item['idCard'].',初始密码为:'.$password); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $writer->save("/www/wwwroot/report/public/storage/".$res['task_file']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Db::table("new_talent_zhiren")->where('id',$id)->update(['task_result' => $res['task_file'],'task_status' => 1,'updateTime' => date("Y-m-d H:i:s",time())]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }catch (\Exception $e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Db::table("new_talent_zhiren")->where('id',$data['id'])->update(['task_result' => $e->getMessage(),'status' => 0,'updateTime' => date("Y-m-d H:i:s",time())]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $writer->save("/www/wwwroot/report/public/storage/".$res['task_file']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Db::table("new_talent_zhiren")->where('id',$id)->update(['task_result' => $res['task_file'],'task_status' => 1,'updateTime' => date("Y-m-d H:i:s",time())]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }catch (\Exception $e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Db::table("new_talent_zhiren")->where('id',$data['id'])->update(['task_result' => $e->getMessage(),'status' => 0,'updateTime' => date("Y-m-d H:i:s",time())]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $id = $data['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $res = Db::table("new_talent_zhiren")->where('id',$id)->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if($res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if($res['task_status'] != -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load("/www/wwwroot/report/public/storage/".$res['task_file']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $sheet = $spreadsheet->getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $datas = $sheet->toArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $datas = array_slice($datas, 1); //去标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $country = Db::table("sys_dict")->where("pid",35)->column("code","name"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for ($index = 0;$index < count($datas);$index++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $row = $datas[$index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $msg = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $item = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $enterprise_name = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $enterprise_id = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $action = 'insert'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for ($i = 0; $i < 9; $i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            switch ($i){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(empty($row[$i])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"机构名称不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $enterprise_name = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $info = Db::table("un_enterprise")->where('idCard',$row[$i])->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(!$info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"机构代码不存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if($info['name'] != $enterprise_name){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            array_push($msg,"机构代码与企业名称无法对应,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['enterprise_id'] = $enterprise_id = $info['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(empty($row[$i])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"人才姓名不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $item['name'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(in_array($row[$i],['身份证','通行证','护照'])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $key = array_search($row[$i],['身份证','通行证','护照']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $item['card_type'] = $key +1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"人才的证件类型不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 4: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(empty($row[$i])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"证件号码不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if(!isCreditNo($row[$i]) && $item['card_type'] == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            array_push($msg,"证件号码不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $talent_info = Db::table("new_talent_info")->where("card_number",$row[$i])->where('enterprise_id',$enterprise_id)->findOrEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if($talent_info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $action = 'update'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $item['card_number'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 5: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $item['nationality'] = array_key_exists($row[$i],$country) ? $country[$row[$i]] : 'other'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 6: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if(!in_array($row[$i],['第一层次','第二层次','第三层次','第四层次','第五层次'])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        array_push($msg,"人才层次不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $key = array_search($row[$i],['第一层次','第二层次','第三层次','第四层次','第五层次']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        $item['talent_arrange'] = $key +1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 7: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    switch ($row[$i]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        case '福建省人才': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['source'] = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        case '泉州市人才': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['source'] = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            array_push($msg,"人才来源不正确"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    switch ($item['source']){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        case '1': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['fujian_highcert_exptime'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        case '2': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            $item['quanzhou_highcert_exptime'] = $row[$i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        var_dump($item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(count($msg) >= 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $sheet->setCellValue('J'.($index+2), '导入失败,失败原因:'.implode(";",$msg)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if($action == 'update'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                $item['updateTime'] = date("Y-m-d H:i:s",time()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                Db::table("new_talent_info")->where('id',$talent_info['id'])->update($item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                $sheet->setCellValue('J'.($index+2), '更新成功'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                $item['createTime'] = date("Y-m-d H:i:s",time()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                Db::table("new_talent_info")->insert($item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                $sheet->setCellValue('J'.($index+2), '导入成功'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $writer->save("/www/wwwroot/report/public/storage/".$res['task_file']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Db::table("new_talent_zhiren")->where('id',$id)->update(['task_result' => $res['task_file'],'task_status' => 1,'updateTime' => date("Y-m-d H:i:s",time())]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }catch (\Exception $e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Db::table("new_talent_zhiren")->where('id',$id)->update(['task_result' => $e->getMessage(),'task_status' => 0,'updateTime' => date("Y-m-d H:i:s",time())]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |