Esempio n. 1
0
 /**
  * Get problem from specific problem id
  * @return mixed
  */
 public function getProblem()
 {
     $problem = Problem::find(intval(Input::get('id')));
     $data_log = null;
     $data_log_query = DataLog::code($problem->station->code)->valid($problem->data_type);
     if ($problem->data_type == "WATER") {
         $data_log_query = $data_log_query->from($problem->start_datetime, 7200)->to($problem->end_datetime, 7200)->cleanOrigin("WATER");
     } elseif ($problem->data_type == "RAIN") {
         $data_log_query = $data_log_query->from($problem->start_datetime, 3600 * 5)->to($problem->end_datetime, 3600 * 5)->hourly()->cleanOrigin("RAIN");
     }
     $data_log = $data_log_query->get()->toArray();
     $data_log_new = array();
     foreach ($data_log as $item) {
         if ($problem->data_type == 'WATER') {
             $data_log_new[] = [strtotime($item['date'] . ' ' . $item['time']) * 1000, floatval($item['origin_water1'])];
         } else {
             $data_log_new[] = [strtotime($item['date'] . ' ' . $item['time']) * 1000, floatval($item['origin_rain1h'])];
         }
     }
     $output = array('id' => $problem->id, 'data_type' => $problem->data_type, 'problem_type' => $problem->problem_type, 'start_datetime' => $problem->start_datetime, 'start_datetime_unix' => strtotime($problem->start_datetime), 'end_datetime' => $problem->end_datetime, 'end_datetime_unix' => strtotime($problem->end_datetime), 'num' => $problem->num, 'station' => array('name' => $problem->station->name, 'code' => $problem->station->code, 'tambon_name' => $problem->station->tambon_name, 'amphoe_name' => $problem->station->amphoe_name, 'province_name' => $problem->station->province_name, 'part' => $problem->station->part, 'basin' => $problem->station->basin), 'data' => $data_log_new);
     return Response::json($output);
 }
Esempio n. 2
0
 /**
  * 修改更新历史数据
  */
 public function actionUpdatedatalog()
 {
     $modelDatalog = DataLog::model()->findByPk($_GET["id"]);
     $successMessage = array();
     if (isset($_POST['DataLog'])) {
         $modelDatalog->attributes = $_POST['DataLog'];
         $modelDatalog->create_time = strtotime($_POST['DataLog']['create_time']);
         if ($modelDatalog->save()) {
             $successMessage[] = "修改成功";
         }
     }
     $this->render('admin', array('successMessage' => $successMessage, 'modelDatalog' => $modelDatalog));
 }
Esempio n. 3
0
 /**
  * 是否存在日志
  * @param $logType
  */
 public function hasLog()
 {
     if ($this->owner->attributes[$this->pk]) {
         $pk = $this->owner->attributes[$this->pk];
     }
     $model = $this->owner->tableName();
     $logModel = DataLog::model()->find(TUtil::qc("pk") . '=:pk and ' . TUtil::qc("model") . '=:model and ' . TUtil::qc("user_id") . '=:user_id', array(':pk' => $pk, ':model' => $model, ':user_id' => Yii::app()->user->id));
     return $logModel;
 }
Esempio n. 4
0
 /**
  * 记录应用日志
  * 
  * @param string $model
  * @param int $pk
  * @param string $logType
  * @param string|array $extraData
  * @return boolean
  */
 public function appLog($model, $pk, $logType, $extraData = '', $user = '')
 {
     $log = new DataLog();
     $log->attributes = array('user_id' => $user !== '' ? 0 : Yii::app()->user->id, 'user_name' => $user !== '' ? $user : Yii::app()->user->user_name, 'model' => $model, 'pk' => $pk, 'log_type' => $logType, 'extra_data' => is_array($extraData) ? serialize($extraData) : $extraData);
     if ($log->save()) {
         return true;
     } else {
         return false;
     }
 }