/** * Lists all CaixaMovimentacao models. * @return mixed */ public function actionIndex() { $searchModel = new CaixaMovimentacaoSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }
public function actionAnaliticoDepositos() { $searchModel = new CaixaMovimentacaoSearch(); $searchModel->caixa_movimentacao_tipo_id = CaixaMovimentacaoTipo::DEPOSITO; $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('analiticoDepositos', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }
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']); } }