query("SELECT * FROM sp_v_hj2017 WHERE id='" . $Data['id'] . "'"); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_v_hj2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } if (!empty($res[0]['data4'])) { $val = M()->query("SELECT `desc` FROM sp_userinfo_point WHERE hcp='" . $res[0]['data4'] . "'"); if (!empty($val[0]['desc'])) { $res[0]['data4'] = $val[0]['desc']; } else { $res[0]['data4'] = str_replace(" ", "
", $res[0]['data4']); } } else { $res[0]['data4'] = '无'; } $this->assign('url', 'Fire'); break; case '2': # 水 $res = M()->query("select * from sp_v_sj2017_2 where id='" . $Data['id'] . "' order by time desc"); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_sj2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } $this->assign('url', 'Water'); if ($res[0]['dwtype'] == 5) { $res[0]['data4'] = '水位值:' . $res[0]['data4'] . 'M'; } else { $res[0]['data4'] = '水压值:' . $res[0]['data4'] . 'Mpa'; } if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } else if ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } else { $res[0]['clstatus'] = $res[0]['clzt']; } break; case '6'; #RTU $res = M()->query("select sp_rtu2017.data1, sp_rtu2017.id,sp_rtu2017.ncmd, sp_rtu2017.port, sp_rtu2017.clwb, sp_rtu2017.time, sp_rtu2017.device_code, sp_rtu2017.data4, sp_rtu2017.clzt, sp_rtu2017.data2,sp_rtu2017.clr, sp_rtu2017.clsj, sp_rtu2017.clnr,sp_owner.company, sp_owner.dwtype, sp_owner.owner_name,sp_owner_company.h5 from sp_owner JOIN sp_rtu2017 ON sp_rtu2017.device_code=sp_owner.owner_code JOIN sp_owner_company on sp_owner.company=sp_owner_company.owner_id WHERE sp_rtu2017.id=" . $Data['id']); $this->assign('url', 'Measure'); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_rtu2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } //判断$Data['type']拼接wtype if ($Data['type'] == 6) { $res[0]['cs1']=$res[0]['data2']; $res[0]['cs2']=$res[0]['data4']; $res[0]['wtype'] = $res[0]['data2']; $res[0]['data4'] = $res[0]['data4'] . ',' . $res[0]['data2']; if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } elseif ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } else { $res[0]['clstatus'] = $res[0]['clzt']; } } if ($res[0]['port'] == 'E6') { if ($res[0]['data2'] == '低压' || $res[0]['data2'] == '高压') { $res[0]['dznr'] = '水压值:' . $res[0]['data1'] . 'Mpa'; } elseif ($res[0]['data2'] == '低水位' || $res[0]['data2'] == '高水位') { $res[0]['dznr'] = '水位:' . $res[0]['data1'] . 'M'; } elseif ($res[0]['data2'] == '低温' || $res[0]['data2'] == '高温') { $res[0]['dznr'] = '温度:' . $res[0]['data1'] . '℃'; } elseif ($res[0]['data2'] == '低湿度' || $res[0]['data2'] == '高湿度') { $res[0]['dznr'] = '湿度:' . $res[0]['data1'] . '%'; } else { $res[0]['dznr'] = $res[0]['data4']; } } else { $res[0]['dznr'] = $res[0]['data4']; } break; case '7': # 电气火灾 $res = M()->query("SELECT o.*,c.company,c.owner_name,o.data1 FROM sp_ef2017 o JOIN sp_owner c ON o.device_code=c.owner_code WHERE o.id=" . $Data['id']); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_ef2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } $res1 = M()->query("select h5 from sp_owner_company where owner_id=" . $res[0]['company']); $this->assign('url', 'Efire'); $res[0]['h5'] = $res1[0]['h5']; if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } elseif ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } else { $res[0]['clstatus'] = $res[0]['clzt']; } if ($res[0]['data1'] == 'EF1') { $res[0]['data4'] = 'A相欠压值:' . $res[0]['data2'] . 'V B相欠压值:' . $res[0]['data3'] . 'V C相欠压值:' . $res[0]['data4'] . 'V'; } elseif ($res[0]['data1'] == 'EF2') { $res[0]['data4'] = 'A相过压值:' . $res[0]['data2'] . 'V B相过压值:' . $res[0]['data3'] . 'V C相过压值:' . $res[0]['data4'] . 'V'; } elseif ($res[0]['data1'] == 'EF3') { $res[0]['data4'] = 'A相过流值:' . $res[0]['data2'] . 'mA B相过流值:' . $res[0]['data3'] . 'mA C相过流值:' . $res[0]['data4'] . 'mA'; } elseif ($res[0]['data1'] == 'EF4') { $res[0]['data4'] = '漏电流值:' . $res[0]['data2'] . 'mA'; } elseif ($res[0]['data1'] == 'EF5') { $res[0]['data4'] = '温度1值:' . $res[0]['data2'] . '℃'; } elseif ($res[0]['data1'] == 'EF6') { $res[0]['data4'] = '温度2值:' . $res[0]['data2'] . '℃'; } elseif ($res[0]['data1'] == 'EF7') { $res[0]['data4'] = '温度3值:' . $res[0]['data2'] . '℃'; } elseif ($res[0]['data1'] == 'EF7') { $res[0]['data4'] = '温度4值:' . $res[0]['data2'] . '℃'; } elseif ($res[0]['data1'] == 'EF9') { $res[0]['data4'] = '设备离线'; } if ($res[0]['data1'] != 'EF9') { $res[0]['wtype'] = '在线'; } break; case '16': // print_r($Data);exit(); $res = M()->query("select a.id,a.device_code,a.data4,a.clzt,a.time,d.owner_name,d.unitinfo,a.data2,d.company,a.clwb,a.clsj,a.clnr,a.clr from sp_video2017 a join sp_owner d ON a.device_code=d.owner_code where a.id=" . $Data['id'] . " order by a.time desc"); $this->assign('url', 'VideoAlarm'); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_video2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } if(strpos($res[0]['data2'],'http://101.133.214.75:8080') !== false){ $res[0]['data2']=str_replace("http://101.133.214.75:8080","https://qhome.usky.cn",$res[0]['data2']); } if(strpos($res[0]['data2'],'http://47.103.74.123') !== false){ $res[0]['data2']=str_replace("http://47.103.74.123","https://iot.usky.cn",$res[0]['data2']); } $res[0]['aaa'] = $res[0]['data4']; $res[0]['data4'] = '报警内容:' . $res[0]['data4']; if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } else if ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } else { $res[0]['clstatus'] = $res[0]['clzt']; } if (!empty($res[0]['data2'])) { $res[0]['pd'] = 1; } // print_r($res); // exit(); break; case '17': // print_r($Data);exit(); $res = M()->query("select a.id,a.device_code,a.data4,a.clzt,a.time,d.owner_name,d.unitinfo,a.data2,d.company,a.clwb,a.clsj,a.clnr,a.cldh,a.clr from sp_lifter2017 a join sp_owner d ON a.device_code=d.owner_code where a.id=" . $Data['id'] . " order by a.time desc"); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_lifter2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } $this->assign('url', 'Lifter'); $res[0]['aaa'] = $res[0]['data4']; // $res[0]['data4']='报警内容:'.$res[0]['data4']; if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } else if ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } else { $res[0]['clstatus'] = $res[0]['clzt']; } if (!empty($res[0]['data2'])) { $res[0]['pd'] = 1; } break; case '130': $res = M()->query("select a.id,a.device_code,a.data4,a.clzt,a.time,d.owner_name,d.unitinfo,a.data2,d.company,a.clwb,a.clsj,a.clnr,a.cldh,a.clr from sp_door2020 a join sp_owner d ON a.device_code=d.owner_code where a.id=" . $Data['id'] . " order by a.time desc"); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_door2020 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } $this->assign('url', 'GateMagnetism'); $res[0]['aaa'] = $res[0]['data4']; $res[0]['data4'] = $res[0]['data4']; if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } else if ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } break; case '131': $res = M()->query("select a.id,a.device_code,a.data4,a.clzt,a.time,d.owner_name,d.unitinfo,a.data2,d.company,a.clwb,a.clsj,a.clnr,a.cldh,a.clr from sp_gas2020 a join sp_owner d ON a.device_code=d.owner_code where a.id=" . $Data['id'] . " order by a.time desc"); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_gas2020 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } $this->assign('url', 'CombustibleGas'); $res[0]['aaa'] = $res[0]['data4']; $res[0]['data4'] = '报警内容:' . $res[0]['data4']; if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } else if ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } break; case '128': $res = M()->query("select a.id,a.device_code,a.time,a.device_status,b.owner_name,a.clzt,a.clwb,a.cldh,a.clsj,a.clnr,b.unitinfo,c.owner_address,b.company,a.clr from sp_iw2017 a join sp_owner b on a.device_code=b.owner_code join sp_owner_company c on b.company=c.owner_id where a.id=" . $Data['id']); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_iw2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } if ($res[0]['device_status'] == 1) { $res[0]['data4'] = '打开告警'; } elseif ($res[0]['device_status'] == 0) { $res[0]['data4'] = '打开恢复'; }elseif($res[0]['device_status'] ==2){ $res[0]['data4'] = '满溢恢复'; }elseif($res[0]['device_status'] ==3){ $res[0]['data4'] = '满溢告警'; } if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } elseif ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } // print_r($res[0]);exit(); $this->assign('url', 'ManholeCover'); break; case '4': $res = M()->query("select a.id,a.device_code,a.time,a.data1,b.owner_name,a.clzt,a.clwb,a.cldh,a.clsj,a.clnr,b.unitinfo,c.owner_address,b.company,a.clr from sp_sj2017 a join sp_owner b on a.device_code=b.owner_code join sp_owner_company c on b.company=c.owner_id where a.id=" . $Data['id']); // print_r($res);exit(); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_sj2017 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } if ($res[0]['data1'] = 'WP1') { $res[0]['data4'] = '消防栓低压'; } elseif ($res[0]['data1'] = 'WP2') { $res[0]['data4'] = '消防栓高压'; } if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } elseif ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } // print_r($res[0]);exit(); $this->assign('url', 'FireHydrant'); break; case '129': $res = M()->query("select a.id,a.device_code,a.data4,a.clzt,a.time,d.owner_name,d.unitinfo,a.data2,d.company,a.clwb,a.clsj,a.clnr,a.cldh,a.clr from sp_dc2020 a join sp_owner d ON a.device_code=d.owner_code where a.id=" . $Data['id'] . " order by a.time desc"); if (!empty($res)) { $time_y = date("Y-m"); $sl_data = M()->query("SELECT count(*) as sl FROM sp_dc2020 WHERE device_code='" . $res[0]['device_code'] . "' and time like '%" . $time_y . "%'"); $this->assign('sl_data', $sl_data[0]['sl']); } else { $this->assign('sl_data', 0); } $this->assign('url', 'Geomagnetism'); $res[0]['aaa'] = $res[0]['data4']; $res[0]['data4'] = '报警内容:' . $res[0]['data4']; if ($res[0]['clzt'] == 0) { $res[0]['clstatus'] = '未处理'; } else if ($res[0]['clzt'] == 1) { $res[0]['clstatus'] = '已处理'; } break; default: # code... break; } // dump($res); if (!empty($res[0]['h5'])) { $res[0]['h5'] = ''; } else { $res[0]['h5'] = '     无'; } // if ($res[0]['clwb'] == 1) { $res[0]['clwb'] = '误报'; } else { $res[0]['clwb'] = '非误报'; } // // print_r($res); $this->assign('list', $res[0]); $arr = M()->query("SELECT * FROM sp_owner o JOIN sp_owner_company c ON o.company=c.owner_id WHERE owner_code='" . $res[0]['device_code'] . "'"); $this->assign('arr', $arr[0]); if ($Data['type'] == 6) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/rtu_wcl'); } else { $this->display('alarm_details/rtu_ycl'); } } else if ($Data['type'] == 7) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/dqhz_wcl'); } else { $this->display('alarm_details/dqhz_ycl'); } } else if ($Data['type'] == 16) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/sp_wcl'); } else { $this->display('alarm_details/sp_ycl'); } } else if ($Data['type'] == 17) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/dt_wcl'); } else { $this->display('alarm_details/dt_ycl'); } } else if ($Data['type'] == 128) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/jg_wcl'); } else { $this->display('alarm_details/jg_ycl'); } } else if ($Data['type'] == 4) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/xfs_wcl'); } else { $this->display('alarm_details/xfs_ycl'); } } else if ($Data['type'] == 1) { if ($arr[0]['dwtype'] == 1) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/hj_wcl'); } else { $this->display('alarm_details/hj_ycl'); } } else if ($arr[0]['dwtype'] == 3) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/yg_wcl'); } else { $this->display('alarm_details/yg_ycl'); } } } else if ($Data['type'] == 2) { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/sj_wcl'); } else { $this->display('alarm_details/sj_ycl'); } } else { if ($res[0]['clstatus'] == '未处理') { $this->display('alarm_details/gg_wcl'); } else { $this->display('alarm_details/gg_ycl'); } } } //提交上传 public function outputs() { // dump(I()); if ($_SESSION['phone'] == '15000012454' || $_SESSION['idphone'] == '15000012454') { $html = << 访客无权限修改 访客无权限修改! HTML; echo $html; exit; } $Data = I(); // print_r($Data); $dwtype = $Data['dwtype']; $bx = $Data['bx']; switch ($dwtype) { case '1': $Tabs = M('hj2017'); $Map['data2'] = $Data['ftypewtype']; $Map['data3'] = $Data['data3']; $Map['data5'] = $Data['data5']; break; case '2': $Tabs = M('sj2017'); //var_dump($Tabs);exit(); switch ($Data['ftypewtype']) { case '低位': $Map['data1'] = 'LL1'; break; case '高位': $Map['data1'] = 'LL2'; break; case '故障': $Map['data1'] = 'WP3'; break; case '低压': $Map['data1'] = 'WP1'; break; case '高压': $Map['data1'] = 'WP2'; break; case '离线': $Map['data1'] = 'WP4'; break; default : $Map['data1'] = $Data['ftypewtype']; break; } break; case '3': $Tabs = M('hj2017'); $Map['data2'] = $Data['ftypewtype']; break; case '4': $Tabs = M('sj2017'); break; case '5': $Tabs = M('sj2017'); switch ($Data['ftypewtype']) { case '低位': $Map['data1'] = 'LL1'; break; case '高位': $Map['data1'] = 'LL2'; break; case '波动告警': $Map['data1'] = 'LL5'; break; case '低压': $Map['data1'] = 'WP1'; break; case '高压': $Map['data1'] = 'WP2'; break; case '离线': $Map['data1'] = 'WP4'; break; default : $Map['data1'] = $Data['ftypewtype']; break; } break; case '6': $Tabs = M('rtu2017'); $map['ncmd'] = ''; $Map['ncmd'] = $Data['ncmd']; $Map['data2'] = $Data['cs1']; $Map['data4'] = $Data['cs2']; break; case '7': $Tabs = M('ef2017'); $Map['data1'] = $Data['data1']; break; case '16': $Tabs = M('video2017'); break; case '17': $Tabs = M('lifter2017'); break; case '130': $Tabs = M('door2020'); break; case '131': $Tabs = M('gas2020'); break; case '128': $Tabs = M('iw2017'); break; case '129': $Tabs = M('dc2020'); break; default: break; } $Data['clzt'] = 1; $Data['clsj'] = Date('Y-m-d H:i:s'); if (!empty($_SESSION['idphone'])) { $Data['clr'] = $_SESSION['idphone']; } if (!empty($_SESSION['phone'])) { $Data['clr'] = $_SESSION['phone']; } $Map['device_code'] = $Data['device_code']; $Map['clzt'] = 0; if ($Data['plcl'] == 1) { $owner_data = M()->query("select * from sp_owner where owner_code='" . $Data['device_code'] . "'"); if ($bx == 1) { $owner_data = M()->query("select * from sp_owner where owner_code='" . $Data['device_code'] . "'"); $wx_name = '设备编号' . $owner_data[0]['owner_code'] . '故障'; $dqsj = date('Y-m-d h:i:s', time()); $lsxx = $dqsj . "," . $wx_name; $inster_sql = "insert into ytiot_xj_event_processing (dwjl_id,user_name,wx_name,cl_type,data2,data3) value ('0','" . $_SESSION['phone'] . "','" . $wx_name . "',2,'" . $owner_data[0]['company'] . "','" . $lsxx . "')"; $photos_res = addDataInfo($inster_sql); } unset($Data['id']); //消防总队推送 $company_data=ytapi_query("select * from corps_company where company_code='".$owner_data[0]['company']."' and status=1"); if (!empty($company_data)){ switch ($dwtype) { case '1': $res_id = M()->query("select id,data3,data4 from sp_hj2017 where device_code='" . $Data['device_code'] . "' and data3='" . $Data['data3'] . "' and data5='" . $Data['data5'] . "' and clzt=0"); break; case '2': $res_id = M()->query("select id from sp_sj2017 where device_code='" . $Data['device_code'] . "' and data1='" . $Map['data1'] . "' and clzt=0"); break; case '3': $res_id = M()->query("select id from sp_hj2017 where device_code='" . $Data['device_code'] . "' and data2='" . $Data['ftypewtype'] . "' and clzt=0"); break; case '7': $res_id = M()->query("select * from sp_ef2017 where device_code='" . $Data['device_code'] . "' and data1='" . $Data['data1'] . "' and clzt=0"); break; default: $cs66 = ''; break; } if (!empty($res_id)){ foreach ($res_id as $key=>$value){ $cs66[$key] = [ 'SubType' => $dwtype, 'DeviceId' => $Data['device_code'], 'InsertId' => $res_id[$key]['id'], 'Confirmed' => true, ]; } } } $Tabs->where($Map)->save($Data); $url1 = 'http://47.98.201.187:55335/report'; if ($dwtype == 1) { if (!empty($cs66)){ foreach ($cs66 as $key=>$value){ $cs88 = json_encode($cs66[$key]); http_post_advertise($url1, $cs88); } }else{ $res_id = M()->query("select id,data3,data4 from sp_hj2017 where device_code='" . $Data['device_code'] . "' and data3='" . $Data['data3'] . "' and data5='" . $Data['data5'] . "' and clzt=1 order by time desc LIMIT 1;"); $cs66 = [ 'SubType' => 1, 'DeviceId' => $Data['device_code'], 'InsertId' => $res_id[0]['id'], 'Confirmed' => true, ]; $url1 = 'http://47.98.201.187:55335/report'; $cs88 = json_encode($cs66); http_post_advertise($url1, $cs88); } //redis储存处理的设备 // $redis = new \Redis(); // $result = $redis->connect('47.98.201.73', 6379); // $redis->auth("usky2021"); // if ($result==1){ // if (!empty($res_id[0]['data4'])){ // $port=mb_substr($res_id[0]['data4'],4,1,'utf-8'); //// $port=substr($res_id[0]['data4'],3,1); // }else{ // $port=''; // } // // if (!empty($res_id[0]['data3'])){ // $Source_code=str_replace(',','',$res_id[0]['data3']); // }else{ // $Source_code=''; // } // // $unique_number=$Data['device_code'].$port.$Source_code; // $redis->set("$unique_number",1); // $redis->close(); // } } else if ($dwtype == 2) { if (!empty($cs66)){ foreach ($cs66 as $key=>$value){ $cs88 = json_encode($cs66[$key]); http_post_advertise($url1, $cs88); } }else{ $res_id = M()->query("select id from sp_sj2017 where device_code='" . $Data['device_code'] . "' and data1='" . $Map['data1'] . "' and clzt=1 order by time desc limit 1"); $cs66 = [ 'SubType' => 2, 'DeviceId' => $Data['device_code'], 'InsertId' => $res_id[0]['id'], 'Confirmed' => true, ]; $url1 = 'http://47.98.201.187:55335/report'; $cs88 = json_encode($cs66); http_post_advertise($url1, $cs88); } //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('47.98.201.73', 6379); $redis->auth("usky2021"); if ($result==1){ $unique_number=$Data['device_code']; $redis->set("$unique_number",1); $redis->close(); } } else if ($dwtype == 3) { if (!empty($cs66)){ foreach ($cs66 as $key=>$value){ $cs88 = json_encode($cs66[$key]); http_post_advertise($url1, $cs88); } }else{ $res_id = M()->query("select id from sp_hj2017 where device_code='" . $Data['device_code'] . "' and data2='" . $Data['ftypewtype'] . "' and clzt=1 order by time desc limit 1"); $cs66 = [ 'SubType' => 3, 'DeviceId' => $Data['device_code'], 'InsertId' => $res_id[0]['id'], 'Confirmed' => true, ]; $url1 = 'http://47.98.201.187:55335/report'; $cs88 = json_encode($cs66); http_post_advertise($url1, $cs88); } //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('47.98.201.73', 6379); $redis->auth("usky2021"); if ($result==1){ $unique_number=$Data['device_code']; $redis->set("$unique_number",1); $redis->close(); } } else if ($dwtype == 7) { if (!empty($cs66)){ foreach ($cs66 as $key=>$value){ $cs88 = json_encode($cs66[$key]); http_post_advertise($url1, $cs88); } }else{ $res_id = M()->query("select * from sp_ef2017 where device_code='" . $Data['device_code'] . "' and data1='" . $Data['data1'] . "' and clzt=1 order by time desc limit 1"); $cs66 = [ 'SubType' => 7, 'DeviceId' => $Data['device_code'], 'InsertId' => $res_id[0]['id'], 'Confirmed' => true, ]; $url1 = 'http://47.98.201.187:55335/report'; $cs88 = json_encode($cs66); http_post_advertise($url1, $cs88); } //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('47.98.201.73', 6379); $redis->auth("usky2021"); if ($result==1){ $port=$res_id[0]['port']; $unique_number=$Data['device_code'].$port; $redis->set("$unique_number",1); $redis->close(); } }else if ($dwtype == 6){ //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('47.98.201.73', 6379); $redis->auth("usky2021"); if ($result==1){ $port=$Data['port']; $Source_code=$Data['ncmd']; $unique_number=$Data['device_code'].$port.$Source_code.$Data['cs2'].' '.$Data['cs1']; $redis->set("$unique_number",1); $redis->close(); } }else{ //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('47.98.201.73', 6379); $redis->auth("usky2021"); if ($result==1){ $unique_number=$Data['device_code']; $redis->set("$unique_number",1); $redis->close(); } } } else { if ($bx == 1) { $owner_data = M()->query("select * from sp_owner where owner_code='" . $Data['device_code'] . "'"); $wx_name = '设备编号' . $owner_data[0]['owner_code'] . '故障'; $dqsj = date('Y-m-d h:i:s', time()); $lsxx = $dqsj . "," . $wx_name; $inster_sql = "insert into ytiot_xj_event_processing (dwjl_id,user_name,wx_name,cl_type,data2,data3) value ('0','" . $_SESSION['phone'] . "','" . $wx_name . "',2,'" . $owner_data[0]['company'] . "','" . $lsxx . "')"; $photos_res = addDataInfo($inster_sql); } $Map['id'] = $Data['id']; $Tabs->where($Map)->save($Data); $cs = [ 'SubType' => $dwtype, 'DeviceId' => $Data['device_code'], 'InsertId' => $Data['id'], 'Confirmed' => true, ]; if ($dwtype == 1) { $url = 'http://47.98.201.187:55335/report'; $cs3 = json_encode($cs); $result = http_post_advertise($url, $cs3); } else if ($dwtype == 2) { $url = 'http://47.98.201.187:55335/report'; $cs3 = json_encode($cs); $result = http_post_advertise($url, $cs3); if ($Data['ftypewtype']=='低压'||$Data['ftypewtype']=="高压"){ $device = ytapi_query("SELECT * FROM yt_t_mhwater WHERE device_code='".$Data['device_code']."' AND push_status=1"); if (!empty($device)){ // $tiem_data = M("sj2017")->where("id",$Data['id'])->find(); $tiem_data = date('Y-m-d H:i:s', time()); $json_data_four=$this->date_array_turn_json($Data['id'],$device[0],strtotime($tiem_data),$Data['ftypewtype'],1,'',''); if (!empty($json_data_four)){ $this->message_push_mh("mh/water/statistics",$json_data_four,0); } } } } else if ($dwtype == 3) { $url = 'http://47.98.201.187:55335/report'; $cs3 = json_encode($cs); $result = http_post_advertise($url, $cs3); } else if ($dwtype == 7) { $url = 'http://47.98.201.187:55335/report'; $cs3 = json_encode($cs); $result = http_post_advertise($url, $cs3); }else if ($dwtype == 5){ $url = 'http://47.98.201.187:55335/report'; $cs3 = json_encode($cs); $result = http_post_advertise($url, $cs3); }else if ($dwtype == 6){ $url = 'http://47.98.201.187:55335/report'; $cs3 = json_encode($cs); $result = http_post_advertise($url, $cs3); }else if ($dwtype == 16){ $url = 'http://47.98.201.187:55335/report'; $cs3 = json_encode($cs); $result = http_post_advertise($url, $cs3); } if ($dwtype == 1){ $res_id = M()->query("select data3,data4 from sp_hj2017 where id=" . $Data['id']); //redis储存处理的设备 // $redis = new \Redis(); // $result = $redis->connect('47.98.201.73', 6379); // $redis->auth("usky2021"); // if ($result==1){ // // if (!empty($res_id[0]['data4'])){ // $port=mb_substr($res_id[0]['data4'],4,1,'utf-8'); //// $port=substr($res_id[0]['data4'],3,1); // }else{ // $port=''; // } // // if (!empty($res_id[0]['data3'])){ // $Source_code=str_replace(',','',$res_id[0]['data3']); // }else{ // $Source_code=''; // } // // //// $port=substr($res_id[0]['data4'],3,1); //// $Source_code=str_replace(',','',$res_id[0]['data3']); // $unique_number=$Data['device_code'].$port.$Source_code; // print_r($unique_number); // $redis->set("$unique_number",1); // $redis->close(); // } }else if($dwtype == 6){ $res_id = M()->query("select * from sp_rtu2017 where id=" . $Data['id']); //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('47.98.201.73', 6379); $redis->auth("usky2021"); if ($result==1){ $port=$Data['port']; $Source_code=$Data['ncmd']; $unique_number=$Data['device_code'].$port.$Source_code.$Data['cs2'].' '.$Data['cs1']; // print_r($unique_number); $redis->set("$unique_number",1); $redis->close(); } }else if($dwtype == 7){ $res_id = M()->query("select port from sp_ef2017 where id=" . $Data['id']); //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('47.98.201.73', 6379); $redis->auth("usky2021"); if ($result==1){ $port=$res_id[0]['port']; $unique_number=$Data['device_code'].$port; $redis->set("$unique_number",1); $redis->close(); } }else{ //redis储存处理的设备 $redis = new \Redis(); $result = $redis->connect('127.0.0.1', 6379); $redis->auth("usky2021"); if ($result==1){ $unique_number=$Data['device_code']; $redis->set("$unique_number",1); $redis->close(); } } } $map['device_code'] = $Data['device_code']; $map['clzt'] = 0; $res_sel = $Tabs->where($map)->count('id'); if ($res_sel == 0) { $data = array("devicestatus" => 0); $str_where = "deviceid='" . $Data['device_code'] . "'"; $str_sql_upd = M('devices_status')->where($str_where)->save($data); $arr = array('status' => 'y'); } else { $arr = array('status' => 'n'); } $resurl = 'https://' . $_SERVER['SERVER_NAME'] . $Data['url']; // print_r($resurl); // exit(); $html = << 保存成功 保存成功,正在跳转。。。 HTML; echo $html; //echo json_encode($arr) ; } public function date_array_turn_json($insert_id,$device,$createdTime,$ajDescribe,$ajFlag,$enclosure,$image){ if (!empty($device)){ $arr = [ "id" => $insert_id, "deviceCode"=>$device['mh_device_code'], "createTime" =>date("Y-m-d H:i:s",$createdTime) , "ajType"=>$device['aj_type'], "street"=>$device['street'], "address"=>$device['company_address'].','.$device['device_address'], "grid"=>$device['grid'], "ajDescribe"=>$ajDescribe, "dutyGroup"=>$device['company_name'], "ajFlag"=>$ajFlag, "endTime"=>date("Y-m-d H:i:s",$createdTime+86400), "enclosure"=>$enclosure, "image"=>$image ]; $json_data=json_encode($arr); }else{ $json_data=null; } return $json_data; } public function message_push_mh($topic,$msg,$qos){ // vendor('phpMQTT.phpMQTT'); $server = '47.98.201.73'; // 服务器IP $port = 1883; // 服务器端口 $username = 'usky'; // 用户名 $password = 'usky'; // 密码 $client_id = 'pub_' . uniqid(); $mqtt = new \phpMQTT($server, $port, $client_id); if ($mqtt->connect(true, NULL, $username, $password)) { $mqtt->publish($topic, $msg, $qos); usleep(100000); $mqtt->close(); // Log::record('MH—4G-MQTT-Push success!('.$topic.')['.date('Y-m-d H:i:s').']:'.json_encode($msg)); } else { // Log::record('MH—4G-MQTT-Time out!('.$topic.')['.date('Y-m-d H:i:s').']:'.json_encode($msg)); } } }