Beispiel #1
0
 /**
  * Displays a single Cliente model.
  * @param integer $id
  * @return mixed
  */
 public function actionView($id)
 {
     $searchModel2 = new VendaSearch();
     $searchModel2->cliente_idcliente = $id;
     //Modifiquei diretamente no model para exibir apenas as vendas desse cliente
     //$params = array_merge(Yii::$app->request->queryParams,['cliente_idcliente'=>$id]);
     $dataProvider2 = $searchModel2->search(Yii::$app->request->queryParams);
     //$dataProvider2->setPagination(['pageSize' => 15]);//se quiser mudar a quantidade da paginação
     return $this->render('view', ['model' => $this->findModel($id), 'searchModel2' => $searchModel2, 'dataProvider2' => $dataProvider2]);
 }
 public function actionSinteticoVenda()
 {
     #VENDA
     $searchModelVenda = new VendaSearch();
     //$searchModel->dataVendaPeriodo  = date('Y-m-d') .' - '.date('Y-m-d') ; //'2015-07-15 - 2015-07-22'
     if (Yii::$app->user->identity->perfil != 'Administrador') {
         $searchModelVenda->loja_idloja = Yii::$app->user->identity->loja_idloja;
     }
     $query = Venda::find()->select(['fp.forma_pagamento as formaPagamentoNome, SUM(valortotal - desconto) as valorFinalVenda'])->innerJoin('forma_pagamento fp', 'venda.forma_pagamento_idforma_pagamento=fp.idforma_pagamento')->groupBy('forma_pagamento_idforma_pagamento');
     $dataProviderVenda = new ActiveDataProvider(['query' => $query]);
     $searchModelVenda->load(Yii::$app->request->queryParams);
     if ($searchModelVenda->dataVendaPeriodo) {
         //2015-07-15 - 2015-07-22
         $dataInicial = substr($searchModelVenda->dataVendaPeriodo, 0, 10);
         $dataFinal = substr($searchModelVenda->dataVendaPeriodo, -10);
         $query->andFilterWhere(['between', 'data', $dataInicial . ' 00:00:00', $dataFinal . ' 23:59:59']);
     }
     $query->andFilterWhere(['loja_idloja' => $searchModelVenda->loja_idloja]);
     #TIPO PRODUTOS
     $searchModelTipoProduto = new VendaHasProdutoSearch();
     $query2 = VendaHasProduto::find()->select('pc.categoria as nomeProdutoTipo, SUM(quantidade) as quantidade')->innerJoin('produto p', 'venda_has_produto.produto_idproduto=p.idproduto')->innerJoin('produto_categoria pc', 'p.produto_categoria_idproduto_categoria=pc.idproduto_categoria')->innerJoin('venda v', 'venda_has_produto.venda_idvenda=v.idvenda')->groupBy('pc.idproduto_categoria');
     //VarDumper::dump($query2->all(),10,true);die;
     $dataProviderVendaHasProduto = new ActiveDataProvider(['query' => $query2]);
     if ($searchModelVenda->dataVendaPeriodo) {
         //2015-07-15 - 2015-07-22
         $dataInicial = substr($searchModelVenda->dataVendaPeriodo, 0, 10);
         $dataFinal = substr($searchModelVenda->dataVendaPeriodo, -10);
         $query2->andFilterWhere(['between', 'v.data', $dataInicial . ' 00:00:00', $dataFinal . ' 23:59:59']);
     }
     $query2->andFilterWhere(['v.loja_idloja' => $searchModelVenda->loja_idloja]);
     return $this->render('sinteticoVendas', ['dataProviderVenda' => $dataProviderVenda, 'searchModelVenda' => $searchModelVenda, 'dataProviderVendaHasProduto' => $dataProviderVendaHasProduto]);
 }
Beispiel #3
0
 /**
  * Lists all Venda models.
  * @return mixed
  */
 public function actionIndex()
 {
     $searchModel = new VendaSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
 }