|
@@ -10,15 +10,29 @@ class RouteRfidKafkaAction extends Action {
|
|
|
private function addRfidDataToNingbo( $data ){
|
|
|
//{"methond":"track","mac":"ffc10063","gps":{"locationState":"A","lat":0,"latType":"N","lng":0,"lngType":"E"},"labels":[{"id":"01000423","event":{"dec":8,"lowBattery":0,"entry":0,"leave":1,"in":0},"time":"160621112931"},{"id":"01000424","event":{"dec":8,"lowBattery":0,"entry":0,"leave":1,"in":0},"time":"160621113202"},{"id":"01000422","event":{"dec":20,"lowBattery":0,"entry":1,"leave":0,"in":1},"time":"160621113303"}]}
|
|
|
//var_dump($data);
|
|
|
+ if($data['methond']=='login'){
|
|
|
+ return array('success'=>false,'message'=>'addRfidDataToNingbo failed,methond login!');
|
|
|
+ }
|
|
|
+
|
|
|
+ $RF_ID=strtoupper($data['mac']);
|
|
|
+ //$station_sql='SELECT DEVICE_NAME FROM DSSC2.ADM_DEV WHERE LOGIN_NAME=\''.$RF_ID.'\'';
|
|
|
+ $station_cond=array('mac'=>$RF_ID);
|
|
|
+ $device_name=M('station')->where($station_cond)->getField('name');
|
|
|
+ $save_data=array(
|
|
|
+ 'online_time'=>date('Y-m-d H:i:s',$data['time'])
|
|
|
+ );
|
|
|
+ M('stations')->createSave($station_cond,$save_data);
|
|
|
if($data['methond']!='track'){
|
|
|
return array('success'=>false,'message'=>'addRfidDataToNingbo failed,methond not track!');
|
|
|
}
|
|
|
-
|
|
|
if(!$data['labels']){
|
|
|
return array('success'=>false,'message'=>'addRfidDataToNingbo failed,labels not existed!');
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$host= '61.175.203.188';
|
|
|
$port= '6521';
|
|
|
$instance_name= 'DSSC';
|
|
@@ -29,13 +43,11 @@ class RouteRfidKafkaAction extends Action {
|
|
|
$e = oci_error();
|
|
|
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
|
|
|
}
|
|
|
- $RF_ID=strtoupper($data['mac']);
|
|
|
- $station_sql='SELECT DEVICE_NAME FROM DSSC2.ADM_DEV WHERE LOGIN_NAME=\''.$RF_ID.'\'';
|
|
|
|
|
|
- $stid = oci_parse($conn, $station_sql);
|
|
|
- oci_define_by_name($stid, 'DEVICE_NAME', $device_name);
|
|
|
- oci_execute($stid);
|
|
|
- oci_fetch($stid);
|
|
|
+ //stid = oci_parse($conn, $station_sql);
|
|
|
+ //oci_define_by_name($stid, 'DEVICE_NAME', $device_name);
|
|
|
+ //oci_execute($stid);
|
|
|
+ //oci_fetch($stid);
|
|
|
|
|
|
if(!$device_name){
|
|
|
return array('success'=>false,'message'=>'addRfidDataToNingbo failed,station not existed!');
|
|
@@ -76,9 +88,12 @@ class RouteRfidKafkaAction extends Action {
|
|
|
//违规行驶检测 超速逆行检测
|
|
|
$this->checkIllegalDriving($handle_data,$conn);
|
|
|
$sql = 'INSERT INTO "DSSC2"."W_DW_RF_RECORD"("ID", "RF_ID", "RF_FLAGID", "RF_DATE", "RF_STAT") VALUES (DSSC2.SEQ_W_DW_RF_RECORD.nextval, \''.$RF_ID.'\', \''.$RF_FLAGID.'\', TO_DATE(\''.$RF_DATE.'\', \'SYYYY-MM-DD HH24:MI:SS\'), \''.$RF_STAT.'\')';
|
|
|
+
|
|
|
//var_dump($sql);
|
|
|
//插入数据到oracle轨迹表
|
|
|
//$res = $conn -> query($sql);
|
|
|
+ //保存基站信息
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
@@ -240,7 +255,10 @@ class RouteRfidKafkaAction extends Action {
|
|
|
|
|
|
private function checkControlAlarm( $data ){
|
|
|
//先检测标签是否布控
|
|
|
- $cond=array('control_obj'=>array('in',[$data['RF_FLAGID'],$data['plate_no']]) );
|
|
|
+ $cond=array(
|
|
|
+ 'control_obj'=>array('in',[$data['RF_FLAGID'],$data['plate_no']]),
|
|
|
+ 'state'=>1
|
|
|
+ );
|
|
|
$ve_con=M('control_manage')->where($cond)->find();
|
|
|
|
|
|
//存在布控标签 并在时间内
|
|
@@ -250,7 +268,10 @@ class RouteRfidKafkaAction extends Action {
|
|
|
}
|
|
|
|
|
|
//检测区域布控
|
|
|
- $cond2=array('control_obj'=>array("LIKE", '%'.$data['RF_ID'].'%'));
|
|
|
+ $cond2=array(
|
|
|
+ 'control_obj'=>array("LIKE", '%'.$data['RF_ID'].'%'),
|
|
|
+ 'state'=>1
|
|
|
+ );
|
|
|
$sta_con=M('control_manage')->where($cond2)->find();
|
|
|
//存在布控基站
|
|
|
if($sta_con && ($data['time']>$sta_con['start_time']) && ($data['time']<$sta_con['end_time'])){
|
|
@@ -317,6 +338,7 @@ class RouteRfidKafkaAction extends Action {
|
|
|
//存在逆行进入卡点时间 且启用超速检测
|
|
|
if($passInfo && ($passInfo['section']=='pos') && ($pre_section['retrograde_stat']=='1')){
|
|
|
$data['alarm_type']='retrograde';
|
|
|
+ $data['remark']=$pre_section['name'].'逆行';
|
|
|
$this->addControlAlarm($data);
|
|
|
}
|
|
|
$redisData = array(
|
|
@@ -340,17 +362,12 @@ class RouteRfidKafkaAction extends Action {
|
|
|
|
|
|
//存在进入卡点时间 且启用超速检测
|
|
|
if($passInfo && ($passInfo['section']=='pre') && ($pos_section['over_speed_stat']=='1')){
|
|
|
- var_dump($data['time']);
|
|
|
- var_dump($passInfo['time']);
|
|
|
$hour= ($data['time']-$passInfo['time'])/3600;
|
|
|
- var_dump($hour);
|
|
|
$speed=($pos_section['distance']/1000)/$hour;
|
|
|
- var_dump($speed);
|
|
|
- var_dump($pos_section['max_speed']);
|
|
|
if($speed>$pos_section['max_speed']){
|
|
|
//超速行驶
|
|
|
$data['alarm_type']='over_speed';
|
|
|
- $data['remark']='速度:'. round($speed,2);
|
|
|
+ $data['remark']=$pos_section['name'].'超速,速度:'. round($speed,2);
|
|
|
$this->addControlAlarm($data);
|
|
|
}
|
|
|
}
|