123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019/4/30 0030
- * Time: 上午 9:53
- */
- namespace Home\Controller;
- use Think\Controller;
- include '../Common/function.php';
- include ('/php/aliyun-dyvms-php-sdk/api_demo/singleCallByTts1.php');
- //include ('/php/api_sdk/singleCallByTts1.php');
- class VoiceAlarmController extends Controller
- {
- public function voice(){
- $Data=I('post.');
- $dataid = $Data['IMEI'];
- $time = $Data['time'];
- // $evt = $Data['evt'];
- $company=M()->query("select company,dwtype,owner_name from sp_owner where owner_code=".$dataid);
- if(empty($company)){
- exit();
- }
- $time6=date("Y-m-d")." 00:00:00";
- $sql="select * from ytiot_tc_alarm_packages_zb a JOIN ytiot_tc_alarm_packages b ON a.UQ_SETMREAL_ID=b.UQ_SETMREAL_ID where UQ_COMPANY_ID=".
- $company[0]['company']." and UQ_CATEGORY=".$company[0]['dwtype']." and E_STATUS='1' and D_END_STORETIME>='".$time6."'";
- echo $sql;
- $setmeal=add66($sql);
- if(empty($setmeal)){
- exit();
- }
- $sql_lx_content="select count(*) from ytiot_tc_alarm_packages_zb a JOIN ytiot_tc_alarm_packages b ON a.UQ_SETMREAL_ID=b.UQ_SETMREAL_ID where b.UQ_COMPANY_ID=".
- $company[0]['company']." and a.UQ_CATEGORY=8 and a.E_STATUS='1' and D_END_STORETIME>='".$time6."'";
- print_r("离线".$sql_lx_content);
- $setmeal2=add($sql_lx_content);
- // $N=date("Y",strtotime($time));
- $Y=date("m",strtotime($time));
- $R=date("d",strtotime($time));
- $S=date("G",strtotime($time));
- $F=date("i",strtotime($time));
- // $M=date("s",strtotime($time));
- $time3=$Y.'月'.$R.'日'.$S.'时'.$F.'分';
- // 判断类型是什么
- switch ($company[0]['dwtype']){
- case "1";
- $type_name='火警';
- // $Data['types'];
- // 判断报警类型
- switch ($Data['evt']) {
- case '44':
- // 判断是否设置离线语音报警
- if ($setmeal2[0]['count(*)']>0){
- $status='离线';
- }else{
- exit();
- }
- break;
- case 'H02P1':
- $status='火警';
- break;
- case 'H02P2':
- $status='故障';
- break;
- // case 'H02P3':
- // $status='屏蔽';
- // break;
- // case 'H02P4':
- // $status='监管';
- // break;
- // case 'H02P5':
- // $status='启动';
- // break;
- // case 'H02P6':
- // $status='反馈';
- // break;
- // case 'H02P7':
- // $status='延时';
- // break;
- case 'H02P8':
- $status='电源故障';
- break;
- // case 'U24P0':
- // $status='复位';
- // break;
- // case 'U24P1':
- // $status='消音';
- // break;
- case 'U24P2':
- $status='手动报警';
- break;
- // case 'U24P3':
- // $status='警情消除';
- // break;
- // case 'U24P4':
- // $status='自检';
- // break;
- // case 'U24P5':
- // $status='查岗应答';
- // break;
- // case 'U21P0':
- // $status='正常';
- // break;
- case 'U21P1':
- $status='火警';
- break;
- case 'U21P2':
- $status='故障';
- break;
- case 'U21P3':
- $status='主电故障';
- break;
- case 'U21P4':
- $status='备电故障';
- break;
- // case 'U21P5':
- // $status='监控';
- // break;
- // case 'U21P6':
- // $status='接线';
- // break;
- // default:
- // $status='其他';
- // break;
- }
- break;
- case "2";
- $type_name='消防水';
- // 判断报警类型
- switch ($Data['evt']) {
- case 'WP1':
- $status='低压';
- break;
- case 'WP2':
- $status='高压';
- break;
- case 'WP4':
- // 判断是否设置离线语音报警
- if ($setmeal2[0]['count(*)']>0){
- $status='离线';
- }else{
- exit();
- }
- break;
- // default:
- // $status='其他'.$Data['evt'];
- // break;
- }
- break;
- case "3";
- $type_name='烟感';
- // 判断报警类型
- switch ($Data['evt']) {
- case 'y01':
- $status='报警';
- break;
- // case 'yo2':
- // $status='报警静音';
- // break;
- case 'y04':
- $status='低压';
- break;
- case 'y05':
- $status='故障';
- break;
- // default:
- // $status='其他'.$Data['evt'];
- // break;
- }
- break;
- case "4";
- break;
- case "5";
- $type_name='液位';
- // 判断报警类型
- switch ($Data['evt']) {
- case 'LL0':
- $status='正常';
- break;
- case 'LL1':
- $status='低水位';
- break;
- case 'LL2':
- $status='高水位';
- break;
- case 'LL3':
- $status='故障';
- break;
- case 'LL4':
- // 判断是否设置离线语音报警
- if ($setmeal2[0]['count(*)']>0){
- $status='离线';
- }else{
- exit();
- }
- break;
- // default:
- // $status='其他'.$Data['Status'];
- // break;
- }
- break;
- case "6";
- $type_name='RTU';
- // 判断是否设置离线语音报警
- if($Data['evt']=='离线' && $setmeal2[0]['count(*)']>0){
- $status='离线';
- }
- // else if ($Data['types']!='离线'){
- // $content=$time3.'单位'.$sql_company_name[0]['owner_name'].'设备'.$company[0]['owner_name'].'报警类型'.$Data['types'];
- // }else{
- // exit();
- // }
- break;
- case "7";
- $type_name='电气火灾';
- // 判断报警类型
- switch ($Data['evt']) {
- case 'EF1':
- $status='欠压';
- break;
- case 'EF2':
- $status='过压';
- break;
- case 'EF3':
- $status='过流';
- break;
- case 'EF4':
- $status='漏电';
- break;
- case 'EF5':
- $status='温度1超高';
- break;
- case 'EF6':
- $status='温度2超高';
- break;
- case 'EF7':
- $status='温度3超高';
- break;
- case 'EF8':
- $status='温度4超高';
- break;
- case 'EF9':
- // 判断是否设置离线语音报警:
- if ($setmeal2[0]['count(*)']>0){
- $status='离线';
- }else{
- exit();
- }
- break;
- // default:
- // $status='其他'.$Data['evt'];
- // break;
- }
- break;
- }
- if(!empty($setmeal)){
- // 判断套餐是否到期
- if(date()<=strtotime($setmeal[0]['D_END_STORETIME'])){
- // 判断套餐规格是天、月、年哪一个
- switch($setmeal[0]['I_CYCLE']){
- case "0";
- $time1=date("Y-m-d");
- $sql1="select count(*) as tsl from ytiot_tc_outgoing_alarm where UQ_COMPANY_ID='".$setmeal[0]['UQ_COMPANY_ID'].
- "'and UQ_CATEGORY=".$company[0]['dwtype']." and D_STORETIME like '".$time1."%'";
- $varsl=add($sql1);
- // 判断当天语音报警是否用完
- if($setmeal[0]['I_NUMBER_OF_BARS']>$varsl[0]['tsl']){
- print_r("手机号".$setmeal[0]['V_PHONE']);
- print_r("系统".$type_name);
- print_r("报警".$status);
- print_r("时间".$time3);
- $json=singleCallByTts($setmeal[0]['V_PHONE'],$type_name,$status,$time3);
- // $response = json_decode($json);
- // print_r($json);
- // print_r($response);
- // 判断是否语音报警
- if($json=='OK'){
- $time2=date("Y-m-d H:i:s");
- $sql2="insert into ytiot_tc_outgoing_alarm (UQ_COMPANY_ID,UQ_CATEGORY,D_STORETIME,V_CONTENT) values('".
- $setmeal[0]['UQ_COMPANY_ID']."',".$setmeal[0]['UQ_CATEGORY'].",'".$time2."','".报警内容."')";
- print_r("测试第六步".$sql2);
- addDataInfo($sql2);
- }
- }
- break;
- case "1";
- $sql1="select count(*) as ysl from ytiot_tc_outgoing_alarm where UQ_COMPANY_ID='".$setmeal[0]['UQ_COMPANY_ID'].
- "' and UQ_CATEGORY=".$company[0]['dwtype']." and D_STORETIME>='".$setmeal[0]['D_START_STORETIME']."' and D_STORETIME>='".$setmeal[0]['D_END_STORETIME']."'";
- $varsl=add($sql1);
- print_r($varsl);
- // 语音报警是否用完
- // print_r($setmeal[0]['I_NUMBER_OF_BARS']);
- if($setmeal[0]['I_NUMBER_OF_BARS']>$varsl[0]['ysl']){
- print_r("手机号".$setmeal[0]['V_PHONE']);
- print_r("系统".$type_name);
- print_r("报警".$status);
- print_r("时间".$time3);
- $json=singleCallByTts($setmeal[0]['V_PHONE'],$type_name,$status,$time3);
- // $response = json_decode($json);
- print_r($json);
- // print_r($response);
- // 判断是否语音报警
- if($json=='OK'){
- $time2=date("Y-m-d H:i:s");
- $sql2="insert into ytiot_tc_outgoing_alarm (UQ_COMPANY_ID,UQ_CATEGORY,D_STORETIME,V_CONTENT) values('".
- $setmeal[0]['UQ_COMPANY_ID']."',".$setmeal[0]['UQ_CATEGORY'].",'".$time2."','".报警内容."')";
- addDataInfo($sql2);
- }
- }
- break;
- case "2";
- $sql1="select count(*) as nsl from ytiot_tc_outgoing_alarm where UQ_COMPANY_ID='".$setmeal[0]['UQ_COMPANY_ID'].
- "' and UQ_CATEGORY=".$company[0]['dwtype']." and D_STORETIME>='".$setmeal[0]['D_START_STORETIME']."' and D_STORETIME<='".$setmeal[0]['D_END_STORETIME']."'";
- $varsl=add($sql1);
- // 判断年语音报警是否用完
- if($setmeal[0]['I_NUMBER_OF_BARS']>$varsl[0]['nsl']){
- print_r("手机号".$setmeal[0]['V_PHONE']);
- print_r("系统".$type_name);
- print_r("报警".$status);
- print_r("时间".$time3);
- $json=singleCallByTts($setmeal[0]['V_PHONE'],$type_name,$status,$time3);
- // $response = json_decode($json);
- // 判断是否语音报警
- if($json=='OK'){
- $time2=date("Y-m-d H:i:s");
- $sql2="insert into ytiot_tc_outgoing_alarm (UQ_COMPANY_ID,UQ_CATEGORY,D_STORETIME,V_CONTENT) values('".
- $setmeal[0]['UQ_COMPANY_ID']."',".$setmeal[0]['UQ_CATEGORY'].",'".$time2."','".报警内容."')";
- addDataInfo($sql2);
- }
- }
- break;
- }
- }
- }
- }
- }
|