示例#1
0
  @Transactional
  @RequestMapping(value = "/actualiza", method = RequestMethod.POST)
  public String actualiza(
      HttpServletRequest request,
      @Valid Entrada entrada,
      BindingResult bindingResult,
      Errors errors,
      Model modelo,
      RedirectAttributes redirectAttributes) {
    if (bindingResult.hasErrors()) {
      log.error("Hubo algun error en la forma, regresando");
      return "inventario/entrada/edita";
    }

    try {
      Usuario usuario = ambiente.obtieneUsuario();
      if (request.getParameter("proveedor.id") == null) {
        log.warn("No se puede crear la entrada si no ha seleccionado un proveedor");
        errors.rejectValue("proveedor", "entrada.sin.proveedor.message");
        return "inventario/entrada/nueva";
      }
      Proveedor proveedor = proveedorDao.obtiene(new Long(request.getParameter("proveedor.id")));
      entrada.setProveedor(proveedor);
      entrada = entradaDao.actualiza(entrada, usuario);
    } catch (NoEstaAbiertaException e) {
      log.error("No se pudo actualizar la entrada", e);
      modelo.addAttribute("message", "entrada.intento.modificar.cerrada.message");
      modelo.addAttribute("messageStyle", "alert-error");
      modelo.addAttribute("messageAttrs", new String[] {entrada.getFolio()});
      return "inventario/entrada/nueva";
    } catch (ConstraintViolationException e) {
      log.error("No se pudo crear la entrada", e);
      errors.rejectValue("factura", "campo.duplicado.message", new String[] {"factura"}, null);

      return "inventario/entrada/nueva";
    }

    redirectAttributes.addFlashAttribute("message", "entrada.actualizada.message");
    redirectAttributes.addFlashAttribute("messageAttrs", new String[] {entrada.getFolio()});

    return "redirect:/inventario/entrada/ver/" + entrada.getId();
  }
示例#2
0
  @Transactional
  @RequestMapping(value = "/crea", method = RequestMethod.POST)
  public String crea(
      HttpServletRequest request,
      HttpServletResponse response,
      @Valid Entrada entrada,
      BindingResult bindingResult,
      Errors errors,
      Model modelo,
      RedirectAttributes redirectAttributes) {
    for (String nombre : request.getParameterMap().keySet()) {
      log.debug("Param: {} : {}", nombre, request.getParameterMap().get(nombre));
    }
    if (bindingResult.hasErrors()) {
      log.debug("Hubo algun error en la forma, regresando");
      return "inventario/entrada/nueva";
    }

    try {
      Usuario usuario = ambiente.obtieneUsuario();
      if (request.getParameter("proveedor.id") == null) {
        log.warn("No se puede crear la entrada si no ha seleccionado un proveedor");
        errors.rejectValue("proveedor", "entrada.sin.proveedor.message");
        return "inventario/entrada/nueva";
      }
      Proveedor proveedor = proveedorDao.obtiene(new Long(request.getParameter("proveedor.id")));
      entrada.setProveedor(proveedor);
      entrada = entradaDao.crea(entrada, usuario);
    } catch (ConstraintViolationException e) {
      log.error("No se pudo crear la entrada", e);
      errors.rejectValue("factura", "campo.duplicado.message", new String[] {"factura"}, null);

      return "inventario/entrada/nueva";
    }

    redirectAttributes.addFlashAttribute("message", "entrada.creada.message");
    redirectAttributes.addFlashAttribute("messageAttrs", new String[] {entrada.getFolio()});

    return "redirect:/inventario/entrada/ver/" + entrada.getId();
  }