From 522eea87a71ba79f9778b8f9cff7b69f3b0e2d07 Mon Sep 17 00:00:00 2001 From: vladfo Date: Mon, 22 Jul 2024 09:13:41 +0300 Subject: [PATCH] change motivation values table to mjtivation costs items --- .../actions/motivation/CreateValueAction.php | 4 +- .../actions/motivation/DeleteValueAction.php | 4 +- .../actions/motivation/UpdateValueAction.php | 4 +- erp24/actions/motivation/ValuesAction.php | 4 +- ..._090134_create_motivation_values_table.php | 32 +++++++------ ...04_create_motivation_costs_items_table.php | 47 +++++++++++++++++++ ...ationValue.php => MotivationCostsItem.php} | 43 ++++++++++------- erp24/views/motivation/_form.php | 5 +- erp24/views/motivation/create-value.php | 2 +- erp24/views/motivation/update-value.php | 2 +- erp24/views/motivation/values.php | 2 + 11 files changed, 105 insertions(+), 44 deletions(-) create mode 100644 erp24/migrations/m240722_054604_create_motivation_costs_items_table.php rename erp24/records/{MotivationValue.php => MotivationCostsItem.php} (77%) diff --git a/erp24/actions/motivation/CreateValueAction.php b/erp24/actions/motivation/CreateValueAction.php index 5fdabf2c..6fb539fd 100644 --- a/erp24/actions/motivation/CreateValueAction.php +++ b/erp24/actions/motivation/CreateValueAction.php @@ -4,13 +4,13 @@ namespace yii_app\actions\motivation; use Yii; use yii\base\Action; -use yii_app\records\MotivationValue; +use yii_app\records\MotivationCostsItem; class CreateValueAction extends Action { public function run() { - $model = new MotivationValue(); + $model = new MotivationCostsItem(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->controller->redirect(['values']); } diff --git a/erp24/actions/motivation/DeleteValueAction.php b/erp24/actions/motivation/DeleteValueAction.php index 4976ca3c..d6dc6ea9 100644 --- a/erp24/actions/motivation/DeleteValueAction.php +++ b/erp24/actions/motivation/DeleteValueAction.php @@ -3,7 +3,7 @@ namespace yii_app\actions\motivation; use Yii; -use yii_app\records\MotivationValue; +use yii_app\records\MotivationCostsItem; use yii\web\NotFoundHttpException; use yii\base\Action; @@ -18,7 +18,7 @@ class DeleteValueAction extends Action private function findModel($id) { - if (($model = MotivationValue::findOne($id)) !== null) { + if (($model = MotivationCostsItem::findOne($id)) !== null) { return $model; } diff --git a/erp24/actions/motivation/UpdateValueAction.php b/erp24/actions/motivation/UpdateValueAction.php index 8a776454..9b9ebd75 100644 --- a/erp24/actions/motivation/UpdateValueAction.php +++ b/erp24/actions/motivation/UpdateValueAction.php @@ -3,7 +3,7 @@ namespace yii_app\actions\motivation; use Yii; -use yii_app\records\MotivationValue; +use yii_app\records\MotivationCostsItem; use yii\web\NotFoundHttpException; use yii\base\Action; @@ -24,7 +24,7 @@ class UpdateValueAction extends Action private function findModel($id) { - if (($model = MotivationValue::findOne($id)) !== null) { + if (($model = MotivationCostsItem::findOne($id)) !== null) { return $model; } diff --git a/erp24/actions/motivation/ValuesAction.php b/erp24/actions/motivation/ValuesAction.php index 90396f7c..aacb9906 100644 --- a/erp24/actions/motivation/ValuesAction.php +++ b/erp24/actions/motivation/ValuesAction.php @@ -4,14 +4,14 @@ namespace yii_app\actions\motivation; use yii\base\Action; use yii\data\ActiveDataProvider; -use yii_app\records\MotivationValue; +use yii_app\records\MotivationCostsItem; class ValuesAction extends Action { public function run() { $dataProvider = new ActiveDataProvider([ - 'query' => MotivationValue::find(), + 'query' => MotivationCostsItem::find(), ]); return $this->controller->render('values', [ 'dataProvider' => $dataProvider, diff --git a/erp24/migrations/m240719_090134_create_motivation_values_table.php b/erp24/migrations/m240719_090134_create_motivation_values_table.php index bf9022ef..d55d37f6 100644 --- a/erp24/migrations/m240719_090134_create_motivation_values_table.php +++ b/erp24/migrations/m240719_090134_create_motivation_values_table.php @@ -3,7 +3,7 @@ use yii\db\Migration; /** - * Handles the creation of table `{{%motivation_values}}`. + * Handles the creation of table `{{%motivation_costs_items}}`. */ class m240719_090134_create_motivation_values_table extends Migration @@ -13,21 +13,23 @@ class m240719_090134_create_motivation_values_table extends Migration */ public function safeUp() { - $this->execute('SET search_path TO erp24'); + //$this->execute('SET search_path TO erp24'); // Создаем тип ENUM - $this->execute("CREATE TYPE data_type_enum AS ENUM ('int', 'float', 'string')"); + //$this->execute("CREATE TYPE data_type_enum AS ENUM ('int', 'float', 'string')"); - $this->createTable('{{%motivation_values}}', [ - 'id' => $this->primaryKey(), - 'name' => $this->string()->notNull(), - 'data_type' => "data_type_enum NOT NULL", - 'is_active' => $this->boolean()->defaultValue(true), - 'created_at' => $this->datetime()->notNull()->comment('дата создания записи'), - 'updated_at' => $this->datetime()->notNull()->comment('дата изменения записи'), - ]); + // $this->createTable('{{%motivation_values}}', [ + // 'id' => $this->primaryKey(), + // 'name' => $this->string()->notNull(), + // 'code' => $this->string()->notNull(), + // 'data_type' => "data_type_enum NOT NULL", + // 'order' => $this->integer()->notNull(), + // 'is_active' => $this->boolean()->defaultValue(true), + // 'created_at' => $this->datetime()->notNull()->comment('дата создания записи'), + // 'updated_at' => $this->datetime()->notNull()->comment('дата изменения записи'), + // ]); - $this->createIndex('idx-motivation_values-name', '{{%motivation_values}}', 'name', true); + //$this->createIndex('idx-motivation_values-name', '{{%motivation_values}}', 'name', true); } /** @@ -35,11 +37,11 @@ class m240719_090134_create_motivation_values_table extends Migration */ public function safeDown() { - $this->execute('SET search_path TO erp24'); + //$this->execute('SET search_path TO erp24'); - $this->dropTable('{{%motivation_values}}'); + //$this->dropTable('{{%motivation_values}}'); // Удаляем тип ENUM - $this->execute('DROP TYPE data_type_enum'); + //$this->execute('DROP TYPE data_type_enum'); } } \ No newline at end of file diff --git a/erp24/migrations/m240722_054604_create_motivation_costs_items_table.php b/erp24/migrations/m240722_054604_create_motivation_costs_items_table.php new file mode 100644 index 00000000..31553f71 --- /dev/null +++ b/erp24/migrations/m240722_054604_create_motivation_costs_items_table.php @@ -0,0 +1,47 @@ +execute('SET search_path TO erp24'); + + // Создаем тип ENUM + $this->execute("CREATE TYPE data_type_enum AS ENUM ('int', 'float', 'string')"); + + $this->createTable('{{%motivation_costs_items}}', [ + 'id' => $this->primaryKey(), + 'name' => $this->string()->notNull(), + 'code' => $this->string()->notNull(), + 'data_type' => "data_type_enum NOT NULL", + 'order' => $this->integer()->notNull(), + 'is_active' => $this->boolean()->defaultValue(true), + 'created_at' => $this->datetime()->notNull()->comment('дата создания записи'), + 'updated_at' => $this->datetime()->notNull()->comment('дата изменения записи'), + ]); + + $this->createIndex('idx-motivation_costs_items-name', '{{%motivation_costs_items}}', 'name', true); + $this->createIndex('idx-motivation_costs_items-code', '{{%motivation_costs_items}}', 'code', true); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $this->execute('SET search_path TO erp24'); + + $this->dropTable('{{%motivation_costs_items}}'); + + // Удаляем тип ENUM + $this->execute('DROP TYPE data_type_enum'); + } +} diff --git a/erp24/records/MotivationValue.php b/erp24/records/MotivationCostsItem.php similarity index 77% rename from erp24/records/MotivationValue.php rename to erp24/records/MotivationCostsItem.php index 51cfd79d..c12c0356 100644 --- a/erp24/records/MotivationValue.php +++ b/erp24/records/MotivationCostsItem.php @@ -7,16 +7,18 @@ use yii\behaviors\TimestampBehavior; use yii\db\Expression; /** - * This is the model class for table "{{%motivation_values}}". + * This is the model class for table "{{%motivation_costs_items}}". * * @property int $id * @property string $name + * @property string $code * @property string $data_type + * @property int $order * @property bool $is_active * @property string $created_at * @property string $updated_at */ -class MotivationValue extends ActiveRecord +class MotivationCostsItem extends ActiveRecord { const DATA_TYPE_INT = 'int'; const DATA_TYPE_FLOAT = 'float'; @@ -27,7 +29,7 @@ class MotivationValue extends ActiveRecord */ public static function tableName() { - return '{{%motivation_values}}'; + return '{{%motivation_costs_items}}'; } /** @@ -36,23 +38,12 @@ class MotivationValue extends ActiveRecord public function rules() { return [ - [['name', 'data_type'], 'required'], - ['name', 'string', 'max' => 255], + [['name', 'code', 'data_type', 'order'], 'required'], + [['name', 'code'], 'string', 'max' => 255], ['data_type', 'in', 'range' => [self::DATA_TYPE_INT, self::DATA_TYPE_FLOAT, self::DATA_TYPE_STRING]], + ['order', 'integer'], ['is_active', 'boolean'], - ]; - } - - /** - * {@inheritdoc} - */ - public function behaviors() - { - return [ - [ - 'class' => TimestampBehavior::class, - 'value' => new Expression('NOW()'), - ], + [['name', 'code'], 'unique'], ]; } @@ -64,13 +55,29 @@ class MotivationValue extends ActiveRecord return [ 'id' => 'ID', 'name' => 'Наименование', + 'code' => 'Код', 'data_type' => 'Тип данных', + 'order' => 'Порядок', 'is_active' => 'Активен', 'created_at' => 'Создан', 'updated_at' => 'Обновлен', ]; } + + /** + * {@inheritdoc} + */ + public function behaviors() + { + return [ + [ + 'class' => TimestampBehavior::class, + 'value' => new Expression('NOW()'), + ], + ]; + } + /** * Get list of available data types * diff --git a/erp24/views/motivation/_form.php b/erp24/views/motivation/_form.php index a8deb6c6..c6cd4fbc 100644 --- a/erp24/views/motivation/_form.php +++ b/erp24/views/motivation/_form.php @@ -3,7 +3,7 @@ use yii\helpers\Html; use yii\widgets\ActiveForm; /** @var $this yii\web\View */ -/** @var $model app\models\MotivationValue */ +/** @var $model app\models\MotivationCostsItem */ /** @var $form yii\widgets\ActiveForm */ ?> @@ -17,6 +17,9 @@ use yii\widgets\ActiveForm; ['prompt' => 'Выберите тип данных'] ) ?> + field($model, 'code')->textInput(['maxlength' => true]) ?> + field($model, 'order')->textInput(['type' => 'number']) ?> + field($model, 'is_active')->checkbox() ?>
diff --git a/erp24/views/motivation/create-value.php b/erp24/views/motivation/create-value.php index ecb60a14..3cd7fa2b 100644 --- a/erp24/views/motivation/create-value.php +++ b/erp24/views/motivation/create-value.php @@ -3,7 +3,7 @@ use yii\helpers\Html; /** @var $this yii\web\View */ -/** @var $model app\models\MotivationValue */ +/** @var $model app\models\MotivationCostsItem */ $this->title = 'Создать значение мотивации'; $this->params['breadcrumbs'][] = ['label' => 'Значения мотивации', 'url' => ['values']]; diff --git a/erp24/views/motivation/update-value.php b/erp24/views/motivation/update-value.php index 1ef89a9a..227b6c70 100644 --- a/erp24/views/motivation/update-value.php +++ b/erp24/views/motivation/update-value.php @@ -3,7 +3,7 @@ use yii\helpers\Html; /** @var $this yii\web\View */ -/** @var $model app\models\MotivationValue */ +/** @var $model app\models\MotivationCostsItem */ $this->title = 'Обновить значение мотивации: ' . $model->name; $this->params['breadcrumbs'][] = ['label' => 'Значения мотивации', 'url' => ['values']]; diff --git a/erp24/views/motivation/values.php b/erp24/views/motivation/values.php index 6cff73e6..15f950f6 100644 --- a/erp24/views/motivation/values.php +++ b/erp24/views/motivation/values.php @@ -23,6 +23,8 @@ $this->params['breadcrumbs'][] = $this->title; ['class' => 'yii\grid\SerialColumn'], 'name', 'data_type', + 'code', + 'order', 'is_active:boolean', [ 'attribute' => 'created_at', -- 2.39.5