From 1bbf3d10074f85eb8d127dcb0edb9abec3a3700b Mon Sep 17 00:00:00 2001 From: fomichev Date: Mon, 28 Apr 2025 12:49:49 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0?= =?utf8?q?=20=D0=BD=D0=B0=20=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=BD=D0=BE?= =?utf8?q?=D1=81=D1=82=D1=8C=20=D0=BA=201=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/services/MarketplaceService.php | 61 ++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index 70cd3022..71365614 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -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С.'); + } + } + + } + + } -- 2.39.5