/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Despesa::find(); $query->joinWith(['caixaMovimentacao', 'caixaMovimentacao.caixaIdcaixa.lojaIdloja']); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } //adicionado por Alisson if ($this->dataDespesa) { $dataInicial = substr($this->dataDespesa, 0, 10); $dataFinal = substr($this->dataDespesa, -10); $query->andFilterWhere(['between', 'data', $dataInicial . ' 00:00:00', $dataFinal . ' 23:59:59']); } if ($this->lojaId) { $query->andFilterWhere(['like', 'idloja', $this->lojaId]); } $query->andFilterWhere(['iddespesa' => $this->iddespesa, 'caixa_movimentacao_id' => $this->caixa_movimentacao_id, 'tipo_despesa_idtipo_despesa' => $this->tipo_despesa_idtipo_despesa]); return $dataProvider; }
public function actionSinteticoDespesas() { $searchModel = new DespesaSearch(); if (Yii::$app->user->identity->perfil != 'Administrador') { $searchModel->lojaId = Yii::$app->user->identity->loja_idloja; } //$searchModel->dataDespesa = date('Y-m-d') .' - '.date('Y-m-d') ; //'2015-07-15 - 2015-07-22' $query = Despesa::find()->select(['td.tipo as nomeTipoDespesa, SUM(cm.valor) as valorDespesa'])->innerJoin('tipo_despesa td', 'despesa.tipo_despesa_idtipo_despesa=td.idtipo_despesa')->innerJoin('caixa_movimentacao cm', 'despesa.caixa_movimentacao_id=cm.id')->innerJoin('caixa c', 'cm.caixa_idcaixa=c.idcaixa')->groupBy('tipo_despesa_idtipo_despesa'); //$query = "SELECT fp.forma_pagamento, SUM(p.valor_pago) FROM parcela p, forma_pagamento fp where fp.idforma_pagamento = p.forma_pagamento_id GROUP BY p.forma_pagamento_id"; $dataProvider = new ActiveDataProvider(['query' => $query]); $searchModel->load(Yii::$app->request->queryParams); if ($searchModel->dataDespesa) { //2015-07-15 - 2015-07-22 $dataInicial = substr($searchModel->dataDespesa, 0, 10); $dataFinal = substr($searchModel->dataDespesa, -10); $query->andFilterWhere(['between', 'data', $dataInicial . ' 00:00:00', $dataFinal . ' 23:59:59']); } /*if($searchModel->lojaId){ $query->andFilterWhere(['c.loja_idloja', $searchModel->lojaId]); }*/ $query->andFilterWhere(['c.loja_idloja' => $searchModel->lojaId]); return $this->render('sinteticoDespesa', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel]); }