public static function getOrdersSlipProducts($orderSlipId, $order) { $cart_rules = $order->getCartRules(true); $productsRet = OrderSlip::getOrdersSlipDetail($orderSlipId); $order_details = $order->getProductsDetail(); $slip_quantity = array(); foreach ($productsRet as $slip_detail) { $slip_quantity[$slip_detail['id_order_detail']] = $slip_detail['product_quantity']; } $products = array(); foreach ($order_details as $key => $product) { if (isset($slip_quantity[$product['id_order_detail']])) { $products[$key] = $product; $products[$key]['product_quantity'] = $slip_quantity[$product['id_order_detail']]; if (count($cart_rules)) { $order->setProductPrices($product); $realProductPrice = $products[$key]['product_price']; // Todo : must be updated to use the cart rules foreach ($cart_rules as $cart_rule) { if ($cart_rule['reduction_percent']) { $products[$key]['product_price'] -= $realProductPrice * ($cart_rule['reduction_percent'] / 100); } elseif ($cart_rule['reduction_amount']) { $products[$key]['product_price'] -= $cart_rule['reduction_amount'] * ($product['product_price_wt'] / $order->total_products_wt) / (1.0 + $product['tax_rate'] / 100); } } } } } return $order->getProducts($products); }
public static function getOrdersSlipProducts($orderSlipId, $order) { $cart_rules = $order->getCartRules(true); $productsRet = OrderSlip::getOrdersSlipDetail($orderSlipId); $order_details = $order->getProductsDetail(); $slip_quantity = array(); foreach ($productsRet as $slip_detail) { $slip_quantity[$slip_detail['id_order_detail']] = $slip_detail['product_quantity']; } $products = array(); foreach ($order_details as $key => $product) { if (isset($slip_quantity[$product['id_order_detail']])) { $products[$key] = $product; $products[$key]['product_quantity'] = $slip_quantity[$product['id_order_detail']]; } } return $order->getProducts($products); }