Ejemplo n.º 1
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id, Request $request)
 {
     $vendaDia = $this->tabelaCaixa($id, $request->dt_atividade, $request->dt_atividade);
     if ($vendaDia) {
         return redirect('caixa/' . $id)->with('message', 'O caixa não pode ser apagado, pois possui vendas registradas.');
     } else {
         Caixa::where('ticket_caixa.dt_atividade', '=', $request->dt_atividade)->where('ticket_caixa.cd_unidade', '=', $id)->delete();
         return redirect('caixa/' . $id);
     }
 }
Ejemplo n.º 2
0
 /**
  * @param Request $request
  * @param $id
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  *
  * A função é responsável por tratar uma venda a vista, valida os campos categoria e quantidade da view, atribui a
  * variável $categoria um select pois necessita do campo cd_categoria da tabela Ticket_Custo_Categoria para fazer
  * a validação se existe ou não a categoria enviada pelo usuário.
  * Autenticada a categoria, temos outro if que verifica se possui alguma venda no dia atual naquela
  * categoria específica, caso tenha venda ele
  * apenas atualiza o campo qt_vendas passando a quantidade enviada pelo usuário.
  * Caso seja a primeira venda daquela categoria, criamos um novo registro.
  * Ainda dentro do primeiro if, atualizamos o valor do troco chamando a função valorVenda, e depois atualiza o valor
  * do número de sequencia da tabela unidade.
  */
 public function vendaVista(Request $request, $id)
 {
     $this->validate($request, ['cd_categoria' => 'required', 'quantidade' => 'required|min:1']);
     //Faz uma busca com a categoria recebida por request e testa se a categoria existe ou não
     if (Ticket_Categoria::validaCategoria($id, $request->cd_categoria)) {
         return back()->with('message', 'Categoria não encontrada.');
     } else {
         $categoria = Ticket_Custo_Categoria::where('cd_unidade', '=', $id)->where('cd_categoria', '=', $request->cd_categoria)->first();
         $aux = Ticket_Venda_Vista::where('cd_unidade', '=', $id)->where('cd_categoria', '=', $request->cd_categoria)->where('dt_ini_vigencia', '=', $categoria->dt_ini_vigencia)->where('dt_venda', '=', date('Y-m-d'))->first();
         //Verificação caso não seja a primeira venda, apenas fazer um update na tabela.
         if (count($aux)) {
             Ticket_Venda_Vista::where('cd_unidade', '=', $id)->where('cd_categoria', '=', $request->cd_categoria)->where('dt_ini_vigencia', '=', $categoria->dt_ini_vigencia)->where('dt_venda', '=', date('Y-m-d'))->update(array('qt_venda' => $aux->qt_venda + $request->quantidade));
         } else {
             $venda = new Ticket_Venda_Vista();
             $venda->cd_unidade = $id;
             $venda->cd_categoria = $request->cd_categoria;
             $venda->dt_ini_vigencia = $categoria->dt_ini_vigencia;
             $venda->dt_venda = date('Y-m-d');
             $venda->qt_venda = $request->quantidade;
             $venda->save();
         }
         $aux = Caixa::where('cd_unidade', '=', $id)->where('dt_atividade', '=', date('Y-m-d'))->get()->first();
         $valorVenda = $this->valorVenda($id, $request->cd_categoria, $request->quantidade);
         Caixa::where('cd_unidade', '=', $id)->where('dt_atividade', '=', date('Y-m-d'))->update(array('vl_troco' => $aux->vl_troco + $valorVenda));
         $unidade = Unidade::find($id);
         $unidade->nr_sequencia += $request->quantidade;
         $unidade->save();
         //return view('venda/'.$unidade->cd_unidade,['vl_venda' => $venda]);
         return redirect('venda/' . $unidade->cd_unidade)->with('data', $valorVenda);
     }
 }