query("select company,dwtype from sp_owner where owner_code=" . $dataid); if (empty($company)) { exit(); } if (empty($dwtype)) { $dwtype = $company[0]['dwtype']; } switch ($dwtype) { case "1";//判断报警类型 $type_name = '火警'; if(empty($evt)){ $status = $evt_name; }else{ switch ($evt) { case '44'://判断是否设置离线语音报警 $status = '离线'; 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='其他'; // $status=$evt_name; break; } } break; case "2";// 判断报警类型 $type_name = '消防水'; switch ($Data['evt']) { case 'WP1': $status = '低压'; break; case 'WP2': $status = '高压'; break; case 'WP4': $status = '离线'; 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 "5";//判断报警类型 $type_name = '液位'; switch ($Data['evt']) { case 'LL0': $status = '正常'; break; case 'LL1': $status = '低水位'; break; case 'LL2': $status = '高水位'; break; case 'LL3': $status = '故障'; break; case 'LL4': $status = '离线'; break; // default: // $status='其他'.$Data['Status']; // break; } break; case "6"; $type_name = 'RTU'; $status = $evt_name; 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': $status = '离线'; break; // default: // $status='其他'.$Data['evt']; // break; } break; } // print_r(第一); $Y = date("m", strtotime($time)); $R = date("d", strtotime($time)); $S = date("G", strtotime($time)); $F = date("i", strtotime($time)); $time1 = date("Y-m-d"); $time2 = date("Y-m-d H:i:s"); $time3 = $Y . '月' . $R . '日' . $S . '时' . $F . '分'; $time4 = date("Y-m"); $time5 = date("Y"); if ($status == '离线') { $dwtype = 8; } // print_r(第一); $usersql="select * from ytiot_v_usercompany where owner_code=". $company[0]['company'] ." group by username"; $user = add66($usersql); // print_r($user); foreach ($user as $key1=>$value1){ // 语音 $sql = "select * from ytiot_yy_pzb where e_status=1 and username='" . $user[$key1]['username'] . "' and sbtype=" . $dwtype . " and jrq>='" . $time1 . "' and zed>0"; $setmeal = add66($sql); // 短信 $dxsql = "select a.id as cz_id,b.id as pz_id,b.cycle,b.cycle_cs from ytiot_dx_cz as a join ytiot_dx_pz as b on a.id=b.cz_id where a.e_status=1 and a.user_name='" . $user[$key1]['username'] . "' and a.end_date>='" . $time1 . "' and a.balance>0"; $dxxx = add66($dxsql); // print_r('第一'.$dxsql); // print_r('第一'.$dxxx); //语音 if (!empty($setmeal)){ print_r(第二); switch ($setmeal[0]['pzlb']) { case 0; $time6 = $time1; break; case 1; $time6 = $time4; break; case 2; $time6 = $time5; break; } $sql1="select count(*) as tsl from ytiot_yy_sjjl where company_code='".$user[$key1]['username']. "' and sbtype=".$dwtype." and sfyy=1 and bjsj like '".$time6."%'"; $varsl=add($sql1); if($setmeal[0]['lbsl']>$varsl[0]['tsl']){ print_r(第三); if (!empty($setmeal[0]['bjhm'])){ print_r(第四); $json=singleCallByTts($setmeal[0]['bjhm'],$type_name,$status,$time3); if($json=='OK'){ print_r(第五); $sql3="select * from ytiot_yy_pzb where id=".$setmeal[0]['id']; $res2=add66($sql3); $zed=$res2[0]['zed']-1; $sql_update="update ytiot_yy_pzb set zed = ".$zed." where id =".$setmeal[0]['id']; $res3 = addDataInfo($sql_update); if($res3){ print_r(第六); // print_r($status); $sql_inset="insert into ytiot_yy_sjjl (sbbh,sbtype,bjtype,bjsj,lrsj,sfyy,company_code) values ('".$dataid."',".$dwtype.",'". $status."','".$time."','".$time2."',1,'".$user[$key1]['username']."')"; $res1 = addDataInfo($sql_inset); } }else{ // print_r($status); $sql_inset="insert into ytiot_yy_sjjl (sbbh,sbtype,bjtype,bjsj,lrsj,sfyy,company_code) values ('".$dataid."',".$dwtype.",'".$status."','".$time."','".$time2."',0,'".$user[$key1]['username']."')"; $inset=addDataInfo($sql_inset); } }else{//多个被叫号码,暂时不用 $sql2="select * from ytiot_yy_bjhm where pzbid=".$setmeal[0]['id']; $phone=add66($sql2); foreach ($phone as $key => $value){ $json=singleCallByTts($phone[$key]['bjhm'],$type_name,$status,$time3); if($json=='OK'){ $sql3="select * from ytiot_yy_pzb where id=".$setmeal[0]['id']; $res2=add66($sql3); $zed=$res2[0]['zed']-1; $sql_update="update ytiot_yy_pzb set zed = ".$zed." where id =".$setmeal[0]['id']; $res3 = addDataInfo($sql_update); if($res3){ $sql_inset="insert into ytiot_yy_sjjl (sbbh,sbtype,bjtype,bjsj,lrsj,sfyy,company_code) values ('".$dataid."',".$dwtype.",'". $status."','".$time."','".$time2."',1,'".$user[$key1]['username']."')"; $res1 = addDataInfo($sql_inset); } }else{ // print_r($status); $sql_inset="insert into ytiot_yy_sjjl (sbbh,sbtype,bjtype,bjsj,lrsj,sfyy,company_code) values ('".$dataid."',".$dwtype.",'".$status."','".$time."','".$time2."',0,'".$user[$key1]['username']."')"; $inset=addDataInfo($sql_inset); } } } }else{ // print_r($status); $sql_inset="insert into ytiot_yy_sjjl (sbbh,sbtype,bjtype,bjsj,lrsj,sfyy,company_code) values ('".$dataid."',".$dwtype.",'".$status."','".$time."','".$time2."',0,'".$user[$key1]['username']."')"; $inset=addDataInfo($sql_inset); } } else{ // print_r($status); if($user[$key1]['username']){ } $sql_inset="insert into ytiot_yy_sjjl (sbbh,sbtype,bjtype,bjsj,lrsj,sfyy,company_code) values ('" .$dataid."',".$dwtype.",'".$status."','".$time."','".$time2."',0,'".$user[$key1]['username']."')"; $inset=addDataInfo($sql_inset); // if($inset){ // return 'OK'; // } } //短信 if (!empty($dxxx)){ // print_r(第七); switch ($dxxx[0]['cycle']) { case 1; $time6 = $time1; break; case 2; $time6 = $time4; break; case 3; $time6 = $time5; break; } $dxsql1="select count(*) as dxfssl from ytiot_dx_sms_push_record where user_name='".$user[$key1]['username']. "' and success_tag=1 and alarm_time like '".$time6."%'"; // print_r('第八'.$dxsql1); $dxvarsl=add($dxsql1); // print_r(第八); if($dxxx[0]['cycle_cs']>$dxvarsl[0]['dxfssl']){ $phonesql="select b.phone,b.name from ytiot_dx_configure_renyuan as a join ytiot_dx_staffing as b on a.staffing_id=b.id where pz_id=".$dxxx[0]['pz_id']." and b.bj_type like '%".$dwtype."%'"; $phone=add($phonesql); // print_r('第九'.$phonesql); if (!empty($phone)){ foreach ($phone as $key66=>$value66){ $fsxx=array('type'=>$type_name,'gz'=>$status,'bjsj'=>$time3); $dxjson=dxsendSms($phone[$key66]['phone'],$fsxx); print_r('第十'.$dxjson['Code']); if($dxjson=='OK'){ $yesql="select balance from ytiot_dx_cz where id=".$dxxx[0]['cz_id']; print_r('第十一'.$yesql); $ye=add($yesql); $ye1=$ye[0]['balance']-1; $sql_updateye="update ytiot_dx_cz set balance = ".$ye1." where id =".$dxxx[0]['cz_id']; $ye_update = addDataInfo($sql_updateye); if($ye_update){ $sql_dxjs_inset="insert into ytiot_dx_sms_push_record (device_code,alarm_type,alarm_content,success_tag,sms_sending,user_name,alarm_time) values ('".$dataid."',".$dwtype.",'". $status."',1,'发送成功','".$user[$key1]['username']."','".$time."')"; $dxjs_inset = addDataInfo($sql_dxjs_inset); } }else{ // 原因:代码出现问题 $dxsql_inset="insert into ytiot_dx_sms_push_record (device_code,alarm_type,alarm_content,success_tag,sms_sending,user_name,alarm_time) values ('".$dataid."',".$dwtype.",'". $status."',0,'原因:参数不合法','".$user[$key1]['username']."','".$time."')"; $dx_inset=addDataInfo($dxsql_inset); } } }else{ // 原因:未添加接收人; $dxsql_inset="insert into ytiot_dx_sms_push_record (device_code,alarm_type,alarm_content,success_tag,sms_sending,user_name,alarm_time) values ('".$dataid."',".$dwtype.",'". $status."',0,'原因:未添加接收人','".$user[$key1]['username']."','".$time."')"; $dx_inset=addDataInfo($dxsql_inset); } // json_encode($phone_list); }else{ // 原因:当天配置的报警已用完; $dxsql_inset="insert into ytiot_dx_sms_push_record (device_code,alarm_type,alarm_content,success_tag,sms_sending,user_name,alarm_time) values ('".$dataid."',".$dwtype.",'". $status."',0,'原因:当天配置的报警已用完','".$user[$key1]['username']."','".$time."')"; $dx_inset=addDataInfo($dxsql_inset); } } else{ // 原因:1.尚未开通;2.开通时间到期;3.余额不足; $dxsql_inset="insert into ytiot_dx_sms_push_record (device_code,alarm_type,alarm_content,success_tag,sms_sending,user_name,alarm_time) values ('".$dataid."',".$dwtype.",'". $status."',0,'原因:1.尚未开通;2.开通时间到期;3.余额不足;','".$user[$key1]['username']."','".$time."')"; $dx_inset=addDataInfo($dxsql_inset); } } } }