123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954 |
- <?php
- namespace Home\Controller;
- use Think\Controller;
- use Think\Cache\Driver;
- include '../Common/function.php';
- include '/var/www/html/jdxf/Public/vendor/phpMQTT/phpMQTT.php';
- class FireinfoController extends ComController
- {
- //报警明细
- public function index()
- {
- $Data = I();
- //$id = $Data['id'];
- //print_r($Data);exit();
- switch ($Data['type']) {
- case '1':
- # 火
- $res = M()->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(" ", "<br>", $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'] = '井盖恢复';
- }
- 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'] = '<iframe scrolling="no" width="100%" height="210px" src="' . $res[0]['h5'] . '" frameborder="0"></iframe>';
- } 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
- <!doctype html>
- <html lang="en">
- <head>
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <meta charset="utf-8">
- <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
- <meta content="yes" name="apple-mobile-web-app-capable">
- <meta content="black" name="apple-mobile-web-app-status-bar-style">
- <meta content="telephone=no" name="format-detection">
- <title>访客无权限修改</title>
- </head>
- <body>
- 访客无权限修改!
- </body>
- </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']);
- //消防总队推送
- if ($owner_data[0]['company']=='10322'||$owner_data[0]['company']=='10012'){
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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
- <!doctype html>
- <html lang="en">
- <head>
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <meta charset="utf-8">
- <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
- <meta content="yes" name="apple-mobile-web-app-capable">
- <meta content="black" name="apple-mobile-web-app-status-bar-style">
- <meta content="telephone=no" name="format-detection">
- <meta http-equiv="refresh" content="2;url=$resurl" />
- <title>保存成功</title>
- </head>
- <body>
- 保存成功,正在跳转。。。
- </body>
- </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));
- }
- }
- }
|