/**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function excluir($id)
 {
     try {
         $unidade = Unidade::find($id);
         $unidade->delete();
         return redirect('restaurante/lista');
     } catch (\Illuminate\Database\QueryException $e) {
         return redirect('restaurante/lista')->with('message', 'Unidade não pode ser excluida devido a dependências');
     }
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     return view('restaurante.edit', ['restaurante' => \Ticket\Unidade::find($id)]);
 }
 /**
  * Display the specified resource.
  *
  * @param  int $id
  * @return \Illuminate\Http\Respon
  */
 public function show($id, Request $data)
 {
     $mes = $data->input('mes');
     $ano = $data->input('ano');
     if ($mes > 0 && $mes < 13 && $ano != 0) {
         $data_ini = $ano . "-" . $mes . "-1";
         $last_day = cal_days_in_month(CAL_GREGORIAN, $mes, $ano);
         //pegar o ultimo dia do mes
         $data_fim = $ano . "-" . $mes . "-" . $last_day;
         $caixas = \Ticket\Caixa::where('ticket_caixa.dt_atividade', '>=', $data_ini)->where('ticket_caixa.dt_atividade', '<=', $data_fim)->where('ticket_caixa.cd_unidade', '=', $id)->orderBy('ticket_caixa.dt_atividade', 'DESC')->get();
         $vendaDia = $this->tabelaCaixa($id, $data_ini, $data_fim);
         return view('caixa.caixa', ['restaurante' => \Ticket\Unidade::find($id), 'caixa' => $caixas, 'venda_dia' => $vendaDia, 'msg' => 'ok']);
     } else {
         return view('caixa.caixa', ['restaurante' => \Ticket\Unidade::find($id), 'msg' => 'erro']);
     }
 }
 public function vendaPrazo(Request $request, $id)
 {
     $this->validate($request, ['cd_categoria' => 'required', 'quantidade' => 'required|min:1']);
     $consulta = DB::select('EXEC Pessoas ?', array($request->nm_pessoa));
     /** $data chama a função mesDebito() e recebe como valor uma data no formato mm/aaaa, para fazer insert ou update
      * no banco o formato usado é aaaamm, EX:201601 por isso a função explode é usada para retirar a '/' e formatado
      * para fazer operações no banco.
      */
     $data = explode('/', $this->mesDebito(), 2);
     if (DB::table('DIFI..bloqueado')->where('matricula', '=', $consulta[0]->matricula)->get()) {
         return redirect('venda/' . $id)->with('message', 'Servidor Bloqueado para débito! Entre em contato com a DIFI-Receita!.');
     } else {
         if (Ticket_Categoria::validaCategoria($id, $request->cd_categoria)) {
             return redirect('venda/' . $id)->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_Prazo::where('cd_unidade', '=', $id)->where('cd_categoria', '=', $request->cd_categoria)->where('dt_ini_vigencia', '=', $categoria->dt_ini_vigencia)->where('matricula', '=', $consulta[0]->matricula)->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_Prazo::where('cd_unidade', '=', $id)->where('cd_categoria', '=', $request->cd_categoria)->where('dt_ini_vigencia', '=', $categoria->dt_ini_vigencia)->where('matricula', '=', $consulta[0]->matricula)->where('lin_func', '=', $consulta[0]->lin_func)->where('ano_mes_venda', '=', $data[1] . $data[0])->update(array('qt_venda' => $aux->qt_venda + $request->quantidade));
             } else {
                 $venda = new Ticket_Venda_Prazo();
                 $venda->cd_unidade = $id;
                 $venda->cd_categoria = $request->cd_categoria;
                 $venda->dt_ini_vigencia = $categoria->dt_ini_vigencia;
                 $venda->matricula = $consulta[0]->matricula;
                 $venda->lin_func = $consulta[0]->lin_func;
                 $venda->ano_mes_venda = $data[1] . $data[0];
                 $venda->marca = 'N';
                 $venda->qt_venda = $request->quantidade;
                 $venda->dt_venda = date('Y-m-d');
                 $venda->save();
             }
         }
         $mensagem = 'Recebida Universidade Estadual de Ponta Grossa ' . $request->quantidade . ' Tickets refeição ao valor de ' . $categoria->vl_categoria . '0 cada e autorizo o débito do total em minha conta corrente junto ao pagamento de ' . $this->mesDebito();
         $unidade = Unidade::find($id);
         $unidade->nr_sequencia += $request->quantidade;
         $unidade->save();
         return redirect('venda/' . $unidade->cd_unidade);
     }
 }