diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index 8f41674c..c7550f9e 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -121,6 +121,7 @@ export class PositionController extends Controller { posExecutiveId: String(posDict.posExecutiveId), posDictExecutiveField: posDict.posDictExecutiveField, posDictArea: posDict.posDictArea, + isSpecial: posDict.isSpecial, }, }); if (rowRepeated) { @@ -268,6 +269,7 @@ export class PositionController extends Controller { posExecutiveName: item.posExecutive == null ? null : item.posExecutive.posExecutiveName, positionExecutiveField: item.posDictExecutiveField, positionArea: item.posDictArea, + isSpecial: item.isSpecial, positionIsSelected: false, }; }), @@ -359,9 +361,7 @@ export class PositionController extends Controller { const dataDup: any = await this.posMasterRepository.findOne({ where: { orgChild4Id: orgChild4.id, - posMasterNoPrefix: requestBody.posMasterNoPrefix, posMasterNo: requestBody.posMasterNo, - posMasterNoSuffix: requestBody.posMasterNoSuffix, }, }); if (dataDup != null) @@ -530,6 +530,7 @@ export class PositionController extends Controller { position.posExecutiveId = x.posExecutiveId; position.positionExecutiveField = x.posDictExecutiveField; position.positionArea = x.posDictArea; + position.isSpecial = x.isSpecial; position.positionIsSelected = false; position.posMasterId = posMaster.id; position.createdUserId = request.user.sub; @@ -746,6 +747,7 @@ export class PositionController extends Controller { position.posExecutiveId = x.posExecutiveId; position.positionExecutiveField = x.posDictExecutiveField; position.positionArea = x.posDictArea; + position.isSpecial = x.isSpecial; position.positionIsSelected = false; position.posMasterId = posMaster.id; position.createdUserId = request.user.sub; @@ -796,6 +798,7 @@ export class PositionController extends Controller { positionExecutiveField: position.positionExecutiveField, positionArea: position.positionArea, positionIsSelected: position.positionIsSelected, + isSpecial: position.isSpecial, })), }; return new HttpSuccess(formattedData); @@ -1140,6 +1143,7 @@ export class PositionController extends Controller { positionExecutiveField: position.positionExecutiveField, positionArea: position.positionArea, positionIsSelected: position.positionIsSelected, + isSpecial: position.isSpecial, })), }; }), @@ -2283,6 +2287,7 @@ export class PositionController extends Controller { positionExecutiveField: position.positionExecutiveField, positionArea: position.positionArea, positionIsSelected: position.positionIsSelected, + isSpecial: position.isSpecial, })), }; }), diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index 7462474a..e62eaa47 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -155,7 +155,10 @@ export class ProfileController extends Controller { } const checkCitizenId = await this.profileRepository.findOne({ - where: { citizenId: requestBody.citizenId }, + where: { + id: Not(id), + citizenId: requestBody.citizenId , + }, }); if (checkCitizenId) { diff --git a/src/entities/PosDict.ts b/src/entities/PosDict.ts index bf236a09..a7f1b768 100644 --- a/src/entities/PosDict.ts +++ b/src/entities/PosDict.ts @@ -58,6 +58,12 @@ export class PosDict extends EntityBase { }) posDictArea: string; + @Column({ + comment: "ฉ", + default: false, + }) + isSpecial: boolean; + @ManyToOne(() => PosExecutive, (posExecutive) => posExecutive) @JoinColumn({ name: "posExecutiveId" }) posExecutive: PosExecutive; @@ -92,6 +98,9 @@ export class CreatePosDict { @Column() posDictArea: string | null; + + @Column() + isSpecial: boolean; } export type UpdatePosDict = Partial; diff --git a/src/entities/Position.ts b/src/entities/Position.ts index 268e8068..8fd16b50 100644 --- a/src/entities/Position.ts +++ b/src/entities/Position.ts @@ -71,6 +71,12 @@ export class Position extends EntityBase { }) posMasterId: string; + @Column({ + comment: "ฉ", + default: false, + }) + isSpecial: boolean; + @ManyToOne(() => PosMaster, (posMaster) => posMaster) @JoinColumn({ name: "posMasterId" }) posMaster: PosMaster; @@ -108,6 +114,9 @@ export class CreatePosition { @Column() positionArea: string; + + @Column() + isSpecial: boolean; } export type UpdatePosition = Partial; diff --git a/src/migration/1708423229800-update_table_pos_add_isSpecial.ts b/src/migration/1708423229800-update_table_pos_add_isSpecial.ts new file mode 100644 index 00000000..74db7762 --- /dev/null +++ b/src/migration/1708423229800-update_table_pos_add_isSpecial.ts @@ -0,0 +1,16 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTablePosAddIsSpecial1708423229800 implements MigrationInterface { + name = 'UpdateTablePosAddIsSpecial1708423229800' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`posDict\` ADD \`isSpacial\` tinyint NOT NULL COMMENT 'ฉ' DEFAULT 0`); + await queryRunner.query(`ALTER TABLE \`position\` ADD \`isSpacial\` tinyint NOT NULL COMMENT 'ฉ' DEFAULT 0`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`position\` DROP COLUMN \`isSpacial\``); + await queryRunner.query(`ALTER TABLE \`posDict\` DROP COLUMN \`isSpacial\``); + } + +} diff --git a/src/migration/1708423721800-update_table_pos_add_isSpecial1.ts b/src/migration/1708423721800-update_table_pos_add_isSpecial1.ts new file mode 100644 index 00000000..1cd21c2c --- /dev/null +++ b/src/migration/1708423721800-update_table_pos_add_isSpecial1.ts @@ -0,0 +1,16 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTablePosAddIsSpecial11708423721800 implements MigrationInterface { + name = 'UpdateTablePosAddIsSpecial11708423721800' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`isSpacial\` \`isSpecial\` tinyint NOT NULL COMMENT 'ฉ' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`isSpacial\` \`isSpecial\` tinyint NOT NULL COMMENT 'ฉ' DEFAULT '0'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`isSpecial\` \`isSpacial\` tinyint NOT NULL COMMENT 'ฉ' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`isSpecial\` \`isSpacial\` tinyint NOT NULL COMMENT 'ฉ' DEFAULT '0'`); + } + +}