]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Статусы доставки
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 13 Oct 2025 14:22:16 +0000 (17:22 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 13 Oct 2025 14:22:16 +0000 (17:22 +0300)
erp24/api2/controllers/OrdersController.php
erp24/services/MarketplaceService.php

index 355673b3059cde119ba156d13f22b14b33670070..9eca784d379619d26e01a73452d50752ebd19530 100644 (file)
@@ -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()
index 97563ffd7e551006bc3b26ff7880cbeacd04dbf1..f560c22dd0aebaf6a6653fda0e16679cfcd50887 100644 (file)
@@ -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) {