From d8316ce3647d17da1cd5ed341cc561334b11d917 Mon Sep 17 00:00:00 2001 From: "altob.rd" Date: Tue, 24 Oct 2017 18:21:56 +0800 Subject: [PATCH] force sync 888 --- controllers/Carpark.php | 30 +++++++++++++++++++++++++++++- models/Sync_data_model.php | 24 ++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/controllers/Carpark.php b/controllers/Carpark.php index 9f8ded6..dac15dd 100644 --- a/controllers/Carpark.php +++ b/controllers/Carpark.php @@ -156,7 +156,35 @@ class Carpark extends CI_Controller trigger_error(__FUNCTION__ . "|{$topic}|{$msg}"); - + if($topic == 'altob.888.mqtt') + { + // 第一個場站編號 先不管場站 + $station_setting = $this->sync_data_model->station_setting_query(); + $station_no_arr = explode(SYNC_DELIMITER_ST_NO, $station_setting['station_no']); + $first_station_no = $station_no_arr[0]; + + $msg_arr = explode(',', $msg); + + if(sizeof($msg_arr) != 4) + { + trigger_error(__FUNCTION__ . "..error_size.." . print_r($msg_arr, true)); + echo 'error_size'; + exit; + } + + if($msg_arr[0] != 'N888' || $msg_arr[3] != 'altob') + { + trigger_error(__FUNCTION__ . "..unknown_msg.." . print_r($msg_arr, true)); + echo 'unknown_msg'; + exit; + } + + $msg_arr = explode(',', $msg); + $group_id = isset($msg_arr[1]) && $msg_arr[1] == 2 ? 'M888' : 'C888'; + $value = isset($msg_arr[2]) ? $msg_arr[2] : 0; + $result = $this->sync_data_model->force_sync_888($first_station_no, $group_id, $value); + trigger_error(__FUNCTION__ . "..{$first_station_no}|{$group_id}|{$value}..result..{$result}.."); + } echo 'ok'; exit; diff --git a/models/Sync_data_model.php b/models/Sync_data_model.php index 1910038..3b04f9a 100644 --- a/models/Sync_data_model.php +++ b/models/Sync_data_model.php @@ -37,6 +37,30 @@ class Sync_data_model extends CI_Model // 在席系統同步 (START) // // ------------------------------------------------ + + // 強制更新顯示 + public function force_sync_888($station_no, $group_id, $value) + { + $where_group_arr = array('group_id' => $group_id, 'station_no' => $station_no); + + $rows = $this->db->select('renum, parked, tot, availables') + ->from('pks_groups') + ->where($where_group_arr) + ->limit(1) + ->get() + ->row_array(); + + // force upd + $new_renum = 0; + $new_ava = $value; + $new_parked = $rows['tot'] - $new_ava; + + trigger_error(__FUNCTION__ . "..{$rows['renum']}|{$rows['parked']}|{$rows['availables']}|{$rows['tot']}..to..{$new_renum}|{$new_parked}|{$new_ava}|{$rows['tot']}"); + + $this->db->where($where_group_arr)->update('pks_groups', array('renum' => $new_renum, 'parked' => $new_parked, 'availables' => $new_ava)); + + return $this->db->affected_rows(); + } // 同步 888 public function sync_888($parms)