Estoy creando una integración de UPS en mi aplicación que permitirá a los usuarios configurar y guardar las cajas de envío que tienen en stock, incluida la longitud, el ancho y la altura de la caja en pulgadas. Cada producto que venda el usuario ahora también tendrá su propio largo, ancho y alto.
Cuando un cliente hace un pedido, necesito tomar todos los productos del carrito junto con sus dimensiones y determinar el tamaño de caja más eficiente (el más pequeño posible) para usar en la lista de cajas disponibles.
Encontré este enlace: https://www.pluginhive.com/knowledge-base/box-packing-calculation-shipping-rates-based-weights-dimensions-2 e intenté seguir la lógica, pero parece defectuoso. Dice recorrer los productos y encontrar el que tiene la mayor longitud y hacer lo mismo con el que tiene el mayor ancho y luego sumar la altura de todos los productos para obtener las dimensiones finales.
Ejemplo (LxWxH) El producto 1 es (5x4x2) El producto 2 ix (3x7x3) El producto 3 es (4x6x4)
Las dimensiones finales serían 5x7x9. Luego encontraría la caja más pequeña de las cajas disponibles que sea al menos tan grande como las 3 dimensiones. Pero esto me molesta ya que el usuario puede apilar su producto de diferentes maneras. Pueden voltear el producto de lado y apilarlos uno al lado del otro, por lo que no tendría sentido sumar el total de todas las alturas. ¿Simplemente repetiría el método anterior para las 3 posibilidades? Es decir, primero obtenga la longitud máxima, el ancho máximo y la altura total e intente encontrar la mejor caja, luego obtenga la longitud máxima, la altura máxima y el ancho total e intente encontrar la mejor caja, y luego obtenga la altura máxima, la anchura máxima y el total longitud y tratar de multar la mejor caja?
Alternativamente, imprima como un envío de varias piezas. una caja por producto pero puede ahorrar costos de envío en envíos internacionales