From da67a985cf5bfa8040c379c8c32ae683adab07ad Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Wed, 19 Mar 2025 16:55:37 +0300 Subject: [PATCH] =?utf8?q?[ERP-372]=20=D0=B0=D1=80=D1=82=D0=B8=D0=BA=D1=83?= =?utf8?q?=D0=BB=20=D0=B8=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/commands/CronController.php | 34 +++++++++++++++++++ ...te_table_marketplace_order_1c_statuses.php | 31 +++++++++-------- erp24/records/MarketplaceOrder1cStatuses.php | 8 +++-- 3 files changed, 55 insertions(+), 18 deletions(-) diff --git a/erp24/commands/CronController.php b/erp24/commands/CronController.php index 2721cf00..11ae761a 100644 --- a/erp24/commands/CronController.php +++ b/erp24/commands/CronController.php @@ -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(); diff --git a/erp24/migrations/m250314_114026_create_table_marketplace_order_1c_statuses.php b/erp24/migrations/m250314_114026_create_table_marketplace_order_1c_statuses.php index 72c3e9c0..77c05123 100755 --- a/erp24/migrations/m250314_114026_create_table_marketplace_order_1c_statuses.php +++ b/erp24/migrations/m250314_114026_create_table_marketplace_order_1c_statuses.php @@ -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], ]); } } diff --git a/erp24/records/MarketplaceOrder1cStatuses.php b/erp24/records/MarketplaceOrder1cStatuses.php index d2289507..055f2ba5 100644 --- a/erp24/records/MarketplaceOrder1cStatuses.php +++ b/erp24/records/MarketplaceOrder1cStatuses.php @@ -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' => 'Порядок статусов', -- 2.39.5