paginate(); $pages = $data_list->render(); $this->assign('data_list', $data_list); $this->assign('pages', $pages); //所有的服务类型 $SetType=[ 1=>"读取模块信息", 2=>"读取参数", 3=>"设置IOT平台IP地址", 4=>"设置参数", 5=>"复位模块", 6=>"配置下行波特率", 7=>"读取下行波特率配置", 8=>"设置DTU自动采集指令", 9=>"读取DTU自动采集指令", 10=>"设置APN", 11=>"读取APN设置", 12=>"AT指令", /* [1,"读取模块信息"],[2,"读取参数"],[3,"设置IOT平台IP地址"],[4,"设置参数"],[5,"复位模块"],[6,"配置下行波特率"], [7,"读取下行波特率配置"],[8,"设置DTU自动采集指令"],[9,"读取DTU自动采集指令"],[10,"设置APN"],[11,"读取APN设置"], [12,"AT指令"]*/ ]; $this->assign('SetType',$SetType); return $this->fetch(); } //下发命令 public function add(){ if ($this->request->isPost()) { $data=input(''); $list = array(); if (is_array($data)) { $list['data'] = json_encode($data, 320); $getdata = json_decode($list['data'], true);//转成数组 $list['type'] = 1; } else { $list['data'] = $data; $getdata = json_decode($list['data'], true);//转成数组 $list['type'] = 2; } $json_string = json_encode($getdata, JSON_FORCE_OBJECT); Log::record('rawData:' .$json_string ); $paras = array(); $upData = array(); if(!empty($getdata["dataType"])){ if($getdata['dataType']=="setting"){ $sql6="select * from sp_owner where id ={$getdata['sensorId']}"; $longHuOwner = add($sql6); if ($longHuOwner[0]['s_interval']==7){ $imei='&imei='.$longHuOwner[0]['owner_code']; if($longHuOwner[0]['dwtype']==2){ $deviceType=1; }elseif ($longHuOwner[0]['dwtype']==5){ $deviceType=2; } $sendata['imei']=$longHuOwner[0]['owner_code']; $sendata['deviceType']=$deviceType; $sendingGap = ''; if (!empty($getdata["sendTime"])){ if($getdata['sendTime']<1800) { $sendingGap = '&sendingGap=1800'; $upData['send_time'] = 1800; $sendata['sendingGap']=1800; }else{ $sendingGap = '&sendingGap='.$getdata["sendTime"]; $upData['send_time'] = $getdata["sendTime"]; $sendata['sendingGap']=$getdata["sendTime"]; } } $unipathThresholdLimit = ''; if (!empty($getdata["lowThreshold"])){ $sendata['unipathThresholdLimit'] = $getdata["lowThreshold"]*1000; $upData['low_threshold'] = $getdata['lowThreshold']; } $unipathThresholdUpper = ''; if (!empty($getdata["highThreshold"])){ $sendata['unipathThresholdUpper'] = $getdata["highThreshold"]*1000; $upData['high_threshold'] = $getdata['highThreshold']; } $header=[ "Content-Type:application/json" ]; $rescurl=$this->s_curl("https://api.topsailiot.com/dmp/deviceConfig?appkey=3a3e533818a9604dfec0388b2d817dbc2f9f7b05dd4b153c403897cd93a9c04d0edfe3d86ebd3ad0&userid=TS2020120110122980052",json_encode($sendata),$header); // $rep_url = "https://api.topsailiot.com/dmp/deviceConfig?appkey=3a3e533818a9604dfec0388b2d817dbc2f9f7b05dd4b153c403897cd93a9c04d0edfe3d86ebd3ad0&userid=TS2020120110122980052".$imei.$deviceType.$sendingGap.$unipathThresholdLimit.$unipathThresholdUpper; // $res = $this->s_curl($rep_url,''); Log::record('longhulorasend' . ':' . json_encode($sendata)); Log::record('longhuloraresult' . ':' . $rescurl); // if (is_array($rescurl)) { // // }else{} $resArr = json_decode($rescurl,true); if ($resArr['code']==0){ $deviceConfigure = Db::name('deviceConfigure')->where('device_code', trim($longHuOwner[0]['owner_code']))->find(); if (!empty($deviceConfigure['device_code'])) { sleep(1); $upDataRes = Db::name('deviceConfigure')->where('device_code', trim($longHuOwner[0]['owner_code']))->update($upData); }else{ sleep(1); $upData['device_code'] = $longHuOwner[0]['owner_code']; $insertRes = Db::name('deviceConfigure')->insertGetId($upData); } } return $rescurl; }else{ $deviceCode = ''; $deviceArr = str_split($longHuOwner[0]['owner_code'],1); for ($i=0;$iwhere('device_id', trim($longHuOwner[0]['owner_code']))->find(); $sendata=[ "appId"=>$this->appId, "deviceId"=>$device['iot_id'],// c448d5e3-2ec5-4e42-99d7-0ad27668614f 137effbe-4980-4719-a768-0ae301fc5000 "command"=>[ "serviceId"=>"topsailSensorData", "method"=>"SET_DEVICE_LEVEL", "paras"=>$paras ], "callbackUrl"=>"http://iot.usky.cn:80/ytapi/admin/Manage/status", ]; $header=[ "Content-Type:application/json", "app_key:".$this->appId, "Authorization:Bearer ".$token["accessToken"] ]; $rescurl=curl($this->host."iocm/app/cmd/v1.4.0/deviceCommands",json_encode($sendata),$header); // var_dump($rescurl); Log::record('nbmanage1:' .$rescurl[0].$sendata['command']['paras']['value'] ); if($rescurl[0]==201){//成功 $res1=json_decode($rescurl[1],true); // var_dump($res1); }else{//失败 // $res2=json_decode($res1[1],true); // return $this->error($rescurl[1]); Log::record('nbmanageerror:' .json_encode($this->error($rescurl[1]))); $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; return json_encode($returnInformation); } } }else if($getdata['dataType']=="bendi"){ $deviceCode = ''; $deviceArr = str_split($getdata['IMEI'],1); for ($i=0;$i$this->appId, "deviceId"=>$getdata['deviceId'],// c448d5e3-2ec5-4e42-99d7-0ad27668614f 137effbe-4980-4719-a768-0ae301fc5000 "command"=>[ "serviceId"=>"topsailSensorData", "method"=>"SET_DEVICE_LEVEL", "paras"=>$paras ], "callbackUrl"=>"http://iot.usky.cn:80/ytapi/admin/Manage/status", ]; $header=[ "Content-Type:application/json", "app_key:".$this->appId, "Authorization:Bearer ".$token["accessToken"] ]; $rescurl=curl($this->host."iocm/app/cmd/v1.4.0/deviceCommands",json_encode($sendata),$header); var_dump($rescurl); Log::record('nbmanage1:' .$rescurl[0].$sendata['command']['paras']['value'] ); if($rescurl[0]==201){//成功 $res1=json_decode($rescurl[1],true); // var_dump($res1); }else{//失败 // $res2=json_decode($res1[1],true); return $this->error($rescurl[1]); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; return json_encode($returnInformation); } //将请求的结果存入managelog中 $list=array(); $list['commandId']=$res1['commandId']; $list['deviceId']=$res1['deviceId']; $list['status']=$res1['status']; $list['command']= json_encode($res1['command'],320) ; if($getdata['dataType']=="setting"){ $list['IMEI']=$longHuOwner[0]['owner_code']; }else{ $list['IMEI']=$getdata['IMEI']; } $list['HexStr']=json_encode($upData,320) ;; $list['settype']=""; $list['addtime']= date('Y-m-d H:i:s'); $res = Db::name('managelog')->insertGetId($list);//将推送的数据存入总表 if($res) { $returnInformation['code'] = 200; $returnInformation['msg'] = "操作成功"; if($getdata['dataType']=="setting"){ return json_encode($returnInformation); }else{ return $this->success('添加成功','index'); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; if($getdata['dataType']=="setting"){ return json_encode($returnInformation); }else{ return $this->error("添加失败,请稍后再试"); } } } if($this->request->isGet()){ $deviceId=input('deviceId'); $IMEI=input('IMEI'); //所有的服务类型 $SetType=[ [1,"读取模块信息"],[2,"读取参数"],[3,"设置IOT平台IP地址"],[4,"设置参数"],[5,"复位模块"],[6,"配置下行波特率"], [7,"读取下行波特率配置"],[8,"设置DTU自动采集指令"],[9,"读取DTU自动采集指令"],[10,"设置APN"],[11,"读取APN设置"], [12,"AT指令"] ]; $this->assign('SetType',$SetType); $this->assign('deviceId',$deviceId); $this->assign('IMEI', $IMEI); return $this->fetch(); } } public function status(){ $data=input(''); if(is_array($data)){ $getdata= json_encode($data,320); $getdata=json_decode($getdata,true);//转成数组 $list['type']=1; }else{ $getdata=$data; $getdata=json_decode($getdata,true);//转成数组 $list['type']=2; } $list=array(); $list['deviceId']=$getdata['deviceId']; $list['commandId']=$getdata['commandId']; $list['resultCode']=$getdata['result']['resultCode']; $list['result']= json_encode($getdata['result'],320) ; $list['addtime']= date('Y-m-d H:i:s'); $res = Db::name('managedata')->insertGetId($list);//将推送的数据存入总表 if($getdata['result']['resultCode']=='SENT'||$getdata['result']['resultCode']=='TIMEOUT'||$getdata['result']['resultCode']=='DELIVERED'||$getdata['result']['resultCode']=='SUCCESSFUL'){ $device = Db::name('device')->where('iot_id', trim($getdata['deviceId']))->find(); $deviceConfigure = Db::name('deviceConfigure')->where('device_code', trim($device['device_id']))->find(); $managelog = Db::name('managelog')->where('commandId', trim($getdata['commandId']))->find(); $upData = json_decode($managelog['HexStr'],true); if (!empty($deviceConfigure['device_code'])) { sleep(1); $upDataRes = Db::name('deviceConfigure')->where('device_code', trim($device['device_id']))->update($upData); }else{ sleep(1); $upData['device_code'] = $device['device_id']; $insertRes = Db::name('deviceConfigure')->insertGetId($upData); } } echo 111; } public function delete(){ echo 111; } public function manualPush(){ $data=input(''); if(is_array($data)){ $getdata= json_encode($data,320); $getdata=json_decode($getdata,true);//转成数组 $list['type']=1; }else{ $getdata=$data; $getdata=json_decode($getdata,true);//转成数组 $list['type']=2; } if ($getdata['deviceType']==2){ $sql6="select * from sp_sj2017 where device_code ='{$getdata["deviceCode"]}'"; $longHuOwner = add($sql6); Log::record('yangpuxiaoyuan12' . ':' . $longHuOwner[0]["id"]); foreach ($longHuOwner as $row) { $waterData["SubType"] = 2; $waterData["DeviceId"] = $getdata["deviceCode"]; $waterData["InsertId"] = $row["id"]; $waterData["Confirmed"] = false; $data6 = json_encode($waterData); $rep_url = "http://47.98.201.187:55335/report"; $res = $this->ypxycurl($rep_url, $data6); Log::record('yangpuxiaoyuan' . ':' . $res); sleep(1); } } // $list=array(); // $list['deviceId']=$getdata['deviceId']; // $list['commandId']=$getdata['commandId']; // $list['resultCode']=$getdata['result']['resultCode']; // $list['result']= json_encode($getdata['result'],320) ; // $list['addtime']= date('Y-m-d H:i:s'); // $res = Db::name('managedata')->insertGetId($list);//将推送的数据存入总表 // if($getdata['result']['resultCode']=='SENT'||$getdata['result']['resultCode']=='TIMEOUT'||$getdata['result']['resultCode']=='DELIVERED'||$getdata['result']['resultCode']=='SUCCESSFUL'){ // $device = Db::name('device')->where('iot_id', trim($getdata['deviceId']))->find(); // $deviceConfigure = Db::name('deviceConfigure')->where('device_code', trim($device['device_id']))->find(); // $managelog = Db::name('managelog')->where('commandId', trim($getdata['commandId']))->find(); // $upData = json_decode($managelog['HexStr'],true); // if (!empty($deviceConfigure['device_code'])) { // sleep(1); // $upDataRes = Db::name('deviceConfigure')->where('device_code', trim($device['device_id']))->update($upData); // }else{ // sleep(1); // $upData['device_code'] = $device['device_id']; // $insertRes = Db::name('deviceConfigure')->insertGetId($upData); // } // } echo 111; } // public function alarmHandling(){ // $data=input(''); // if(is_array($data)){ // $getDataJson= json_encode($data,320); // $getdata=json_decode($getDataJson,true);//转成数组 //// $list['type']=1; // // }else{ // $getDataJson=$data; // $getdata=json_decode($getDataJson,true);//转成数组 //// $list['type']=2; // // } // Log::record('yangpuerqi' . ':' .$getDataJson); // if (!empty($getdata['userName']) && !empty($getdata['userPassword'])){ // if ($getdata["userName"]=="ypsgec" && $getdata["userPassword"]=="ypsgec123"){ // if (empty($getdata['recordId'])){ // $returnInformation['code'] = 60001; // $returnInformation['msg'] = "操作失败,缺少记录Id"; // return json_encode($returnInformation); // }elseif (empty($getdata['deviceCode'])){ // $returnInformation['code'] = 60001; // $returnInformation['msg'] = "操作失败,缺少设备编号"; // return json_encode($returnInformation); // }elseif (empty($getdata['deviceType'])){ // $returnInformation['code'] = 60001; // $returnInformation['msg'] = "操作失败,缺少设备类型"; // return json_encode($returnInformation); // }elseif (is_int($getdata['confirmAll'])==true&&$getdata['confirmAll']!=0&&$getdata['confirmAll']!=1){ // $returnInformation['code'] = 60001; // $returnInformation['msg'] = "操作失败,缺少是否批量处理类型"; // return json_encode($returnInformation); // }elseif ($getdata['misinformation']!=0&&$getdata['misinformation']!=1){ // $returnInformation['code'] = 60001; // $returnInformation['msg'] = "操作失败,缺少是否误报字段"; // return json_encode($returnInformation); // }elseif (empty($getdata['handlerName'])){ // $returnInformation['code'] = 60001; // $returnInformation['msg'] = "操作失败,缺少处理人姓名"; // return json_encode($returnInformation); // }elseif (empty($getdata['handlerPhone'])){ // $returnInformation['code'] = 60001; // $returnInformation['msg'] = "操作失败,缺少处理人联系方式"; // return json_encode($returnInformation); // }else{ // $returnInformation['code'] = 0; // $returnInformation['msg'] = "操作成功"; // return json_encode($returnInformation); // } // // // // // // // // }else{ // $returnInformation['code'] = 60002; // $returnInformation['msg'] = "操作失败,用户名或密码错误"; // return json_encode($returnInformation); // } // }else{ // $returnInformation['code'] = 60002; // $returnInformation['msg'] = "操作失败,用户名或密码为空"; // return json_encode($returnInformation); // } // } public function deviceList(){ $data=input(''); if(is_array($data)){ $getDataJson= json_encode($data,320); $getdata=json_decode($getDataJson,true);//转成数组 }else{ $getDataJson=$data; $getdata=json_decode($getDataJson,true);//转成数组 } $clientIp=$this->ip(); Log::record('yangpuerqi_deviceList' . ':' .'<<<'.$clientIp.'>>>'.$getDataJson); $allowIp = ['222.69.153.207','120.253.238.34','114.86.176.11','120.253.238.37']; if (!in_array($clientIp, $allowIp)){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,IP地址不在白名单中"; $returnInformation['data']=null; return json_encode($returnInformation); }else{ if (!empty($getdata['userName']) && !empty($getdata['userPassword'])){ if ($getdata["userName"]=="sgec68" && $getdata["userPassword"]=="sgec68123"){ if(!empty($getdata['commandType'])){ if($getdata['commandType']=="FRONTPAGE"){ $sql="select device_code as deviceCode,device_name as deviceName,CONVERT(type, UNSIGNED INTEGER) as deviceType,type_name as deviceTypeName,unitinfo as deviceAddress,CONVERT(louyu, UNSIGNED INTEGER) as deviceFloor,company_name as companyName,company_code as companyCode,contacts,contacts_phone as contactsPhone,address as detailedAddress,street,posistion,time as dataTime,'在线' as status from sp_v_yp_device where company_code='10246'"; $res=add($sql); if (!empty($res)){ $returnInformation['code'] = 0; $returnInformation['msg'] = "操作成功"; $returnInformation['data']=$res; return json_encode($returnInformation); }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败"; $returnInformation['data']=null; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,参数错误"; $returnInformation['data']=null; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,参数为空"; $returnInformation['data']=null; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60002; $returnInformation['msg'] = "操作失败,用户名或密码错误"; $returnInformation['data']=null; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60002; $returnInformation['msg'] = "操作失败,用户名或密码为空"; $returnInformation['data']=null; return json_encode($returnInformation); } } } public function alarmHandling(){ $data=input(''); if(is_array($data)){ $getDataJson= json_encode($data,320); $getdata=json_decode($getDataJson,true);//转成数组 // $list['type']=1; }else{ $getDataJson=$data; $getdata=json_decode($getDataJson,true);//转成数组 // $list['type']=2; } Log::record('yangpuerqi_alarmHandling' . ':' .$getDataJson); if ($getdata['confirmAll']==""){ $getdata['confirmAll']=0; } if ($getdata['misinformation']==""){ $getdata['misinformation']=0; } if (!empty($getdata['userName']) && !empty($getdata['userPassword'])){ if ($getdata["userName"]=="ypsgec" && $getdata["userPassword"]=="ypsgec123"){ if (empty($getdata['recordId'])){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少记录Id"; return json_encode($returnInformation); }elseif (empty($getdata['deviceCode'])){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少设备编号"; return json_encode($returnInformation); }elseif (empty($getdata['deviceType'])){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少设备类型"; return json_encode($returnInformation); }elseif ($getdata['confirmAll']!=0&&$getdata['confirmAll']!=1){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少是否批量处理类型"; return json_encode($returnInformation); }elseif ($getdata['misinformation']!=0&&$getdata['misinformation']!=1){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少是否误报字段"; return json_encode($returnInformation); }elseif (empty($getdata['handlerName'])){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少处理人姓名"; return json_encode($returnInformation); }elseif (empty($getdata['handlerPhone'])){ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少处理人联系方式"; return json_encode($returnInformation); } // else{ // $returnInformation['code'] = 0; // $returnInformation['msg'] = "操作成功"; // return json_encode($returnInformation); // } // echo 'aaaaaaa'; // exit(); switch ($getdata['deviceType']) { case '1': $tab="sp_hj2017"; break; case '2': $tab="sp_sj2017"; break; case '6': $tab="sp_rtu2017"; break; case '7': $tab="sp_ef2017"; break; // case '16': // $tab="sp_video2017"; // break; default: $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,缺少设备类型"; return json_encode($returnInformation); break; } $time = date('Y-m-d h:i:s', time()); if ($getdata['confirmAll']==0){ $where = " where id=".$getdata['recordId']." and device_code='".$getdata['deviceCode']."' and clzt='0'"; }else{ $where = " where device_code='".$getdata['deviceCode']."' and clzt='0'"; } $sql="UPDATE ".$tab." SET clsj='".$time."',clr='".$getdata['handlerName']."',clnr='".$getdata['processingContent']."',clwb='".$getdata['misinformation']."',cldh='".$getdata['handlerPhone']."',clzt=1 ".$where; // echo $sql; // print_r($sql); // exit(); $res=addDataInfo($sql); if ($res){ $returnInformation['code'] = 0; $returnInformation['msg'] = "操作成功"; return json_encode($returnInformation); }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,参数错误"; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60002; $returnInformation['msg'] = "操作失败,用户名或密码错误"; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60002; $returnInformation['msg'] = "操作失败,用户名或密码为空"; return json_encode($returnInformation); } } public function ip() { //strcasecmp 比较两个字符,不区分大小写。返回0,>0,<0。 if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $ip = getenv('HTTP_CLIENT_IP'); } else if (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } else if (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $ip = getenv('REMOTE_ADDR'); } else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { $ip = $_SERVER['REMOTE_ADDR']; } $res = preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : ''; return $res; //dump(phpinfo());//所有PHP配置信息 } public function dianQiCeShiUrl(){ header("Access-Control-Allow-Origin:*"); // 响应类型 header('Access-Control-Allow-Methods:POST'); // 响应头设置 header('Access-Control-Allow-Headers:x-requested-with, content-type'); $data=input(''); if(is_array($data)){ $getDataJson= json_encode($data,320); $getdata=json_decode($getDataJson,true);//转成数组 }else{ $getDataJson=$data; $getdata=json_decode($getDataJson,true);//转成数组 } $json_string = json_encode($getdata, JSON_FORCE_OBJECT); Log::record('dianQiCeShiData:' .$json_string ); // $data5 = array(); // $sensorList = array(); // $sensorList1 = array(); // $sensorListArray = array(); // $data5['status'] = "0"; // $sensorList['productId'] = "10001"; // $sensorList['productName'] = "小米6"; // $sensorList['productPrice'] = "2499"; // $sensorList['productImg'] = "http://47.103.74.123/VideoAlarmPics/pic_1569859775_JYDL_XAQ_0.jpg"; // $sensorListArray[0] = $sensorList; // $sensorList1['productId'] = "10002"; // $sensorList1['productName'] = "小米笔记本"; // $sensorList1['productPrice'] = "3999"; // $sensorList1['productImg'] = "http://47.103.74.123/VideoAlarmPics/pic_1569859775_JYDL_XAQ_0.jpg"; // $sensorListArray[1] = $sensorList1; // $data5['result'] = $sensorListArray; // $data6 = json_encode($data5); return $json_string; } public function mt_rand_float($min, $max){ return $min + abs($max-$min) * mt_rand(0,mt_getrandmax())/mt_getrandmax(); } public function randomDate() { $begin = strtotime("now"); $end = strtotime("-1 Month"); $timestamp = rand($begin, $end); return date("Y-m-d H:i:s", $timestamp); } public function ceShiUrl(){ header("Access-Control-Allow-Origin:*"); // 响应类型 header('Access-Control-Allow-Methods:POST'); // 响应头设置 header('Access-Control-Allow-Headers:x-requested-with, content-type'); $data=input(''); if(is_array($data)){ $getDataJson= json_encode($data,320); $getdata=json_decode($getDataJson,true);//转成数组 }else{ $getDataJson=$data; $getdata=json_decode($getDataJson,true);//转成数组 } $data1 = array(); $data2 = array(); $data4 = array(); $data5 = array(); $data6 = array(); $data7 = array(); $data8 = array(); $data9 = array(); $data10 = array(); $data11 = array(); $data12 = array(); $data15 = array(); $data16 = array(); $data18 = array(); $data19 = array(); for ($i=0;$i<=14;$i++){ $data1['standard_deviation']=round($this->mt_rand_float(1,5),2); $data1['variance']=round($data1['standard_deviation']*$data1['standard_deviation'],2); $data1['average_value']=round($this->mt_rand_float(220,227),2); $j=$i+1; if($j>=10){ $data1['data_time']="2021-03-".$j; } $data2[$i]=$data1; $data4['standard_deviation']=round($this->mt_rand_float(3,8),2); $data4['variance']=round($data4['standard_deviation']*$data4['standard_deviation'],2); $data4['average_value']=round($this->mt_rand_float(7,15),2); if($j>=10){ $data4['data_time']="2021-03-".$j; } $data5[$i]=$data4; $data6['standard_deviation']=round($this->mt_rand_float(0,2),2); $data6['variance']=round($data6['standard_deviation']*$data6['standard_deviation'],2); $data6['average_value']=round($this->mt_rand_float(17,25),2); if($j>=10){ $data6['data_time']="2021-03-".$j; } $data7[$i]=$data6; $data8['standard_deviation']=round($this->mt_rand_float(30,70),2); $data8['variance']=round($data8['standard_deviation']*$data8['standard_deviation'],2); $data8['average_value']=round($this->mt_rand_float(30,60),2); if($j>=10){ $data8['data_time']="2021-03-".$j; } $data9[$i]=$data8; $data11['electric_current']=round($this->mt_rand_float(8,18),2); $data11['voltage']=round($this->mt_rand_float(220,225),2); $data11['data_time']=$this->randomDate(); $data12[$i]=$data11; $data15['electric_current']=round($this->mt_rand_float(20,100),2); $data15['voltage']=round($this->mt_rand_float(220,225),2); $data15['data_time']=$this->randomDate(); $data16[$i]=$data15; $data18['ambient_temperature']=round($this->mt_rand_float(20,25),2); $data18['Cable_temperature']=round($this->mt_rand_float(10,20),2); $data18['generation_temperature']=round($data18['ambient_temperature']-$data18['Cable_temperature'],2); $data18['data_time']=$this->randomDate(); $data19[$i]=$data18; } $data10['conclusion1']="因数据量未达到暂无法分析"; $data3['voltage']=$data2; $data3['electric_current']=$data5; $data3['temperature']=$data7; $data3['leakage_current']=$data9; $data3['conclusion']=$data10; $data14['abnormal_equipment']=$data12; $data14['leakage_alarm']=$data16; $data14['conclusion']=$data10; $data20['visualization']=$data19; $data20['conclusion']=$data10; $data13['dispersion_rate']=$data3; $data13['electrical_aging']=$data14; $data13['thermal_aging']=$data20; // $data1['alarm_number']=$this->mt_rand_float(100,500); // $sensorList['productId'] = round($this->mt_rand_float(3,5),2); $data17 = json_encode($data13); return $data17; } public function deviceNumber(){ header("Access-Control-Allow-Origin:*"); // 响应类型 header('Access-Control-Allow-Methods:POST'); // 响应头设置 header('Access-Control-Allow-Headers:x-requested-with, content-type'); $data=input(''); if(is_array($data)){ $getDataJson= json_encode($data,320); $getdata=json_decode($getDataJson,true);//转成数组 }else{ $getDataJson=$data; $getdata=json_decode($getDataJson,true);//转成数组 } $data6 = array(); if ($getdata['userName']=="ypywtg"){ $sql="SELECT COUNT(*) AS waterNumber FROM sp_owner WHERE dwtype = 2 AND company in ('10309', '10308', '10307', '10306', '10305', '10304', '10303', '10302', '10301', '10300', '10299', '10298', '10297', '10296', '10295', '10294', '10293', '10292', '10291', '10290', '10289', '10288', '10287', '10286', '10285', '10284', '10283', '10282', '10281', '10280', '10279', '10278', '10277', '10276', '10275', '10274', '10273', '10272', '10271', '10270', '10269', '10268', '10267', '10266', '10265', '10264', '10263', '10262', '10261', '10260', '10259', '10258', '10257', '10256', '10255', '10254', '10253', '10252', '10251', '10250', '10249', '10248', '10246', '10245', '10244', '10243', '10242', '10241', '10240', '10239', '10238', '10237', '10236', '10234');"; $res=add($sql); $sql1="SELECT COUNT(*) AS levelNumber FROM sp_owner WHERE dwtype = 5 AND company in ('10309', '10308', '10307', '10306', '10305', '10304', '10303', '10302', '10301', '10300', '10299', '10298', '10297', '10296', '10295', '10294', '10293', '10292', '10291', '10290', '10289', '10288', '10287', '10286', '10285', '10284', '10283', '10282', '10281', '10280', '10279', '10278', '10277', '10276', '10275', '10274', '10273', '10272', '10271', '10270', '10269', '10268', '10267', '10266', '10265', '10264', '10263', '10262', '10261', '10260', '10259', '10258', '10257', '10256', '10255', '10254', '10253', '10252', '10251', '10250', '10249', '10248', '10246', '10245', '10244', '10243', '10242', '10241', '10240', '10239', '10238', '10237', '10236', '10234');"; $res1=add($sql1); $sql2="SELECT COUNT(*) AS smokeSensationNumber FROM sp_owner WHERE dwtype = 3 AND company in ('10309', '10308', '10307', '10306', '10305', '10304', '10303', '10302', '10301', '10300', '10299', '10298', '10297', '10296', '10295', '10294', '10293', '10292', '10291', '10290', '10289', '10288', '10287', '10286', '10285', '10284', '10283', '10282', '10281', '10280', '10279', '10278', '10277', '10276', '10275', '10274', '10273', '10272', '10271', '10270', '10269', '10268', '10267', '10266', '10265', '10264', '10263', '10262', '10261', '10260', '10259', '10258', '10257', '10256', '10255', '10254', '10253', '10252', '10251', '10250', '10249', '10248', '10246', '10245', '10244', '10243', '10242', '10241', '10240', '10239', '10238', '10237', '10236', '10234');"; $res2=add($sql2); $sql3="SELECT COUNT(*) AS rtuNumber FROM sp_owner WHERE dwtype = 6 AND company in ('10309', '10308', '10307', '10306', '10305', '10304', '10303', '10302', '10301', '10300', '10299', '10298', '10297', '10296', '10295', '10294', '10293', '10292', '10291', '10290', '10289', '10288', '10287', '10286', '10285', '10284', '10283', '10282', '10281', '10280', '10279', '10278', '10277', '10276', '10275', '10274', '10273', '10272', '10271', '10270', '10269', '10268', '10267', '10266', '10265', '10264', '10263', '10262', '10261', '10260', '10259', '10258', '10257', '10256', '10255', '10254', '10253', '10252', '10251', '10250', '10249', '10248', '10246', '10245', '10244', '10243', '10242', '10241', '10240', '10239', '10238', '10237', '10236', '10234');"; $res3=add($sql3); $sql4="SELECT COUNT(*) AS videoNumber FROM sp_owner WHERE dwtype = 16 AND company in ('10309', '10308', '10307', '10306', '10305', '10304', '10303', '10302', '10301', '10300', '10299', '10298', '10297', '10296', '10295', '10294', '10293', '10292', '10291', '10290', '10289', '10288', '10287', '10286', '10285', '10284', '10283', '10282', '10281', '10280', '10279', '10278', '10277', '10276', '10275', '10274', '10273', '10272', '10271', '10270', '10269', '10268', '10267', '10266', '10265', '10264', '10263', '10262', '10261', '10260', '10259', '10258', '10257', '10256', '10255', '10254', '10253', '10252', '10251', '10250', '10249', '10248', '10246', '10245', '10244', '10243', '10242', '10241', '10240', '10239', '10238', '10237', '10236', '10234');"; $res4=add($sql4); $sql5="SELECT COUNT(*) AS electricalFireNumber FROM sp_owner WHERE dwtype = 7 AND company in ('10309', '10308', '10307', '10306', '10305', '10304', '10303', '10302', '10301', '10300', '10299', '10298', '10297', '10296', '10295', '10294', '10293', '10292', '10291', '10290', '10289', '10288', '10287', '10286', '10285', '10284', '10283', '10282', '10281', '10280', '10279', '10278', '10277', '10276', '10275', '10274', '10273', '10272', '10271', '10270', '10269', '10268', '10267', '10266', '10265', '10264', '10263', '10262', '10261', '10260', '10259', '10258', '10257', '10256', '10255', '10254', '10253', '10252', '10251', '10250', '10249', '10248', '10246', '10245', '10244', '10243', '10242', '10241', '10240', '10239', '10238', '10237', '10236', '10234');"; $res5=add($sql5); $sensorList['waterNumber'] =$res[0]['waterNumber']; $sensorList['levelNumber'] =$res1[0]['levelNumber']; $sensorList['smokeSensationNumber'] =$res2[0]['smokeSensationNumber']; $sensorList['rtuNumber'] =$res3[0]['rtuNumber']; $sensorList['videoNumber'] =$res4[0]['videoNumber']; $sensorList['electricalFireNumber'] =$res5[0]['electricalFireNumber']; $data6 = json_encode($sensorList); } return $data6; } public function s_curl($url,$data='',$header="",$method="POST"){ $ch = curl_init() ; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER,$header); // curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); /* curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');*/ // curl_setopt($ch, CURLOPT_VERBOSE, 1); //debugģʽ curl_setopt($ch, CURLOPT_SSLCERT, "./server.crt"); //client.crt�ļ�·�� curl_setopt($ch, CURLOPT_SSLCERTPASSWD, "IoM@1234"); //client֤������ curl_setopt($ch, CURLOPT_SSLKEY, "./server.key"); if($method=="POST"||$method=="PUT"||$method=="DELETE"){ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $info = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (curl_errno($ch)) { $infores = curl_error($ch); }else{ $infores = $info; } curl_close($ch); return $infores; } public function ypxycurl($url,$data=''){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $info = curl_exec($ch); if (curl_errno($ch)) { $info = 'ERROR: ' . curl_error($ch); } curl_close($ch); return $info; } }