From: fomichev Date: Thu, 19 Jun 2025 12:08:25 +0000 (+0300) Subject: Проверка на повторное создание чеков X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=a0859845017492cd791947f3058a39c7188240df;p=erp24_rep%2Fyii-erp24%2F.git Проверка на повторное создание чеков --- 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())); + } } }