From: Vladimir Fomichev Date: Mon, 13 Oct 2025 14:22:16 +0000 (+0300) Subject: Статусы доставки X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=f3966db501b5942242566606e391ad23e9c96363;p=erp24_rep%2Fyii-erp24%2F.git Статусы доставки --- 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) {