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/sale/lib/exchange/ |
Upload File : |
<?php namespace Bitrix\Sale\Exchange; use Bitrix\Main\NotImplementedException; use Bitrix\Sale\Exchange\Entity\EntityImport; use Bitrix\Sale\Exchange\Entity\OrderImport; use Bitrix\Sale\Result; trait LoggerTrait { /** @var $rawData null */ protected $rawData; /** * @param null $rawData */ public function setRawData($rawData) { $this->rawData = $rawData; } /** * @return null */ public function getRawData() { return $this->rawData; } /** * @return string */ abstract public function getDirectionType(); /** * @param ImportBase[] $items * @return Result */ protected function loggerEntities(array $items) { $result = new Result(); foreach ($items as $item) { if($item->hasLogging()) { $logger = $item->getLogger(); $logger->setField('ENTITY_ID', $item->getId()); $logger->setField('ENTITY_TYPE_ID', $item->getOwnerTypeId()); $logger->setField('XML_ID', $item->getExternalId()); $logger->setField('DIRECTION', $this->getDirectionType()); $logger->save(); } } return $result; } /** * @param ImportBase[] $items * @param OrderImport $orderItem * @return Result */ protected function loggerEntitiesPackage(array $items, OrderImport $orderItem) { $xmlStreem = $this->getRawData(); foreach ($items as $item) { if($item->hasLogging()) { $logger = $item->getLogger(); if($item instanceof OrderImport) { $logger->setField('MESSAGE', $xmlStreem); $logger->setField('PARENT_ID', $orderItem->getId()); $logger->setField('MARKED', $item->isMarked()?'Y':'N'); $logger->setField('ENTITY_DATE_UPDATE', $item->getField('TRAITS')['DATE_UPDATE']); } else { if($item instanceof EntityImport) { $logger->setField('PARENT_ID', $item->getParentEntity()->getId()); $logger->setField('OWNER_ENTITY_ID', $orderItem->getId()); $logger->setField('MARKED', $item->isMarked()?'Y':'N'); } else { $logger->setField('PARENT_ID', $orderItem->getId()); } } } } return $this->loggerEntities($items); } }