]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Добавляем ключ отправки отмененного заказа
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 17 Jul 2025 14:38:53 +0000 (17:38 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 17 Jul 2025 14:38:53 +0000 (17:38 +0300)
erp24/api2/controllers/DataController.php
erp24/migrations/m250717_142552_add_cancelled_order_sent_field_to_marketplace_orders_table.php [new file with mode: 0644]
erp24/records/MarketplaceOrders.php
erp24/views/marketplace-orders/index.php
erp24/views/marketplace-orders/view.php

index d087bd2a73ffb3564b7d83c98baba59a318b1b45..5def553f8a138a295caba69390ad3be4f14d009f 100644 (file)
@@ -905,6 +905,7 @@ class DataController extends BaseController
             ->where([
                 'status_id' => $canceledStatusId
             ])
+            ->andWhere(['cancelled_order_sent' => MarketplaceOrders::STATUSES_1C_CANCELLED_ORDER_NOT_SENT_IN_1C])
             ->andWhere([
                 'between',
                 'creation_date',
@@ -917,7 +918,7 @@ class DataController extends BaseController
             /* @var MarketplaceOrders $marketplaceOrder */
                             $result[] = [
                     'order_id' => $marketplaceOrder->guid ];
-
+            $marketplaceOrder->cancelled_order_sent = MarketplaceOrders::STATUSES_1C_CANCELLED_ORDER_SENT_IN_1C;
         }
         return $result;
     }
diff --git a/erp24/migrations/m250717_142552_add_cancelled_order_sent_field_to_marketplace_orders_table.php b/erp24/migrations/m250717_142552_add_cancelled_order_sent_field_to_marketplace_orders_table.php
new file mode 100644 (file)
index 0000000..785fa37
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+
+use yii\db\Migration;
+
+class m250717_142552_add_cancelled_order_sent_field_to_marketplace_orders_table extends Migration
+{
+    const TABLE_NAME = 'erp24.marketplace_orders';
+    /**
+     * {@inheritdoc}
+     */
+    public function safeUp()
+    {
+        $table = $this->db->schema->getTableSchema(self::TABLE_NAME);
+        if ($table === null) {
+            return;
+        }
+
+        if (!$this->db->schema->getTableSchema(self::TABLE_NAME, true)->getColumn('cancelled_order_sent')) {
+            $this->addColumn(
+                self::TABLE_NAME,
+                'cancelled_order_sent',
+                $this->integer()->defaultValue(0)->comment('Флаг отправки отмененного заказа в 1С')
+            );
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function safeDown()
+    {
+        if ($this->db->schema->getTableSchema(self::TABLE_NAME, true)->getColumn('cancelled_order_sent')) {
+            $this->dropColumn(self::TABLE_NAME, 'cancelled_order_sent');
+        }
+    }
+    /*
+    // Use up()/down() to run migration code without a transaction.
+    public function up()
+    {
+
+    }
+
+    public function down()
+    {
+        echo "m250717_142552_add_cancelled_order_sent_field_to_marketplace_orders_table cannot be reverted.\n";
+
+        return false;
+    }
+    */
+}
index 5452066bbac3a43d2460b666d3c777b443156324..c3d002e86088bd89770dfe7767625ffe79a4ea45 100644 (file)
@@ -46,6 +46,7 @@ use yii\db\Expression;
  * @property string|null $manager_link Ссылка на панели менеджера заказов
  * @property string|null $sent_1c_at Время отправки заказа в 1С
  * @property int|null $attempts_number Количество попыток отправки заказа в 1С
+ * @property int $cancelled_order_sent Флаг отправки отмененного заказа в 1С
  */
 class MarketplaceOrders extends \yii\db\ActiveRecord
 {
@@ -58,6 +59,8 @@ class MarketplaceOrders extends \yii\db\ActiveRecord
     const STATUSES_1C_CREATED_IN_ERP = 1;
     const STATUSES_1C_SENDED_TO_1C = 2;
     const STATUSES_1C_CREATED_IN_1C = 3;
+    const STATUSES_1C_CANCELLED_ORDER_SENT_IN_1C = 1;
+    const STATUSES_1C_CANCELLED_ORDER_NOT_SENT_IN_1C = 0;
 
     const STATUSES_1C = [
         self::STATUSES_1C_CREATED_IN_ERP => 'Создан в ЕРП',
@@ -96,7 +99,7 @@ class MarketplaceOrders extends \yii\db\ActiveRecord
             [['marketplace_order_id', 'marketplace_id', 'marketplace_name', 'status_id', 'substatus_id', 'creation_date', 'updated_at', 'total', 'delivery_total', 'buyer_total_before_discount', 'tax_system', 'payment_type', 'payment_method'], 'required'],
             [['store_id', 'status_id', 'substatus_id', 'fake', 'cancel_requested', 'status_1c', 'status_processing_1c', 'order_link', 'delivery_to', 'order_photo'], 'default', 'value' => null],
             [[ 'fake'], 'default', 'value' => 0],
-            [['store_id', 'status_id', 'substatus_id', 'fake', 'cancel_requested', 'status_1c', 'marketplace_id', 'status_telegram', 'status_processing_1c', 'readyto_1c', 'attempts_number'], 'integer'],
+            [['store_id', 'status_id', 'substatus_id', 'fake', 'cancel_requested', 'status_1c', 'marketplace_id', 'status_telegram', 'status_processing_1c', 'readyto_1c', 'attempts_number', 'cancelled_order_sent'], 'integer'],
             [['creation_date', 'updated_at', 'returned_at', 'sent_1c_at'], 'safe'],
             [['return_data', 'raw_data', 'marketplace_name', 'telegram_error', 'order_link', 'delivery_to', 'order_photo', 'manager_link'], 'string'],
             [['total', 'delivery_total', 'buyer_total_before_discount'], 'number'],
@@ -152,6 +155,7 @@ class MarketplaceOrders extends \yii\db\ActiveRecord
             'check_guid' => 'GUID чека заказа МП',
             'sent_1c_at' => 'Время отправки заказа в 1С',
             'attempts_number' => 'Количество попыток отправки заказа в 1С',
+            'cancelled_order_sent' => 'Флаг отправки отмененного заказа в 1С',
         ];
     }
 
index 5cd1082ff71c57045eadabbd0ee4d5c19eecb4ca..92732abd71eaae0ede4f5805b324850a6ec64428 100644 (file)
@@ -42,6 +42,7 @@ YiiAsset::register($this);
         <?= Html::a('Типы статусов заказов', ['/marketplace-order-status-types/index'], ['class' => 'btn btn-success']) ?>
         <?= Html::a('Письма с заказами', ['/marketplace-flowwow-emails/index'], ['class' => 'btn btn-success']) ?>
         <?= Html::a('Проверка почты', ['/marketplace-orders/get-flowwow-orders'], ['class' => 'btn btn-success']) ?>
+        <?= Html::a('Статусы заказов в 1С', ['/crud/marketplace-order1c-statuses/index'], ['class' => 'btn btn-success']) ?>
 
     </p>
     <div class="create-test-order-form mb-4">
index 06220c603fac4398fab936551d2bb556f1ebc040..89d6db217915a001797e78dcf89960dfef6e2725 100644 (file)
@@ -127,6 +127,12 @@ $this->params['breadcrumbs'][] = $this->title;
                     return $model->status1c->status ?? null;
                 }
             ],
+            [
+                'attribute' => 'cancelled_order_sent',
+                'value' => function ($model) {
+                    return $model->cancelled_order_sent === 0 ? 'Нет' : 'Да';
+                }
+            ],
             [
                 'label'  => 'Фото заказа',
                 'format' => 'raw',