Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/ipol.sdek/classes/lib/Bitrix/Handler/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/ipol.sdek/classes/lib/Bitrix/Handler/goodsPicker.php

<?php
namespace Ipolh\SDEK\Bitrix\Handler;

use Ipolh\SDEK\Bitrix\Tools;

class goodsPicker
{
    /**
     * Add marking codes to basket goods data
     * @param array $arGoods array of basket goods
     * @param int $orderId Bitrix order id
     */
    public static function addGoodsQRs(&$arGoods, $bitrixId)
    {
        if (Tools::isConverted()) {
            $isMarkingAvailable = method_exists('\\Bitrix\\Sale\\ShipmentItemStore', 'getMarkingCode');
            $order = \Bitrix\Sale\Order::load($bitrixId);

            $shipments = $order->getShipmentCollection();
            foreach ($shipments as $shipment) {
                $items = $shipment->getShipmentItemCollection();
                foreach ($items as $item) {
                    /** @var \Bitrix\Sale\BasketItem $basketItem */
                    $basketItem = $item->getBasketItem();
                    $stores     = $item->getShipmentItemStoreCollection();
                    foreach ($stores as $store) {
                        /** @var \Bitrix\Sale\ShipmentItemStore $store */
                        $mark = ($isMarkingAvailable) ? $store->getMarkingCode() : '';

                        foreach ($arGoods as $key => $stuff) {
                            if ((int)$arGoods[$key]['PRODUCT_ID'] === $basketItem->getProductId()) {
                                if (!array_key_exists('QR', $arGoods[$key])) {
                                    $arGoods[$key]['QR'] = array();
                                }
                                $arGoods[$key]['QR'] [] = $mark;
                            }
                        }
                    }
                }
            }
        }
    }
}