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); } }