From 535070c6bfa4b59009fed96b00aff3968e8f1f64 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Tue, 29 Apr 2025 10:02:57 +0300 Subject: [PATCH] new fields --- .../controllers/NotificationController.php | 25 +++++++++-- ...lumn_order_guid_to_table_create_checks.php | 3 +- ...etplace_order_id_to_table_create_check.php | 41 +++++++++++++++++++ erp24/services/MarketplaceService.php | 22 ++++++++-- 4 files changed, 81 insertions(+), 10 deletions(-) create mode 100755 erp24/migrations/m250428_114148_add_column_marketplace_order_id_to_table_create_check.php diff --git a/erp24/media/controllers/NotificationController.php b/erp24/media/controllers/NotificationController.php index 92767808..20b1152e 100644 --- a/erp24/media/controllers/NotificationController.php +++ b/erp24/media/controllers/NotificationController.php @@ -11,15 +11,19 @@ use yii\rest\Controller; use yii\web\BadRequestHttpException; use yii\web\NotFoundHttpException; use yii_app\api3\core\exceptions\ErrorException; +use yii_app\helpers\DataHelper; use yii_app\helpers\File; use yii_app\helpers\ImageHelper; use yii_app\records\CreateChecks; +use yii_app\records\ExportImportTable; use yii_app\records\Files; use yii_app\records\Images; use yii_app\records\MarketplaceOrderDelivery; +use yii_app\records\MarketplaceOrderItems; use yii_app\records\MarketplaceOrders; use yii_app\records\MatrixErp; use yii_app\records\MatrixErpProperty; +use yii_app\records\Products1c; use yii_app\services\FileService; use yii_app\services\MarketplaceService; @@ -209,13 +213,26 @@ class NotificationController extends Controller /* @var $marketplaceOrder MarketplaceOrders */ if ($newStatusCode == 'DELIVERED' && $newSubstatusCode == 'DELIVERY_SERVICE_DELIVERED' && $marketplaceOrder) { $createChecks = new CreateChecks; - $createChecks->order_id = $marketplaceOrder->marketplace_order_id; $createChecks->order_guid = $marketplaceOrder->guid; - $marketplaceOrderDelivery = MarketplaceOrderDelivery::findOne(['order_id' => $marketplaceOrder->id]); - if ($marketplaceOrderDelivery) { - $createChecks->date = $marketplaceOrderDelivery->delivery_start; + $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 = $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); } if (!$marketplaceOrder) { diff --git a/erp24/migrations/m250422_130953_add_column_order_guid_to_table_create_checks.php b/erp24/migrations/m250422_130953_add_column_order_guid_to_table_create_checks.php index 71001444..6a4c642c 100755 --- a/erp24/migrations/m250422_130953_add_column_order_guid_to_table_create_checks.php +++ b/erp24/migrations/m250422_130953_add_column_order_guid_to_table_create_checks.php @@ -25,7 +25,6 @@ class m250422_130953_add_column_order_guid_to_table_create_checks extends Migrat $this->string(36)->null()->comment('GUID заказа в МП') ); } - } /** @@ -34,7 +33,7 @@ class m250422_130953_add_column_order_guid_to_table_create_checks extends Migrat public function safeDown() { if ($this->db->schema->getTableSchema(self::TABLE_NAME, true)->getColumn('order_guid')) { - $this->dropColumn(self::TABLE_NAME, 'order_guid '); + $this->dropColumn(self::TABLE_NAME, 'order_guid'); } } } diff --git a/erp24/migrations/m250428_114148_add_column_marketplace_order_id_to_table_create_check.php b/erp24/migrations/m250428_114148_add_column_marketplace_order_id_to_table_create_check.php new file mode 100755 index 00000000..fc545d3d --- /dev/null +++ b/erp24/migrations/m250428_114148_add_column_marketplace_order_id_to_table_create_check.php @@ -0,0 +1,41 @@ +db->schema->getTableSchema(self::TABLE_NAME); + if ($table === null) { + return; + } + if (!$this->db->schema->getTableSchema(self::TABLE_NAME, true)->getColumn('marketplace_order_id')) { + $this->addColumn( + self::TABLE_NAME, + 'marketplace_order_id', + $this->string(36)->null()->comment('') + ); + } + + $this->alterColumn(self::TABLE_NAME, 'kkm_id', $this->string(36)->null()->comment('kkm_id')); + $this->alterColumn(self::TABLE_NAME, 'seller_id', $this->string(36)->null()->comment('seller_id')); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + if ($this->db->schema->getTableSchema(self::TABLE_NAME, true)->getColumn('marketplace_order_id')) { + $this->dropColumn(self::TABLE_NAME, 'marketplace_order_id'); + } + } +} diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index d9c5ff69..e4e438e5 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -17,6 +17,7 @@ use yii_app\helpers\DataHelper; use yii_app\helpers\File; use yii_app\records\Balances; use yii_app\records\CreateChecks; +use yii_app\records\ExportImportTable; use yii_app\records\Images; use yii_app\records\MarketplaceFlowwowEmails; use yii_app\records\MarketplaceOrder1cStatuses; @@ -1717,13 +1718,26 @@ class MarketplaceService ->one(); /* @var $marketplaceOrder MarketplaceOrders */ $createChecks = new CreateChecks; - $createChecks->order_id = $marketplaceOrder->marketplace_order_id; $createChecks->order_guid = $marketplaceOrder->guid; - $marketplaceOrderDelivery = MarketplaceOrderDelivery::findOne(['order_id' => $marketplaceOrder->id]); - if ($marketplaceOrderDelivery) { - $createChecks->date = $marketplaceOrderDelivery->delivery_start; + $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 = $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); } } } -- 2.39.5