|
|
|
@ -67,20 +67,21 @@ public class OrdenHelper { |
|
|
|
return mapper(orden.get()); |
|
|
|
return mapper(orden.get()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void agregar(ProductoIdVO vo) { |
|
|
|
public void agregar(ProductoIdVO vo) throws NegocioException { |
|
|
|
|
|
|
|
|
|
|
|
Optional<Orden> orden = ordenDAO.findById(vo.getOrden()); |
|
|
|
Optional<Orden> orden = ordenDAO.findById(vo.getOrden()); |
|
|
|
|
|
|
|
|
|
|
|
if (orden.isEmpty()) { |
|
|
|
if (orden.isEmpty()) { |
|
|
|
|
|
|
|
throw new NegocioException("Orden no encontrada", 2); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Optional<Producto> producto = productoDAO.findById(vo.getProducto()); |
|
|
|
Optional<Producto> producto = productoDAO.findById(vo.getProducto()); |
|
|
|
|
|
|
|
|
|
|
|
if (producto.isEmpty()) { |
|
|
|
if (producto.isEmpty()) { |
|
|
|
|
|
|
|
throw new NegocioException("Producto no encontrado", 2); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Collection<Precio> precios = precioDAO.getPrecio(vo.getProducto()); |
|
|
|
Collection<Precio> precios = precioDAO.getPrecio(vo.getProducto()); |
|
|
|
|
|
|
|
|
|
|
|
Precio precio = precios.stream().findFirst().get(); |
|
|
|
Precio precio = precios.stream().findFirst().get(); |
|
|
|
@ -97,30 +98,18 @@ public class OrdenHelper { |
|
|
|
detalleDAO.save(detalle); |
|
|
|
detalleDAO.save(detalle); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void cambiar(CambioCantidadVO vo) { |
|
|
|
public void cambiar(CambioCantidadVO vo) throws NegocioException { |
|
|
|
|
|
|
|
|
|
|
|
Optional<Detalle> detalle = detalleDAO.findById(vo.getDetalle()); |
|
|
|
Optional<Detalle> detalle = detalleDAO.findById(vo.getDetalle()); |
|
|
|
|
|
|
|
|
|
|
|
if (detalle.isEmpty()) { |
|
|
|
if (detalle.isEmpty()) { |
|
|
|
|
|
|
|
throw new NegocioException("Detalle no encopntrado", 2); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
switch (vo.getDato()) { |
|
|
|
if (vo.getDato() > 0) { |
|
|
|
case MINUS: |
|
|
|
detalle.get().setCantidad(vo.getDato()); |
|
|
|
Integer valorMenor = detalle.get().getCantidad()-1; |
|
|
|
|
|
|
|
if (valorMenor == 0) { |
|
|
|
|
|
|
|
detalle.get().setEliminado(true); |
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
detalle.get().setCantidad(valorMenor); |
|
|
|
detalle.get().setEliminado(true); |
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case PLUS: |
|
|
|
|
|
|
|
Integer valorMayor = detalle.get().getCantidad()+1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
detalle.get().setCantidad(valorMayor); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
System.err.println("ERRROR"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
detalleDAO.save(detalle.get()); |
|
|
|
detalleDAO.save(detalle.get()); |
|
|
|
|