/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Parcela::find(); //$query->joinWith(['vendaIdvenda']); $query->joinWith(['vendaIdvenda.clienteIdcliente', 'vendaIdvenda.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; } if ($this->dataPagamentoPeriodo) { //2015-07-15 - 2015-07-22 $dataInicial = substr($this->dataPagamentoPeriodo, 0, 10); $dataFinal = substr($this->dataPagamentoPeriodo, -10); $query->andFilterWhere(['between', 'data_pagamento', $dataInicial . ' 00:00:00', $dataFinal . ' 23:59:59']); } if ($this->lojaId) { $query->andFilterWhere(['like', 'loja.idloja', $this->lojaId]); } /*if($this->clienteNome){ $query->joinWith(['vendaIdvenda.clienteIdcliente']); $query->andFilterWhere(['like', 'cliente.nome',$this->clienteNome]); }*/ if ($this->clienteNome) { $query->andFilterWhere(['like', 'cliente.nome', $this->clienteNome]); } /*if($this->lojaId){ $query->joinWith(['vendaIdvenda']); $query->andFilterWhere([ 'venda.loja_idloja' => $this->loja ]); $query->andFilterWhere(['like','loja.idloja', $this->lojaId]); }*/ $query->andFilterWhere(['idparcela' => $this->idparcela, 'valor_a_pagar' => $this->valor_a_pagar, 'parcela' => $this->parcela, 'valor_pago' => $this->valor_pago, 'data_vencimento' => $this->data_vencimento, 'venda_idvenda' => $this->venda_idvenda, 'forma_pagamento_id' => $this->forma_pagamento_id, 'data_pagamento' => $this->data_pagamento]); $query->andFilterWhere(['like', 'obs', $this->obs]); //->andFilterWhere(['like', 'vendaIdvenda.clienteIdcliente.nome', $this->vendaIdvenda->clienteIdcliente->nome]) return $dataProvider; }
public function actionSinteticoCaixa() { $searchModel = new ParcelaSearch(); if (Yii::$app->user->identity->perfil != 'Administrador') { $searchModel->lojaId = Yii::$app->user->identity->loja_idloja; } //$searchModel->dataPagamentoPeriodo = date('Y-m-d') .' - '.date('Y-m-d') ; //'2015-07-15 - 2015-07-22' $query = Parcela::find()->select(['fp.forma_pagamento as nomeFormaPagamento,SUM(valor_pago) as valor_pago'])->where(['status' => 'paga'])->innerJoin('forma_pagamento fp', 'parcela.forma_pagamento_id=fp.idforma_pagamento')->groupBy('forma_pagamento_id'); //$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->dataPagamentoPeriodo) { //2015-07-15 - 2015-07-22 $dataInicial = substr($searchModel->dataPagamentoPeriodo, 0, 10); $dataFinal = substr($searchModel->dataPagamentoPeriodo, -10); $query->andFilterWhere(['between', 'data_pagamento', $dataInicial . ' 00:00:00', $dataFinal . ' 23:59:59']); } if ($searchModel->lojaId) { $query->joinWith(['vendaIdvenda']); $query->andFilterWhere(['venda.loja_idloja' => $searchModel->lojaId]); } //VarDumper::dump($dataProvider->getModels(),10,true);die; return $this->render('sinteticoCaixa', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel]); }