示例#1
0
 @RequestMapping(value = "/productos", params = "term", produces = "application/json")
 public @ResponseBody List<LabelValueBean> productos(
     HttpServletRequest request, @RequestParam("term") String filtro) {
   for (String nombre : request.getParameterMap().keySet()) {
     log.debug("Param: {} : {}", nombre, request.getParameterMap().get(nombre));
   }
   Map<String, Object> params = new HashMap<>();
   params.put("almacen", request.getSession().getAttribute("almacenId"));
   params.put("filtro", filtro);
   params = productoDao.lista(params);
   List<LabelValueBean> valores = new ArrayList<>();
   List<Producto> productos = (List<Producto>) params.get("productos");
   for (Producto producto : productos) {
     StringBuilder sb = new StringBuilder();
     sb.append(producto.getSku());
     sb.append(" | ");
     sb.append(producto.getNombre());
     sb.append(" | ");
     sb.append(producto.getDescripcion());
     sb.append(" | ");
     sb.append(producto.getExistencia()).append(" ").append(producto.getUnidadMedida());
     sb.append(" | ");
     sb.append(producto.getPrecioUnitario());
     valores.add(new LabelValueBean(producto.getId(), sb.toString()));
   }
   return valores;
 }
示例#2
0
  @RequestMapping(value = "/lote/crea", method = RequestMethod.POST)
  public String creaLote(
      HttpServletRequest request,
      @Valid LoteEntrada lote,
      BindingResult bindingResult,
      Errors errors,
      Model modelo,
      RedirectAttributes redirectAttributes) {
    if (bindingResult.hasErrors()) {
      log.error("Hubo algun error en la forma, regresando");
      return "inventario/entrada/lote/" + request.getParameter("entrada.id");
    }

    try {
      if (request.getParameter("producto.id") == null) {
        log.warn("No se puede crear la entrada si no ha seleccionado un proveedor");
        errors.rejectValue("producto", "lote.sin.producto.message");
        return "inventario/entrada/lote/" + request.getParameter("entrada.id");
      }
      Producto producto = productoDao.obtiene(new Long(request.getParameter("producto.id")));
      Entrada entrada = entradaDao.obtiene(new Long(request.getParameter("entrada.id")));
      lote.setProducto(producto);
      lote.setEntrada(entrada);
      lote.setFechaCreacion(new Date());
      lote = entradaDao.creaLote(lote);
    } catch (NoEstaAbiertaException e) {
      log.error("No se pudo cerrar la entrada", e);
      redirectAttributes.addFlashAttribute("message", "entrada.intento.modificar.cerrada.message");
      redirectAttributes.addFlashAttribute("messageStyle", "alert-error");
      redirectAttributes.addFlashAttribute("messageAttrs", new String[] {""});
    } catch (ProductoNoSoportaFraccionException e) {
      log.error("No se pudo crear la entrada porque no se encontro el producto", e);
      return "inventario/entrada/lote/" + request.getParameter("entrada.id");
    }

    redirectAttributes.addFlashAttribute("message", "lote.creado.message");
    redirectAttributes.addFlashAttribute(
        "messageAttrs",
        new String[] {
          lote.getProducto().getNombre(),
          lote.getCantidad().toString(),
          lote.getPrecioUnitario().toString(),
          lote.getProducto().getUnidadMedida(),
          lote.getIva().add(lote.getPrecioUnitario().multiply(lote.getCantidad())).toString()
        });

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