예제 #1
0
 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()]);
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
파일: Chart.php 프로젝트: Araused/GaServer
 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)';
 }
예제 #4
0
 public function actionDeleteGaid($gaid)
 {
     Gadata::deleteGaidFromAllTables($gaid);
     return $this->redirect(['gaids']);
 }
예제 #5
0
 public static function getGaidTables()
 {
     return [Balance::tableName(), Coordinates::tableName(), Gadata::tableName(), Gadataext::tableName()];
 }
예제 #6
0
/* @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();