Enterprise.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: sicilon_IT
  5. * Date: 2020/5/10
  6. * Time: 20:32
  7. */
  8. namespace app\index\controller;
  9. use app\index\model\indatarec;
  10. use app\index\model\gworkermodel;
  11. use think\Controller;
  12. class Enterprise extends Controller{
  13. /*
  14. * 20200423 来自网上文档
  15. */
  16. protected function curlPost($url,$data)
  17. {
  18. $ch = curl_init();
  19. $params[CURLOPT_URL] = $url; //请求url地址
  20. $params[CURLOPT_HEADER] = FALSE; //是否返回响应头信息
  21. $params[CURLOPT_SSL_VERIFYPEER] = false;
  22. $params[CURLOPT_SSL_VERIFYHOST] = false;
  23. $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
  24. $params[CURLOPT_POST] = true;
  25. $params[CURLOPT_POSTFIELDS] = $data;
  26. curl_setopt_array($ch, $params); //传入curl参数
  27. $content = curl_exec($ch); //执行
  28. curl_close($ch); //关闭连接
  29. return $content;
  30. }
  31. private function queryworkerbyeid($cid){
  32. $url="https://iws.4bpoc.com/wapsenyi/wap/getPersonnelList";
  33. $pdata=array();
  34. $pdata['conid']=$cid;
  35. $wliststr=$this->curlPost($url,$pdata);
  36. $wlist=json_decode($wliststr,true);
  37. return $wlist;
  38. }
  39. public function oprallworker(){
  40. ini_set('max_execution_time','0');
  41. //初始化员工表
  42. $t_w=new gworkermodel();
  43. //获取当前的数据
  44. $t_indata=new indatarec();
  45. $rlist=$t_indata->all();
  46. $rlist=collection($rlist)->toArray();
  47. //每个公司读取
  48. foreach($rlist as &$kv){
  49. $cid=$kv['contractid'];
  50. $maxid=$kv['workrecid'];
  51. $workerlist=$this->queryworkerbyeid($cid);
  52. $wlist=$workerlist['Rows'];
  53. foreach($wlist as $worker){
  54. //先比较ID,只有大于才处理
  55. if ($worker['id']>$kv['workrecid']){
  56. if ($worker['id']>$maxid){
  57. //更换id
  58. $maxid=$worker['id'];
  59. }
  60. //比较身份证
  61. $sfz=$worker['card'];
  62. $rec=$t_w->selinfobysfz($sfz);
  63. if (!$rec){
  64. //todo 去存储此数据
  65. //
  66. $arr['wname']=$worker['name'];
  67. $arr['telno']=$worker['Mobile'];
  68. $arr['shengfengid']=$sfz;
  69. $arr['cprojectid']=3;
  70. $arr['workclass']=$worker['TypeOfWork'];
  71. $arr['wage']=$worker['age'];
  72. $arr['cardno']=$worker['EMP_BANK_CARD'];
  73. $t_w->saveworkerinfo($arr);
  74. }
  75. }
  76. }
  77. //更新最大的id
  78. $t_indata->updrecbycid($cid,$maxid);
  79. }
  80. }
  81. }