public static function validaCategoria($cd_unidade, $cd_categoria)
 {
     $valida = Ticket_Categoria::where('cd_unidade', '=', $cd_unidade)->where('cd_categoria', '=', $cd_categoria)->get();
     if (count($valida)) {
         return 0;
     } else {
         return $valida;
     }
 }
 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);
     }
 }