]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-240] создание таблицы store_balance origin/feature_smirnov_erp-240_store_balance_table
authorAlexander Smirnov <fredeom@mail.ru>
Tue, 19 Nov 2024 13:37:20 +0000 (16:37 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Tue, 19 Nov 2024 13:37:20 +0000 (16:37 +0300)
erp24/migrations/m241118_124938_create_table_store_balance.php [new file with mode: 0755]
erp24/records/StoreBalance.php [new file with mode: 0644]

diff --git a/erp24/migrations/m241118_124938_create_table_store_balance.php b/erp24/migrations/m241118_124938_create_table_store_balance.php
new file mode 100755 (executable)
index 0000000..d271433
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Class m241118_124938_create_table_store_balance
+ */
+class m241118_124938_create_table_store_balance extends Migration
+{
+    const TABLE_NAME = 'erp24.store_balance';
+
+    /**
+     * {@inheritdoc}
+     */
+    public function safeUp()
+    {
+        $this->createTable(self::TABLE_NAME, [
+            'id' => $this->primaryKey(),
+            'store_id' => $this->string(36)->notNull()->comment('GUID магазина'),
+            'shift_id' => $this->integer()->notNull()->comment('ID смены по передаче актуальных остатков'),
+            'date' => $this->dateTime()->notNull()->comment('дата и время внесения'),
+            'amount' => $this->float()->notNull()->comment('Сумма остатков (недостача или излишек) =remains_summ из shift_remains'),
+            'status_id' => $this->tinyInteger()->notNull()->comment('статус запись 0 новая 1 в работе (требует разбирательств) 2 проверено'),
+            'comment' => $this->text()->null()->comment('комментарий смены'),
+            'json' => $this->text()->null()->comment('массив с товарами что на что меняли, с указанием продажной цены'),
+            'replace_articule' => $this->text()->null()->comment('складывается из артикулов или ID товаров что' .
+                ' на что меняли разделитель - (для будущей аналитики) пример 12-55 . Товар ID=12 заменили на товар ID=55.' .
+                ' Или же эти данные можно разнести по отдельным ячейкам - как выберите при реализации, [{from: to:}, {from: to:}]'),
+            'comment_controler' => $this->text()->null()->comment('комментарий контроллера'),
+            'controler_id' => $this->integer()->null()->comment('ID сотрудника кто контролирует статус записи'),
+            'type_id' => $this->tinyInteger()->notNull()->comment('Тип записи -1 - недостача, 1 излишек,' .
+                '2 действия по замене, 5 компенсация от контролера'),
+        ]);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function safeDown()
+    {
+        $this->dropTable(self::TABLE_NAME);
+    }
+}
diff --git a/erp24/records/StoreBalance.php b/erp24/records/StoreBalance.php
new file mode 100644 (file)
index 0000000..178b85b
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+namespace yii_app\records;
+
+use Yii;
+
+/**
+ * This is the model class for table "store_balance".
+ *
+ * @property int $id
+ * @property string $store_id GUID магазина
+ * @property int $shift_id ID смены по передаче актуальных остатков
+ * @property string $date дата и время внесения
+ * @property float $amount Сумма остатков (недостача или излишек) =remains_summ из shift_remains
+ * @property int $status_id статус запись 0 новая 1 в работе (требует разбирательств) 2 проверено
+ * @property string|null $comment комментарий смены
+ * @property string|null $json массив с товарами что на что меняли, с указанием продажной цены
+ * @property string|null $replace_articule складывается из артикулов или ID товаров что на что меняли разделитель - (для будущей аналитики) пример 12-55 . Товар ID=12 заменили на товар ID=55. Или же эти данные можно разнести по отдельным ячейкам - как выберите при реализации, [{from: to:}, {from: to:}]
+ * @property string|null $comment_controler комментарий контроллера
+ * @property int|null $controler_id ID сотрудника кто контролирует статус записи
+ * @property int $type_id Тип записи -1 - недостача, 1 излишек,2 действия по замене, 5 компенсация от контролера
+ */
+class StoreBalance extends \yii\db\ActiveRecord
+{
+    /**
+     * {@inheritdoc}
+     */
+    public static function tableName()
+    {
+        return 'store_balance';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rules()
+    {
+        return [
+            [['store_id', 'shift_id', 'date', 'amount', 'status_id', 'type_id'], 'required'],
+            [['shift_id', 'status_id', 'controler_id', 'type_id'], 'default', 'value' => null],
+            [['shift_id', 'status_id', 'controler_id', 'type_id'], 'integer'],
+            [['date'], 'safe'],
+            [['amount'], 'number'],
+            [['comment', 'json', 'replace_articule', 'comment_controler'], 'string'],
+            [['store_id'], 'string', 'max' => 36],
+        ];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attributeLabels()
+    {
+        return [
+            'id' => 'ID',
+            'store_id' => 'Store ID',
+            'shift_id' => 'Shift ID',
+            'date' => 'Date',
+            'amount' => 'Amount',
+            'status_id' => 'Status ID',
+            'comment' => 'Comment',
+            'json' => 'Json',
+            'replace_articule' => 'Replace Articule',
+            'comment_controler' => 'Comment Controler',
+            'controler_id' => 'Controler ID',
+            'type_id' => 'Type ID',
+        ];
+    }
+}