public function addItem(Request $request, $id)
 {
     $compra = Compra::find($id);
     $item = CompraItem::create(['compra_id' => $compra->id, 'produto_id' => $request->item['produto_id'], 'quantidade' => $request->item['quantidade']]);
     $produto = Produto::find($item->produto->id);
     $dados = ['produto' => $produto->nome, 'referencia' => $produto->referencia, 'quantidade' => $request->item['quantidade'], 'compra_id' => $id, 'id' => $item->id];
     return $dados;
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Compra::find();
     // add conditions that should always apply here
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10], 'sort' => ['defaultOrder' => ['dataCompra' => SORT_DESC, 'idconta' => SORT_DESC]]]);
     $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;
     }
     // grid filtering conditions
     $query->andFilterWhere(['idconta' => $this->idconta, 'dataCompra' => $this->dataCompra]);
     return $dataProvider;
 }
 public function relatorio(Request $request)
 {
     $result = Compra::select('fornecedores.fantasia', 'fornecedores.nome_razao', 'compras.id', 'compras.data_compra', 'compras.status as status_compra', 'compras.fornecedor_id')->with(['compra_itens' => function ($q) {
         $q->with('produto');
     }])->join('fornecedores', 'fornecedores.id', '=', 'compras.fornecedor_id')->whereBetween('data_compra', [setDataBR($request->data_inicial), setDataBR($request->data_final)]);
     /* Verifica o status solicitado */
     if ($request->status == 2) {
         $result->where('compras.status', '2');
     }
     // Vefirica se o usuário selecionou um fornecedor
     if ($request->fornecedor != '') {
         $result->where('fornecedor_id', $request->fornecedor);
     }
     $result = $result->get();
     $dado['data_inicial'] = $request->data_inicial;
     $dado['data_final'] = $request->data_final;
     return view('compras.relatorios.relatorio', compact('dado', 'result'));
 }
 /**
  * Finds the Compra model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Compra the loaded modelCompra
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($modelCompra = Compra::findOne($id)) !== null) {
         return $modelCompra;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
 public function reenviaEmail($compra)
 {
     $compra = Compra::find($compra->id);
     $fornecedor = Fornecedor::find($compra->fornecedor_id);
     $text = 'Pedido de compra urgente';
     if ($fornecedor->contatos[0]->email == '' || $fornecedor->contatos[0]->email == null) {
         flash()->error('Fornecedor não tem nenhum e-mail cadastrado, atualize o cadastro do fornecedor e tente novamente');
         return back();
     }
     $send = Mail::send('emails.fornecedor', ['compra' => $compra, 'text' => $text], function ($message) use($fornecedor) {
         #$message->to('*****@*****.**', 'Pedido de compra')->subject('Pedido de compra Miramar Brindes');
         $message->to($fornecedor->contatos[0]->email, 'Pedido de compra')->subject('Pedido de compra Miramar Brindes');
     });
     if ($send) {
         return true;
     }
 }
Exemple #6
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getCompras()
 {
     return $this->hasMany(Compra::className(), ['id_fornecedor' => 'id']);
 }
Exemple #7
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getCompra()
 {
     return $this->hasOne(Compra::className(), ['idconta' => 'idconta']);
 }