]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Исправление получения статусов
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 16 Jul 2025 13:18:58 +0000 (16:18 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 16 Jul 2025 13:18:58 +0000 (16:18 +0300)
erp24/api2/controllers/DataController.php
erp24/api2/controllers/OrdersController.php
erp24/records/MarketplaceOrders.php

index 6583675196bd121e75e8325d917f9be2d6e7d5f1..b5447e6f98517c33af28baeb1e617482447c4541 100644 (file)
@@ -2906,13 +2906,13 @@ class DataController extends BaseController
             }
 
             // Получаем статусы МП по статусу 1С
-            $orderStatus1CToCodes = MarketplaceOrders::getStatusCodes($statusId1C->status);
+            $orderStatus1CToCodes = MarketplaceOrders::getStatusCodes($statusId1C->status_id);
 
             $statusId = MarketplaceService::getOrCreateStatus($orderStatus1CToCodes[0], $statuses, $statusCodes);
             $substatusId = MarketplaceService::getOrCreateStatus($orderStatus1CToCodes[1], $statuses, $statusCodes);
 
             if (
-                in_array($statusId1C->status, ['Отказ', 'Собрано']) &&
+                in_array($statusId1C->status_id, ['1013', '1010']) &&
                 $marketplaceOrder->marketplace_id == 2
             ) {
                 if (!$debug) {
index cf5660488b93a726390c2f1ced2a8f7bcd913812..597102fd30a86eddd07438c4f02b08d0e5b9675c 100644 (file)
@@ -114,13 +114,13 @@ class OrdersController extends BaseController
             }
 
             // Получаем статусы МП по статусу 1С
-            $orderStatus1CToCodes = MarketplaceOrders::getStatusCodes($statusId1C->status);
+            $orderStatus1CToCodes = MarketplaceOrders::getStatusCodes($statusId1C->status_id);
 
             $statusId = MarketplaceService::getOrCreateStatus($orderStatus1CToCodes[0], $statuses, $statusCodes);
             $substatusId = MarketplaceService::getOrCreateStatus($orderStatus1CToCodes[1], $statuses, $statusCodes);
 
             if (
-                in_array($statusId1C->status, ['Отказ', 'Собрано']) &&
+                in_array($statusId1C->status_id, ['1013', '1010']) &&
                 $order->marketplace_id == 2
             ) {
                 if (!$debug) {
index fe74907741f07e73cf7cf871618befd42609b9e5..5452066bbac3a43d2460b666d3c777b443156324 100644 (file)
@@ -68,17 +68,6 @@ class MarketplaceOrders extends \yii\db\ActiveRecord
     public const PHOTO_TYPE = 'image';
     public const PHOTO_ORDER =  'marketplace_order/order_photo';
 
-
-    public const STATUSES_TO_CODE = [
-        'Новый' => ["PROCESSING", "STARTED"],
-        'Правки флориста' => ["PROCESSING", "STARTED"],
-        'В работе' => ["PROCESSING", "STARTED"],
-        'Собрано' => ["PROCESSING", "READY_TO_SHIP"],
-        'Передано курьеру' => ["DELIVERY", "COURIER_RECEIVED"],
-        'Успех' => ["DELIVERED", "DELIVERY_SERVICE_DELIVERED"],
-        'Отказ' => ["CANCELLED", "SHOP_FAILED"],
-    ];
-
     public function behaviors()
     {
         return [
@@ -201,7 +190,8 @@ class MarketplaceOrders extends \yii\db\ActiveRecord
 
     public static function getStatusCodes(string $status): array
     {
-        return self::STATUSES_TO_CODE[$status] ?? [];
+        $statusesArray = MarketplaceOrders::buildStatusesToCode();
+        return $statusesArray[$status] ?? [];
     }
 
     /**
@@ -240,4 +230,14 @@ class MarketplaceOrders extends \yii\db\ActiveRecord
         }
         return $result;
     }
+
+    public static function buildStatusesToCode(): array
+    {
+        return
+            array_fill_keys(['1000', '1001', '1002', '1007', '1008', '1009'], ['PROCESSING', 'STARTED']) +
+            array_fill_keys(['1003', '1010'], ['PROCESSING', 'READY_TO_SHIP']) +
+            array_fill_keys(['1004', '1011'], ['DELIVERY', 'COURIER_RECEIVED']) +
+            array_fill_keys(['1005', '1012'], ['DELIVERED', 'DELIVERY_SERVICE_DELIVERED']) +
+            array_fill_keys(['1006', '1013'], ['CANCELLED', 'SHOP_FAILED']);
+    }
 }