예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 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]);
 }