| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294 | <?phpnamespace App\Http\Controllers\Web\Talent;use App\Http\Controllers\Web\WebBaseController;use App\Models\RecruitAppointSelect;use App\Models\RecruitPost;use App\Models\RecruitTicket;use App\Services\Common\SmsService;use Illuminate\Support\Facades\Cache;use PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\IOFactory;use PhpOffice\PhpSpreadsheet\Cell\DataType;use PhpOffice\PhpWord\IOFactory as WordIOFactory;use PhpOffice\PhpWord\Settings;use PhpOffice\PhpWord\TemplateProcessor;use Illuminate\Support\Facades\DB;use App\Exceptions\ResponseException;use Illuminate\Http\Request;use App\Services\Common\BaiduService;class JjhcController extends WebBaseController{    private $smsService;    public function __construct(SmsService $smsService)    {        $this->smsService = $smsService;    }    public function yqfk()    {        return view("app.talent.jjhc.yqfk");    }    public function chaxun(Request $request)    {        $data = array('msg'=>'查无此用户!','status' => 0);        return response()->json($data);        $info = DB::connection('fangyi')->table('fillinfo')            ->where(['lxdh'=>$request->tel])->first();        if($info){            $data = array('status'=>1,'msg'=>'查到已存在数据!','info'=>$info);        }else{            $data = array('msg'=>'查无此用户!','status' => 0);        }        return response()->json($data);    }    public function test(Request $request)    {        $keyword = $request->input('keyword');        if($keyword != "j0vOW5mBREZxdo3P"){            throw new ResponseException("who are you?", [], 404);        }        $str = "202201012011516202201012010129202201012011708202201012010229202201012010511202201012010212202201012013802202201012012804202201012010411202201012011916202201012010324202201012013518202201012010818202201012012801202201012011729202201012014126202201012012116202201012014614202201012011616202201012011017202201012014618202201012014309202201012010708202201012014612202201012010419202201012012625202201012011025202201012012018202201012011503202201012013701202201012014317202201012011109202201012013418202201012014723202201012012521202201012013530202201012013720202201012012321202201012010315202201012012405202201012014503202201012012313202201012014730202201012011113202201012011203202201012010902202201012013318202201012012019202201012012004202201012010728202201012010809202201012014916202201012014218202201012012328202201012010203202201012013926202201012014701202201012013413202201012012630202201012014111202201012013509202201012014625202201012012901202201012010925202201012012604202201012014515202201012010119202201012014629202201012012530202201012013003202201012012211202201012011507202201012011701202201012011730202201012011905202201012011415202201012015025202201012014113202201012013712202201012011228202201012014127202201012014215202201012010823202201012010209202201012012219202201012012612202201012011818202201012012622202201012013227202201012013127202201012013706202201012010808202201012011607202201012013104202201012013214202201012012029202201012013611202201012010605202201012013407202201012012519202201012015026202201012010819202201012014721202201012013005202201012013901202201012014926202201012012203202201012012416202201012012618202201012010920202201012013426202201012011711202201012012508202201012011919202201012010214202201012011318202201012010524202201012013816202201012014424202201012014607202201012011926202201012012620202201012011404202201012012012202201012010801202201012014803202201012012217202201012013911202201012014102202201012010225202201012011427202201012012210202201012011322202201012013305202201012014314202201012011012202201012010713202201012012629202201012011702202201012011225202201012011309202201012011014202201012013219202201012010929202201012010115202201012014402202201012013520202201012014711202201012010917202201012010903202201012013607202201012011016202201012013015202201012010516202201012011011202201012010924202201012013008202201012011222202201012011713202201012013908202201012011126202201012010410202201012014414202201012013619202201012011422202201012010506202201012014012202201012011724202201012014702202201012010615202201012013630202201012012714202201012012427202201012014227202201012012510202201012013514202201012013522202201012010709202201012010720202201012011403202201012013810202201012012514202201012010718202201012011512202201012011301202201012010730202201012010326202201012014313202201012010127202201012013625202201012013814202201012013915202201012011227202201012013512202201012013309202201012011922202201012014019202201012012726202201012011320202201012011015202201012011913202201012013012202201012012208202201012010919202201012010522202201012012606202201012012206202201012013715202201012011429202201012011305202201012012614202201012011828202201012012602202201012014525202201012011217202201012012915202201012014528202201012012501202201012011220202201012013824202201012012015202201012014024202201012014213202201012012409202201012013618202201012013705202201012013913202201012010208202201012013714202201012012817202201012011409202201012015108202201012013306202201012010428202201012011620202201012012202202201012013710202201012013408202201012012011202201012012511202201012015019202201012010328202201012014216202201012012415202201012010109202201012013529202201012011130202201012012125202201012011211202201012010813202201012014129202201012014805202201012014917202201012013628202201012011824202201012011510202201012013506202201012010112202201012010223202201012011105202201012012310202201012010916202201012014505202201012014508202201012013325202201012011005202201012012928202201012013919202201012010122202201012012220202201012010308202201012010519202201012011602202201012012827202201012011423202201012012722202201012010317202201012010124202201012013007202201012011621202201012010305202201012010826202201012010211202201012013212202201012011714202201012015115202201012011408202201012010102202201012011722202201012013803202201012013412202201012012522202201012011721202201012010613202201012012129202201012013216202201012014526202201012011608202201012010621202201012013709202201012010113202201012013921202201012012115202201012011328202201012013808202201012010907202201012013902202201012014324202201012013019202201012011615202201012011906202201012011108202201012012317202201012011718202201012012728202201012012315202201012013801202201012011303202201012010423202201012010128202201012011230202201012013302202201012010307202201012011716202201012012421202201012012716202201012014130202201012012829202201012012925202201012012112202201012011618202201012013228202201012012330202201012013327202201012012426202201012010412202201012010505202201012011925202201012013117202201012012711202201012012105202201012014305202201012011419202201012013728202201012011402202201012010729202201012014413202201012013601202201012014422202201012010403202201012015109202201012011827202201012011521202201012012102202201012012226202201012014123202201012010323202201012015029202201012013704202201012012826202201012011418202201012014029202201012014104202201012013120202201012013819202201012011514202201012013920202201012014527202201012015021202201012010301202201012014303202201012013527202201012014122202201012012615202201012012014202201012014109202201012014230202201012011028202201012013021202201012011216202201012014623202201012012425202201012012619202201012012126202201012013330202201012012020202201012013612202201012013220202201012011501202201012013304202201012014223202201012010616202201012010817202201012010407202201012012828202201012014322202201012012025202201012010607202201012011201202201012013605202201012012708202201012012808202201012014719202201012014504202201012010219202201012015101202201012010430202201012011821202201012011007202201012010706202201012012221202201012014722202201012011312202201012010909202201012013606202201012010629202201012012130202201012013719202201012010427202201012014105202201012011314202201012014329202201012012929202201012011705202201012010404202201012010530202201012011013202201012012701202201012014819202201012013102202201012011125202201012013602202201012014405202201012010416202201012012504202201012013504202201012012523202201012010126202201012012812202201012014417202201012012204202201012011304202201012013415202201012013004202201012011528202201012013918202201012012616202201012011218202201012013621202201012011810202201012011119202201012012706202201012015120202201012015010202201012013608202201012012905202201012010727202201012010429202201012015103202201012014018202201012011122202201012015110202201012012723202201012011806202201012010425202201012013507202201012011912202201012013416202201012013524202201012010316202201012010906202201012011610202201012012502202201012012717202201012014206202201012010510202201012011612202201012015113202201012014220202201012014810202201012011425202201012012429";        $record_str = "83.982.181.781.581.480.479.37978.878.47877.877.176.976.776.676.576.476.276.17675.975.875.875.775.475.275.17574.974.874.274.173.973.873.873.873.773.573.373.1737372.772.772.672.572.572.472.372.372.272.272.272.171.971.971.971.871.171.171717170.970.970.870.670.670.570.470.470.370.370.270.270.170.170.169.969.669.569.469.369.369.269.269.169.169696968.968.968.968.868.768.668.668.568.568.568.568.468.468.368.368.368.268.1686867.967.967.867.667.567.567.167.167.1676766.966.966.966.766.766.666.666.666.566.566.566.566.466.466.366.366.366.366.266.266.266.166.1666665.865.765.665.565.565.365.165.16565656564.964.964.864.864.864.764.564.564.464.364.364.364.364.264.164.164.164.164.164.16463.963.963.863.863.863.863.863.763.763.763.763.663.563.563.563.463.463.463.363.363.263.263.263.163.163.163.163.16362.962.962.862.862.862.862.762.762.662.662.562.562.562.562.462.362.362.262.262.262.262.162.162.16262626261.961.961.961.961.961.961.861.861.861.861.861.861.761.761.661.661.661.561.561.561.561.461.461.461.361.361.361.361.361.261.261.261.261.161616160.960.960.860.760.760.760.760.660.660.660.660.660.560.560.560.560.460.460.360.360.360.260.160.160.16059.959.959.959.959.959.959.959.859.859.859.759.659.559.559.559.559.559.459.359.359.259.159.159.158.858.858.858.858.758.758.758.758.758.758.658.658.658.558.558.458.458.458.358.358.258.158.1585857.957.957.857.857.857.757.757.657.557.557.557.457.457.457.457.357.357.357.357.357.357.257.257.157575756.956.956.956.956.956.856.856.856.756.756.756.756.656.656.556.556.556.556.556.456.356.356.356.356.356.356.256.156.156.1565655.955.955.955.855.855.755.655.655.655.655.555.555.555.455.455.455.355.255.255.255.155.155.155.1555554.954.854.854.854.754.754.754.754.654.654.554.554.554.554.554.454.454.454.354.354.354.254.254.154545454545453.953.953.953.853.853.853.753.653.653.653.653.553.553.453.453.453.4";        $arr = explode("\r\n",$str);        $record = explode("\r\n",$record_str);        $list = DB::table("recruit_ticket as a")->leftJoin("recruit_appoint_info as b","a.appoint_id",'=','b.id')->where('b.recruit_id',18)->whereIn("a.ex_number",$arr)->get();        foreach ($list as $k => $v){            $data = [];            $data = [                'batch' => 1,                'appoint_id' => $v->appoint_id,                'recruit_id' => $v->recruit_id,                'uid' => $v->uid,                'record' => $record[$k],                'status' => 0,                'result' => null,                'select_result' => null            ];            RecruitAppointSelect::create($data);        }        $redis = Cache::getRedis();        $quota = [            [                'name' => '青阳街道',                'value' => 29,            ],            [                'name' => '梅岭街道',                'value' => 41            ],            [                'name' => '西园街道',                'value' => 16            ],            [                'name' => '罗山街道',                'value' => 30            ],            [                'name' => '灵源街道',                'value' => 18            ],            [                'name' => '新塘街道',                'value' => 29            ],            [                'name' => '陈埭镇',                'value' => 112            ],            [                'name' => '池店镇',                'value' => 80            ],            [                'name' => '安海镇',                'value' => 86            ],            [                'name' => '磁灶镇',                'value' => 46            ],            [                'name' => '内坑镇',                'value' => 38            ],            [                'name' => '紫帽镇',                'value' => 9            ],            [                'name' => '东石镇',                'value' => 29            ],            [                'name' => '永和镇',                'value' => 43            ],            [                'name' => '英林镇',                'value' => 25            ],            [                'name' => '金井镇',                'value' => 28            ],            [                'name' => '龙湖镇',                'value' => 63            ],            [                'name' => '深沪镇',                'value' => 29            ],            [                'name' => '西滨镇',                'value' => 9            ]        ];        $redis->set('recruit_quota',json_encode($quota));        dd($arr);//        $option_list = [//            '青阳街道','梅岭街道','西园街道','罗山街道','灵源街道','新塘街道','陈埭镇','池店镇','安海镇','磁灶镇','内坑镇','紫帽镇','东石镇','永和镇','英林镇','金井镇','龙湖镇','深沪镇','西滨镇'//        ];//        $list = DB::table("recruit_appoint_info")->where('recruit_id',18)->where('audit',3)->where('pen_audit',1)->where('post_id',309)->get();//        foreach ($list as $k => $v){//            $uid = $v->uid;//            $recruit_id = 18;//            $appoint_id = $v->id;////            $info = RecruitAppointSelect::where('uid',$uid)->where('recruit_id',$recruit_id)->where('appoint_id',$appoint_id)->first();////            if($info){////                return ['status' => 0, 'msg' => "测试数据重复,请重新点击生成测试数据!"];////            }//            $data = [//                'recruit_id' => $recruit_id,//                'appoint_id' => $appoint_id,//                'uid' => $uid,//                'status' => 1,//                'record' => mt_rand(50.0,100)//            ];//            shuffle($option_list);//            $select = array_slice($option_list,0,rand(1,19));//            $result = [];//            if(is_array($select) && count($select) > 0){//                foreach ($select as $v) {//                    array_push($result,$v);//                }//            }//            $data['result'] = json_encode($result);//            RecruitAppointSelect::create($data);////        }//        for ($room = 1;$room <= 78; $room++){//            $list = DB::table("recruit_ticket")->leftJoin("recruit_appoint_info","recruit_ticket.appoint_id",'=','recruit_appoint_info.id')->where("recruit_ticket.ex_start",'2022-08-05 08:00:00')->where('recruit_ticket.ex_room',$room)->orderBy('ex_seat','ASC')->get()->toArray();////            $objPHPExcel = IOFactory::load(base_path() . "/public/cunwu.xlsx");//            $sheet = $objPHPExcel->getActiveSheet();//            $row = 4;//            $sheet->setCellValue('A1', "晋江市公开招聘第十三批村务(社区)专职工作者笔试参考情况一览表(第".intval($room)."考场)");////            foreach ($list as $k => $v){//                $sheet->setCellValueByColumnAndRow('1',$row, $v->ex_seat);//                $sheet->setCellValueByColumnAndRow('2',$row, $v->realname);//                $sheet->setCellValueExplicitByColumnAndRow('3',$row, $v->ex_number,DataType::TYPE_STRING);//                $row++;//            }////            $writer = IOFactory::createWriter($objPHPExcel, 'Xlsx');//            $writer->save(base_path() . "/public/excel/cunwu{$room}.xlsx");//        }//        for ($room = 1;$room <= 78; $room++){//            $word = new TemplateProcessor(base_path() . "/public/cunwu1.docx");//            $word->setValue('room', $room);//            if($room<10){//                $room = sprintf('%02s', $room);//            }//            $list = DB::table("recruit_ticket")->leftJoin("recruit_appoint_info","recruit_ticket.appoint_id",'=','recruit_appoint_info.id')->where("recruit_ticket.ex_start",'2022-08-05 08:00:00')->where('recruit_ticket.ex_room',$room)->orderBy('ex_seat','ASC')->get()->toArray();//            $rows = count($list);//总行数//            $word->cloneRow('id', $rows);//复制行//            for ($i = 0; $i < $rows; $i++) {//                $word->setValue("id#" . ($i + 1), $i + 1);//替换变量//                $word->setValue("realname#" . ($i + 1), $list[$i]->realname);//                $word->setValue("ex_number#" . ($i + 1), $list[$i]->ex_number);//            }//            $word->saveAs(base_path() ."/public/excel/cunwu_{$room}.docx");//另存为//        }//        $spreadsheet = new Spreadsheet();//        $sheet = $spreadsheet->getActiveSheet();//        $header = ['姓名','身份证','准考证','报考岗位'];//        foreach ($header as $key => $value) {//            $sheet->setCellValueByColumnAndRow($key+1, 1, $value);//        }//        $row = 2;//        $sheet->getStyle('S')->getNumberFormat()->setFormatCode('0');//        $list = DB::table("recruit_ticket")->leftJoin("recruit_appoint_info","recruit_ticket.appoint_id",'=','recruit_appoint_info.id')->where("recruit_appoint_info.recruit_id",'16')->orderBy('recruit_appoint_info.post_id','ASC')->orderBy('recruit_appoint_info.id','ASC')->get()->toArray();//        $post_data = RecruitPost::where('recruit_id',16)->where('status',1)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');//        foreach ($list as $k => $v){//            $sheet->setCellValueByColumnAndRow('1',$row, $v->realname);//            $sheet->setCellValueExplicitByColumnAndRow('2',$row, $v->card,DataType::TYPE_STRING);//            $sheet->setCellValueExplicitByColumnAndRow('3',$row, $v->ex_number,DataType::TYPE_STRING);//            $sheet->setCellValueByColumnAndRow('4',$row, $post_data[$v->post_id]);//            $row++;//        }//        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//        header('Content-Disposition: attachment;filename="'.time().'.xlsx"');//        header('Cache-Control: max-age=0');//        // If you're serving to IE 9, then the following may be needed//        header('Cache-Control: max-age=1');//        // If you're serving to IE over SSL, then the following may be needed//        header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past//        header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified//        header('Cache-Control: cache, must-revalidate'); // HTTP/1.1//        header('Pragma: public'); // HTTP/1.0//        $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');//        $writer->save('php://output');        echo "success";//        $list = DB::table('lt_apppointment')->distinct()->pluck('card')->toArray();//        $all = DB::table('lt_apppointment')->pluck('card')->toArray();//        $all = array_count_values($all);//        $time = time();//        $data = [//            'idCards' => $list,//            'sign' => strtoupper(md5("timestr={$time}&key=rsKVyec52fqEKpk4RRD2TU8fKvPxt6ombKg0qSq1velPQtBHVi")),//            'timeStr' => $time,//        ];//        $data_string = json_encode($data);//        $ch = curl_init ();//        curl_setopt( $ch, CURLOPT_URL, "http://rc.jucai.gov.cn/api/dataInterface/findTalentInfoByIdCards" );//        curl_setopt($ch, CURLOPT_HTTPHEADER, array(//                'Content-Type: application/json',//                'Content-Length: ' . strlen($data_string))//        );//        curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); //若果报错 name lookup timed out 报错时添加这一行代码//        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );//        curl_setopt( $ch, CURLOPT_TIMEOUT,60);//        curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);//        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);//        curl_setopt( $ch, CURLOPT_POST, 1);//        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);//        $result = curl_exec ( $ch );//        curl_close ( $ch );//        $ret = json_decode($result,true);//        $res = [];//        if(count($ret['obj']) > 0){//            foreach ($ret['obj'] as $k => $v){//                if(array_key_exists($v['street'],$res)){//                    $res[$v['street']]['number']++;//                    $res[$v['street']]['count'] += $all[$v['idCard']];//                }else{//                    $res[$v['street']] = [//                        'number' => 1,//                        'count' => $all[$v['idCard']]//                    ];//                }//            }//        }////        $spreadsheet = new Spreadsheet();//        $sheet = $spreadsheet->getActiveSheet();//        $header = ['镇街','使用人数','使用次数'];//        foreach ($header as $key => $value) {//            $sheet->setCellValueByColumnAndRow($key+1, 1, $value);//        }//        $row = 2;//        foreach ($res as $k => $v){//            $sheet->setCellValueByColumnAndRow(1, $row, $k);//            $sheet->setCellValueByColumnAndRow(2, $row, $v['number']);//            $sheet->setCellValueByColumnAndRow(3, $row, $v['count']);//            $row++;//        }//        $file_name = date("Y-m-d",time()) . '码上服务数据';//        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//        header('Content-Disposition: attachment;filename="'.$file_name.'.xlsx"');//        header('Cache-Control: max-age=0');//        // If you're serving to IE 9, then the following may be needed//        header('Cache-Control: max-age=1');//        // If you're serving to IE over SSL, then the following may be needed//        header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past//        header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified//        header('Cache-Control: cache, must-revalidate'); // HTTP/1.1//        header('Pragma: public'); // HTTP/1.0//        $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');//        $writer->save('php://output');////        //dd($res);    }}
 |