]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Проверка на готовность к 1с
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 28 Apr 2025 09:49:49 +0000 (12:49 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 28 Apr 2025 09:49:49 +0000 (12:49 +0300)
erp24/services/MarketplaceService.php

index 70cd30224b3cc1403ceb3db55a0b918c79ab9b4d..713656143cdb7ba70c6959aaa62e5299718132ba 100644 (file)
@@ -1072,9 +1072,23 @@ class MarketplaceService
                                 }
                             }
                             $shipments = $delivery->getShipments();
+                            Yii::error(
+                                'сроки доставки: ' . json_encode(
+                                    $shipments,
+                                    JSON_UNESCAPED_UNICODE
+                                )
+                            );
                             if ($shipments) {
-                                $deliveryDateTo = $shipments->getShipmentDate();
-                                $deliveryTimeTo = $shipments->getShipmentTime();
+                                foreach ($shipments as $shipment) {
+                                    Yii::error(
+                                        'срок доставки: ' . json_encode(
+                                            $shipment,
+                                            JSON_UNESCAPED_UNICODE
+                                        )
+                                    );
+                                }
+                                $deliveryDateTo = ($shipments[0])->getShipmentDate();
+                                $deliveryTimeTo = ($shipments[0])->getShipmentTime();
                                 if ($deliveryDateTo && $deliveryTimeTo) {
                                     $datetimeString = $deliveryDateTo . ' ' . $deliveryTimeTo;
                                     $marketplaceOrder->delivery_to = date('Y-m-d H:i:s', strtotime($datetimeString));
@@ -1149,6 +1163,8 @@ class MarketplaceService
                                 }
                             }
                         }
+                    // проверяем и устанавливаем ready_to = 1
+                    self::setReadyMarketplaceOrders($marketplaceOrder);
                     } else {
                         Yii::error(
                             'Ошибка сохранения заказа: ' . json_encode(
@@ -2292,4 +2308,45 @@ class MarketplaceService
     }
 
 
+    public static function setReadyMarketplaceOrders($order): void
+    {
+        /* @var MarketplaceOrders $order */
+        $isReady = true;
+
+        if (empty($order->marketplace_order_id)) {
+            $isReady = false;
+        }
+
+        if (empty($order->marketplace_id)) {
+            $isReady = false;
+        }
+
+        if (empty($order->guid)) {
+            $isReady = false;
+        }
+
+        if (empty($order->order_link)) {
+            $isReady = false;
+        }
+
+        if (empty($order->items) || !is_array($order->items) || count($order->items) == 0) {
+            $isReady = false;
+        }
+
+        if (empty($order->delivery_to)) {
+            $isReady = false;
+        }
+
+        if ($isReady) {
+            $order->readyto_1c = 1;
+            if (!$order->save()) {
+                Yii::error('Ошибка установки readyto_1c для заказа ID ' . $order->id . ': ' . json_encode($order->getErrors(), JSON_UNESCAPED_UNICODE));
+            } else {
+                Yii::info('Заказ ID ' . $order->id . ' подготовлен к отправке в 1С.');
+            }
+        }
+
+    }
+
+
 }