public void seguimiento_productos_stock_anterior() {
    total_stok_anterior = 0;
    for (IngresoProductoTienda i : Producto.getIngresoProductoTiendaList()) {
      if (i.getFechaIngreso().equals(fecha_inicio)
          || i.getFechaIngreso().equals(fecha_fin)
          || i.getFechaIngreso().after(fecha_inicio)
          || i.getFechaIngreso().before(fecha_fin)) {
        if (i.getCantidad() != 0
            && i.getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          lista_entradas.add(i);
          total_entrada = total_entrada + i.getCantidad();
        }
      }
    }
    // lista_entradas = ingresoProductoTiendaFacade.findAll();

    for (SalidaProductoTienda s : Producto.getSalidaProductoTiendaList()) {
      if (s.getFechaSalida().equals(fecha_inicio)
          || s.getFechaSalida().equals(fecha_fin)
          || s.getFechaSalida().after(fecha_inicio)
          || s.getFechaSalida().before(fecha_fin)) {

        if (s.getCantidad() != 0
            && s.getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          lista_salidas.add(s);
          total_salida = total_salida + s.getCantidad();
        }
      }
    }

    for (DetalleVentaProducto d : Producto.getDetalleVentaProductoList()) {

      if (d.getVenta().getFechaVenta().equals(fecha_inicio)
          || d.getVenta().getFechaVenta().equals(fecha_fin)
          || d.getVenta().getFechaVenta().after(fecha_inicio)
          || d.getVenta().getFechaVenta().before(fecha_fin)) {
        if (d.getVenta().getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          lista_detalles_venta.add(d);
          total_ventas = total_ventas + d.getCantidad();
        }
      }
    }

    // lista_salidas = salidaProductoTiendaFacade.findAll();

  }
  public String registrar() {
    try {
      StockProductoTiendaOrigen st = new StockProductoTiendaOrigen();
      StockProductoTiendaOrigen st2 = new StockProductoTiendaOrigen();
      st.setProducto(Producto);
      st.setTienda(tienda);
      st.setCantidad(cantidad_stock);
      st.setStockProductoTiendaOrigenPK(
          new StockProductoTiendaOrigenPK(Producto.getIdProducto(), tienda.getIdTienda()));
      st.setUltimaFechaIngreso(fecha_vencimiento);

      st2.setProducto(Producto);
      st2.setTienda(tienda);
      st2.setCantidad(0);
      st2.setDescripcion(descripcion);
      st2.setStockProductoTiendaOrigenPK(
          new StockProductoTiendaOrigenPK(Producto.getIdProducto(), tienda.getIdTienda()));
      st2.setUltimaFechaIngreso(fecha_vencimiento);

      // Aqui Yuryyyyyy
      stockProductoTiendaOrigenFacade.create(st2);

      // Agregado
      stockProductoTiendaOrigen = st2;
      this.Registro_Incremento2();
      this.cargar_lista2();
      this.buscar();
    } catch (Exception e) {
    }
    tienda = new Tienda(1);
    cantidad_stock = 0;
    costo = new BigDecimal(0);
    fecha_vencimiento = new Date();
    descripcion = "";
    ubicacionFisica = new UbicacionFisica();
    return "almacen?faces-redirect=true";
  }
  public void seguimiento_productos() {
    lista_entradas.clear();
    lista_salidas.clear();
    lista_detalles_venta.clear();
    lista_detalles_factura_venta.clear();

    total_entrada = 0;
    total_salida = 0;
    total_ventas = 0;
    total_factura_ventas = 0;

    total_entrada_anterior = 0;
    total_salida_anterior = 0;
    total_ventas_anterior = 0;
    total_factura_ventas_anterior = 0;

    lista_detalles_cambios.clear();
    lista_detalles_cambios_antes.clear();
    total_cambios_entrada_anterior = 0;
    total_cambios_entrada = 0;
    total_cambios_salida = 0;
    total_cambios_salida_anterior = 0;

    total_stok_anterior = 0;
    for (IngresoProductoTienda i : Producto.getIngresoProductoTiendaList()) {
      if (i.getFechaIngreso().equals(fecha_inicio)
          || i.getFechaIngreso().equals(fecha_fin)
          || (i.getFechaIngreso().after(fecha_inicio) && i.getFechaIngreso().before(fecha_fin))) {
        if (i.getCantidad() != 0
            && i.getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          lista_entradas.add(i);
          total_entrada = total_entrada + i.getCantidad();
        }
      } else {
        if (i.getFechaIngreso().before(fecha_inicio)
            && i.getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          total_entrada_anterior = total_entrada_anterior + i.getCantidad();
        }
      }
    }
    // lista_entradas = ingresoProductoTiendaFacade.findAll();

    for (SalidaProductoTienda s : Producto.getSalidaProductoTiendaList()) {
      if (s.getFechaSalida().equals(fecha_inicio)
          || s.getFechaSalida().equals(fecha_fin)
          || (s.getFechaSalida().after(fecha_inicio) && s.getFechaSalida().before(fecha_fin))) {
        if (s.getCantidad() != 0
            && s.getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          lista_salidas.add(s);
          total_salida = total_salida + s.getCantidad();
        }
      } else {
        if (s.getFechaSalida().before(fecha_inicio)
            && s.getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          total_salida_anterior = total_salida_anterior + s.getCantidad();
        }
      }
    }

    for (DetalleVentaProducto d : Producto.getDetalleVentaProductoList()) {

      if (d.getVenta().getFechaVenta().equals(fecha_inicio)
          || d.getVenta().getFechaVenta().equals(fecha_fin)
          || (d.getVenta().getFechaVenta().after(fecha_inicio)
              && d.getVenta().getFechaVenta().before(fecha_fin))) {
        if (d.getVenta().getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          lista_detalles_venta.add(d);
          total_ventas = total_ventas + d.getCantidad();
        }
      } else {
        if (d.getVenta().getFechaVenta().before(fecha_inicio)
            && d.getVenta().getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          total_ventas_anterior = total_ventas_anterior + d.getCantidad();
        }
      }
    }

    for (DetalleFacturaVentaProducto d : Producto.getDetalleFacturaVentaProductoList()) {

      if (d.getFacturaVenta().getFechaVenta().equals(fecha_inicio)
          || d.getFacturaVenta().getFechaVenta().equals(fecha_fin)
          || (d.getFacturaVenta().getFechaVenta().after(fecha_inicio)
              && d.getFacturaVenta().getFechaVenta().before(fecha_fin))) {
        if (d.getFacturaVenta().getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          lista_detalles_factura_venta.add(d);
          total_factura_ventas = total_factura_ventas + d.getCantidad();
        }
      } else {
        if (d.getFacturaVenta().getFechaVenta().before(fecha_inicio)
            && d.getFacturaVenta().getTienda().getNombreTienda().equals(tienda.getNombreTienda())) {
          total_factura_ventas_anterior = total_factura_ventas_anterior + d.getCantidad();
        }
      }
    }

    // puede ser la prenda que entra

    for (DetalleCambioProducto d : Producto.getDetalleCambioProductoList()) {

      if (d.getCambio().getVenta().getFechaVenta().equals(fecha_inicio)
          || d.getCambio().getVenta().getFechaVenta().equals(fecha_fin)
          || (d.getCambio().getVenta().getFechaVenta().after(fecha_inicio)
              && d.getCambio().getVenta().getFechaVenta().before(fecha_fin))) {
        if (d.getCambio()
            .getVenta()
            .getTienda()
            .getNombreTienda()
            .equals(tienda.getNombreTienda())) {
          lista_detalles_cambios.add(d);

          // Aqui total de prendas que entraron
          // total_ventas = total_ventas + d.getCantidad();
        }
      } else {
        if (d.getCambio().getVenta().getFechaVenta().before(fecha_inicio)
            && d.getCambio()
                .getVenta()
                .getTienda()
                .getNombreTienda()
                .equals(tienda.getNombreTienda())) {
          // AQUI es donde se pone los cambios anteiores , esto es importante, el void de abajo no
          // se usa nunca
          //      total_ventas_anterior = total_ventas_anterior + 1;  //d.getCantidad(); se supone
          // que la cantidad es 1
          lista_detalles_cambios_antes.add(d);
        }
      }
    }

    for (DetalleCambioProducto d : Producto.getDetalleCambioProductoList1()) {

      if (d.getCambio().getVenta().getFechaVenta().equals(fecha_inicio)
          || d.getCambio().getVenta().getFechaVenta().equals(fecha_fin)
          || (d.getCambio().getVenta().getFechaVenta().after(fecha_inicio)
              && d.getCambio().getVenta().getFechaVenta().before(fecha_fin))) {
        if (d.getCambio()
            .getVenta()
            .getTienda()
            .getNombreTienda()
            .equals(tienda.getNombreTienda())) {
          if (lista_detalles_cambios.contains(d) == false) {
            lista_detalles_cambios.add(d);
          }
          // Aqui total de prendas que entraron
          // total_ventas = total_ventas + d.getCantidad();
        }
      } else {
        if (d.getCambio().getVenta().getFechaVenta().before(fecha_inicio)
            && d.getCambio()
                .getVenta()
                .getTienda()
                .getNombreTienda()
                .equals(tienda.getNombreTienda())) {
          // AQUI es donde se pone los cambios anteiores , esto es importante, el void de abajo no
          // se usa nunca
          //      total_ventas_anterior = total_ventas_anterior + 1;  //d.getCantidad(); se supone
          // que la cantidad es 1
          if (lista_detalles_cambios_antes.contains(d) == false) {
            lista_detalles_cambios_antes.add(d);
          }
        }
      }
    }

    // lista_salidas = salidaProductoTiendaFacade.findAll();

  }