From a0859845017492cd791947f3058a39c7188240df Mon Sep 17 00:00:00 2001 From: fomichev Date: Thu, 19 Jun 2025 15:08:25 +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=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80=D0=BD?= =?utf8?q?=D0=BE=D0=B5=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?utf8?q?=20=D1=87=D0=B5=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../controllers/NotificationController.php | 79 ++++++++++++------- 1 file changed, 49 insertions(+), 30 deletions(-) diff --git a/erp24/media/controllers/NotificationController.php b/erp24/media/controllers/NotificationController.php index 06cdd385..1b789e7c 100644 --- a/erp24/media/controllers/NotificationController.php +++ b/erp24/media/controllers/NotificationController.php @@ -213,37 +213,56 @@ class NotificationController extends Controller /* @var $marketplaceOrder MarketplaceOrders */ if ($newStatusCode == 'DELIVERED' && $newSubstatusCode == 'DELIVERY_SERVICE_DELIVERED' && $marketplaceOrder) { - $createChecks = new CreateChecks; - $createChecks->order_guid = ''; - $createChecks->marketplace_order_id = $marketplaceOrder->marketplace_order_id; - $eit = ExportImportTable::find()->select(['export_val'])->where(['entity' => 'city_store', 'export_id' => 1, 'entity_id' => $marketplaceOrder->store_id])->one(); - $createChecks->store_id = $eit->export_val ?? ''; - $createChecks->date_up = $marketplaceOrder->delivery_to; - $createChecks->check_id = DataHelper::createGuidMy('02'); - $createChecks->guid = $createChecks->check_id; - $createChecks->type = 'Продажа'; - $items = []; - foreach ($marketplaceOrder->items as $item) { - /* @var $item MarketplaceOrderItems */ - $productsId = Products1c::find()->select(['id'])->where(['articule' => $item->offer_id])->one(); - $items [] = [ - 'product_id' => $productsId->id ?? '', - 'quantity' => $item->count, - 'seller_id' => '', - 'marketplace_order_id' => $marketplaceOrder->marketplace_order_id, - ]; - } - $createChecks->items = Json::encode($items); - $createChecks->payments = ''; - $createChecks->held = 1; - $createChecks->comments = ''; - $createChecks->date = date('Y-m-d H:i:s'); - $createChecks->is_marketplace = 1; - $createChecks->marketplace_name = $marketplaceOrder->marketplace_name; - $createChecks->save(); - if ($createChecks->getErrors()) { - Yii::warning("ORDER_ID_: " . Json::encode($createChecks->getErrors())); + $existingCheck = CreateChecks::find() + ->where(['marketplace_order_id' => $marketplaceOrder->marketplace_order_id]) + ->exists(); + + if (!$existingCheck) { + $createChecks = new CreateChecks; + $createChecks->order_guid = ''; + $createChecks->marketplace_order_id = $marketplaceOrder->marketplace_order_id; + + $eit = ExportImportTable::find() + ->select(['export_val']) + ->where([ + 'entity' => 'city_store', + 'export_id' => 1, + 'entity_id' => $marketplaceOrder->store_id + ]) + ->one(); + $createChecks->store_id = $eit->export_val ?? ''; + $createChecks->date_up = $marketplaceOrder->delivery_to; + $createChecks->check_id = DataHelper::createGuidMy('02'); + $createChecks->guid = $createChecks->check_id; + $createChecks->type = 'Продажа'; + $items = []; + foreach ($marketplaceOrder->items as $item) { + /* @var $item MarketplaceOrderItems */ + $productsId = Products1c::find() + ->select(['id']) + ->where(['articule' => $item->offer_id]) + ->one(); + + $items[] = [ + 'product_id' => $productsId->id ?? '', + 'quantity' => $item->count, + 'seller_id' => '', + 'marketplace_order_id' => $marketplaceOrder->marketplace_order_id, + ]; + } + + $createChecks->items = Json::encode($items); + $createChecks->payments = ''; + $createChecks->held = 1; + $createChecks->comments = ''; + $createChecks->date = date('Y-m-d H:i:s'); + $createChecks->is_marketplace = 1; + $createChecks->marketplace_name = $marketplaceOrder->marketplace_name; + + if (!$createChecks->save()) { + Yii::warning("ORDER_ID_: " . Json::encode($createChecks->getErrors())); + } } } -- 2.39.5