แก้ไขประเภทคำสั่ง
This commit is contained in:
parent
057298cddd
commit
d6d4fbf8cc
3 changed files with 145 additions and 4 deletions
|
|
@ -12,6 +12,7 @@ import {
|
|||
SuccessResponse,
|
||||
Response,
|
||||
Get,
|
||||
Query,
|
||||
} from "tsoa";
|
||||
import { AppDataSource } from "../database/data-source";
|
||||
import HttpSuccess from "../interfaces/http-success";
|
||||
|
|
@ -40,11 +41,15 @@ export class CommandTypeController extends Controller {
|
|||
@Get("list")
|
||||
async Get() {
|
||||
const _commandType = await this.commandTypeRepository.find({
|
||||
where: { isActive: true },
|
||||
select: [
|
||||
"id",
|
||||
"name",
|
||||
"type",
|
||||
"code",
|
||||
"detailHeader",
|
||||
"detailBody",
|
||||
"detailFooter",
|
||||
"createdAt",
|
||||
"lastUpdatedAt",
|
||||
"createdFullName",
|
||||
|
|
@ -55,6 +60,34 @@ export class CommandTypeController extends Controller {
|
|||
return new HttpSuccess(_commandType);
|
||||
}
|
||||
|
||||
/**
|
||||
* API list รายการประเภทคำสั่ง
|
||||
*
|
||||
* @summary ORG_056 - CRUD ประเภทคำสั่ง (ADMIN) #61
|
||||
*
|
||||
*/
|
||||
@Get("admin")
|
||||
async GetAdmin(
|
||||
@Query("page") page: number = 1,
|
||||
@Query("pageSize") pageSize: number = 10,
|
||||
@Query() isActive?: boolean | null,
|
||||
) {
|
||||
const [commandTypes, total] = await this.commandTypeRepository
|
||||
.createQueryBuilder("commandType")
|
||||
.andWhere(
|
||||
isActive != null && isActive != undefined ? "commandType.isActive = :isActive" : "1=1",
|
||||
{
|
||||
isActive:
|
||||
isActive == null || isActive == undefined ? null : `${isActive == true ? 1 : 0}`,
|
||||
},
|
||||
)
|
||||
.orderBy("commandType.name", "ASC")
|
||||
.skip((page - 1) * pageSize)
|
||||
.take(pageSize)
|
||||
.getManyAndCount();
|
||||
return new HttpSuccess({ commandTypes, total });
|
||||
}
|
||||
|
||||
/**
|
||||
* API รายละเอียดรายการประเภทคำสั่ง
|
||||
*
|
||||
|
|
@ -66,7 +99,16 @@ export class CommandTypeController extends Controller {
|
|||
async GetById(@Path() id: string) {
|
||||
const _commandType = await this.commandTypeRepository.findOne({
|
||||
where: { id },
|
||||
select: ["id", "name", "type", "code"],
|
||||
select: [
|
||||
"id",
|
||||
"name",
|
||||
"type",
|
||||
"code",
|
||||
"isActive",
|
||||
"detailHeader",
|
||||
"detailBody",
|
||||
"detailFooter",
|
||||
],
|
||||
});
|
||||
if (!_commandType) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูล");
|
||||
|
|
@ -106,7 +148,7 @@ export class CommandTypeController extends Controller {
|
|||
_commandType.createdAt = new Date();
|
||||
_commandType.lastUpdatedAt = new Date();
|
||||
await this.commandTypeRepository.save(_commandType);
|
||||
return new HttpSuccess();
|
||||
return new HttpSuccess(_commandType.id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -139,7 +181,34 @@ export class CommandTypeController extends Controller {
|
|||
_commandType.lastUpdatedAt = new Date();
|
||||
this.commandTypeRepository.merge(_commandType, requestBody);
|
||||
await this.commandTypeRepository.save(_commandType);
|
||||
return new HttpSuccess();
|
||||
return new HttpSuccess(_commandType.id);
|
||||
}
|
||||
|
||||
/**
|
||||
* API แก้ไขรายการ body ประเภทคำสั่ง
|
||||
*
|
||||
* @summary ORG_056 - CRUD ประเภทคำสั่ง (ADMIN) #61
|
||||
*
|
||||
* @param {string} id Id ประเภทคำสั่ง
|
||||
*/
|
||||
@Put("text/{id}")
|
||||
async PutText(
|
||||
@Path() id: string,
|
||||
@Body()
|
||||
requestBody: { detailHeader: string; detailBody: string; detailFooter: string },
|
||||
@Request() request: { user: Record<string, any> },
|
||||
) {
|
||||
const _commandType = await this.commandTypeRepository.findOne({ where: { id: id } });
|
||||
if (!_commandType) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลประเภทคำสั่งชื่อนี้");
|
||||
}
|
||||
|
||||
_commandType.lastUpdateUserId = request.user.sub;
|
||||
_commandType.lastUpdateFullName = request.user.name;
|
||||
_commandType.lastUpdatedAt = new Date();
|
||||
this.commandTypeRepository.merge(_commandType, requestBody);
|
||||
await this.commandTypeRepository.save(_commandType);
|
||||
return new HttpSuccess(_commandType.id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -28,6 +28,36 @@ export class CommandType extends EntityBase {
|
|||
})
|
||||
code: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เนื้อหาคำสั่งส่วนต้น",
|
||||
type: "text",
|
||||
default: null,
|
||||
})
|
||||
detailHeader: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เนื้อหาคำสั่งส่วนกลาง",
|
||||
type: "text",
|
||||
default: null,
|
||||
})
|
||||
detailBody: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เนื้อหาคำสั่งส่วนท้าย",
|
||||
type: "text",
|
||||
default: null,
|
||||
})
|
||||
detailFooter: string;
|
||||
|
||||
@Column({
|
||||
comment: "สถานะการใช้งาน",
|
||||
default: true,
|
||||
})
|
||||
isActive: boolean;
|
||||
|
||||
@OneToMany(() => Command, (command) => command.commandType)
|
||||
commands: Command[];
|
||||
}
|
||||
|
|
@ -40,7 +70,7 @@ export class CreateCommandType {
|
|||
type: string;
|
||||
|
||||
@Column()
|
||||
code: string;
|
||||
isActive: boolean;
|
||||
}
|
||||
|
||||
export type UpdateCommandType = Partial<CreateCommandType>;
|
||||
|
|
|
|||
42
src/migration/1726052018309-add_commandType.ts
Normal file
42
src/migration/1726052018309-add_commandType.ts
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class AddCommandType1726052018309 implements MigrationInterface {
|
||||
name = 'AddCommandType1726052018309'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
// await queryRunner.query(`CREATE TABLE \`subDistrictImport\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`PROVINCE_CODE\` varchar(255) NULL, \`AMPHUR_CODE\` varchar(255) NULL, \`DISTRICT_CODE\` varchar(255) NULL, \`DISTRICT_NAME\` varchar(255) NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`provinceImport\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`PROVINCE_CODE\` varchar(255) NULL, \`PROVINCE_NAME\` varchar(255) NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`HR_POSITION_OFFICER\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`MP_POS_DATE\` text NULL, \`SALARY\` text NULL, \`MP_COMMAND_NUM\` text NULL, \`POS_NUM_NAME\` text NULL, \`POS_NUM_CODE\` text NULL, \`FLAG_TO_NAME\` text NULL, \`WORK_LINE_NAME\` text NULL, \`SPECIALIST_NAME\` text NULL, \`ADMIN_NAME\` text NULL, \`REMARK\` text NULL, \`ORDER_MOVE_POSITION\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`HR_PERSONAL_OFFICER_FAMILY\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`FATHER_RANK_NAME\` text NULL, \`FATHER_FNAME\` text NULL, \`FATHER_LNAME\` text NULL, \`MOTHER_RANK_NAME\` text NULL, \`MOTHER_FNAME\` text NULL, \`MOTHER_LNAME\` text NULL, \`SPOUSE_RANK_NAME\` text NULL, \`SPOUSE_FNAME\` text NULL, \`SPOUSE_LNAME\` text NULL, \`SPOUSE_ID\` text NULL, \`MARRIAGE_STATE\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`HR_PERSONAL_OFFICER_ADDRESS\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`PROVINCE_CODE\` text NULL, \`AMPHUR_CODE\` text NULL, \`DISTRICT_CODE\` text NULL, \`CONTACT_PROVINCE_CODE\` text NULL, \`CONTACT_AMPHUR_CODE\` text NULL, \`CONTACT_DISTRICT_CODE\` text NULL, \`H_NUMBER\` text NULL, \`ZIPCODE\` text NULL, \`CONTACT_H_NUMBER\` text NULL, \`CONTACT_ZIPCODE\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`HR_PERSONAL_EMP_FAMILY\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`FATHER_RANK_NAME\` text NULL, \`FATHER_FNAME\` text NULL, \`FATHER_LNAME\` text NULL, \`MOTHER_RANK_NAME\` text NULL, \`MOTHER_FNAME\` text NULL, \`MOTHER_LNAME\` text NULL, \`SPOUSE_RANK_NAME\` text NULL, \`SPOUSE_FNAME\` text NULL, \`SPOUSE_LNAME\` text NULL, \`SPOUSE_ID\` text NULL, \`MARRIAGE_STATE\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`HR_PERSONAL_EMP_ADDRESS\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`PROVINCE_CODE\` text NULL, \`AMPHUR_CODE\` text NULL, \`DISTRICT_CODE\` text NULL, \`CONTACT_PROVINCE_CODE\` text NULL, \`CONTACT_AMPHUR_CODE\` text NULL, \`CONTACT_DISTRICT_CODE\` text NULL, \`H_NUMBER\` text NULL, \`ZIPCODE\` text NULL, \`CONTACT_H_NUMBER\` text NULL, \`CONTACT_ZIPCODE\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`HR_EDUCATION\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`EDUCATION_CODE\` text NULL, \`START_EDUCATION_YEAR\` text NULL, \`EDUCATION_YEAR\` text NULL, \`INSTITUE\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`HR_EDUCATION_EMP\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`EDUCATION_CODE\` text NULL, \`START_EDUCATION_YEAR\` text NULL, \`EDUCATION_YEAR\` text NULL, \`INSTITUE\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`educationMis\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`EDUCATION_CODE\` varchar(255) NULL, \`EDUCATION_NAME\` varchar(255) NULL, \`EDUCATION_ABB_NAME\` varchar(255) NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
// await queryRunner.query(`CREATE TABLE \`amphurImport\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`PROVINCE_CODE\` varchar(255) NULL, \`AMPHUR_CODE\` varchar(255) NULL, \`AMPHUR_NAME\` varchar(255) NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` ADD \`detailHeader\` text NULL COMMENT 'เนื้อหาคำสั่งส่วนต้น'`);
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` ADD \`detailBody\` text NULL COMMENT 'เนื้อหาคำสั่งส่วนกลาง'`);
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` ADD \`detailFooter\` text NULL COMMENT 'เนื้อหาคำสั่งส่วนท้าย'`);
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT 1`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` DROP COLUMN \`isActive\``);
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` DROP COLUMN \`detailFooter\``);
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` DROP COLUMN \`detailBody\``);
|
||||
await queryRunner.query(`ALTER TABLE \`commandType\` DROP COLUMN \`detailHeader\``);
|
||||
// await queryRunner.query(`DROP TABLE \`amphurImport\``);
|
||||
// await queryRunner.query(`DROP TABLE \`educationMis\``);
|
||||
// await queryRunner.query(`DROP TABLE \`HR_EDUCATION_EMP\``);
|
||||
// await queryRunner.query(`DROP TABLE \`HR_EDUCATION\``);
|
||||
// await queryRunner.query(`DROP TABLE \`HR_PERSONAL_EMP_ADDRESS\``);
|
||||
// await queryRunner.query(`DROP TABLE \`HR_PERSONAL_EMP_FAMILY\``);
|
||||
// await queryRunner.query(`DROP TABLE \`HR_PERSONAL_OFFICER_ADDRESS\``);
|
||||
// await queryRunner.query(`DROP TABLE \`HR_PERSONAL_OFFICER_FAMILY\``);
|
||||
// await queryRunner.query(`DROP TABLE \`HR_POSITION_OFFICER\``);
|
||||
// await queryRunner.query(`DROP TABLE \`provinceImport\``);
|
||||
// await queryRunner.query(`DROP TABLE \`subDistrictImport\``);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue