]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-372] артикул и команда
authorAlexander Smirnov <fredeom@mail.ru>
Wed, 19 Mar 2025 13:55:37 +0000 (16:55 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Wed, 19 Mar 2025 13:55:37 +0000 (16:55 +0300)
erp24/commands/CronController.php
erp24/migrations/m250314_114026_create_table_marketplace_order_1c_statuses.php
erp24/records/MarketplaceOrder1cStatuses.php

index 2721cf009ac75cefe94de5a3a21c89b7b53df0d9..11ae761ace83279ddb7c02940001bc16db9876b9 100644 (file)
@@ -12,8 +12,10 @@ use yii\console\Controller;
 use yii\console\ExitCode;
 use yii\db\Expression;
 use yii\helpers\BaseConsole;
+use yii\helpers\Json;
 use yii_app\helpers\ClientHelper;
 use yii_app\records\BonusLevels;
+use yii_app\records\MarketplaceOrder1cStatuses;
 use yii_app\records\Sales;
 use yii_app\records\SentKogort;
 use yii_app\records\Users;
@@ -63,6 +65,38 @@ class CronController extends Controller
         return 'ok';
     }
 
+    //cron/marketplace-order-one-c-statuses
+    public function actionMarketplaceOrderOneCStatuses() {
+        $req_id = time();
+
+        $marketplaces = [1 => "ФлауВау", 2 => "ЯндексМаркет"];
+        $data = [];
+        foreach ($marketplaces as $marketplaceId => $marketplaceName) {
+            $statuses = MarketplaceOrder1cStatuses::find()->where(['marketplace_id' => $marketplaceId])
+                ->orderBy(['posit' => SORT_ASC])->all();
+            $statusesData = [];
+            foreach ($statuses as $status) {
+                /* @var $status MarketplaceOrder1cStatuses */
+                $statusesData []= [
+                    'status_name' => $status->status,
+                    'hint' => $status->status_instruction,
+                    'status_id' => $status->status_id,
+                ];
+            }
+            $data []= [
+                'id' => $marketplaceId,
+                'name' => $marketplaceName,
+                'statuses' => $statusesData
+            ];
+        }
+
+        $json_post = '{"request_id": "' . $req_id . '", "create_marketplaces":' . Json::encode($data) . '}';
+
+        $this->setApiCron($req_id, $json_post);
+
+        return 'ok';
+    }
+
     //cron/one-c-check-one-day
     public function actionOneCCheckOneDay() {
         $req_id=time();
index 72c3e9c0ac9de1cb7a5d4acd34d14f7d4c0819c9..77c05123db5944a0c1e581ce6a03c15a3a41316b 100755 (executable)
@@ -19,26 +19,27 @@ class m250314_114026_create_table_marketplace_order_1c_statuses extends Migratio
             $this->createTable(self::TABLE_NAME, [
                 'id' => $this->primaryKey(),
                 'marketplace_id' => $this->integer()->notNull()->comment('Маркетплейс'),
+                'status_id' => $this->string(100)->notNull()->comment('артикул'),
                 'status' => $this->string(100)->notNull()->comment('Статус'),
                 'status_instruction' => $this->text()->notNull()->comment('Инструкция к статусу'),
                 'posit' => $this->integer()->notNull()->defaultValue(0)->comment('Порядок статусов'),
             ]);
 
-            $this->batchInsert(self::TABLE_NAME, ['marketplace_id', 'status', 'status_instruction', 'posit'], [
-                [1, 'Новый',            'Задайте конкретные цели и KPI', 1],
-                [1, 'Правки флориста',  'Примените аналитические инструменты Ai Wiz для исследования данных и выявления трендов', 2],
-                [1, 'В работе',         'Разработайте гайд, используя шаблон', 3],
-                [1, 'Собрано',          'Включите автоматизацию для мониторинга выполнения задач и корректировки стратегии в реальном времени', 4],
-                [1, 'Передано курьеру', 'Включите и настройте Ai Wiz для вашей конкретной задачи', 5],
-                [1, 'Успех',            'Пользуйтесь рекомендациями нейросети для оптимизации ваших процессов', 6],
-                [1, 'Отказ',            'Используйте анализ данных для принятия обоснованных решений и адаптации стратегии', 7],
-                [2, 'Новый',            'Задайте конкретные цели и KPI', 7 + 1],
-                [2, 'Правки флориста',  'Примените аналитические инструменты Ai Wiz для исследования данных и выявления трендов', 7 + 2],
-                [2, 'В работе',         'Разработайте гайд, используя шаблон', 7 + 3],
-                [2, 'Собрано',          'Включите автоматизацию для мониторинга выполнения задач и корректировки стратегии в реальном времени', 7 + 4],
-                [2, 'Передано курьеру', 'Включите и настройте Ai Wiz для вашей конкретной задачи', 7 + 5],
-                [2, 'Успех',            'Пользуйтесь рекомендациями нейросети для оптимизации ваших процессов', 7 + 6],
-                [2, 'Отказ',            'Используйте анализ данных для принятия обоснованных решений и адаптации стратегии', 7 + 7],
+            $this->batchInsert(self::TABLE_NAME, ['marketplace_id', 'status_id', 'status', 'status_instruction', 'posit'], [
+                [1, '1000', 'Новый',            'Задайте конкретные цели и KPI', 1],
+                [1, '1001', 'Правки флориста',  'Примените аналитические инструменты Ai Wiz для исследования данных и выявления трендов', 2],
+                [1, '1002', 'В работе',         'Разработайте гайд, используя шаблон', 3],
+                [1, '1003', 'Собрано',          'Включите автоматизацию для мониторинга выполнения задач и корректировки стратегии в реальном времени', 4],
+                [1, '1004', 'Передано курьеру', 'Включите и настройте Ai Wiz для вашей конкретной задачи', 5],
+                [1, '1005', 'Успех',            'Пользуйтесь рекомендациями нейросети для оптимизации ваших процессов', 6],
+                [1, '1006', 'Отказ',            'Используйте анализ данных для принятия обоснованных решений и адаптации стратегии', 7],
+                [2, '1007', 'Новый',            'Задайте конкретные цели и KPI', 7 + 1],
+                [2, '1008', 'Правки флориста',  'Примените аналитические инструменты Ai Wiz для исследования данных и выявления трендов', 7 + 2],
+                [2, '1009', 'В работе',         'Разработайте гайд, используя шаблон', 7 + 3],
+                [2, '1010', 'Собрано',          'Включите автоматизацию для мониторинга выполнения задач и корректировки стратегии в реальном времени', 7 + 4],
+                [2, '1011', 'Передано курьеру', 'Включите и настройте Ai Wiz для вашей конкретной задачи', 7 + 5],
+                [2, '1012', 'Успех',            'Пользуйтесь рекомендациями нейросети для оптимизации ваших процессов', 7 + 6],
+                [2, '1013', 'Отказ',            'Используйте анализ данных для принятия обоснованных решений и адаптации стратегии', 7 + 7],
             ]);
         }
     }
index d2289507bf46cf6530527c64999b19f63e2907e4..055f2ba5a11bcc24ed3d9a575b4e53cd89762fe5 100644 (file)
@@ -9,6 +9,7 @@ use Yii;
  *
  * @property int $id
  * @property int $marketplace_id Маркетплейс
+ * @property string $status_id артикул
  * @property string $status Статус
  * @property string $status_instruction Инструкция к статусу
  * @property int $posit Порядок статусов
@@ -29,12 +30,12 @@ class MarketplaceOrder1cStatuses extends \yii\db\ActiveRecord
     public function rules()
     {
         return [
-            [['marketplace_id', 'status', 'status_instruction'], 'required'],
+            [['marketplace_id', 'status_id', 'status', 'status_instruction'], 'required'],
             [['marketplace_id'], 'default', 'value' => null],
             [['posit'], 'default', 'value' => 0],
             [['marketplace_id', 'posit'], 'integer'],
-            [['status_instruction'], 'string'],
-            [['status'], 'string', 'max' => 100],
+            [['status_instruction', 'status_id'], 'string'],
+            [['status_id', 'status'], 'string', 'max' => 100],
         ];
     }
 
@@ -46,6 +47,7 @@ class MarketplaceOrder1cStatuses extends \yii\db\ActiveRecord
         return [
             'id' => 'ID',
             'marketplace_id' => 'Маркетплейс ID',
+            'status_id' => 'артикул',
             'status' => 'Статус',
             'status_instruction' => 'Инструкция к статусу',
             'posit' => 'Порядок статусов',