Пример #1
0
 public function actionChart($id)
 {
     $reg = $this->findModel($id);
     $searchModel = new RegistroSearch();
     //Get paginated models for grid ordered by almacen
     $dataProvider = $searchModel->searchOrderByAlmacen(['RegistroSearch' => ['categoria' => $reg->categoria, 'elemento' => $reg->elemento, 'descripcion' => $reg->descripcion]]);
     //Get all models for chart (no pagination)
     $dataProviderClone = clone $dataProvider;
     $dataProviderClone->pagination = false;
     $allModels = $dataProviderClone->models;
     $lastAlmacen = '';
     $seriesCounter = -1;
     //Iterate over models to construct series array
     foreach ($allModels as $m) {
         //If just changed key, start new arrrays
         if ($lastAlmacen != $m->almacen) {
             $xs[$m->almacen] = 'x' . $m->almacen;
             $seriesCounter++;
             $columns[2 * $seriesCounter][] = 'x' . $m->almacen;
             $columns[2 * $seriesCounter + 1][] = $m->almacen;
             $lastAlmacen = $m->almacen;
         }
         //Append datum
         $columns[2 * $seriesCounter][] = $m->fecha;
         $columns[2 * $seriesCounter + 1][] = $m->precio_unitario;
     }
     return $this->render('chart', ['reg' => $reg, 'xs' => $xs, 'columns' => $columns, 'dataProvider' => $dataProvider]);
 }
Пример #2
0
 /**
  * Lists all Registro models.
  * @return mixed
  */
 public function actionIndex()
 {
     $searchModel = new RegistroSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
 }