public function actionArchive($date, $gaid) { $searchModel = new GadataSearch(); $searchModel->FDATE = $date; $searchModel->GAID = $gaid; $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('archive', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'gaids' => Gadata::getGaids()]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Gadata::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['FDATE' => SORT_DESC, 'FTIME' => SORT_DESC]]]); $this->load($params); if (!$this->validate()) { return $dataProvider; } $query->andFilterWhere(['GAID' => $this->GAID, 'FDATE' => $this->FDATE, 'FTIME' => $this->FTIME, 'CO' => $this->CO, 'O2' => $this->O2, 'NO' => $this->NO, 'CO2' => $this->CO2, 'CH4' => $this->CH4]); return $dataProvider; }
public static function createRandomData() { $timeStart = microtime(true); Yii::$app->db->createCommand()->truncateTable(self::tableName())->execute(); set_time_limit(0); $current = time() + 60 * 60 * 24; $step = Yii::$app->params['tickSize']; for ($i = $current - 60 * 60 * 48; $i < $current; $i += $step * 60) { $step = Yii::$app->params['tickSize'] * rand(1, 3); for ($j = 100; $j <= 200; $j += 100) { $data = new Gadata(); $data->FDATE = date('Y-m-d', $i); $data->FTIME = date('H:i:s', $i); $data->O2 = (rand(9 * 100, 12 * 100) + rand(9 * 100, 12 * 100)) / 100; $data->CO = rand(800, 1000) + rand(800, 1000); $data->NO = rand(400, 500) + rand(400, 500); $data->CO2 = (rand(7 * 100, 10 * 100) + rand(7 * 100, 10 * 100)) / 100; $data->CH4 = (rand(1, 5 * 1000) + rand(1, 5 * 1000)) / 10000; $data->GAID = $j; $data->save(); } } return 'done (time: ' . round(microtime(true) - $timeStart, 3) . 's)'; }
public function actionDeleteGaid($gaid) { Gadata::deleteGaidFromAllTables($gaid); return $this->redirect(['gaids']); }
public static function getGaidTables() { return [Balance::tableName(), Coordinates::tableName(), Gadata::tableName(), Gadataext::tableName()]; }
/* @var $this \yii\web\View */ /* @var $date mixed */ /* @var $gaid mixed */ /* @var $route string */ use yii\helpers\Html; use yii\helpers\Url; use yii\bootstrap\ActiveForm; use kartik\date\DatePicker; use app\models\Gadata; ActiveForm::begin(['method' => 'get', 'action' => Url::to([$route]), 'options' => ['class' => 'nav navbar-form navbar-right']]); ?> <div class="form-group"> <label>Г/А</label> <?php echo Html::dropDownList('gaid', $gaid, Gadata::getGaids(), ['class' => 'form-control', 'prompt' => 'Выберите Г/А']); ?> </div> <div class="form-group"> <label>Дата</label> <?php echo DatePicker::widget(['name' => 'date', 'language' => 'ru', 'value' => $date, 'type' => DatePicker::TYPE_INPUT, 'options' => ['class' => 'form-control', 'placeholder' => 'Выберите дату'], 'pluginOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd', 'endDate' => "+0D"]]); ?> </div> <div class="form-group"> <?php echo Html::submitButton('Выбрать', ['class' => 'btn btn-primary']); ?> </div> <?php ActiveForm::end();