コード例 #1
0
ファイル: ValeSearch.php プロジェクト: alissoncti/sgo
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Vale::find();
     $query->joinWith(['valeBeneficiariosIdvaleBeneficiarios', 'caixaMovimentacao.caixaIdcaixa.lojaIdloja']);
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     /*
     $dataProvider->sort->attributes['lojaIdloja'] = [
         'asc' => ['loja.nome' => SORT_ASC],
         'desc' => ['loja.nome' => SORT_DESC],
     ];
     */
     $dataProvider->sort->attributes['valeBeneficiariosIdvaleBeneficiarios'] = ['asc' => ['vale_beneficiarios.beneficiario' => SORT_ASC], 'desc' => ['vale_beneficiarios.beneficiario' => SORT_DESC]];
     //$this->load($params);
     if (!($this->load($params) && $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->dataVale) {
         $dataInicial = substr($this->dataVale, 0, 10);
         $dataFinal = substr($this->dataVale, -10);
         $query->andFilterWhere(['between', 'data', $dataInicial . ' 00:00:00', $dataFinal . ' 23:59:59']);
     }
     if ($this->lojaId) {
         $query->andFilterWhere(['like', 'loja.idloja', $this->lojaId]);
     }
     $query->andFilterWhere(['idvale' => $this->idvale, 'vale_beneficiarios_idvale_beneficiarios' => $this->vale_beneficiarios_idvale_beneficiarios, 'caixa_movimentacao_id' => $this->caixa_movimentacao_id]);
     // $query->andFilterWhere(['like', 'loja.nome', $this->lojaIdloja]);
     $query->andFilterWhere(['like', 'vale_beneficiarios.beneficiario', $this->valeBeneficiariosIdvaleBeneficiarios]);
     return $dataProvider;
 }
コード例 #2
0
ファイル: CaixaMovimentacao.php プロジェクト: alissoncti/sgo
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getVales()
 {
     return $this->hasMany(Vale::className(), ['caixa_movimentacao_id' => 'id']);
 }
コード例 #3
0
ファイル: ValeBeneficiarios.php プロジェクト: alissoncti/sgo
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getVales()
 {
     return $this->hasMany(Vale::className(), ['vale_beneficiarios_idvale_beneficiarios' => 'idvale_beneficiarios']);
 }
コード例 #4
0
ファイル: ValeController.php プロジェクト: alissoncti/sgo
 /**
  * Finds the Vale model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Vale the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Vale::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
コード例 #5
0
ファイル: Loja.php プロジェクト: alissoncti/sgo
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getVales()
 {
     return $this->hasMany(Vale::className(), ['loja_idloja' => 'idloja']);
 }
コード例 #6
0
ファイル: CaixaController.php プロジェクト: alissoncti/sgo
 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']);
     }
 }