cambio en la cantidad del detalle

develop
Daniel Arroyo 3 years ago
parent 6b7d555c56
commit 0ac865321e
  1. 2
      pom.xml
  2. 19
      src/main/java/api/menu/playa/controller/OrdenController.java
  3. 31
      src/main/java/api/menu/playa/helper/OrdenHelper.java
  4. 21
      src/main/java/api/menu/playa/vo/CambioCantidadVO.java

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>api.menu.playa</groupId> <groupId>api.menu.playa</groupId>
<artifactId>api-menu-playa</artifactId> <artifactId>api-menu-playa</artifactId>
<version>1.1.2</version> <version>1.1.3</version>
<properties> <properties>
<compiler-plugin.version>3.10.1</compiler-plugin.version> <compiler-plugin.version>3.10.1</compiler-plugin.version>
<maven.compiler.release>11</maven.compiler.release> <maven.compiler.release>11</maven.compiler.release>

@ -77,9 +77,13 @@ public class OrdenController {
@Path("/add") @Path("/add")
public Response add(ProductoIdVO vo) { public Response add(ProductoIdVO vo) {
ordenHelper.agregar(vo); try {
ordenHelper.agregar(vo);
return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build(); return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build();
} catch (NegocioException e) {
return Response.ok(new ResponseGlobal<>(e.getCode(), e.getMessage())).build();
}
} }
@RolesAllowed({"USER", "ADMIN"}) @RolesAllowed({"USER", "ADMIN"})
@ -87,9 +91,14 @@ public class OrdenController {
@Path("/detail") @Path("/detail")
public Response detail( CambioCantidadVO vo) { public Response detail( CambioCantidadVO vo) {
ordenHelper.cambiar(vo); try {
ordenHelper.cambiar(vo);
return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build();
} catch (NegocioException e) {
return Response.ok(new ResponseGlobal<>(e.getCode(), e.getMessage())).build();
}
return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build();
} }
/* /*

@ -67,19 +67,20 @@ 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());
@ -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; } else {
if (valorMenor == 0) { detalle.get().setEliminado(true);
detalle.get().setEliminado(true);
} else {
detalle.get().setCantidad(valorMenor);
}
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());

@ -1,20 +1,9 @@
package api.menu.playa.vo; package api.menu.playa.vo;
import api.menu.playa.enums.CambioCantidadEnum;
public class CambioCantidadVO { public class CambioCantidadVO {
private Long detalle; private Long detalle;
private CambioCantidadEnum dato; private Integer dato;
public CambioCantidadEnum getDato() {
return dato;
}
public void setDato(CambioCantidadEnum dato) {
this.dato = dato;
}
public Long getDetalle() { public Long getDetalle() {
return detalle; return detalle;
@ -23,5 +12,13 @@ public class CambioCantidadVO {
public void setDetalle(Long detalle) { public void setDetalle(Long detalle) {
this.detalle = detalle; this.detalle = detalle;
} }
public Integer getDato() {
return dato;
}
public void setDato(Integer dato) {
this.dato = dato;
}
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.