/** * 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); } }
/** * @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); } }