我想获得以Magento订单发货的商品数量。例如,一个人订购10件物品。 4已发货。在这种情况下,我想获得4号,然后与第二批货物中的其余6件物品结合使用。检查4 + 6是否等于物品总数10,如果第二批运输批次全部运出6,则将订单状态更改为完成。如果没有,请更改为“部分装运”。
答案 0 :(得分:4)
$order = Mage::getModel('sales/order')->load($orderId);
$total_ordered_items = $order->getData('total_qty_ordered');
$num_of_shipped_items = 0;
foreach ($order->getAllVisibleItems() as $item){
//$item->getQtyOrdered() // Number of item ordered
$num_of_shipped_items += $item->getQtyShipped();
//$item->getQtyInvoiced()
}
if($num_of_shipped_items == $total_ordered_items){
// set status to complete
}
else{
// Partial
}