/** * 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); }
/** * 修改更新历史数据 */ 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)); }
/** * 是否存在日志 * @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; }
/** * 记录应用日志 * * @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; } }