From f3966db501b5942242566606e391ad23e9c96363 Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Mon, 13 Oct 2025 17:22:16 +0300 Subject: [PATCH] =?utf8?q?=D0=A1=D1=82=D0=B0=D1=82=D1=83=D1=81=D1=8B=20?= =?utf8?q?=D0=B4=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/api2/controllers/OrdersController.php | 1 - erp24/services/MarketplaceService.php | 23 ++++++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/erp24/api2/controllers/OrdersController.php b/erp24/api2/controllers/OrdersController.php index 355673b3..9eca784d 100644 --- a/erp24/api2/controllers/OrdersController.php +++ b/erp24/api2/controllers/OrdersController.php @@ -237,7 +237,6 @@ class OrdersController extends BaseController $storeId = $storesGuidId[$storeGuid]; $currentTime = new \DateTime(); - $currentTime = new \DateTime(); $startTime = (clone $currentTime)->modify('-24 hours'); $orders = MarketplaceOrders::find() diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index 97563ffd..f560c22d 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -1381,9 +1381,19 @@ class MarketplaceService if ($marketplaceOrder->status->code == 'DELIVERED' && $marketplaceOrder->substatus->code == 'DELIVERY_SERVICE_DELIVERED' && $marketplaceOrder) { + $deliveredStatusId = $statuses['DELIVERED']; + $status1cWithDeliveredId = ArrayHelper::getColumn(MarketplaceOrder1cStatuses::find() + ->where(['order_status_id' => $deliveredStatusId]) + ->andWhere(['marketplace_id' => 1]) + ->asArray() + ->all(), 'id')[0] ?? null; + $marketplaceOrder->status_processing_1c = $status1cWithDeliveredId; + if(!$marketplaceOrder->save()) { + Yii::error('Не удалось обновить заказ' . json_encode($marketplaceOrder->getErrors(), JSON_UNESCAPED_UNICODE)); + } /* @var $marketplaceOrder MarketplaceOrders */ $isCheckCreated = MarketplaceService::createCheckForMarketplaceOrder($marketplaceOrder); - //$marketplaceOrder->status_processing_1c = + } // Обновление существующего заказа, если данные изменились if ($newRawData !== $marketplaceOrder->raw_data && $marketplaceOrder->guid != null) { @@ -2008,6 +2018,11 @@ class MarketplaceService ->andWhere(['marketplace_id' => 1]) ->asArray() ->all(), 'id')[0] ?? null; + $status1cWithDeliveredId = ArrayHelper::getColumn(MarketplaceOrder1cStatuses::find() + ->where(['order_status_id' => $deliveredStatusId]) + ->andWhere(['marketplace_id' => 1]) + ->asArray() + ->all(), 'id')[0] ?? null; $order = self::getOrdersDataFromMessage($message); if ($message['subject_index'] == self::SUBJECT_INDEX[self::SUBJECT_NEW]) { @@ -2033,8 +2048,10 @@ class MarketplaceService if ($statusCode == 'DELIVERED' && $substatusCode == 'DELIVERY_SERVICE_DELIVERED' && $marketplaceOrder) { Yii::error('Заказ доставлен ' . $marketplaceOrder->marketplace_order_id); /* @var $marketplaceOrder MarketplaceOrders */ - $marketplaceOrder->status_processing_1c = 'delivered'; - $marketplaceOrder->save(); + $marketplaceOrder->status_processing_1c = $status1cWithDeliveredId; + if(!$marketplaceOrder->save()) { + Yii::error('Не удалось обновить заказ' . json_encode($marketplaceOrder->getErrors(), JSON_UNESCAPED_UNICODE)); + } $isCheckCreated = self::createCheckForMarketplaceOrder($marketplaceOrder); } if ($statusCode == MarketplaceOrderStatusTypes::CANSELLED_CODE && $substatusCode == 'USER_CHANGED_MIND' && $marketplaceOrder) { -- 2.39.5