From e56ec3e19a966cb28120d40030bf3296e7d2580c Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Tue, 12 Aug 2025 17:23:49 +0300 Subject: [PATCH] =?utf8?q?=D0=92=D1=8B=D0=B2=D0=BE=D0=B4=20=D1=81=D1=82?= =?utf8?q?=D0=B0=D1=82=D1=83=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/api2/controllers/OrdersController.php | 24 +++++++++++++++---- erp24/records/MarketplaceOrderStatusTypes.php | 4 ++-- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/erp24/api2/controllers/OrdersController.php b/erp24/api2/controllers/OrdersController.php index 8d189a0b..8a23af07 100644 --- a/erp24/api2/controllers/OrdersController.php +++ b/erp24/api2/controllers/OrdersController.php @@ -58,6 +58,22 @@ class OrdersController extends BaseController ->indexBy('code') ->asArray() ->all(); + $cancelledStatusId = $statuses[MarketplaceOrderStatusTypes::CANSELLED_CODE]['id']; + $readyStatusId = $statuses[MarketplaceOrderStatusTypes::READY_CODE]['id']; + $statuses1cWithCancelledId = ArrayHelper::getColumn(MarketplaceOrder1cStatuses::find() + ->select(['status_id']) + ->where(['order_status_id' => $cancelledStatusId]) + ->asArray() + ->all(), 'status_id'); + $statuses1cToChangeYandexMarketFakeOrderId = ArrayHelper::getColumn(MarketplaceOrder1cStatuses::find() + ->select(['status_id']) + ->where(['order_status_id' => $cancelledStatusId]) + ->orWhere(['order_substatus_id' => $readyStatusId]) + ->andWhere(['marketplace_id' => 2]) + ->asArray() + ->all(), 'status_id'); + + $statuses = ArrayHelper::map($statuses, 'code', 'id'); $statusCodes = array_unique(array_keys($statuses)); @@ -121,7 +137,7 @@ class OrdersController extends BaseController $substatus = $statusId1C->orderStatus; if ( - in_array($statusId1C->status_id, ['1013', '1010']) && + in_array($statusId1C->status_id, $statuses1cToChangeYandexMarketFakeOrderId) && $order->marketplace_id == 2 ) { if (!$debug) { @@ -164,9 +180,9 @@ class OrdersController extends BaseController if($orderSellerId) { $order->seller_id = $orderSellerId; } - if (in_array($statusId1C->status_id, ['1013', '1006'])) { - $marketplaceOrder->cancelled_order_source = '1c'; - $marketplaceOrder->cancelled_order_date = date('Y-m-d H:m:s'); + if (in_array($statusId1C->status_id, $statuses1cWithCancelledId)) { + $order->cancelled_order_source = '1c'; + $order->cancelled_order_date = date('Y-m-d H:m:s'); } $order->status_processing_1c = $statusId1C->id; diff --git a/erp24/records/MarketplaceOrderStatusTypes.php b/erp24/records/MarketplaceOrderStatusTypes.php index 95064542..63a2b84d 100644 --- a/erp24/records/MarketplaceOrderStatusTypes.php +++ b/erp24/records/MarketplaceOrderStatusTypes.php @@ -14,8 +14,8 @@ use Yii; */ class MarketplaceOrderStatusTypes extends \yii\db\ActiveRecord { - - + const CANSELLED_CODE = 'CANCELLED'; + const READY_CODE = 'READY_TO_SHIP'; /** * {@inheritdoc} */ -- 2.39.5