From a069c81d41fa8c68b25dd6752a97870018cf6d4b Mon Sep 17 00:00:00 2001 From: Bright Date: Thu, 14 Mar 2024 14:02:17 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=E0=B8=9F=E0=B8=B4=E0=B8=A5=E0=B8=94=E0=B9=8C=20employeePosLeve?= =?UTF-8?q?l.posLevelAuthority?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/EmployeePosLevelController.ts | 8 ++++---- src/entities/EmployeePosLevel.ts | 20 ++++++++++++++++++- ...lumn_employeePosLevel-posLevelAuthority.ts | 14 +++++++++++++ 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 src/migration/1710399617760-add_column_employeePosLevel-posLevelAuthority.ts diff --git a/src/controllers/EmployeePosLevelController.ts b/src/controllers/EmployeePosLevelController.ts index b43d6d56..89de4730 100644 --- a/src/controllers/EmployeePosLevelController.ts +++ b/src/controllers/EmployeePosLevelController.ts @@ -167,7 +167,7 @@ export class EmployeePosLevelController extends Controller { async GetEmpLevelById(@Path() id: string) { const getEmpPosLevel = await this.employeePosLevelRepository.findOne({ relations: ["posType"], - select: ["id", "posLevelName", "posLevelRank"], + select: ["id", "posLevelName", "posLevelRank", "posLevelAuthority"], where: { id: id }, }); if (!getEmpPosLevel) { @@ -178,7 +178,7 @@ export class EmployeePosLevelController extends Controller { posLevelName: getEmpPosLevel.posLevelName, posTypeId: getEmpPosLevel.posType == null ? null : getEmpPosLevel.posType.id, posTypeName: getEmpPosLevel.posType == null ? null : getEmpPosLevel.posType.posTypeName, //กลุ่มงาน - commander: null, //ผู้มีอำนาจสั่งบรรจุ + posLevelAuthority: getEmpPosLevel.posLevelAuthority, //ผู้มีอำนาจสั่งบรรจุ }; return new HttpSuccess(mapEmpPosLevel); } @@ -193,14 +193,14 @@ export class EmployeePosLevelController extends Controller { async GetEmpPosLevel() { const empPosLevel = await this.employeePosLevelRepository.find({ relations: ["posType"], - select: ["id", "posLevelName", "posLevelRank"], + select: ["id", "posLevelName", "posLevelRank", "posLevelAuthority"], }); const mapEmpPosLevel = empPosLevel.map((item) => ({ id: item.id, posLevelName: item.posLevelName, posTypeId: item.posType == null ? null : item.posType.id, posTypeName: item.posType == null ? null : item.posType.posTypeName, //กลุ่มงาน - commander: null, //ผู้มีอำนาจสั่งบรรจุ + posLevelAuthority: item.posLevelAuthority, //ผู้มีอำนาจสั่งบรรจุ })); return new HttpSuccess(mapEmpPosLevel); } diff --git a/src/entities/EmployeePosLevel.ts b/src/entities/EmployeePosLevel.ts index ae3c1713..6380ac04 100644 --- a/src/entities/EmployeePosLevel.ts +++ b/src/entities/EmployeePosLevel.ts @@ -3,6 +3,11 @@ import { EntityBase } from "./base/Base"; import { EmployeePosDict } from "./EmployeePosDict"; import { EmployeePosType } from "./EmployeePosType"; +enum EmployeePosLevelAuthoritys { + HEAD = "HEAD", + DEPUTY = "DEPUTY", + GOVERNOR = "GOVERNOR", +} @Entity("employeePosLevel") export class EmployeePosLevel extends EntityBase { @Column({ @@ -17,6 +22,16 @@ export class EmployeePosLevel extends EntityBase { }) posLevelRank: number; + @Column({ + nullable: true, + comment: + "ผู้มีอำนาจสั่งบรรจุของระดับนี้ head = หัวหน้าหน่วยงาน , deputy = ปลัด , governor = ผู้ว่าฯ", + type: "enum", + enum: EmployeePosLevelAuthoritys, + default: null, + }) + posLevelAuthority: EmployeePosLevelAuthoritys; + @Column({ length: 40, comment: "คีย์นอก(FK)ของตาราง employeePosType", @@ -38,8 +53,11 @@ export class CreateEmployeePosLevel { @Column() posLevelRank: number; + @Column() + posLevelAuthority: string; + @Column("uuid") posTypeId: string; } -export type UpdateEmployeePosLevel = Partial; +export type UpdateEmployeePosLevel = Partial & { posLevelAuthority: EmployeePosLevelAuthoritys }; diff --git a/src/migration/1710399617760-add_column_employeePosLevel-posLevelAuthority.ts b/src/migration/1710399617760-add_column_employeePosLevel-posLevelAuthority.ts new file mode 100644 index 00000000..74dbf59f --- /dev/null +++ b/src/migration/1710399617760-add_column_employeePosLevel-posLevelAuthority.ts @@ -0,0 +1,14 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class AddColumnEmployeePosLevelPosLevelAuthority1710399617760 implements MigrationInterface { + name = 'AddColumnEmployeePosLevelPosLevelAuthority1710399617760' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`employeePosLevel\` ADD \`posLevelAuthority\` enum ('HEAD', 'DEPUTY', 'GOVERNOR') NULL COMMENT 'ผู้มีอำนาจสั่งบรรจุของระดับนี้ head = หัวหน้าหน่วยงาน , deputy = ปลัด , governor = ผู้ว่าฯ'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`employeePosLevel\` DROP COLUMN \`posLevelAuthority\``); + } + +}