From 69df428a4a4879f0113ef7cd32bc0abe60bdccb3 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Thu, 7 Mar 2024 15:51:45 +0700 Subject: [PATCH] no message --- src/controllers/SalaryPeriodController.ts | 23 ++++++- ...-update_table_salaryProfile_add_isClose.ts | 69 +++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 src/migration/1709801227584-update_table_salaryProfile_add_isClose.ts diff --git a/src/controllers/SalaryPeriodController.ts b/src/controllers/SalaryPeriodController.ts index 7eb9568..cb6ea42 100644 --- a/src/controllers/SalaryPeriodController.ts +++ b/src/controllers/SalaryPeriodController.ts @@ -887,6 +887,26 @@ export class SalaryPeriodController extends Controller { return new HttpSuccess(salaryProfile.id); } + /** + * API ปิดรอบเงินเดือน + * + * @summary SLR_032 - ปิดรอบเงินเดือน #31 + * + * @param {string} id Guid, *Id รอบเงินเดือน + */ + @Get("close/{id}") + async closeSalaryPeriod_ById(@Path() id: string) { + const salaryPeriod = await this.salaryPeriodRepository.findOne({ + where: { id: id }, + }); + if (!salaryPeriod) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลรอบผังเงินเดือนนี้"); + } + salaryPeriod.isClose = !salaryPeriod.isClose; + await this.salaryPeriodRepository.save(salaryPeriod); + return new HttpSuccess(); + } + /** * API สร้างรอบเงินเดือน * @@ -1017,7 +1037,7 @@ export class SalaryPeriodController extends Controller { "period", "isActive", "effectiveDate", - "isActive", + "isClose", "status", "year", "revisionId", @@ -1051,6 +1071,7 @@ export class SalaryPeriodController extends Controller { "salaryPeriod.id", "salaryPeriod.period", "salaryPeriod.isActive", + "salaryPeriod.isClose", "salaryPeriod.effectiveDate", "salaryPeriod.status", "salaryPeriod.year", diff --git a/src/migration/1709801227584-update_table_salaryProfile_add_isClose.ts b/src/migration/1709801227584-update_table_salaryProfile_add_isClose.ts new file mode 100644 index 0000000..c738c36 --- /dev/null +++ b/src/migration/1709801227584-update_table_salaryProfile_add_isClose.ts @@ -0,0 +1,69 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableSalaryProfileAddIsClose1709801227584 implements MigrationInterface { + name = "UpdateTableSalaryProfileAddIsClose1709801227584"; + + public async up(queryRunner: QueryRunner): Promise { + // await queryRunner.query(`ALTER TABLE \`salarys\` CHANGE \`salaryType\` \`name\` varchar(255) NOT NULL COMMENT 'ประเภทผัง'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`punish\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`retired\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`retired2\``); + await queryRunner.query( + `ALTER TABLE \`salaryPeriod\` ADD \`isClose\` tinyint NOT NULL COMMENT 'ปิดรอบ' DEFAULT 0`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`isPunish\` tinyint NULL COMMENT 'การลงโทษทางวินัย' DEFAULT 0`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`isSuspension\` tinyint NULL COMMENT 'พักราชการ' DEFAULT 0`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`isAbsent\` tinyint NULL COMMENT 'ขาดราชการ' DEFAULT 0`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`isLeave\` tinyint NULL COMMENT 'วันลา' DEFAULT 0`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`isReserve\` tinyint NULL COMMENT 'สำรอง' DEFAULT 0`, + ); + await queryRunner.query(`ALTER TABLE \`salarys\` DROP COLUMN \`name\``); + await queryRunner.query( + `ALTER TABLE \`salarys\` ADD \`name\` varchar(255) NOT NULL COMMENT 'ชื่อผัง'`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` CHANGE \`result\` \`result\` varchar(255) NULL COMMENT 'ผลการประเมินผลการปฏิบัติราชการ'`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` CHANGE \`duration\` \`duration\` varchar(255) NULL COMMENT 'ระยะเวลาการปฏิบัติราชการในรอบครึ่งปี'`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` CHANGE \`duration\` \`duration\` varchar(255) NULL COMMENT 'ระยะเวลา'`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` CHANGE \`result\` \`result\` varchar(255) NULL COMMENT 'ผลการประเมิน'`, + ); + await queryRunner.query(`ALTER TABLE \`salarys\` DROP COLUMN \`name\``); + await queryRunner.query( + `ALTER TABLE \`salarys\` ADD \`name\` varchar(255) NOT NULL COMMENT 'ประเภทผัง'`, + ); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`isReserve\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`isLeave\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`isAbsent\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`isSuspension\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`isPunish\``); + await queryRunner.query(`ALTER TABLE \`salaryPeriod\` DROP COLUMN \`isClose\``); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`retired2\` varchar(255) NULL COMMENT 'ขาดราชการ'`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`retired\` varchar(255) NULL COMMENT 'พักราชการ'`, + ); + await queryRunner.query( + `ALTER TABLE \`salaryProfile\` ADD \`punish\` varchar(255) NULL COMMENT 'การลงโทษ'`, + ); + // await queryRunner.query(`ALTER TABLE \`salarys\` CHANGE \`name\` \`salaryType\` varchar(255) NOT NULL COMMENT 'ประเภทผัง'`); + } +}