/** * 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; }
/** * @return \yii\db\ActiveQuery */ public function getDespesas() { return $this->hasMany(Despesa::className(), ['caixa_movimentacao_id' => 'id']); }
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]); }
public static function AtualizaAluguel() { $teste = "-"; $contratos = models\Contrato::getAtivos(); foreach ($contratos as $item) { $contrato = models\Contrato::findOne($item->id); if (\app\models\Despesa::verificaAluguel($contrato->id)) { $despesa = \app\models\Despesa::verificaAluguel($contrato->id); if (Setup::VerificaDia($despesa->data)) { $aluguel = models\Despesa::LancaAluguel(Setup::VerificaDia($despesa->data), $contrato->id); } } else { if (Setup::VerificaDia($contrato->data_inicio)) { $aluguel = models\Despesa::LancaAluguel($contrato->data_inicio, $contrato->id); } } } }
/** * @return \yii\db\ActiveQuery */ public function getDespesas() { return $this->hasMany(Despesa::className(), ['tipo_despesa_idtipo_despesa' => 'idtipo_despesa']); }
/** * Finds the Despesa model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Despesa the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Despesa::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function actionIndex() { $user = User::find()->where(['iduser' => Yii::$app->user->id])->one(); $caixa = Caixa::find()->where(['loja_idloja' => $user->loja_idloja])->one(); $caixaAberturaFechamento = CaixaAberturaFechamento::find()->where(['caixa_id' => $caixa->idcaixa])->orderBy('data DESC')->one(); //VarDumper::dump($caixaAberturaFechamento,10,true);die;//caixa aberto $caixaMovimentacao = new CaixaMovimentacao(); $caixaMovimentacao->data = date('Y-m-d H:i:s'); $caixaMovimentacao->caixa_idcaixa = $caixa->idcaixa; if ($caixaAberturaFechamento != null and $caixaAberturaFechamento->tipo == 'abertura' and $caixaAberturaFechamento->user_id == Yii::$app->user->id) { #DESPESAS $despesaForm = new DespesaForm(); //Se um post de DespesaForm foi disparado, entra aqui if (Yii::$app->request->post('DespesaForm')) { //VarDumper::dump('DespesaForm');die; if ($despesaForm->load(Yii::$app->request->post()) && $despesaForm->validate()) { $connection = \Yii::$app->db; //throw Exception('Unable to save record.'); $transaction = $connection->beginTransaction(); try { $caixaMovimentacao = new CaixaMovimentacao(); $caixaMovimentacao->data = date('Y-m-d H:i:s'); $caixaMovimentacao->valor = $despesaForm->valor; $caixaMovimentacao->caixa_movimentacao_tipo_id = 1; $caixaMovimentacao->caixa_idcaixa = $caixa->idcaixa; $caixaMovimentacao->obs = $despesaForm->obs; if (!$caixaMovimentacao->save()) { throw new Exception('Não foi possível salvar - #1.'); } $despesa = new Despesa(); $despesa->tipo_despesa_idtipo_despesa = $despesaForm->tipo_despesa; $despesa->caixa_movimentacao_id = $caixaMovimentacao->id; if (!$despesa->save()) { throw new Exception('Não foi possível salvar - #2.'); } //Valor do caixa menor do que a saída, não conclui a operação if ($caixa->valor < $caixaMovimentacao->valor) { throw new Exception(' Valor de saída é maior do que o disponível no caixa.'); } $caixa->valor -= $caixaMovimentacao->valor; if (!$caixa->save()) { throw new Exception('Não foi possível salvar - #4.'); } $transaction->commit(); Yii::$app->session->setFlash('success', 'Salvo com sucesso'); return $this->redirect(['index']); } catch (Exception $e) { Yii::$app->session->setFlash('danger', 'Ops! Tivemos um erro. Tente novamente ou fale conosco. ' . $e->getMessage()); $transaction->rollback(); return $this->refresh(); } } } #VALE $valeForm = new ValeForm(); //Se um post de DespesaForm foi disparado, entra aqui if (Yii::$app->request->post('ValeForm')) { if ($valeForm->load(Yii::$app->request->post()) && $valeForm->validate()) { $connection = \Yii::$app->db; //throw Exception('Unable to save record.'); $transaction = $connection->beginTransaction(); try { $caixaMovimentacao = new CaixaMovimentacao(); $caixaMovimentacao->data = date('Y-m-d H:i:s'); $caixaMovimentacao->valor = $valeForm->valor; $caixaMovimentacao->caixa_movimentacao_tipo_id = 3; $caixaMovimentacao->caixa_idcaixa = $caixa->idcaixa; $caixaMovimentacao->obs = $valeForm->obs; if (!$caixaMovimentacao->save()) { throw new Exception('Não foi possível salvar - #1.'); } $vale = new Vale(); $vale->vale_beneficiarios_idvale_beneficiarios = $valeForm->beneficiario_id; $vale->caixa_movimentacao_id = $caixaMovimentacao->id; if (!$vale->save()) { throw new Exception('Não foi possível salvar - #2.'); } //Valor do caixa menor do que a saída, não conclui a operação if ($caixa->valor < $caixaMovimentacao->valor) { throw new Exception(' Valor de saída é maior do que o disponível no caixa.'); } $caixa->valor -= $caixaMovimentacao->valor; if (!$caixa->save()) { throw new Exception('Não foi possível salvar - #3.'); } $transaction->commit(); Yii::$app->session->setFlash('success', 'Salvo com sucesso'); return $this->redirect(['index']); } catch (Exception $e) { Yii::$app->session->setFlash('danger', 'Ops! Tivemos um erro. Tente novamente ou fale conosco' . $e->getMessage()); $transaction->rollback(); return $this->refresh(); } } } #DEPÓSITO $caixaMovimentacao = new CaixaMovimentacao(); $caixaMovimentacao->caixa_movimentacao_tipo_id = 2; $caixaMovimentacao->data = date('Y-m-d H:i:s'); $caixaMovimentacao->caixa_idcaixa = $caixa->idcaixa; if (Yii::$app->request->post('CaixaMovimentacao')) { if ($caixaMovimentacao->load(Yii::$app->request->post()) && $caixaMovimentacao->validate()) { $connection = \Yii::$app->db; //throw Exception('Unable to save record.'); $transaction = $connection->beginTransaction(); try { if (!$caixaMovimentacao->save()) { throw new Exception('Não foi possível salvar - #1.'); } //Valor do caixa menor do que a saída, não conclui a operação if ($caixa->valor < $caixaMovimentacao->valor) { throw new Exception(' Valor de saída é maior do que o disponível no caixa.'); } $caixa->valor -= $caixaMovimentacao->valor; if (!$caixa->save()) { throw new Exception('Não foi possível salvar - #3.'); } $transaction->commit(); Yii::$app->session->setFlash('success', 'Salvo com sucesso'); return $this->redirect(['index']); } catch (Exception $e) { Yii::$app->session->setFlash('danger', 'Ops! Tivemos um erro. Tente novamente ou fale conosco' . $e->getMessage()); $transaction->rollback(); return $this->refresh(); } } } #REFORCO $reforcoForm = new ReforcoForm(); //Se um post de DespesaForm foi disparado, entra aqui if (Yii::$app->request->post('ReforcoForm')) { if ($reforcoForm->load(Yii::$app->request->post()) && $reforcoForm->validate()) { $connection = \Yii::$app->db; //throw Exception('Unable to save record.'); $transaction = $connection->beginTransaction(); try { $caixaMovimentacao = new CaixaMovimentacao(); $caixaMovimentacao->data = date('Y-m-d H:i:s'); $caixaMovimentacao->valor = $reforcoForm->valor; $caixaMovimentacao->caixa_movimentacao_tipo_id = 6; $caixaMovimentacao->caixa_idcaixa = $caixa->idcaixa; $caixaMovimentacao->obs = $reforcoForm->obs; if (!$caixaMovimentacao->save()) { throw new Exception('Não foi possível salvar - #1.'); } $caixa->valor += $caixaMovimentacao->valor; if (!$caixa->save()) { throw new Exception('Não foi possível salvar - #2.'); } $transaction->commit(); Yii::$app->session->setFlash('success', 'Salvo com sucesso'); return $this->redirect(['index']); } catch (Exception $e) { Yii::$app->session->setFlash('danger', 'Ops! Tivemos um erro. Tente novamente ou fale conosco' . $e->getMessage()); $transaction->rollback(); return $this->refresh(); } } } #Avulso $avulsoForm = new AvulsoForm(); //Se um post de DespesaForm foi disparado, entra aqui if (Yii::$app->request->post('AvulsoForm')) { if ($avulsoForm->load(Yii::$app->request->post()) && $avulsoForm->validate()) { $connection = \Yii::$app->db; //throw Exception('Unable to save record.'); $transaction = $connection->beginTransaction(); try { $caixaMovimentacao = new CaixaMovimentacao(); $caixaMovimentacao->data = date('Y-m-d H:i:s'); $caixaMovimentacao->valor = $avulsoForm->valor; $caixaMovimentacao->caixa_movimentacao_tipo_id = 7; $caixaMovimentacao->caixa_idcaixa = $caixa->idcaixa; $caixaMovimentacao->obs = $avulsoForm->obs; if (!$caixaMovimentacao->save()) { throw new Exception('Não foi possível salvar - #1.'); } $caixa->valor += $caixaMovimentacao->valor; if (!$caixa->save()) { throw new Exception('Não foi possível salvar - #2.'); } $transaction->commit(); Yii::$app->session->setFlash('success', 'Salvo com sucesso'); return $this->redirect(['index']); } catch (Exception $e) { Yii::$app->session->setFlash('danger', 'Ops! Tivemos um erro. Tente novamente ou fale conosco' . $e->getMessage()); $transaction->rollback(); return $this->refresh(); } } } $searchModel = new CaixaMovimentacaoSearch(); $searchModel->caixa_idcaixa = $caixa->idcaixa; $searchModel->data = date('Y-m-d'); //$searchModel->data = date('Y-m-d'); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', ['caixa' => $caixa, 'dataProvider' => $dataProvider, 'despesa' => $despesaForm, 'deposito' => $caixaMovimentacao, 'vale' => $valeForm, 'reforco' => $reforcoForm, 'avulso' => $avulsoForm, 'caixaMovimentacao' => $caixaMovimentacao]); } else { return $this->redirect(['caixa/abrir']); } }