private void sesionSetCaso(String numeroCaso) throws CancelacionWebException, NullPointerException { if (sesion.getCaso() != null) { if (sesion.getCaso().getNumeroCaso().equals(numeroCaso)) { sesionSetProyectoCancelacion(); } else { sesion.setCaso(null); } } if (sesion.getCaso() == null) { FindResponse<CasoInfo> find = casoService.find(new FindByRequest("numeroCaso", numeroCaso)); sesion.setCaso(find.getInfo()); if (find.getInfo() != null) { sesionSetProyectoCancelacion(); } else { sesion.setProyectoCancelacion(null); throw new NullPointerException("No existe caso con id " + numeroCaso); } } if (sesion.getProyectoCancelacion().getEmpleadoId() > 0) { if (sesion.getProyectoCancelacion().getEmpleadoId() != sesion.getEmpleado().getId()) { throw new CancelacionWebException("Asignado a otro jefe de cobranza"); } } }
@RequestMapping(value = "/cobranza/caso/{numeroCaso}/autorizar", method = RequestMethod.POST) public String autorizarProyecto( @PathVariable String numeroCaso, @RequestParam("jefej") long usuarioJuridicoId, Model model, RedirectAttributes redirectAttributes) { List<String> mensajes = Utils.getFlashMensajes(model, redirectAttributes); try { sesionSetCaso(numeroCaso); } catch (CancelacionWebException ex) { mensajes.add("warning::Caso asignado a Gerente de Juridico"); return "redirect:/"; } catch (NullPointerException ex) { mensajes.add("warning::El caso " + numeroCaso + " no existe."); return "redirect:/"; } System.out.println("AUTORIZACION NOMBRE::" + sesion.getEmpleado().getUsuarioId()); StatusResponse gerenteCobranzaValidaCaso = casoService.gerenteCobranzaAutorizaCaso( usuarioJuridicoId, sesion.getEmpleado().getUsuarioId(), sesion.getCaso(), sesion.getProyectoCancelacion()); if (gerenteCobranzaValidaCaso.getStatus() == 1) { mensajes.add("success::Caso autorizado."); return "redirect:/cobranza/caso/" + sesion.getCaso().getNumeroCaso(); } else { mensajes.add("warning::Ocurrio un error."); return "redirect:/cobranza/caso/" + sesion.getCaso().getNumeroCaso(); } }
@RequestMapping(value = "/cobranza/caso/{numeroCaso}/registrarfirma", method = RequestMethod.POST) public String guardaRegistrarFechaFirmaNotario( @PathVariable String numeroCaso, @RequestParam("fechaFirma") Date fechaAsignada, Model model, RedirectAttributes redirectAttributes) { List<String> mensajes = Utils.getFlashMensajes(model, redirectAttributes); try { sesionSetCaso(numeroCaso); } catch (CancelacionWebException ex) { mensajes.add("warning::Caso asignado a Gerente de Juridico"); return "redirect:/"; } catch (NullPointerException ex) { mensajes.add("warning::El caso " + numeroCaso + " no existe."); return "redirect:/"; } StatusResponse gerenteCobranzaRegistraFechaFirma = casoService.gerenteCobranzaRegistraFechaFirma( sesion.getCaso(), sesion.getProyectoCancelacion(), fechaAsignada); if (gerenteCobranzaRegistraFechaFirma.getStatus() == 1) { mensajes.add("success::Fecha de firma registrada."); return "redirect:/"; } else { mensajes.add("warning::Ocurrio un error."); return "redirect:/cobranza/caso/" + numeroCaso + "/registrarfirma"; } }
@RequestMapping(value = "/cobranza/caso/{numeroCaso}", method = RequestMethod.GET) public String ver( @PathVariable String numeroCaso, Model model, RedirectAttributes redirectAttributes, Principal principal) { sesionSetEmpleado(principal); List<String> mensajes = Utils.getFlashMensajes(model, redirectAttributes); try { sesionSetCaso(numeroCaso); } catch (CancelacionWebException ex) { mensajes.add("warning::Caso asignado a Gerente de Juridico"); return "redirect:/"; } catch (NullPointerException ex) { mensajes.add("warning::El caso " + numeroCaso + " no existe."); return "redirect:/"; } CasoInfo caso = sesion.getCaso(); model.addAttribute("caso", caso); ProyectoCancelacionInfo proyecto = sesion.getProyectoCancelacion(); model.addAttribute("proyecto", proyecto); if (proyecto == null) { model.addAttribute("archivos", new ArrayList<CancelacionArchivoInfo>()); } else { ListResponse<CancelacionArchivoInfo> list1 = cancelacionArchivoService.list( new ListRequest("proyectoCancelacionId", proyecto.getId())); model.addAttribute("archivos", list1.getList()); ListResponse<EmpleadoInfo> list2 = empleadoService.listarGerentesJuridico(); model.addAttribute("jefesj", list2.getList()); } return "/jcobranza/ver"; }
@RequestMapping(value = "/cobranza/caso/{numeroCaso}/fechafirma", method = RequestMethod.GET) public String asignarFechaFirmaNotario( @PathVariable String numeroCaso, Model model, RedirectAttributes redirectAttributes) { List<String> mensajes = Utils.getFlashMensajes(model, redirectAttributes); try { sesionSetCaso(numeroCaso); } catch (CancelacionWebException ex) { mensajes.add("warning::Caso asignado a Gerente de Juridico"); return "redirect:/"; } catch (NullPointerException ex) { mensajes.add("warning::El caso " + numeroCaso + " no existe."); return "redirect:/"; } CasoInfo caso = sesion.getCaso(); model.addAttribute("caso", caso); model.addAttribute("proyecto", sesion.getProyectoCancelacion()); return "/jcobranza/firma"; }