From 76d9be4da10ff45d843ba89abd5b497684803cfe Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 8 Oct 2024 17:54:23 +0700 Subject: [PATCH] add idcard --- src/controllers/PersonalController.ts | 63 ++++++++++++++----- src/entities/Personal.ts | 8 +++ .../1725594553970-update-assigntb.ts | 15 ----- src/migration/1728384119754-add-idcard.ts | 15 +++++ 4 files changed, 71 insertions(+), 30 deletions(-) delete mode 100644 src/migration/1725594553970-update-assigntb.ts create mode 100644 src/migration/1728384119754-add-idcard.ts diff --git a/src/controllers/PersonalController.ts b/src/controllers/PersonalController.ts index 1e19a09..d4e4af0 100644 --- a/src/controllers/PersonalController.ts +++ b/src/controllers/PersonalController.ts @@ -26,7 +26,7 @@ import { Assign } from "../entities/Assign"; @Security("bearerAuth") @Response( HttpStatusCode.INTERNAL_SERVER_ERROR, - "เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง", + "เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง" ) @SuccessResponse(HttpStatusCode.OK, "สำเร็จ") export class PersonalController extends Controller { @@ -40,37 +40,60 @@ export class PersonalController extends Controller { * */ @Post("add") - async AddPersonal(@Body() requestBody: PostPersonal, @Request() request: RequestWithUser) { + async AddPersonal( + @Body() requestBody: PostPersonal, + @Request() request: RequestWithUser + ) { await new permission().PermissionCreate(request, "SYS_PROBATION"); const checkPersonal: number = await this.personalRepository.count({ where: { personal_id: requestBody.id }, }); if (checkPersonal > 0) { - throw new HttpError(HttpStatusCode.BAD_REQUEST, "ผู้ทดลองปฏิบัติหน้าที่ราชการนี้มีอยู่แล้ว"); + throw new HttpError( + HttpStatusCode.BAD_REQUEST, + "ผู้ทดลองปฏิบัติหน้าที่ราชการนี้มีอยู่แล้ว" + ); } - let organization = await (requestBody.orgChild4Name ? requestBody.orgChild4Name + "/" : ""); - organization += await (requestBody.orgChild3Name ? requestBody.orgChild3Name + "/" : ""); - organization += await (requestBody.orgChild2Name ? requestBody.orgChild2Name + "/" : ""); - organization += await (requestBody.orgChild1Name ? requestBody.orgChild1Name + "/" : ""); - organization += await (requestBody.orgRootName ? requestBody.orgRootName : ""); + let organization = await (requestBody.orgChild4Name + ? requestBody.orgChild4Name + "/" + : ""); + organization += await (requestBody.orgChild3Name + ? requestBody.orgChild3Name + "/" + : ""); + organization += await (requestBody.orgChild2Name + ? requestBody.orgChild2Name + "/" + : ""); + organization += await (requestBody.orgChild1Name + ? requestBody.orgChild1Name + "/" + : ""); + organization += await (requestBody.orgRootName + ? requestBody.orgRootName + : ""); const personalData = Object.assign(new Personal()); personalData.personal_id = requestBody.id; - personalData.order_number = requestBody.order_number ? requestBody.order_number : ""; + personalData.order_number = requestBody.order_number + ? requestBody.order_number + : ""; personalData.probation_status = 1; personalData.createdUserId = request.user.sub; personalData.createdFullName = request.user.name; personalData.updateUserId = request.user.sub; personalData.updateFullName = request.user.name; + personalData.idcard = requestBody.idcard; personalData.prefixName = requestBody.prefix; personalData.firstName = requestBody.firstName; personalData.lastName = requestBody.lastName; personalData.isProbation = requestBody.isProbation ? 1 : 0; - personalData.positionLevelName = requestBody.posLevelName ? requestBody.posLevelName : ""; - personalData.positionName = requestBody.position ? requestBody.position : ""; + personalData.positionLevelName = requestBody.posLevelName + ? requestBody.posLevelName + : ""; + personalData.positionName = requestBody.position + ? requestBody.position + : ""; personalData.positionLineName = requestBody.posLineName; personalData.positionTypeName = requestBody.posTypeName; personalData.posNo = requestBody.posNo ? requestBody.posNo : ""; @@ -104,7 +127,7 @@ export class PersonalController extends Controller { if (status) { conditions.probation_status = status; } - + const [lists, total] = await this.personalRepository.findAndCount({ order: { createdAt: "DESC" }, where: conditions, @@ -113,7 +136,10 @@ export class PersonalController extends Controller { }); if (!lists) { - throw new HttpError(HttpStatusCode.INTERNAL_SERVER_ERROR, "ไม่สามารถแสดงข้อมูลได้"); + throw new HttpError( + HttpStatusCode.INTERNAL_SERVER_ERROR, + "ไม่สามารถแสดงข้อมูลได้" + ); } let result: any = []; @@ -130,6 +156,10 @@ export class PersonalController extends Controller { personal_id: item.personal_id, ordering: index + 1, name: item.prefixName + item.firstName + " " + item.lastName, + idcard: item.idcard, + prefixName: item.prefixName, + firstName: item.firstName, + lastName: item.lastName, position_line: item.positionName, position_level: item.positionLevelName, position_type: item.positionTypeName, @@ -138,7 +168,7 @@ export class PersonalController extends Controller { order_number: item.order_number, probation_status: item.probation_status, }); - }), + }) ); return new HttpSuccess({ data: result, total: total }); @@ -151,7 +181,10 @@ export class PersonalController extends Controller { * */ @Get("") - async GetPersonal(@Request() request: RequestWithUser, @Query() personal_id: string) { + async GetPersonal( + @Request() request: RequestWithUser, + @Query() personal_id: string + ) { await new permission().PermissionGet(request, "SYS_PROBATION"); const person = await this.personalRepository.findOne({ where: { personal_id: personal_id }, diff --git a/src/entities/Personal.ts b/src/entities/Personal.ts index 8a8b317..5fe85b8 100644 --- a/src/entities/Personal.ts +++ b/src/entities/Personal.ts @@ -103,6 +103,12 @@ export class Personal extends EntityBase { }) organization: string; + @Column({ + nullable: true, + comment: "เลขบัตรประจำตัวประชาชน", + }) + idcard: string; + @OneToMany(() => Assign, (assign: Assign) => assign.personal_id) @JoinColumn({ name: "personal_id" }) assign: Assign[]; @@ -147,6 +153,8 @@ export class CreatePersonal { orgRootName: string; @Column() organization: string; + @Column() + idcard: string; } export class PostPersonal { diff --git a/src/migration/1725594553970-update-assigntb.ts b/src/migration/1725594553970-update-assigntb.ts deleted file mode 100644 index bf5f767..0000000 --- a/src/migration/1725594553970-update-assigntb.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateAssigntb1725594553970 implements MigrationInterface { - name = "UpdateAssigntb1725594553970"; - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query( - `ALTER TABLE \`assign\` ADD \`other_desc\` varchar(255) NULL COMMENT 'กฎหมายอื่นๆ'`, - ); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`assign\` DROP COLUMN \`other_desc\``); - } -} diff --git a/src/migration/1728384119754-add-idcard.ts b/src/migration/1728384119754-add-idcard.ts new file mode 100644 index 0000000..e78c0ae --- /dev/null +++ b/src/migration/1728384119754-add-idcard.ts @@ -0,0 +1,15 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class AddIdcard1728384119754 implements MigrationInterface { + name = "AddIdcard1728384119754"; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE \`personal\` ADD \`idcard\` varchar(255) NULL COMMENT 'เลขบัตรประจำตัวประชาชน'` + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`personal\` DROP COLUMN \`idcard\``); + } +}