Esempio n. 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;
 }
Esempio n. 2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getDespesas()
 {
     return $this->hasMany(Despesa::className(), ['caixa_movimentacao_id' => 'id']);
 }
Esempio n. 3
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]);
 }
Esempio n. 4
0
 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);
             }
         }
     }
 }
Esempio n. 5
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getDespesas()
 {
     return $this->hasMany(Despesa::className(), ['tipo_despesa_idtipo_despesa' => 'idtipo_despesa']);
 }
Esempio n. 6
0
 /**
  * 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.');
     }
 }
Esempio n. 7
0
 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']);
     }
 }