Java

Denunciar
-
Buenas tardes.
Tengo el siguiente código, el cual aplica una promoción a varios productos de diferente precio, pero no aplica la promoción a productos con el mismo precio.

private List<VentaProducto> promo3X2(List<VentaProducto> lstItemVenta, Promocion promoActiva) {
List<DetallePromocion> productosConPromo = promoActiva.getDetallePromocion();
Float subTotalPromo = 0F;
int cantidad = 0;
Float nuevoSubtotal = 0F;
for (int i = 0; i < lstItemVenta.size(); i++) {
for (int j = 0; j < productosConPromo.size(); j++) {
if (lstItemVenta.get(i).getProduct().getIdProduct() == productosConPromo.get(j).getProduct()
.getIdProduct()) {
cantidad = lstItemVenta.get(i).getCantidad();
int cantGratis = cantidad / 3;
int cantidadACobrar = cantidad - cantGratis;
nuevoSubtotal = lstItemVenta.get(i).getPrecioBase() * cantidadACobrar;
lstItemVenta.get(i).setSubtotal(nuevoSubtotal);
subTotalPromo += nuevoSubtotal;
}
}
}
return lstItemVenta;
}