Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/wbs24.ozonexport/lib/ |
Upload File : |
<?php namespace Wbs24\Ozonexport; class CommonWarehouse extends Warehouse { use PackagingRatio; public function __construct($param = []) { parent::__construct($param); $objects = $this->param['objects'] ?? []; $this->Formula = $objects['Formula'] ?? new Formula(); } public function getXml($product) { $availableQuantity = $product['QUANTITY'] ?? 0; $warehouseName = $this->param['warehouseDefaultName'] ?? false; $stock = $this->getStock($availableQuantity); $stock = $this->calculateStockWithFormula($stock); $stock = $this->getStockWithPackagingRatio($stock); $xml = '<outlets>' .'<outlet ' .'instock="'.$stock.'"' .($warehouseName ? ' warehouse_name="'.$warehouseName.'"' : '') .'></outlet>' .'</outlets>'."\n" ; return $xml; } public function getStock($availableQuantity) { $minStock = $this->param['minStock'] ?? 0; return $availableQuantity >= $minStock ? $availableQuantity : 0; } public function calculateStockWithFormula($stock) { if (!empty($this->param['formulaStock'])) { $formula = $this->param['formulaStock']; $marks = ['STOCK' => $stock]; $allowedMarks = array_keys($marks); $this->Formula->setMarks($allowedMarks); $this->Formula->setFormula($formula); $stock = $this->Formula->calc($marks); } return $stock; } }