From 9277aa4d5bb0eee096f89e79b6e5efd62f3681fc Mon Sep 17 00:00:00 2001 From: "altob.rd" Date: Thu, 18 Jan 2018 10:07:28 +0800 Subject: [PATCH] upd block both --- models/Cars_model.php | 75 ++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/models/Cars_model.php b/models/Cars_model.php index 45c811a..488dabc 100644 --- a/models/Cars_model.php +++ b/models/Cars_model.php @@ -167,56 +167,57 @@ class Cars_model extends CI_Model if (!empty($rows['lpr_correct'])) $parms['lpr'] = $rows['lpr_correct']; - // [START] 擋重覆 20170912 前端不止一筆 opendoor 送來時, 只處理第一個 (限 2 sec 內) - if($opendoor) + // [START] 擋重覆 + $skip_or_not = false; + $new_cars_tmp = array + ( + 'timestamp' => time(), + 'sno_io' => $parms['sno'] . $parms['io'], + 'lpr' => $parms['lpr'], + 'opendoor' => $opendoor // 20180118 開門與否訊號都過濾 + ); + $cars_tmp_arr = array(); + $cars_tmp_log_arr = $this->vars['mcache']->get(CARS_TMP_LOG); + if(!empty($cars_tmp_log_arr)) { - $skip_or_not = false; - $new_cars_tmp = array - ( - 'timestamp' => time(), - 'sno_io' => $parms['sno'] . $parms['io'], - 'lpr' => $parms['lpr'] - ); - $cars_tmp_arr = array(); - $cars_tmp_log_arr = $this->vars['mcache']->get(CARS_TMP_LOG); - if(!empty($cars_tmp_log_arr)) + foreach($cars_tmp_log_arr as $tmp) { - foreach($cars_tmp_log_arr as $tmp) + if(isset($tmp['timestamp']) && $tmp['timestamp'] > time() - 3) // 時限內才判斷 (3 sec) { - if(isset($tmp['timestamp']) && $tmp['timestamp'] > time() - 2) // 時限內才判斷 - { - array_push($cars_tmp_arr, $tmp); - } + array_push($cars_tmp_arr, $tmp); } } + } - // 判斷是否繼續 - foreach($cars_tmp_arr as $tmp) + // 判斷是否繼續 + foreach($cars_tmp_arr as $tmp) + { + if( $new_cars_tmp['lpr'] == $tmp['lpr'] && + $new_cars_tmp['sno_io'] == $tmp['sno_io'] && + $new_cars_tmp['opendoor'] == $tmp['opendoor'] // 20180118 開門與否訊號都過濾 + ) { - if( $new_cars_tmp['lpr'] == $tmp['lpr'] && - $new_cars_tmp['sno_io'] == $tmp['sno_io']) - { - $skip_or_not = true; - } + $skip_or_not = true; } + } - // 更新 - array_push($cars_tmp_arr, $new_cars_tmp); - $this->vars['mcache']->set(CARS_TMP_LOG, $cars_tmp_arr); - trigger_error(__FUNCTION__ . '..new ' . CARS_TMP_LOG . " |s:{$skip_or_not}|" . print_r($cars_tmp_arr, true)); + // 更新 CARS_TMP_LOG + array_push($cars_tmp_arr, $new_cars_tmp); + $this->vars['mcache']->set(CARS_TMP_LOG, $cars_tmp_arr); + trigger_error(__FUNCTION__ . '..new ' . CARS_TMP_LOG . " |s:{$skip_or_not}|" . print_r($cars_tmp_arr, true)); - // 跳過 - if($skip_or_not) - { - trigger_error(__FUNCTION__ . '..skip..'); - - // [msg] 0: 不處理 - $msg_id = 0; - return $this->gen_return_msg($msg_id); - } + // 跳過 + if($skip_or_not) + { + trigger_error(__FUNCTION__ . '..skip..'); + + // [msg] 0: 不處理 + $msg_id = 0; + return $this->gen_return_msg($msg_id); } // [END] 擋重覆 + // 車辨失敗, 結束 if ($parms['lpr'] == 'NONE') {