"; if ($postData) { $data = json_decode($postData, true); //筛选掉eventStatus=0的数据,eventStatus=1产生异常数据,保存到数据库 if ($data['data']['eventStatus'] == 1 && $data['data']['regCode'] != "748865688VK004XS8AC000000000") { $iotnumber = $data['data']['regCode']; $db_queryf = "SELECT * FROM facility WHERE iotnumber='$iotnumber'"; $data1 = mysqli_query($link, $db_queryf); $row = mysqli_fetch_array($data1, MYSQLI_ASSOC); $facilityno = $row['facilityno']; $source = 'Monarch'; if (empty($data['data']['eventData'])) { $flag = $data['data']['eventCode']; }else{ $flag = $data['data']['eventCode'] . '/' . $data['data']['eventData']; } $eventCode=$data['data']['eventCode']; //插入错误记录表 $imei = $data['data']['regCode']; $fault_level = ''; $fault_time = $data['data']['eventTime']; $fault_level = ''; $pass_code = ''; $start_date = ''; $end_date = ''; $eventStatus = $data['data']['eventStatus']; if (empty($data['data']['eventData'])) { $eventData = ''; } else { $eventData = $data['data']['eventData']; } //判断failureCodeDesc是否为空。如果为空。用eventcode中文代替 if (empty($data['data']['failureCodeDesc'])) { $eventcodeDesc = array( "1" => "電話呼救", "2" => "手動呼救", "3" => "自動呼救", "4" => "機房刷卡", "5" => "轎頂刷卡", "6" => "綜合故障", "7" => "檢修狀態", "8" => "電梯停電", "9" => "電話告警", "11" => "通信異常", "12" => "雲總機通話", "13" => "電壓檢測", "14" => "維保簽到" ); $failureCodeDesc = $eventcodeDesc[$eventCode]; } else { $failureCodeDescDate=array( "E02" => "加速過電流", "E03" => "減速過電流", "E04" => "恒速過電流", "E05" => "加速過電壓", "E06" => "減速過電壓", "E07" => "恒速過電壓", "E09" => "欠電壓故障", "E10" => "控制器超載", "E11" => "電機超載", "E13" => "輸出側缺相", "E14" => "模組過熱", "E15" => "輸出側異常", "E16" => "電流控制故障", "E17" => "調諧時編碼器干擾", "E18" => "硬體信號檢測故障", "E19" => "電機調諧故障", "E20" => "速度回饋錯誤故障", "E21" => "參數設置錯誤", "E22" => "平層信號異常", "E23" => "短路故障", "E24" => "RTC時鐘故障", "E25" => "存儲資料異常", "E26" => "地震信號", "E27" => "專機故障", "E28" => "維修故障", "E29" => "封星故障", "E30" => "電梯位置異常", "E33" => "電梯速度異常", "E34" => "邏輯故障", "E35" => "井道自學習數據異常", "E36" => "運行接觸器回饋異常", "E37" => "新國標新增抱閘接觸器故障或抱閘控制輸出回饋異常", "E38" => "旋轉編碼器信號異常", "E39" => "電機過熱故障或閘機過熱故障", "E40" => "保留", "E41" => "安全回路斷開", "E42" => "運行中門鎖斷開", "E43" => "上限位元信號異常", "E44" => "下限位元信號異常", "E45" => "強迫減速開關異常", "E47" => "SCB故障", "E48" => "開門故障", "E49" => "關門故障", "E50" => "平層信號連續丟失", "E51" => "CAN通信故障或廠家握手故障", "E52" => "外召通信故障或廠家握手故障", "E53" => "門鎖故障", "E54" => "檢修啟動過電流", "E55" => "換層停靠故障", "E56" => "開關門到位信號故障", "E57" => "SPI通信故障", "E58" => "位置保護開關異常", "E59" => "專用故障(E59)", "E60" => "專用故障(E60)", "E61" => "抱閘電源故障", "E62" => "類比量斷線", "E63" => "專用故障(E63)", "E64" => "外部故障", "E65" => "UCMP故障", "E66" => "抱閘制動力故障", "E74" => "STO故障", "E77" => "消載故障", "E79" => "許可權認證故障", "E89" => "專用故障(E89)", "E94" => "許可權認證提示" ); //$failureCodeDesc = $data['data']['failureCodeDesc']; $eventDatacode = $data['data']['eventData']; $failureCodeDesc =$failureCodeDescDate[$eventDatacode]; } $fault_message =$failureCodeDesc; $creater = 'system'; $create_at = date('Y/m/d H:i:s'); $db_query = "insert into fault_log(facilityno,source,imei,flag,fault_message,eventStatus,eventData,failureCodeDesc"; $db_query .= ",fault_level,fault_time,pass_code,start_date,end_date,creater,create_at) values ("; $db_query .= "'$facilityno', '$source', '$imei', '$flag', '$fault_message','$eventStatus','$eventData','$failureCodeDesc','$fault_level',"; $db_query .= "'$fault_time', '$pass_code', '$start_date', '$end_date',"; $db_query .= "'$creater','$create_at')"; mysqli_query($link, $db_query); //根据imei值查询电梯信息 $accountid = $row['customerid']; $message_detail = '電梯編號:' . $row['facilityno'] . '地址:' . $row['address'] . '-' . $fault_message;//消息内容 $pushed_time = date('Y/m/d H:i:s');//系统推送时间 $push_messagecreater = 'system'; $push_messagecreate_at = date('Y/m/d H:i:s'); $push_messagedb_query = "insert into push_message(accountid,message_detail,pushed_time,source"; $push_messagedb_query .= ",creater,create_at) values ("; $push_messagedb_query .= "'$accountid', '$message_detail', '$pushed_time','$source',"; $push_messagedb_query .= "'$push_messagecreater','$push_messagecreate_at')"; mysqli_query($link, $push_messagedb_query); // //插入客户受付表 $repairerid=$row['repairerid'];//保养员id; $repairername=$row['repairername'];//保养员i姓名; //查询客户姓名 $accountidA=$row['customerid']; $db_query4 = "SELECT * FROM account WHERE accountid='$accountidA'"; $data4 = mysqli_query($link,$db_query4); $row4 = mysqli_fetch_array($data4, MYSQLI_ASSOC); $facilityno = $row['facilityno']; $sitename = $row['customerid']; $customname=$row4['name'];//客户姓名; $customtel=$row4['tel'];//客户电话; $caller = 'system/Monarch'; $customerconfirmationbar = ''; $address = $row['address']; $buildingnumber = ''; $positionnumber = ''; $maintenanceoperationcategory = ''; $brandmodel = ''; $faultstate = $fault_message; $investigationprocess = ''; $causeanalysis = ''; $processingprocess = ''; $calltime = date('Y/m/d H:i:s'); $arrivaltime = ''; $completiontime = ''; $returntime = ''; $handlestaff=$repairerid; $handstaffname=$repairername; $supportstaff = ''; $supporttime = ''; if (empty($data['data']['eventData'])) { $faultcode = $data['data']['eventCode']; }else{ $faultcode = $data['data']['eventCode'] . '/' . $data['data']['eventData']; } $remarks = ''; $operationstaff = 'system'; $filingstaff = ''; $supervisor = ''; $creater = 'system'; $create_at = date('Y/m/d H:i:s'); $updatee_at = date('Y/m/d H:i:s'); $db_query1 = "insert into fault_notification_job_handling(facilityno,sitename,customtel,customname,caller,customerconfirmationbar,address"; $db_query1 .= ",buildingnumber,positionnumber,maintenanceoperationcategory,brandmodel,faultstate,investigationprocess"; $db_query1 .= ",causeanalysis,processingprocess,calltime,arrivaltime,completiontime,returntime"; $db_query1 .= ",handlestaff,handstaffname,supportstaff,supporttime,faultcode,remarks,operationstaff,filingstaff"; $db_query1 .= ",iotnumber,supervisor,creater,create_at,updatee_at) values ("; $db_query1 .= "'$facilityno', '$sitename','$customtel','$customname', '$caller', '$customerconfirmationbar', '$address', '$buildingnumber',"; $db_query1 .= "'$positionnumber', '$maintenanceoperationcategory', '$brandmodel', '$faultstate','$investigationprocess',"; $db_query1 .= "'$causeanalysis','$processingprocess','$calltime','$arrivaltime','$completiontime','$returntime',"; $db_query1 .= "'$handlestaff','$handstaffname','$supportstaff','$supporttime','$faultcode','$remarks','$operationstaff','$filingstaff',"; $db_query1 .= "'$iotnumber','$supervisor','$creater','$create_at','$updatee_at')"; mysqli_query($link, $db_query1); if ($mid = mysqli_insert_id($link)) { if (mysqli_affected_rows($link) > 0) { echo ""; } else { echo ""; } } else { echo ""; } mysqli_close($link); //以下推送到客户端消息 $access_token = array(); $access_token[]="blymLDSO21gDaCXA6nJ2jf6fEZTNE0wEwANbLAhKMhM"; $TargetCount = count($access_token); $Push_Content['message'] = $faultstate . "\n"; $Push_Content['message'] = $Push_Content['message'] . "電梯編號: " . $facilityno . "\n"; $Push_Content['message'] = $Push_Content['message'] . "故障代碼: " . $faultcode . "\n"; $Push_Content['message'] = $Push_Content['message'] . "故障時間: " . $calltime . "\n"; $Push_Content['message'] = $Push_Content['message'] . "電梯地址: " . $address . "\n"; $Push_Content['message'] = $Push_Content['message'] . "客戶編號: " . $sitename . "\n"; $Push_Content['message'] = $Push_Content['message'] . "客戶名稱: " . $customname . "\n"; $Push_Content['message'] = $Push_Content['message'] . "客戶電話: " . $customtel . "\n"; $Push_Content['message'] = $Push_Content['message'] . "保養員: " . $handstaffname . "(" . $handlestaff . ")"; #$Push_Content['message'] = $Push_Content['message'] . "發生時間: " . date('Y-m-d H:i:s'); for ($i=0;$i<$TargetCount;$i++) { $ch = curl_init("https://notify-api.line.me/api/notify"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($Push_Content)); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: Bearer '.$access_token[$i] )); $response_json_str = curl_exec($ch); curl_close($ch); } //以上推送到客户端消息 } else { echo "2222"; } } $myfile = fopen("receive_inovance.txt", "a") or die("Unable to open file!"); fwrite($myfile, "Got it: " . $postData . date('Y/m/d H:i:s') . "\n"); fclose($myfile); ?>