From f1111321841b2d0c13f7e1cc6f365dca4c2bd153 Mon Sep 17 00:00:00 2001 From: mamoss <> Date: Sat, 25 Oct 2025 01:55:54 +0700 Subject: [PATCH 1/3] add api key --- src/controllers/ApiKeyController.ts | 61 +- .../ProfileGovernmentController.ts | 122 +- .../ProfileGovernmentEmployeeController.ts | 170 +- src/entities/ApiKey.ts | 66 + .../1754401420685-update210720261141.ts | 34 - .../1754549669635-update_api_name.ts | 1316 -------------- ...n_between_profile_and_profileChangeName.ts | 1540 ----------------- ...375-add_field_orderNo_in_table_position.ts | 1538 ---------------- .../1756282384029-create_table_registry_.ts | 16 - ...65498-update_registry_fix_length_prefix.ts | 20 - ...egistrymployere_add_field_employeeClass.ts | 14 - ...e_fields_registry_and_registryEmpployee.ts | 36 - ...4755-update_table_apiKey_add_accessType.ts | 24 + 13 files changed, 291 insertions(+), 4666 deletions(-) delete mode 100644 src/migration/1754401420685-update210720261141.ts delete mode 100644 src/migration/1754549669635-update_api_name.ts delete mode 100644 src/migration/1755658274181-add_relation_between_profile_and_profileChangeName.ts delete mode 100644 src/migration/1755838437375-add_field_orderNo_in_table_position.ts delete mode 100644 src/migration/1756282384029-create_table_registry_.ts delete mode 100644 src/migration/1756357065498-update_registry_fix_length_prefix.ts delete mode 100644 src/migration/1756364862810-update_registrymployere_add_field_employeeClass.ts delete mode 100644 src/migration/1757484721787-update_dataType_fields_registry_and_registryEmpployee.ts create mode 100644 src/migration/1761330464755-update_table_apiKey_add_accessType.ts diff --git a/src/controllers/ApiKeyController.ts b/src/controllers/ApiKeyController.ts index 9f07de97..4c9664d7 100644 --- a/src/controllers/ApiKeyController.ts +++ b/src/controllers/ApiKeyController.ts @@ -20,6 +20,8 @@ import { In } from "typeorm"; import { RequestWithUser } from "../middlewares/user"; import { ApiName } from "../entities/ApiName"; import { ApiHistory } from "../entities/ApiHistory"; + +const jwt = require("jsonwebtoken"); @Route("api/v1/org/apiKey") @Tags("ApiKey") @Security("bearerAuth") @@ -32,6 +34,32 @@ export class ApiKeyController extends Controller { private apiNameRepository = AppDataSource.getRepository(ApiName); private apiHistoryRepository = AppDataSource.getRepository(ApiHistory); + /** + * API ตรวจสอบและถอดรหัส JWT token + * + * @summary ตรวจสอบ JWT API Key + */ + @Post("verify") + async verifyApiKey(@Body() requestBody: { token: string }) { + try { + const jwtSecret = process.env.JWT_SECRET || "your-default-secret-key"; + console.log("JWT_SECRET from env:", process.env.JWT_SECRET ? "exists" : "not found"); + console.log("Using secret:", jwtSecret); + + const decoded = jwt.verify(requestBody.token, jwtSecret); + return new HttpSuccess({ + valid: true, + data: decoded, + }); + } catch (error: any) { + console.error("JWT Verification Error:", error.message); + return new HttpSuccess({ + valid: false, + error: error.message, + }); + } + } + /** * API สร้าง Api Key * @@ -52,8 +80,33 @@ export class ApiKeyController extends Controller { const apiName = await this.apiNameRepository.find({ where: { id: In(requestBody.apiId) }, }); + const apiKey = Object.assign(new ApiKey(), requestBody); - apiKey.keyApi = require("crypto").randomBytes(64).toString("base64"); + + // Create JWT token with embedded data + const tokenPayload = { + keyId: apiKey.id || require("crypto").randomUUID(), + name: apiKey.name, + accessType: apiKey.accessType, + dnaRootId: apiKey.dnaRootId, + dnaChild1Id: apiKey.dnaChild1Id, + dnaChild2Id: apiKey.dnaChild2Id, + dnaChild3Id: apiKey.dnaChild3Id, + dnaChild4Id: apiKey.dnaChild4Id, + apiIds: requestBody.apiId, + createdBy: request.user.sub, + createdAt: new Date().toISOString(), + iat: Math.floor(Date.now() / 1000), + }; + + // Sign JWT with secret (you should use environment variable for the secret) + const jwtSecret = process.env.JWT_SECRET || "your-default-secret-key"; + + const jwtToken = jwt.sign(tokenPayload, jwtSecret, { + expiresIn: "365d", // 1 year expiration + }); + + apiKey.keyApi = jwtToken; apiKey.apiNames = apiName; apiKey.createdUserId = request.user.sub; apiKey.createdFullName = request.user.name; @@ -104,6 +157,12 @@ export class ApiKeyController extends Controller { createdUserId: _data.createdUserId, createdFullName: _data.createdFullName, name: _data.name, + accessType: _data.accessType, + dnaRootId: _data.dnaRootId, + dnaChild1Id: _data.dnaChild1Id, + dnaChild2Id: _data.dnaChild2Id, + dnaChild3Id: _data.dnaChild3Id, + dnaChild4Id: _data.dnaChild4Id, apiNames: _data.apiNames.map((x) => ({ id: x.id, name: x.name, diff --git a/src/controllers/ProfileGovernmentController.ts b/src/controllers/ProfileGovernmentController.ts index f2acbaba..3ecdabc9 100644 --- a/src/controllers/ProfileGovernmentController.ts +++ b/src/controllers/ProfileGovernmentController.ts @@ -148,6 +148,7 @@ export class ProfileGovernmentHistoryController extends Controller { let _workflow = await new permission().Workflow(req, profileId, "SYS_REGISTRY_OFFICER"); if (_workflow == false) await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_OFFICER", profileId); + const orgRevision = await this.orgRevisionRepository.findOne({ select: ["id"], where: { @@ -155,10 +156,22 @@ export class ProfileGovernmentHistoryController extends Controller { orgRevisionIsCurrent: true, }, }); + + // ค้นหา profile ก่อน const record = await this.profileRepo.findOne({ - where: { + where: { id: profileId }, + relations: ["posType", "posLevel"], + }); + + if (!record) { + throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล profile"); + } + + // ค้นหา profileSalary แยกต่างหาก + const profileWithSalary = await this.profileRepo.findOne({ + where: { id: profileId, - profileSalary: { + profileSalary: { commandCode: In([ "0", "9", @@ -175,16 +188,19 @@ export class ProfileGovernmentHistoryController extends Controller { "15", "16", ]), - } + }, }, - relations: ["posType", "posLevel", "profileSalary"], + relations: ["profileSalary"], order: { profileSalary: { order: "DESC", - createdAt: "DESC" - } - } + createdAt: "DESC", + }, + }, }); + + // ใช้ profileSalary จาก query ที่สอง หรือ [] ถ้าไม่เจอ + record.profileSalary = profileWithSalary?.profileSalary || []; const posMaster = await this.posMasterRepo.findOne({ where: { orgRevisionId: orgRevision?.id, @@ -236,8 +252,8 @@ export class ProfileGovernmentHistoryController extends Controller { orgShortName = posMaster.orgChild4?.orgChild4ShortName ?? ""; } } - let _OrgLeave:any = [] - let _profileSalary:any = null; + let _OrgLeave: any = []; + let _profileSalary: any = null; if (record?.isLeave && record?.profileSalary.length > 0) { // _OrgLeave = [ // record?.profileSalary[0].orgChild4 ? record?.profileSalary[0].orgChild4 : null, @@ -247,15 +263,14 @@ export class ProfileGovernmentHistoryController extends Controller { // record?.profileSalary[0].orgRoot ? record?.profileSalary[0].orgRoot : null, // ]; if (record.leaveType == "RETIRE") { - _profileSalary = record?.profileSalary.length > 1 - ? record?.profileSalary[1] - : record?.profileSalary.length > 0 + _profileSalary = + record?.profileSalary.length > 1 + ? record?.profileSalary[1] + : record?.profileSalary.length > 0 ? record?.profileSalary[0] : null; } else { - _profileSalary = record?.profileSalary.length > 0 - ? record?.profileSalary[0] - : null; + _profileSalary = record?.profileSalary.length > 0 ? record?.profileSalary[0] : null; } if (_profileSalary) { _OrgLeave = [ @@ -269,17 +284,20 @@ export class ProfileGovernmentHistoryController extends Controller { _OrgLeave = []; } } - const orgLeave = _OrgLeave.filter((x:any) => x !== undefined && x !== null).join("\n"); + const orgLeave = _OrgLeave.filter((x: any) => x !== undefined && x !== null).join("\n"); const data = { org: record?.isLeave == false ? org : orgLeave, //สังกัด positionField: position == null ? null : position.positionField, //สายงาน position: record?.position, //ตำแหน่ง posLevel: record?.posLevel == null ? null : record?.posLevel.posLevelName, //ระดับ - posMasterNo: record?.isLeave == false - ? posMaster == null ? null : `${orgShortName} ${posMaster.posMasterNo}` - : _profileSalary != null - ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` - : null, //เลขที่ตำแหน่ง + posMasterNo: + record?.isLeave == false + ? posMaster == null + ? null + : `${orgShortName} ${posMaster.posMasterNo}` + : _profileSalary != null + ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` + : null, //เลขที่ตำแหน่ง posType: record?.posType == null ? null : record?.posType.posTypeName, //ประเภท posExecutive: position == null || position.posExecutive == null @@ -310,8 +328,20 @@ export class ProfileGovernmentHistoryController extends Controller { orgRevisionIsCurrent: true, }, }); + + // ค้นหา profile ก่อน const record = await this.profileRepo.findOne({ - where: { + where: { id: profileId }, + relations: ["posType", "posLevel"], + }); + + if (!record) { + throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล profile"); + } + + // ค้นหา profileSalary แยกต่างหาก + const profileWithSalary = await this.profileRepo.findOne({ + where: { id: profileId, profileSalary: { commandCode: In([ @@ -330,20 +360,19 @@ export class ProfileGovernmentHistoryController extends Controller { "15", "16", ]), - } - }, - relations: { - posType: true, - posLevel: true, - profileSalary: true + }, }, + relations: ["profileSalary"], order: { profileSalary: { order: "DESC", - createdAt: "DESC" - } - } + createdAt: "DESC", + }, + }, }); + + // ใช้ profileSalary จาก query ที่สอง หรือ [] ถ้าไม่เจอ + record.profileSalary = profileWithSalary?.profileSalary || []; const posMaster = await this.posMasterRepo.findOne({ where: { orgRevisionId: orgRevision?.id, @@ -395,8 +424,8 @@ export class ProfileGovernmentHistoryController extends Controller { orgShortName = posMaster.orgChild4?.orgChild4ShortName; } } - let _OrgLeave:any = [] - let _profileSalary:any = null; + let _OrgLeave: any = []; + let _profileSalary: any = null; if (record?.isLeave && record?.profileSalary.length > 0) { // _OrgLeave = [ // record?.profileSalary[0].orgChild4 ? record?.profileSalary[0].orgChild4 : null, @@ -406,15 +435,14 @@ export class ProfileGovernmentHistoryController extends Controller { // record?.profileSalary[0].orgRoot ? record?.profileSalary[0].orgRoot : null, // ]; if (record.leaveType == "RETIRE") { - _profileSalary = record?.profileSalary.length > 1 - ? record?.profileSalary[1] - : record?.profileSalary.length > 0 + _profileSalary = + record?.profileSalary.length > 1 + ? record?.profileSalary[1] + : record?.profileSalary.length > 0 ? record?.profileSalary[0] : null; } else { - _profileSalary = record?.profileSalary.length > 0 - ? record?.profileSalary[0] - : null; + _profileSalary = record?.profileSalary.length > 0 ? record?.profileSalary[0] : null; } if (_profileSalary) { _OrgLeave = [ @@ -428,19 +456,19 @@ export class ProfileGovernmentHistoryController extends Controller { _OrgLeave = []; } } - const orgLeave = _OrgLeave.filter((x:any) => x !== undefined && x !== null).join("\n"); + const orgLeave = _OrgLeave.filter((x: any) => x !== undefined && x !== null).join("\n"); const data = { org: record?.isLeave == false ? org : orgLeave, //สังกัด positionField: position == null ? null : position.positionField, //สายงาน position: record?.position, //ตำแหน่ง posLevel: record?.posLevel == null ? null : record?.posLevel.posLevelName, //ระดับ - posMasterNo: - record?.isLeave == false - ? posMaster == null - ? null + posMasterNo: + record?.isLeave == false + ? posMaster == null + ? null : `${orgShortName} ${posMaster.posMasterNo}` - : _profileSalary != null - ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` + : _profileSalary != null + ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` : null, //เลขที่ตำแหน่ง posType: record?.posType == null ? null : record?.posType.posTypeName, //ประเภท posExecutive: @@ -458,7 +486,7 @@ export class ProfileGovernmentHistoryController extends Controller { govAgeAbsent: record?.govAgeAbsent, govAgePlus: record?.govAgePlus, reasonSameDate: record?.reasonSameDate, - isLeave: record?.isLeave + isLeave: record?.isLeave, }; return new HttpSuccess(data); diff --git a/src/controllers/ProfileGovernmentEmployeeController.ts b/src/controllers/ProfileGovernmentEmployeeController.ts index ce170d17..ecc796dc 100644 --- a/src/controllers/ProfileGovernmentEmployeeController.ts +++ b/src/controllers/ProfileGovernmentEmployeeController.ts @@ -149,36 +149,16 @@ export class ProfileGovernmentEmployeeController extends Controller { orgRevisionIsCurrent: true, }, }); + + // ค้นหา profile ก่อน const record = await this.profileEmployeeRepo.findOne({ - where: { - id: profileEmployeeId, - // profileSalary: { - // commandCode: In([ - // "0", - // "9", - // "1", - // "2", - // "3", - // "4", - // "8", - // "10", - // "11", - // "12", - // "13", - // "14", - // "15", - // "16", - // ]), - // } - }, - relations: ["posType", "posLevel"/*, "profileSalary"*/], - // order: { - // profileSalary: { - // order: "DESC", - // createdAt: "DESC" - // } - // } + where: { id: profileEmployeeId }, + relations: ["posType", "posLevel"], }); + + if (!record) { + throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล profile"); + } const posMaster = await this.posMasterRepo.findOne({ where: { orgRevisionId: orgRevision?.id, @@ -217,10 +197,10 @@ export class ProfileGovernmentEmployeeController extends Controller { orgShortName = posMaster.orgChild4?.orgChild4ShortName; } } - let _OrgLeave:any = [] - let orgLeave:string = "" - let posNoLeave:string = "" - let _profileSalary:any = null; + let _OrgLeave: any = []; + let orgLeave: string = ""; + let posNoLeave: string = ""; + let _profileSalary: any = null; if (record?.isLeave /*&& record?.profileSalary.length > 0*/) { const profileSalary = await this.salaryRepo.find({ select: [ @@ -230,7 +210,7 @@ export class ProfileGovernmentEmployeeController extends Controller { "orgChild3", "orgChild4", "posNoAbb", - "posNo" + "posNo", ], where: { profileEmployeeId: profileEmployeeId, @@ -253,8 +233,8 @@ export class ProfileGovernmentEmployeeController extends Controller { }, order: { order: "DESC", - createdAt: "DESC" - } + createdAt: "DESC", + }, }); // _OrgLeave = [ // profileSalary.length > 0 && profileSalary[0].orgChild4 ? profileSalary[0].orgChild4 : null, @@ -264,15 +244,14 @@ export class ProfileGovernmentEmployeeController extends Controller { // profileSalary.length > 0 && profileSalary[0].orgRoot ? profileSalary[0].orgRoot : null, // ]; if (record.leaveType == "RETIRE") { - _profileSalary = profileSalary.length > 1 - ? profileSalary[1] - : profileSalary.length > 0 - ? profileSalary[0] - : null; + _profileSalary = + profileSalary.length > 1 + ? profileSalary[1] + : profileSalary.length > 0 + ? profileSalary[0] + : null; } else { - _profileSalary = profileSalary.length > 0 - ? profileSalary[0] - : null + _profileSalary = profileSalary.length > 0 ? profileSalary[0] : null; } if (_profileSalary) { _OrgLeave = [ @@ -285,10 +264,9 @@ export class ProfileGovernmentEmployeeController extends Controller { } else { _OrgLeave = []; } - orgLeave = _OrgLeave.filter((x:any) => x !== undefined && x !== null).join("\n"); - posNoLeave = _profileSalary != null - ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` - : "" + orgLeave = _OrgLeave.filter((x: any) => x !== undefined && x !== null).join("\n"); + posNoLeave = + _profileSalary != null ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` : ""; } const data = { org: record?.isLeave == false ? org : orgLeave, //สังกัด @@ -297,9 +275,12 @@ export class ProfileGovernmentEmployeeController extends Controller { record?.posLevel == null ? null : `${record?.posType?.posTypeShortName ?? ""} ${record?.posLevel?.posLevelName ?? ""}`, //ระดับ - posMasterNo: record?.isLeave == false - ? posMaster == null ? null : `${orgShortName} ${posMaster.posMasterNo}` - : posNoLeave/*record && record?.profileSalary.length > 0 + posMasterNo: + record?.isLeave == false + ? posMaster == null + ? null + : `${orgShortName} ${posMaster.posMasterNo}` + : posNoLeave /*record && record?.profileSalary.length > 0 ? `${record?.profileSalary[0].posNoAbb} ${record?.profileSalary[0].posNo}` : null*/, //เลขที่ตำแหน่ง posType: record?.posType == null ? null : record?.posType.posTypeName, //ประเภท @@ -326,34 +307,16 @@ export class ProfileGovernmentEmployeeController extends Controller { orgRevisionIsCurrent: true, }, }); + + // ค้นหา profile ก่อน const record = await this.profileEmployeeRepo.findOne({ - where: { - id: profileEmployeeId, - // profileSalary:{ - // commandCode: In([ - // "0", - // "9", - // "1", - // "2", - // "3", - // "4", - // "8", - // "10", - // "11", - // "12", - // "13", - // "14", - // "15", - // "16", - // ]), - // } - }, - relations: { - posType: true, - posLevel: true, - // profileSalary: true - }, + where: { id: profileEmployeeId }, + relations: ["posType", "posLevel"], }); + + if (!record) { + throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล profile"); + } const posMaster = await this.posMasterRepo.findOne({ where: { orgRevisionId: orgRevision?.id, @@ -392,10 +355,10 @@ export class ProfileGovernmentEmployeeController extends Controller { orgShortName = posMaster.orgChild4?.orgChild4ShortName; } } - let _OrgLeave:any = [] - let orgLeave:string = "" - let posNoLeave:string = "" - let _profileSalary:any = null; + let _OrgLeave: any = []; + let orgLeave: string = ""; + let posNoLeave: string = ""; + let _profileSalary: any = null; if (record?.isLeave /*&& record?.profileSalary.length > 0*/) { const profileSalary = await this.salaryRepo.find({ select: [ @@ -405,7 +368,7 @@ export class ProfileGovernmentEmployeeController extends Controller { "orgChild3", "orgChild4", "posNoAbb", - "posNo" + "posNo", ], where: { profileEmployeeId: profileEmployeeId, @@ -428,8 +391,8 @@ export class ProfileGovernmentEmployeeController extends Controller { }, order: { order: "DESC", - createdAt: "DESC" - } + createdAt: "DESC", + }, }); // _OrgLeave = [ // profileSalary.length > 0 && profileSalary[0].orgChild4 ? profileSalary[0].orgChild4 : null, @@ -439,15 +402,14 @@ export class ProfileGovernmentEmployeeController extends Controller { // profileSalary.length > 0 && profileSalary[0].orgRoot ? profileSalary[0].orgRoot : null, // ]; if (record.leaveType == "RETIRE") { - _profileSalary = profileSalary.length > 1 - ? profileSalary[1] - : profileSalary.length > 0 - ? profileSalary[0] - : null; + _profileSalary = + profileSalary.length > 1 + ? profileSalary[1] + : profileSalary.length > 0 + ? profileSalary[0] + : null; } else { - _profileSalary = profileSalary.length > 0 - ? profileSalary[0] - : null; + _profileSalary = profileSalary.length > 0 ? profileSalary[0] : null; } if (_profileSalary) { _OrgLeave = [ @@ -460,23 +422,23 @@ export class ProfileGovernmentEmployeeController extends Controller { } else { _OrgLeave = []; } - orgLeave = _OrgLeave.filter((x:any) => x !== undefined && x !== null).join("\n"); - posNoLeave = _profileSalary != null - ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` - : "" + orgLeave = _OrgLeave.filter((x: any) => x !== undefined && x !== null).join("\n"); + posNoLeave = + _profileSalary != null ? `${_profileSalary.posNoAbb} ${_profileSalary.posNo}` : ""; } const data = { org: record?.isLeave == false ? org : orgLeave, //สังกัด position: record?.position, //ตำแหน่ง - posLevel: record?.posLevel == null && record?.posType == null - ? null - : `${record?.posType.posTypeShortName} ${record?.posLevel.posLevelName}`, //ระดับ - posMasterNo: - record?.isLeave == false - ? posMaster == null - ? null + posLevel: + record?.posLevel == null && record?.posType == null + ? null + : `${record?.posType.posTypeShortName} ${record?.posLevel.posLevelName}`, //ระดับ + posMasterNo: + record?.isLeave == false + ? posMaster == null + ? null : `${orgShortName} ${posMaster.posMasterNo}` - : posNoLeave/*record && record.profileSalary.length > 0 + : posNoLeave /*record && record.profileSalary.length > 0 ? `${record?.profileSalary[0].posNoAbb} ${record?.profileSalary[0].posNo}` : null*/, //เลขที่ตำแหน่ง posType: record?.posType == null ? null : record?.posType.posTypeName, //ประเภท @@ -490,7 +452,7 @@ export class ProfileGovernmentEmployeeController extends Controller { govAgeAbsent: record?.govAgeAbsent ?? null, // ขาดราชการ govAgePlus: record?.govAgePlus, // อายุราชการเกื้อกูล dateRetireLaw: record?.dateRetireLaw ?? null, // วันที่เกษียฯอายุราชการตามกฎหมาย - isLeave: record?.isLeave + isLeave: record?.isLeave, }; return new HttpSuccess(data); } diff --git a/src/entities/ApiKey.ts b/src/entities/ApiKey.ts index 2d2bfdb8..8f220fea 100644 --- a/src/entities/ApiKey.ts +++ b/src/entities/ApiKey.ts @@ -21,6 +21,54 @@ export class ApiKey extends EntityBase { }) keyApi: string; + @Column({ + nullable: true, + comment: "accessType", + length: 40, + default: null, + }) + accessType: string; + + @Column({ + nullable: true, + comment: "dnaRootId", + length: 40, + default: null, + }) + dnaRootId: string; + + @Column({ + nullable: true, + comment: "dnaChild1Id", + length: 40, + default: null, + }) + dnaChild1Id: string; + + @Column({ + nullable: true, + comment: "dnaChild2Id", + length: 40, + default: null, + }) + dnaChild2Id: string; + + @Column({ + nullable: true, + comment: "dnaChild3Id", + length: 40, + default: null, + }) + dnaChild3Id: string; + + @Column({ + nullable: true, + comment: "dnaChild4Id", + length: 40, + default: null, + }) + dnaChild4Id: string; + @ManyToMany(() => ApiName, (apiName) => apiName.apiKeys) apiNames: ApiName[]; @@ -34,4 +82,22 @@ export class CreateApiKey { @Column() apiId: string[]; + + @Column() + accessType?: string; + + @Column() + dnaRootId?: string; + + @Column() + dnaChild1Id?: string; + + @Column() + dnaChild2Id?: string; + + @Column() + dnaChild3Id?: string; + + @Column() + dnaChild4Id?: string; } diff --git a/src/migration/1754401420685-update210720261141.ts b/src/migration/1754401420685-update210720261141.ts deleted file mode 100644 index 58b59f0e..00000000 --- a/src/migration/1754401420685-update210720261141.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class Update2107202611411754401420685 implements MigrationInterface { - name = 'Update2107202611411754401420685' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`commandRecive\` ADD \`posNo\` varchar(255) NULL COMMENT 'เลขที่ตำแหน่ง'`); - await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` ADD \`birthDateOld\` datetime NULL COMMENT 'วันเกิดเดิม โดยจะบันทึกเมื่อมีการแก้ไขข้อมูลส่วนตัว'`); - await queryRunner.query(`ALTER TABLE \`profileHistory\` ADD \`birthDateOld\` datetime NULL COMMENT 'วันเกิดเดิม โดยจะบันทึกเมื่อมีการแก้ไขข้อมูลส่วนตัว'`); - await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry' DEFAULT 0`); - await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); - await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); - await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); - await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); - await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); - await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); - await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD CONSTRAINT \`FK_f1ded3e1f83ab2437f739a14f38\` FOREIGN KEY (\`profileSalaryId\`) REFERENCES \`profileSalary\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP FOREIGN KEY \`FK_f1ded3e1f83ab2437f739a14f38\``); - await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); - await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); - await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); - await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); - await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); - await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); - await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL DEFAULT '0'`); - await queryRunner.query(`ALTER TABLE \`profileHistory\` DROP COLUMN \`birthDateOld\``); - await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` DROP COLUMN \`birthDateOld\``); - await queryRunner.query(`ALTER TABLE \`commandRecive\` DROP COLUMN \`posNo\``); - } - -} diff --git a/src/migration/1754549669635-update_api_name.ts b/src/migration/1754549669635-update_api_name.ts deleted file mode 100644 index 3fda0d81..00000000 --- a/src/migration/1754549669635-update_api_name.ts +++ /dev/null @@ -1,1316 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateApiName1754549669635 implements MigrationInterface { - name = 'UpdateApiName1754549669635' - - public async up(queryRunner: QueryRunner): Promise { -// await queryRunner.query(`CREATE TABLE \`HR_CHANGENAME_EMPTEMP\` (\`CIT\` text NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`NEW_RANK_NAME\` text NULL, \`NEW_FNAME\` text NULL, \`NEW_LNAME\` text NULL, \`LAST_RANK_NAME\` text NULL, \`LAST_FNAME\` text NULL, \`LAST_LNAME\` text NULL, \`EFFECT_DATE\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); -// await queryRunner.query(`CREATE TABLE \`EMPLOYEE\` (\`id\` int NOT NULL AUTO_INCREMENT, \`ID\` text NULL, \`CIT\` text NULL, \`BORN\` text NULL, \`RANK_NAME\` text NULL, \`FNAME\` text NULL, \`LNAME\` text NULL, \`BEGIN_ENTRY_DATE\` text NULL, \`SEX\` text NULL, \`WORK_LINE_NAME\` text NULL, \`SALARY\` text NULL, \`DEPARTMENT_NAME\` text NULL, \`DEPARTMENT_CODE\` text NULL, \`DIVISION_NAME\` text NULL, \`DIVISION_CODE\` text NULL, \`SECTION_NAME\` text NULL, \`SECTION_CODE\` text NULL, \`JOB_NAME\` text NULL, \`JOB_CODE\` text NULL, \`POS_NUM_CODE\` text NULL, \`POS_NUM_NAME\` text NULL, \`CATEGORY_SAL_CODE\` text NULL, \`SALARY_LEVEL_CODE\` text NULL, \`LEVEL_NAME\` text NULL, \`WORK_LEVEL\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); -// await queryRunner.query(`CREATE TABLE \`EMPLOYEETEMP\` (\`id\` int NOT NULL AUTO_INCREMENT, \`ID\` text NULL, \`CIT\` text NULL, \`BORN\` text NULL, \`RANK_NAME\` text NULL, \`FNAME\` text NULL, \`LNAME\` text NULL, \`BEGIN_ENTRY_DATE\` text NULL, \`SEX\` text NULL, \`WORK_LINE_NAME\` text NULL, \`SALARY\` text NULL, \`DEPARTMENT_NAME\` text NULL, \`DEPARTMENT_CODE\` text NULL, \`DIVISION_NAME\` text NULL, \`DIVISION_CODE\` text NULL, \`SECTION_NAME\` text NULL, \`SECTION_CODE\` text NULL, \`JOB_NAME\` text NULL, \`JOB_CODE\` text NULL, \`POS_NUM_CODE\` text NULL, \`POS_NUM_NAME\` text NULL, \`CATEGORY_SAL_CODE\` text NULL, \`SALARY_LEVEL_CODE\` text NULL, \`LEVEL_NAME\` text NULL, \`WORK_LEVEL\` text NULL, \`POSITION_LEVEL\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`amount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionSalaryAmount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`mouthSalaryAmount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`profileId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionExecutive\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionType\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionLevel\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`order\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`profileEmployeeId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`dateGovernment\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`isGovernment\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`amountSpecial\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgRoot\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild1\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild2\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild3\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild4\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandYear\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandDateSign\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandDateAffect\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandCode\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNoAbb\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionCee\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`IsActive\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryClass\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OcId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveSideId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLineId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionPathSideId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OrganizationShortNameId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeeGroupId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeeLevelId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeePositionId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeePositionSideId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoEmployee\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`RefCommandDate\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`RefCommandNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`CommandTypeName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryStatus\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`AgencyName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`CLevel\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OrgName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLineName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionPathSideName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionRef\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIALIST_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`USER_CREATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`USER_UPDATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FORCE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`JOB_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SECTION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`WORK_LINE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`ADMIN_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_CODE_1\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME_1\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIALIST_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FILL_APP_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_POS_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`UP_C_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG_CURRENT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`AUDIT_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`AUDIT_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CREATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`UPDATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG_1\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COURSE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`PLACE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`PROVINCE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COUNTRY_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POSITION_CATG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`REC_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MVMENT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MVMENT_OF\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE_E\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_E\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_CEE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_LEVEL\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`GROUPWORK_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`GROUPWORK_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`ACTIVE_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`ORDER\``); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`HRMS_DEP_CODE\``); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`HRMS_DIV_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_PERSON_TYPE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RANK_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TYPE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETURN_OCCUPY_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FORCE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UPCLASS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FUND_COURSE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`EDUCATION_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MAJOR_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UNIVER_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POSITION_CATG\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ADMIN_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_2\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIALIST_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIALIST_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ADMIN_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_ADD\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_PERCENT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_AMT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`PAYMENT_AMT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`PAYMENT_PERCENT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`COST_LIVING_AMOUNT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_CUR_ST\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_POS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_MP_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_CODE_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CUR_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CONTENT_NO\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_NUM_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CUR_YEAR_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_YEAR_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_DATE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_POS_DATE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_1_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_AMT_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_ADD_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`GROUPWORK_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_NAME_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_RETIRE_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MARRIAGE_STATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SUN_NO\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETIRE_TYPE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETIRE_POS_NO\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`DEXPIRE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`HELP_LIVING_AMOUNT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_DEPARTMENT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_DIVISION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_SECTION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_JOB_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CREATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UPDATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MINOR_CODE\``); - await queryRunner.query(`ALTER TABLE \`apiName\` ADD \`code\` varchar(8) NOT NULL COMMENT 'code สำหรับการเรียก API'`); - await queryRunner.query(`ALTER TABLE \`apiName\` ADD \`system\` varchar(50) NOT NULL COMMENT 'code ระบบสำหรับการเรียก API' DEFAULT 'registry'`); - await queryRunner.query(`ALTER TABLE \`apiName\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT 0`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`Order\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`Amount\` double NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionSalaryAmount\` double NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`ProfileId\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ID\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`FUND_COURSE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`MAJOR_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`FLAG_EDUCATION\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry' DEFAULT 0`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry' DEFAULT 0`); -// await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`subDistrictImport\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNo\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryRef\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryRef\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` DROP COLUMN \`mp_command_num\``); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_POS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_POS_DATE\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FUND_COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FUND_COURSE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MAJOR_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FLAG_EDUCATION\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FLAG_EDUCATION\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`educationMis\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD CONSTRAINT \`FK_f1ded3e1f83ab2437f739a14f38\` FOREIGN KEY (\`profileSalaryId\`) REFERENCES \`profileSalary\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE \`apiAttribute\` ADD CONSTRAINT \`FK_13856cc8b4244f6a6fc26c4e0ff\` FOREIGN KEY (\`apiNameId\`) REFERENCES \`apiName\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`CREATE VIEW \`view_registry_employee\` AS -// WITH Position AS ( -// SELECT -// pn.posMasterId, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM employeePosition pn -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pm.current_holderId, -// pm.posMasterNo, -// pm.orgRootId, -// pm.orgChild1Id, -// pm.orgChild2Id, -// pm.orgChild3Id, -// pm.orgChild4Id, -// orgRoot.orgRootName, -// orgChild1.orgChild1Name, -// orgChild2.orgChild2Name, -// orgChild3.orgChild3Name, -// orgChild4.orgChild4Name, -// CASE -// WHEN pm.orgChild1Id IS NULL THEN CONCAT(orgRoot.orgRootShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild2Id IS NULL THEN CONCAT(orgChild1.orgChild1ShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild3Id IS NULL THEN CONCAT(orgChild2.orgChild2ShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild4Id IS NULL THEN CONCAT(orgChild3.orgChild3ShortName, " ", pm.posMasterNo) -// ELSE CONCAT(orgChild4.orgChild4ShortName, " ", pm.posMasterNo) -// END AS searchShortName, -// ROW_NUMBER() OVER (PARTITION BY pm.current_holderId ORDER BY pm.posMasterNo DESC) AS pm_number -// FROM employeePosMaster pm -// LEFT JOIN orgRevision ON orgRevision.id = pm.orgRevisionId -// LEFT JOIN orgRoot ON orgRoot.id = pm.orgRootId -// LEFT JOIN orgChild1 ON orgChild1.id = pm.orgChild1Id -// LEFT JOIN orgChild2 ON orgChild2.id = pm.orgChild2Id -// LEFT JOIN orgChild3 ON orgChild3.id = pm.orgChild3Id -// LEFT JOIN orgChild4 ON orgChild4.id = pm.orgChild4Id -// LEFT JOIN Position pn ON pm.id = pn.posMasterId AND pn.pn_number = 1 -// WHERE orgRevision.orgRevisionIsCurrent IS TRUE -// AND orgRevision.orgRevisionIsDraft IS FALSE -// ), -// Educations AS ( -// SELECT -// eds.profileEmployeeId, -// JSON_ARRAYAGG( -// JSON_OBJECT( -// 'degree', eds.degree, -// 'field', eds.field, -// 'educationLevel', eds.educationLevel, -// 'isEducation', eds.isEducation, -// 'isHigh', eds.isHigh -// ) -// ) AS Educations -// FROM ( -// SELECT DISTINCT -// eds.degree, -// eds.field, -// eds.educationLevel, -// eds.isEducation, -// eds.isHigh, -// eds.profileEmployeeId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileEmployeeId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileEmployeeId, -// GROUP_CONCAT(DISTINCT edls.educationLevel ORDER BY edls.educationLevel SEPARATOR ', ') AS educationLevels -// FROM profileEducation edls -// WHERE edls.educationLevel IS NOT NULL AND edls.educationLevel != '' -// GROUP BY edls.profileEmployeeId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileEmployeeId, -// GROUP_CONCAT(DISTINCT degs.degree ORDER BY degs.degree SEPARATOR ', ') AS degrees -// FROM profileEducation degs -// WHERE degs.degree IS NOT NULL AND degs.degree != '' -// GROUP BY degs.profileEmployeeId -// ), -// Fields AS ( -// SELECT -// fies.profileEmployeeId, -// GROUP_CONCAT(DISTINCT fies.field ORDER BY fies.field SEPARATOR ', ') AS fields -// FROM profileEducation fies -// WHERE fies.field IS NOT NULL AND fies.field != '' -// GROUP BY fies.profileEmployeeId -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileEmployeeId -// FROM tenurePositionEmployee vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileEmployeeId -// FROM tenureLevelEmployee vctlo -// ) -// SELECT -// p.id as profileEmployeeId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// p.employeeClass, -// pm.posMasterNo, -// pm.orgRootId, -// pm.orgChild1Id, -// pm.orgChild2Id, -// pm.orgChild3Id, -// pm.orgChild4Id, -// pm.orgRootName, -// pm.orgChild1Name, -// pm.orgChild2Name, -// pm.orgChild3Name, -// pm.orgChild4Name, -// CASE -// WHEN pm.orgChild1Id IS NULL THEN pm.orgRootName -// WHEN pm.orgChild2Id IS NULL THEN CONCAT(pm.orgChild1Name, " ", pm.orgRootName) -// WHEN pm.orgChild3Id IS NULL THEN CONCAT(pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// WHEN pm.orgChild4Id IS NULL THEN CONCAT(pm.orgChild3Name, " ", pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// ELSE CONCAT(pm.orgChild4Name, " ", pm.orgChild3Name, " ", pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// END AS org, -// pm.searchShortName, -// p.position, -// posType.posTypeName, -// CONCAT(posType.posTypeShortName, ' ', posLevel.posLevelName) AS "posLevelName", -// p.gender, -// p.relationship, -// p.dateAppoint, -// p.dateRetire, -// p.dateRetireLaw, -// p.birthdate, -// eds.Educations, -// edls.educationLevels, -// degs.degrees, -// fies.fields, -// TIMESTAMPDIFF(YEAR, p.birthdate, CURDATE()) AS age, -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vctlo.Years AS levelYears, -// vctlo.Months AS levelMonths, -// vctlo.Days AS levelDays -// FROM profileEmployee p -// LEFT JOIN employeePosLevel posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN employeePosType posType ON p.posTypeId = posType.id -// LEFT JOIN PosMaster pm ON p.id = pm.current_holderId AND pm.pm_number = 1 -// LEFT JOIN Educations eds ON p.id = eds.profileEmployeeId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileEmployeeId -// LEFT JOIN Degrees degs ON p.id = degs.profileEmployeeId -// LEFT JOIN Fields fies ON p.id = fies.profileEmployeeId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileEmployeeId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileEmployeeId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_employee","WITH Position AS (\n SELECT \n pn.posMasterId,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM employeePosition pn\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pm.current_holderId,\n pm.posMasterNo,\n pm.orgRootId,\n pm.orgChild1Id,\n pm.orgChild2Id,\n pm.orgChild3Id,\n pm.orgChild4Id,\n orgRoot.orgRootName,\n orgChild1.orgChild1Name,\n orgChild2.orgChild2Name,\n orgChild3.orgChild3Name,\n orgChild4.orgChild4Name,\n CASE \n WHEN pm.orgChild1Id IS NULL THEN CONCAT(orgRoot.orgRootShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild2Id IS NULL THEN CONCAT(orgChild1.orgChild1ShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild3Id IS NULL THEN CONCAT(orgChild2.orgChild2ShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild4Id IS NULL THEN CONCAT(orgChild3.orgChild3ShortName, \" \", pm.posMasterNo)\n ELSE CONCAT(orgChild4.orgChild4ShortName, \" \", pm.posMasterNo)\n END AS searchShortName,\n ROW_NUMBER() OVER (PARTITION BY pm.current_holderId ORDER BY pm.posMasterNo DESC) AS pm_number\n FROM employeePosMaster pm\n LEFT JOIN orgRevision ON orgRevision.id = pm.orgRevisionId\n LEFT JOIN orgRoot ON orgRoot.id = pm.orgRootId\n LEFT JOIN orgChild1 ON orgChild1.id = pm.orgChild1Id\n LEFT JOIN orgChild2 ON orgChild2.id = pm.orgChild2Id\n LEFT JOIN orgChild3 ON orgChild3.id = pm.orgChild3Id\n LEFT JOIN orgChild4 ON orgChild4.id = pm.orgChild4Id\n LEFT JOIN Position pn ON pm.id = pn.posMasterId AND pn.pn_number = 1\n WHERE orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileEmployeeId,\n JSON_ARRAYAGG(\n JSON_OBJECT(\n 'degree', eds.degree,\n 'field', eds.field,\n 'educationLevel', eds.educationLevel,\n 'isEducation', eds.isEducation,\n 'isHigh', eds.isHigh\n )\n ) AS Educations\n FROM (\n SELECT DISTINCT \n eds.degree, \n eds.field, \n eds.educationLevel, \n eds.isEducation, \n eds.isHigh, \n eds.profileEmployeeId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileEmployeeId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileEmployeeId,\n GROUP_CONCAT(DISTINCT edls.educationLevel ORDER BY edls.educationLevel SEPARATOR ', ') AS educationLevels\n FROM profileEducation edls\n WHERE edls.educationLevel IS NOT NULL AND edls.educationLevel != ''\n GROUP BY edls.profileEmployeeId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileEmployeeId,\n GROUP_CONCAT(DISTINCT degs.degree ORDER BY degs.degree SEPARATOR ', ') AS degrees\n FROM profileEducation degs\n WHERE degs.degree IS NOT NULL AND degs.degree != ''\n GROUP BY degs.profileEmployeeId\n ),\n Fields AS (\n SELECT \n\t\t fies.profileEmployeeId,\n GROUP_CONCAT(DISTINCT fies.field ORDER BY fies.field SEPARATOR ', ') AS fields\n FROM profileEducation fies\n WHERE fies.field IS NOT NULL AND fies.field != ''\n GROUP BY fies.profileEmployeeId\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileEmployeeId\n FROM tenurePositionEmployee vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileEmployeeId\n FROM tenureLevelEmployee vctlo\n )\n SELECT \n p.id as profileEmployeeId,\n p.citizenId,\n p.rank,\n p.prefix,\n p.firstName,\n p.lastName,\n p.isProbation,\n p.isLeave,\n p.isRetirement,\n p.leaveType,\n p.employeeClass,\n pm.posMasterNo,\n pm.orgRootId,\n pm.orgChild1Id,\n pm.orgChild2Id,\n pm.orgChild3Id,\n pm.orgChild4Id,\n pm.orgRootName,\n pm.orgChild1Name,\n pm.orgChild2Name,\n pm.orgChild3Name,\n pm.orgChild4Name,\n CASE \n WHEN pm.orgChild1Id IS NULL THEN pm.orgRootName\n WHEN pm.orgChild2Id IS NULL THEN CONCAT(pm.orgChild1Name, \" \", pm.orgRootName)\n WHEN pm.orgChild3Id IS NULL THEN CONCAT(pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n WHEN pm.orgChild4Id IS NULL THEN CONCAT(pm.orgChild3Name, \" \", pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n ELSE CONCAT(pm.orgChild4Name, \" \", pm.orgChild3Name, \" \", pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n END AS org,\n pm.searchShortName,\n p.position,\n posType.posTypeName,\n CONCAT(posType.posTypeShortName, ' ', posLevel.posLevelName) AS \"posLevelName\",\n p.gender,\n p.relationship,\n p.dateAppoint,\n p.dateRetire,\n p.dateRetireLaw,\n p.birthdate,\n eds.Educations,\n edls.educationLevels,\n degs.degrees,\n fies.fields,\n TIMESTAMPDIFF(YEAR, p.birthdate, CURDATE()) AS age,\n vcto.Years,\n vcto.Months,\n vcto.Days,\n vctlo.Years AS levelYears,\n vctlo.Months AS levelMonths,\n vctlo.Days AS levelDays\n FROM profileEmployee p\n LEFT JOIN employeePosLevel posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN employeePosType posType ON p.posTypeId = posType.id\n LEFT JOIN PosMaster pm ON p.id = pm.current_holderId AND pm.pm_number = 1\n LEFT JOIN Educations eds ON p.id = eds.profileEmployeeId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileEmployeeId\n LEFT JOIN Degrees degs ON p.id = degs.profileEmployeeId\n LEFT JOIN Fields fies ON p.id = fies.profileEmployeeId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileEmployeeId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileEmployeeId"]); -// await queryRunner.query(`CREATE VIEW \`view_employee_pos_master\` AS SELECT -// employeePosMaster.id, -// employeePosMaster.posMasterNoPrefix, -// employeePosMaster.posMasterNo, -// employeePosMaster.posMasterNoSuffix, -// employeePosMaster.orgRevisionId, -// employeePosMaster.orgRootId, -// employeePosMaster.orgChild1Id, -// employeePosMaster.orgChild2Id, -// employeePosMaster.orgChild3Id, -// employeePosMaster.orgChild4Id, -// employeePosMaster.current_holderId, -// profileEmployee.id as profileId, -// profileEmployee.prefix, -// profileEmployee.firstName, -// profileEmployee.lastName, -// profileEmployee.citizenId, -// profileEmployee.position, -// profileEmployee.amount, -// profileEmployee.dateRetire, -// profileEmployee.birthDate, -// profileEmployee.salaryLevel, -// profileEmployee.group, -// orgRoot.id as rootId, -// orgRoot.orgRootShortName, -// orgRoot.orgRootOrder, -// orgRoot.orgRootName, -// orgChild1.id as child1Id, -// orgChild1.orgChild1ShortName, -// orgChild1.orgChild1Order, -// orgChild1.orgChild1Name, -// orgChild2.id as child2Id, -// orgChild2.orgChild2ShortName, -// orgChild2.orgChild2Order, -// orgChild2.orgChild2Name, -// orgChild3.id as child3Id, -// orgChild3.orgChild3ShortName, -// orgChild3.orgChild3Order, -// orgChild3.orgChild3Name, -// orgChild4.id as child4Id, -// orgChild4.orgChild4ShortName, -// orgChild4.orgChild4Order, -// orgChild4.orgChild4Name, -// position.id as positionId, -// position.positionIsSelected, -// position.posExecutiveId as positionPosExecutiveId, -// position.isSpecial, -// posExecutive.id as posExecutiveId, -// posExecutive.posExecutiveName, -// profileDiscipline.id as profileDisciplineId, -// profileDiscipline.date as disCriplineDate, -// profileLeave.id as profileLeaveId, -// profileAssessment.id as profileAssessmentId, -// profileAssessment.pointSum, -// employeePosLevel.id as posLevelId, -// employeePosLevel.posLevelName, -// employeePosType.id as posTypeId, -// employeePosType.posTypeName, -// employeePosType.posTypeShortName -// FROM -// employeePosMaster -// LEFT JOIN -// profileEmployee ON employeePosMaster.current_holderId = profileEmployee.id -// LEFT JOIN -// orgRoot ON employeePosMaster.orgRootId = orgRoot.id -// LEFT JOIN -// orgChild1 ON employeePosMaster.orgChild1Id = orgChild1.id -// LEFT JOIN -// orgChild2 ON employeePosMaster.orgChild2Id = orgChild2.id -// LEFT JOIN -// orgChild3 ON employeePosMaster.orgChild3Id = orgChild3.id -// LEFT JOIN -// orgChild4 ON employeePosMaster.orgChild4Id = orgChild4.id -// LEFT JOIN -// position ON employeePosMaster.id = position.posMasterId -// LEFT JOIN -// posExecutive ON position.posExecutiveId = posExecutive.id -// LEFT JOIN ( -// SELECT * -// FROM profileDisciplineEmployee pd1 -// WHERE pd1.date = ( -// SELECT MAX(pd2.date) -// FROM profileDisciplineEmployee pd2 -// WHERE pd2.profileId = pd1.profileId -// ) -// ) AS profileDiscipline ON profileDiscipline.profileId = profileEmployee.id -// LEFT JOIN ( -// SELECT pl1.* -// FROM profileLeave pl1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileLeave -// GROUP BY profileId -// ) pl2 ON pl1.profileId = pl2.profileId -// AND pl1.createdAt = pl2.maxDate -// ) AS profileLeave ON profileLeave.profileId = employeePosMaster.current_holderId -// LEFT JOIN ( -// SELECT pa1.* -// FROM profileAssessment pa1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileAssessment -// GROUP BY profileId -// ) pa2 ON pa1.profileId = pa2.profileId -// AND pa1.createdAt = pa2.maxDate -// ) AS profileAssessment -// ON profileAssessment.profileId = profileEmployee.id -// LEFT JOIN -// employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id -// LEFT JOIN -// employeePosType ON profileEmployee.posTypeId = employeePosType.id -// WHERE -// employeePosMaster.current_holderId IS NOT NULL -// ORDER BY -// profileEmployee.citizenId ASC -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_employee_pos_master","SELECT \n employeePosMaster.id,\n employeePosMaster.posMasterNoPrefix,\n employeePosMaster.posMasterNo,\n employeePosMaster.posMasterNoSuffix,\n employeePosMaster.orgRevisionId,\n employeePosMaster.orgRootId,\n employeePosMaster.orgChild1Id,\n employeePosMaster.orgChild2Id,\n employeePosMaster.orgChild3Id,\n employeePosMaster.orgChild4Id,\n employeePosMaster.current_holderId,\n profileEmployee.id as profileId,\n profileEmployee.prefix,\n profileEmployee.firstName,\n profileEmployee.lastName,\n profileEmployee.citizenId,\n profileEmployee.position,\n profileEmployee.amount,\n profileEmployee.dateRetire,\n profileEmployee.birthDate,\n profileEmployee.salaryLevel,\n profileEmployee.group,\n orgRoot.id as rootId,\n orgRoot.orgRootShortName,\n orgRoot.orgRootOrder,\n orgRoot.orgRootName,\n orgChild1.id as child1Id,\n orgChild1.orgChild1ShortName,\n orgChild1.orgChild1Order,\n orgChild1.orgChild1Name,\n orgChild2.id as child2Id,\n orgChild2.orgChild2ShortName,\n orgChild2.orgChild2Order,\n orgChild2.orgChild2Name,\n orgChild3.id as child3Id,\n orgChild3.orgChild3ShortName,\n orgChild3.orgChild3Order,\n orgChild3.orgChild3Name,\n orgChild4.id as child4Id,\n orgChild4.orgChild4ShortName,\n orgChild4.orgChild4Order,\n orgChild4.orgChild4Name,\n position.id as positionId,\n position.positionIsSelected,\n position.posExecutiveId as positionPosExecutiveId,\n position.isSpecial,\n posExecutive.id as posExecutiveId,\n posExecutive.posExecutiveName,\n profileDiscipline.id as profileDisciplineId,\n profileDiscipline.date as disCriplineDate,\n profileLeave.id as profileLeaveId,\n profileAssessment.id as profileAssessmentId,\n profileAssessment.pointSum,\n employeePosLevel.id as posLevelId,\n employeePosLevel.posLevelName,\n\temployeePosType.id as posTypeId,\n employeePosType.posTypeName,\n employeePosType.posTypeShortName\n FROM \n employeePosMaster\n LEFT JOIN \n profileEmployee ON employeePosMaster.current_holderId = profileEmployee.id \n LEFT JOIN \n orgRoot ON employeePosMaster.orgRootId = orgRoot.id\n LEFT JOIN \n orgChild1 ON employeePosMaster.orgChild1Id = orgChild1.id\n LEFT JOIN \n orgChild2 ON employeePosMaster.orgChild2Id = orgChild2.id\n LEFT JOIN \n orgChild3 ON employeePosMaster.orgChild3Id = orgChild3.id\n LEFT JOIN \n orgChild4 ON employeePosMaster.orgChild4Id = orgChild4.id\n LEFT JOIN \n position ON employeePosMaster.id = position.posMasterId\n LEFT JOIN \n posExecutive ON position.posExecutiveId = posExecutive.id\n LEFT JOIN (\n SELECT *\n FROM profileDisciplineEmployee pd1\n WHERE pd1.date = (\n SELECT MAX(pd2.date)\n FROM profileDisciplineEmployee pd2\n WHERE pd2.profileId = pd1.profileId\n )\n ) AS profileDiscipline ON profileDiscipline.profileId = profileEmployee.id\n LEFT JOIN (\n SELECT pl1.*\n FROM profileLeave pl1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileLeave\n GROUP BY profileId\n ) pl2 ON pl1.profileId = pl2.profileId\n AND pl1.createdAt = pl2.maxDate\n ) AS profileLeave ON profileLeave.profileId = employeePosMaster.current_holderId\n LEFT JOIN (\n SELECT pa1.*\n FROM profileAssessment pa1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileAssessment\n GROUP BY profileId\n ) pa2 ON pa1.profileId = pa2.profileId\n AND pa1.createdAt = pa2.maxDate\n ) AS profileAssessment \n ON profileAssessment.profileId = profileEmployee.id\n LEFT JOIN \n employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id\n LEFT JOIN \n employeePosType ON profileEmployee.posTypeId = employeePosType.id\n WHERE \t\n employeePosMaster.current_holderId IS NOT NULL\n ORDER BY \n profileEmployee.citizenId ASC"]); -// await queryRunner.query(`CREATE VIEW \`view_pos_master\` AS SELECT -// posMaster.id, -// posMaster.posMasterNoPrefix, -// posMaster.posMasterNo, -// posMaster.posMasterNoSuffix, -// posMaster.orgRevisionId, -// posMaster.orgRootId, -// posMaster.orgChild1Id, -// posMaster.orgChild2Id, -// posMaster.orgChild3Id, -// posMaster.orgChild4Id, -// posMaster.current_holderId, -// profile.id as profileId, -// profile.prefix, -// profile.firstName, -// profile.lastName, -// profile.citizenId, -// profile.position, -// profile.amount, -// profile.dateRetire, -// profile.birthDate, -// orgRoot.id as rootId, -// orgRoot.orgRootShortName, -// orgRoot.orgRootOrder, -// orgRoot.orgRootName, -// orgChild1.id as child1Id, -// orgChild1.orgChild1ShortName, -// orgChild1.orgChild1Order, -// orgChild1.orgChild1Name, -// orgChild2.id as child2Id, -// orgChild2.orgChild2ShortName, -// orgChild2.orgChild2Order, -// orgChild2.orgChild2Name, -// orgChild3.id as child3Id, -// orgChild3.orgChild3ShortName, -// orgChild3.orgChild3Order, -// orgChild3.orgChild3Name, -// orgChild4.id as child4Id, -// orgChild4.orgChild4ShortName, -// orgChild4.orgChild4Order, -// orgChild4.orgChild4Name, -// position.id as positionId, -// position.positionIsSelected, -// position.posExecutiveId as positionPosExecutiveId, -// position.isSpecial, -// position.positionExecutiveField, -// position.positionArea, -// posExecutive.id as posExecutiveId, -// posExecutive.posExecutiveName, -// profileDiscipline.id as profileDisciplineId, -// profileDiscipline.date as disCriplineDate, -// profileLeave.id as profileLeaveId, -// profileAssessment.id as profileAssessmentId, -// profileAssessment.pointSum, -// posLevel.id as posLevelId, -// posLevel.posLevelName, -// posType.id as posTypeId, -// posType.posTypeName -// FROM -// posMaster -// LEFT JOIN -// profile ON posMaster.current_holderId = profile.id -// LEFT JOIN -// orgRoot ON posMaster.orgRootId = orgRoot.id -// LEFT JOIN -// orgChild1 ON posMaster.orgChild1Id = orgChild1.id -// LEFT JOIN -// orgChild2 ON posMaster.orgChild2Id = orgChild2.id -// LEFT JOIN -// orgChild3 ON posMaster.orgChild3Id = orgChild3.id -// LEFT JOIN -// orgChild4 ON posMaster.orgChild4Id = orgChild4.id -// LEFT JOIN -// position ON posMaster.id = position.posMasterId -// LEFT JOIN -// posExecutive ON position.posExecutiveId = posExecutive.id -// LEFT JOIN ( -// SELECT * -// FROM profileDiscipline pd1 -// WHERE pd1.date = ( -// SELECT MAX(pd2.date) -// FROM profileDiscipline pd2 -// WHERE pd2.profileId = pd1.profileId -// ) -// ) AS profileDiscipline ON profileDiscipline.profileId = profile.id -// LEFT JOIN ( -// SELECT pl1.* -// FROM profileLeave pl1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileLeave -// GROUP BY profileId -// ) pl2 ON pl1.profileId = pl2.profileId -// AND pl1.createdAt = pl2.maxDate -// ) AS profileLeave -// ON profileLeave.profileId = posMaster.current_holderId -// LEFT JOIN ( -// SELECT pa1.* -// FROM profileAssessment pa1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileAssessment -// GROUP BY profileId -// ) pa2 ON pa1.profileId = pa2.profileId -// AND pa1.createdAt = pa2.maxDate -// ) AS profileAssessment -// ON profileAssessment.profileId = profile.id -// LEFT JOIN -// posLevel ON profile.posLevelId = posLevel.id -// LEFT JOIN -// posType ON profile.posTypeId = posType.id -// WHERE -// posMaster.current_holderId IS NOT NULL -// ORDER BY -// profile.citizenId ASC -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_pos_master","SELECT \n posMaster.id,\n posMaster.posMasterNoPrefix,\n posMaster.posMasterNo,\n posMaster.posMasterNoSuffix,\n posMaster.orgRevisionId,\n posMaster.orgRootId,\n posMaster.orgChild1Id,\n posMaster.orgChild2Id,\n posMaster.orgChild3Id,\n posMaster.orgChild4Id,\n posMaster.current_holderId,\n profile.id as profileId,\n profile.prefix,\n profile.firstName,\n profile.lastName,\n profile.citizenId,\n profile.position,\n profile.amount,\n profile.dateRetire,\n profile.birthDate,\n orgRoot.id as rootId,\n orgRoot.orgRootShortName,\n orgRoot.orgRootOrder,\n orgRoot.orgRootName,\n orgChild1.id as child1Id,\n orgChild1.orgChild1ShortName,\n orgChild1.orgChild1Order,\n orgChild1.orgChild1Name,\n orgChild2.id as child2Id,\n orgChild2.orgChild2ShortName,\n orgChild2.orgChild2Order,\n orgChild2.orgChild2Name,\n orgChild3.id as child3Id,\n orgChild3.orgChild3ShortName,\n orgChild3.orgChild3Order,\n orgChild3.orgChild3Name,\n orgChild4.id as child4Id,\n orgChild4.orgChild4ShortName,\n orgChild4.orgChild4Order,\n orgChild4.orgChild4Name,\n position.id as positionId,\n position.positionIsSelected,\n position.posExecutiveId as positionPosExecutiveId,\n position.isSpecial,\n position.positionExecutiveField,\n position.positionArea,\n posExecutive.id as posExecutiveId,\n posExecutive.posExecutiveName,\n profileDiscipline.id as profileDisciplineId,\n profileDiscipline.date as disCriplineDate,\n profileLeave.id as profileLeaveId,\n profileAssessment.id as profileAssessmentId,\n profileAssessment.pointSum,\n posLevel.id as posLevelId,\n posLevel.posLevelName,\n\t posType.id as posTypeId,\n posType.posTypeName\n FROM \n posMaster\n LEFT JOIN \n profile ON posMaster.current_holderId = profile.id\n LEFT JOIN \n orgRoot ON posMaster.orgRootId = orgRoot.id\n LEFT JOIN \n orgChild1 ON posMaster.orgChild1Id = orgChild1.id\n LEFT JOIN \n orgChild2 ON posMaster.orgChild2Id = orgChild2.id\n LEFT JOIN \n orgChild3 ON posMaster.orgChild3Id = orgChild3.id\n LEFT JOIN \n orgChild4 ON posMaster.orgChild4Id = orgChild4.id\n LEFT JOIN \n position ON posMaster.id = position.posMasterId\n LEFT JOIN \n posExecutive ON position.posExecutiveId = posExecutive.id\n LEFT JOIN (\n SELECT *\n FROM profileDiscipline pd1\n WHERE pd1.date = (\n SELECT MAX(pd2.date)\n FROM profileDiscipline pd2\n WHERE pd2.profileId = pd1.profileId\n )\n ) AS profileDiscipline ON profileDiscipline.profileId = profile.id\n LEFT JOIN (\n SELECT pl1.*\n FROM profileLeave pl1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileLeave\n GROUP BY profileId\n ) pl2 ON pl1.profileId = pl2.profileId\n AND pl1.createdAt = pl2.maxDate\n ) AS profileLeave \n ON profileLeave.profileId = posMaster.current_holderId\n LEFT JOIN (\n SELECT pa1.*\n FROM profileAssessment pa1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileAssessment\n GROUP BY profileId\n ) pa2 ON pa1.profileId = pa2.profileId\n AND pa1.createdAt = pa2.maxDate\n ) AS profileAssessment \n ON profileAssessment.profileId = profile.id\n LEFT JOIN \n posLevel ON profile.posLevelId = posLevel.id\n LEFT JOIN \n posType ON profile.posTypeId = posType.id\n WHERE \t\n posMaster.current_holderId IS NOT NULL\n ORDER BY \n profile.citizenId ASC"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_employee\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// ROW_NUMBER() OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPosition -// WHERE -// prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign -// GROUP BY -// profileEmployeeId, groupedId, positionName -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS OrgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileEmployeeId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_employee","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n ROW_NUMBER() OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPosition\n WHERE\n prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign\n GROUP BY\n profileEmployeeId, groupedId, positionName\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff,\n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS OrgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileEmployeeId,\n NULL AS orderNumber\n FROM resultData"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_exc_officer\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND -// positionExecutive <> '' -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPositionExe -// GROUP BY -// groupedId, positionExecutive -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS orgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_exc_officer","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND\n positionExecutive <> ''\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPositionExe\n GROUP BY\n groupedId, positionExecutive\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff, \n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS orgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileId,\n NULL AS orderNumber\n FROM resultData"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_officer\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPosition -// WHERE -// prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign -// GROUP BY -// profileId, groupedId, positionName -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS OrgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_officer","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPosition\n WHERE\n prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign\n GROUP BY\n profileId, groupedId, positionName\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff,\n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS OrgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileId,\n NULL AS orderNumber\n FROM resultData"]); - } - - public async down(queryRunner: QueryRunner): Promise { -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_officer","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_current_tenure_officer\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_exc_officer","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_current_tenure_exc_officer\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_employee","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_current_tenure_employee\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_pos_master","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_pos_master\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_employee_pos_master","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_employee_pos_master\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_registry_employee","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_registry_employee\``); - await queryRunner.query(`ALTER TABLE \`apiAttribute\` DROP FOREIGN KEY \`FK_13856cc8b4244f6a6fc26c4e0ff\``); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP FOREIGN KEY \`FK_f1ded3e1f83ab2437f739a14f38\``); -// await queryRunner.query(`ALTER TABLE \`educationMis\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FLAG_EDUCATION\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FLAG_EDUCATION\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MAJOR_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FUND_COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FUND_COURSE_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_POS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_POS_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` DROP COLUMN \`mp_command_num\``); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryRef\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryRef\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNo\` varchar(40) NULL COMMENT 'เลขที่ตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP PRIMARY KEY`); -// await queryRunner.query(`ALTER TABLE \`subDistrictImport\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NULL COMMENT 'ข้อมูลจาก Entry'`); -// await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`isEntry\` \`isEntry\` tinyint NULL COMMENT 'ข้อมูลจาก Entry' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`FLAG_EDUCATION\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`FUND_COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ID\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`ProfileId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionSalaryAmount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`Amount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`Order\``); - await queryRunner.query(`ALTER TABLE \`apiName\` DROP COLUMN \`isActive\``); - await queryRunner.query(`ALTER TABLE \`apiName\` DROP COLUMN \`system\``); - await queryRunner.query(`ALTER TABLE \`apiName\` DROP COLUMN \`code\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MINOR_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UPDATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CREATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_JOB_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_SECTION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_DIVISION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_DEPARTMENT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`HELP_LIVING_AMOUNT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`DEXPIRE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETIRE_POS_NO\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETIRE_TYPE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SUN_NO\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MARRIAGE_STATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_RETIRE_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_NAME_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`GROUPWORK_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_ADD_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_AMT_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_1_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_POS_DATE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_DATE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_YEAR_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CUR_YEAR_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_NUM_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CONTENT_NO\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CUR_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_CODE_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_MP_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_POS_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_NUM\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_CUR_ST\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`COST_LIVING_AMOUNT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`PAYMENT_PERCENT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`PAYMENT_AMT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_AMT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_PERCENT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_ADD\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ADMIN_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SAL_POS_AMOUNT_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_ABB_NAME_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIALIST_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIALIST_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SAL_POS_AMOUNT_2\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_ABB_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ADMIN_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POSITION_CATG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UNIVER_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MAJOR_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MAJOR_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`EDUCATION_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FUND_COURSE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UPCLASS_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FORCE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETURN_OCCUPY_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TYPE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RANK_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_PERSON_TYPE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`HRMS_DIV_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`HRMS_DEP_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`ORDER\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`ACTIVE_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`GROUPWORK_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`GROUPWORK_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_LEVEL\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_CEE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME_E\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME_CODE_E\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MVMENT_OF\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MVMENT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`REC_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POSITION_CATG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COUNTRY_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`PROVINCE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`PLACE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COURSE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COURSE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`UPDATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CREATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`AUDIT_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`AUDIT_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG_CURRENT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`UP_C_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_POS_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FILL_APP_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SPECIALIST_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_ABB_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_ABB_NAME_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_CODE_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`ADMIN_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_LEVEL_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`WORK_LINE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DIVISION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SECTION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`JOB_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FORCE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`USER_UPDATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`USER_CREATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SPECIALIST_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionRef\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionPathSideName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLineName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OrgName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`CLevel\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`AgencyName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryStatus\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`CommandTypeName\` longtext NOT NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`RefCommandNo\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`RefCommandDate\` datetime(6) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoEmployee\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeePositionSideId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeePositionId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeeLevelId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeeGroupId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OrganizationShortNameId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionPathSideId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLineId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveSideId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OcId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryClass\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`IsActive\` tinyint(1) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandNo\` varchar(255) NULL COMMENT 'เลขที่คำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionCee\` varchar(255) NULL COMMENT 'ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionName\` text NULL COMMENT 'ตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNoAbb\` varchar(40) NULL COMMENT 'ตัวย่อเลขที่ตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อประเภทคำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandDateAffect\` datetime NULL COMMENT 'คำสั่งมีผลวันที่'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandDateSign\` datetime NULL COMMENT 'คำสั่งวันที่'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandYear\` int NULL COMMENT 'ปีที่ออกคำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild4\` varchar(255) NULL COMMENT 'child4 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild3\` varchar(255) NULL COMMENT 'child3 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild2\` varchar(255) NULL COMMENT 'child2 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild1\` varchar(255) NULL COMMENT 'child1 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgRoot\` varchar(255) NULL COMMENT 'root name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`amountSpecial\` double NULL COMMENT 'เงินพิเศษ' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง command'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`isGovernment\` tinyint NULL COMMENT 'เข้ารับราชการ'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`dateGovernment\` datetime NULL COMMENT 'วันที่'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`profileEmployeeId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง ProfileEmployee'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`order\` int NULL COMMENT 'เรียงลำดับใหมาตามการนำเข้า'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionLevel\` varchar(255) NULL COMMENT 'ระดับตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionType\` varchar(255) NULL COMMENT 'ประเภทตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionExecutive\` varchar(255) NULL COMMENT 'ตำแหน่งทางการบริหาร'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`profileId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง profile'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`mouthSalaryAmount\` double NULL COMMENT 'เงินค่าตอบแทนรายเดือน' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionSalaryAmount\` double NULL COMMENT 'เงินประจำตำแหน่ง' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`amount\` double NULL COMMENT 'เงินเดือนฐาน' DEFAULT '0'`); -// await queryRunner.query(`DROP TABLE \`EMPLOYEETEMP\``); -// await queryRunner.query(`DROP TABLE \`EMPLOYEE\``); -// await queryRunner.query(`DROP TABLE \`HR_CHANGENAME_EMPTEMP\``); - } - -} diff --git a/src/migration/1755658274181-add_relation_between_profile_and_profileChangeName.ts b/src/migration/1755658274181-add_relation_between_profile_and_profileChangeName.ts deleted file mode 100644 index aeaefd76..00000000 --- a/src/migration/1755658274181-add_relation_between_profile_and_profileChangeName.ts +++ /dev/null @@ -1,1540 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class AddRelationBetweenProfileAndProfileChangeName1755658274181 implements MigrationInterface { - name = 'AddRelationBetweenProfileAndProfileChangeName1755658274181' - - public async up(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`CREATE TABLE \`EMPLOYEE\` (\`id\` int NOT NULL AUTO_INCREMENT, \`ID\` text NULL, \`CIT\` text NULL, \`BORN\` text NULL, \`RANK_NAME\` text NULL, \`FNAME\` text NULL, \`LNAME\` text NULL, \`BEGIN_ENTRY_DATE\` text NULL, \`SEX\` text NULL, \`WORK_LINE_NAME\` text NULL, \`SALARY\` text NULL, \`DEPARTMENT_NAME\` text NULL, \`DEPARTMENT_CODE\` text NULL, \`DIVISION_NAME\` text NULL, \`DIVISION_CODE\` text NULL, \`SECTION_NAME\` text NULL, \`SECTION_CODE\` text NULL, \`JOB_NAME\` text NULL, \`JOB_CODE\` text NULL, \`POS_NUM_CODE\` text NULL, \`POS_NUM_NAME\` text NULL, \`CATEGORY_SAL_CODE\` text NULL, \`SALARY_LEVEL_CODE\` text NULL, \`LEVEL_NAME\` text NULL, \`WORK_LEVEL\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); - // await queryRunner.query(`CREATE TABLE \`EMPLOYEETEMP\` (\`id\` int NOT NULL AUTO_INCREMENT, \`ID\` text NULL, \`CIT\` text NULL, \`BORN\` text NULL, \`RANK_NAME\` text NULL, \`FNAME\` text NULL, \`LNAME\` text NULL, \`BEGIN_ENTRY_DATE\` text NULL, \`SEX\` text NULL, \`WORK_LINE_NAME\` text NULL, \`SALARY\` text NULL, \`DEPARTMENT_NAME\` text NULL, \`DEPARTMENT_CODE\` text NULL, \`DIVISION_NAME\` text NULL, \`DIVISION_CODE\` text NULL, \`SECTION_NAME\` text NULL, \`SECTION_CODE\` text NULL, \`JOB_NAME\` text NULL, \`JOB_CODE\` text NULL, \`POS_NUM_CODE\` text NULL, \`POS_NUM_NAME\` text NULL, \`CATEGORY_SAL_CODE\` text NULL, \`SALARY_LEVEL_CODE\` text NULL, \`LEVEL_NAME\` text NULL, \`WORK_LEVEL\` text NULL, \`POSITION_LEVEL\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`AgencyName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`amount\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`amountSpecial\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`CLevel\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandCode\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandDateAffect\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandDateSign\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandNo\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`CommandTypeName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandYear\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`dateGovernment\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`IsActive\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`isGovernment\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`mouthSalaryAmount\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OcId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`order\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OrganizationShortNameId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild1\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild2\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild3\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild4\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OrgName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgRoot\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionCee\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeeGroupId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeeLevelId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeePositionId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeePositionSideId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionExecutive\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveSideId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionLevel\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLineId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLineName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionPathSideId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionPathSideName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionRef\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionSalaryAmount\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionType\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNoAbb\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoEmployee\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`profileEmployeeId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`profileId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`RefCommandDate\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`RefCommandNo\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`remark\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryClass\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryStatus\``); - // await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`HRMS_DEP_CODE\``); - // await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`HRMS_DIV_CODE\``); - // await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`ORDER\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ADMIN_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ADMIN_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CONTENT_NO\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`COST_LIVING_AMOUNT\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CREATE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CUR_YEAR\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CUR_YEAR_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`DEXPIRE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`EDUCATION_NAME\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_CUR_ST\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_PERSON_TYPE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_RETIRE_STATUS\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TYPE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FUND_COURSE_NAME\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`GROUPWORK_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`HELP_LIVING_AMOUNT\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MAJOR_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MAJOR_NAME\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MARRIAGE_STATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_CODE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_NAME\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_DATE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_NUM_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_1\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_1_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FORCE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_POS_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_POS_DATE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_YEAR\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_YEAR_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_DEPARTMENT_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_DIVISION_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_JOB_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_SECTION_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`PAYMENT_AMT\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`PAYMENT_PERCENT\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POSITION_CATG\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RANK_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_MP_YEAR\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_YEAR\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETIRE_POS_NO\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETIRE_TYPE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETURN_OCCUPY_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_1\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_2\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_ADD\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_ADD_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME_1\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_CODE_1\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_AMT\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_AMT_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_PERCENT\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIALIST_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIALIST_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SUN_NO\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UNIVER_NAME\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UPCLASS_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UPDATE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_CODE_O\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_NAME_O\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`ACTIVE_STATUS\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`ADMIN_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`AUDIT_DATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`AUDIT_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COUNTRY_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COURSE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COURSE_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CREATE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FILL_APP_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_POS_STATUS\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE_E\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_E\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`GROUPWORK_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`GROUPWORK_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`JOB_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_CEE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG_1\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG_CURRENT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FORCE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_YEAR\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MVMENT_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MVMENT_OF\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`PLACE_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POSITION_CATG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`PROVINCE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`REC_STATUS\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_LEVEL\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME_1\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_CODE_1\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SECTION_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIALIST_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIALIST_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`UP_C_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`UPDATE_DATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`USER_CREATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`USER_UPDATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`WORK_LINE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MINOR_CODE\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`Order\` int NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`Amount\` double NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionSalaryAmount\` double NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionName\` varchar(255) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`ProfileId\` varchar(255) NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ID\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`FUND_COURSE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`MAJOR_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`FLAG_EDUCATION\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); - // await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); - // await queryRunner.query(`ALTER TABLE \`posExecutive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`authRoleAttr\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeeTempPosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`authRole\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileCertificateHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileCertificate\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileTrainingHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`insigniaType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`insignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileInsigniaHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileInsignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHonorHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHonor\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssessmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssessment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`leaveType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileLeave\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDutyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDuty\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileNopaidHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileNopaid\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDisciplineHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDiscipline\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChangeNameHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileChangeName\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEducationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEducation\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAbilityHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAbility\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileOtherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileOther\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAvatar\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileGovernment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyFatherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyFather\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyMotherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyMother\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyCoupleHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyCouple\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChildrenHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChildren\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`subDistrict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`district\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`province\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeInformationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeEmploymentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeEmployment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEdit\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`developmentRequest\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`developmentProject\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDevelopmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDevelopment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`roleKeycloak\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateUserComment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`state\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`workflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateOperatorUser\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMasterAssign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSendCC\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSend\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandRecive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`command\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry' DEFAULT 0`); -// await queryRunner.query(`ALTER TABLE \`permissionOrg\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileActpositionHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileActposition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssistance\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAddressHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMasterAct\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`permissionProfile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenureLevelOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenureLevelEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionExecutiveOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`religion\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`rank\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`relationship\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`changePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChangePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`prefixe\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`gender\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`educationLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandCode\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`bloodGroup\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiAttribute\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiKey\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiName\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`subDistrictImport\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNo\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryRef\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryRef\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` DROP COLUMN \`mp_command_num\``); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_POS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_POS_DATE\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FUND_COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FUND_COURSE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MAJOR_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FLAG_EDUCATION\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FLAG_EDUCATION\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`educationMis\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - await queryRunner.query(`ALTER TABLE \`profileChangeName\` ADD CONSTRAINT \`FK_6f4858ba37595b29458bc74ab3c\` FOREIGN KEY (\`profileId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD CONSTRAINT \`FK_f1ded3e1f83ab2437f739a14f38\` FOREIGN KEY (\`profileSalaryId\`) REFERENCES \`profileSalary\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`CREATE VIEW \`view_pos_master\` AS SELECT -// posMaster.id, -// posMaster.posMasterNoPrefix, -// posMaster.posMasterNo, -// posMaster.posMasterNoSuffix, -// posMaster.orgRevisionId, -// posMaster.orgRootId, -// posMaster.orgChild1Id, -// posMaster.orgChild2Id, -// posMaster.orgChild3Id, -// posMaster.orgChild4Id, -// posMaster.current_holderId, -// profile.id as profileId, -// profile.prefix, -// profile.firstName, -// profile.lastName, -// profile.citizenId, -// profile.position, -// profile.amount, -// profile.dateRetire, -// profile.birthDate, -// orgRoot.id as rootId, -// orgRoot.orgRootShortName, -// orgRoot.orgRootOrder, -// orgRoot.orgRootName, -// orgChild1.id as child1Id, -// orgChild1.orgChild1ShortName, -// orgChild1.orgChild1Order, -// orgChild1.orgChild1Name, -// orgChild2.id as child2Id, -// orgChild2.orgChild2ShortName, -// orgChild2.orgChild2Order, -// orgChild2.orgChild2Name, -// orgChild3.id as child3Id, -// orgChild3.orgChild3ShortName, -// orgChild3.orgChild3Order, -// orgChild3.orgChild3Name, -// orgChild4.id as child4Id, -// orgChild4.orgChild4ShortName, -// orgChild4.orgChild4Order, -// orgChild4.orgChild4Name, -// position.id as positionId, -// position.positionIsSelected, -// position.posExecutiveId as positionPosExecutiveId, -// position.isSpecial, -// position.positionExecutiveField, -// position.positionArea, -// posExecutive.id as posExecutiveId, -// posExecutive.posExecutiveName, -// profileDiscipline.id as profileDisciplineId, -// profileDiscipline.date as disCriplineDate, -// profileLeave.id as profileLeaveId, -// profileAssessment.id as profileAssessmentId, -// profileAssessment.pointSum, -// posLevel.id as posLevelId, -// posLevel.posLevelName, -// posType.id as posTypeId, -// posType.posTypeName -// FROM -// posMaster -// LEFT JOIN -// profile ON posMaster.current_holderId = profile.id -// LEFT JOIN -// orgRoot ON posMaster.orgRootId = orgRoot.id -// LEFT JOIN -// orgChild1 ON posMaster.orgChild1Id = orgChild1.id -// LEFT JOIN -// orgChild2 ON posMaster.orgChild2Id = orgChild2.id -// LEFT JOIN -// orgChild3 ON posMaster.orgChild3Id = orgChild3.id -// LEFT JOIN -// orgChild4 ON posMaster.orgChild4Id = orgChild4.id -// LEFT JOIN -// position ON posMaster.id = position.posMasterId -// LEFT JOIN -// posExecutive ON position.posExecutiveId = posExecutive.id -// LEFT JOIN ( -// SELECT * -// FROM profileDiscipline pd1 -// WHERE pd1.date = ( -// SELECT MAX(pd2.date) -// FROM profileDiscipline pd2 -// WHERE pd2.profileId = pd1.profileId -// ) -// ) AS profileDiscipline ON profileDiscipline.profileId = profile.id -// LEFT JOIN ( -// SELECT pl1.* -// FROM profileLeave pl1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileLeave -// GROUP BY profileId -// ) pl2 ON pl1.profileId = pl2.profileId -// AND pl1.createdAt = pl2.maxDate -// ) AS profileLeave -// ON profileLeave.profileId = posMaster.current_holderId -// LEFT JOIN ( -// SELECT pa1.* -// FROM profileAssessment pa1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileAssessment -// GROUP BY profileId -// ) pa2 ON pa1.profileId = pa2.profileId -// AND pa1.createdAt = pa2.maxDate -// ) AS profileAssessment -// ON profileAssessment.profileId = profile.id -// LEFT JOIN -// posLevel ON profile.posLevelId = posLevel.id -// LEFT JOIN -// posType ON profile.posTypeId = posType.id -// WHERE -// posMaster.current_holderId IS NOT NULL -// ORDER BY -// profile.citizenId ASC -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_pos_master","SELECT \n posMaster.id,\n posMaster.posMasterNoPrefix,\n posMaster.posMasterNo,\n posMaster.posMasterNoSuffix,\n posMaster.orgRevisionId,\n posMaster.orgRootId,\n posMaster.orgChild1Id,\n posMaster.orgChild2Id,\n posMaster.orgChild3Id,\n posMaster.orgChild4Id,\n posMaster.current_holderId,\n profile.id as profileId,\n profile.prefix,\n profile.firstName,\n profile.lastName,\n profile.citizenId,\n profile.position,\n profile.amount,\n profile.dateRetire,\n profile.birthDate,\n orgRoot.id as rootId,\n orgRoot.orgRootShortName,\n orgRoot.orgRootOrder,\n orgRoot.orgRootName,\n orgChild1.id as child1Id,\n orgChild1.orgChild1ShortName,\n orgChild1.orgChild1Order,\n orgChild1.orgChild1Name,\n orgChild2.id as child2Id,\n orgChild2.orgChild2ShortName,\n orgChild2.orgChild2Order,\n orgChild2.orgChild2Name,\n orgChild3.id as child3Id,\n orgChild3.orgChild3ShortName,\n orgChild3.orgChild3Order,\n orgChild3.orgChild3Name,\n orgChild4.id as child4Id,\n orgChild4.orgChild4ShortName,\n orgChild4.orgChild4Order,\n orgChild4.orgChild4Name,\n position.id as positionId,\n position.positionIsSelected,\n position.posExecutiveId as positionPosExecutiveId,\n position.isSpecial,\n position.positionExecutiveField,\n position.positionArea,\n posExecutive.id as posExecutiveId,\n posExecutive.posExecutiveName,\n profileDiscipline.id as profileDisciplineId,\n profileDiscipline.date as disCriplineDate,\n profileLeave.id as profileLeaveId,\n profileAssessment.id as profileAssessmentId,\n profileAssessment.pointSum,\n posLevel.id as posLevelId,\n posLevel.posLevelName,\n\t posType.id as posTypeId,\n posType.posTypeName\n FROM \n posMaster\n LEFT JOIN \n profile ON posMaster.current_holderId = profile.id\n LEFT JOIN \n orgRoot ON posMaster.orgRootId = orgRoot.id\n LEFT JOIN \n orgChild1 ON posMaster.orgChild1Id = orgChild1.id\n LEFT JOIN \n orgChild2 ON posMaster.orgChild2Id = orgChild2.id\n LEFT JOIN \n orgChild3 ON posMaster.orgChild3Id = orgChild3.id\n LEFT JOIN \n orgChild4 ON posMaster.orgChild4Id = orgChild4.id\n LEFT JOIN \n position ON posMaster.id = position.posMasterId\n LEFT JOIN \n posExecutive ON position.posExecutiveId = posExecutive.id\n LEFT JOIN (\n SELECT *\n FROM profileDiscipline pd1\n WHERE pd1.date = (\n SELECT MAX(pd2.date)\n FROM profileDiscipline pd2\n WHERE pd2.profileId = pd1.profileId\n )\n ) AS profileDiscipline ON profileDiscipline.profileId = profile.id\n LEFT JOIN (\n SELECT pl1.*\n FROM profileLeave pl1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileLeave\n GROUP BY profileId\n ) pl2 ON pl1.profileId = pl2.profileId\n AND pl1.createdAt = pl2.maxDate\n ) AS profileLeave \n ON profileLeave.profileId = posMaster.current_holderId\n LEFT JOIN (\n SELECT pa1.*\n FROM profileAssessment pa1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileAssessment\n GROUP BY profileId\n ) pa2 ON pa1.profileId = pa2.profileId\n AND pa1.createdAt = pa2.maxDate\n ) AS profileAssessment \n ON profileAssessment.profileId = profile.id\n LEFT JOIN \n posLevel ON profile.posLevelId = posLevel.id\n LEFT JOIN \n posType ON profile.posTypeId = posType.id\n WHERE \t\n posMaster.current_holderId IS NOT NULL\n ORDER BY \n profile.citizenId ASC"]); -// await queryRunner.query(`CREATE VIEW \`view_registry_employee\` AS -// WITH Position AS ( -// SELECT -// pn.posMasterId, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM employeePosition pn -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pm.current_holderId, -// pm.posMasterNo, -// pm.orgRootId, -// pm.orgChild1Id, -// pm.orgChild2Id, -// pm.orgChild3Id, -// pm.orgChild4Id, -// orgRoot.orgRootName, -// orgChild1.orgChild1Name, -// orgChild2.orgChild2Name, -// orgChild3.orgChild3Name, -// orgChild4.orgChild4Name, -// CASE -// WHEN pm.orgChild1Id IS NULL THEN CONCAT(orgRoot.orgRootShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild2Id IS NULL THEN CONCAT(orgChild1.orgChild1ShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild3Id IS NULL THEN CONCAT(orgChild2.orgChild2ShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild4Id IS NULL THEN CONCAT(orgChild3.orgChild3ShortName, " ", pm.posMasterNo) -// ELSE CONCAT(orgChild4.orgChild4ShortName, " ", pm.posMasterNo) -// END AS searchShortName, -// ROW_NUMBER() OVER (PARTITION BY pm.current_holderId ORDER BY pm.posMasterNo DESC) AS pm_number -// FROM employeePosMaster pm -// LEFT JOIN orgRevision ON orgRevision.id = pm.orgRevisionId -// LEFT JOIN orgRoot ON orgRoot.id = pm.orgRootId -// LEFT JOIN orgChild1 ON orgChild1.id = pm.orgChild1Id -// LEFT JOIN orgChild2 ON orgChild2.id = pm.orgChild2Id -// LEFT JOIN orgChild3 ON orgChild3.id = pm.orgChild3Id -// LEFT JOIN orgChild4 ON orgChild4.id = pm.orgChild4Id -// LEFT JOIN Position pn ON pm.id = pn.posMasterId AND pn.pn_number = 1 -// WHERE orgRevision.orgRevisionIsCurrent IS TRUE -// AND orgRevision.orgRevisionIsDraft IS FALSE -// ), -// Educations AS ( -// SELECT -// eds.profileEmployeeId, -// JSON_ARRAYAGG( -// JSON_OBJECT( -// 'degree', eds.degree, -// 'field', eds.field, -// 'educationLevel', eds.educationLevel, -// 'isEducation', eds.isEducation, -// 'isHigh', eds.isHigh -// ) -// ) AS Educations -// FROM ( -// SELECT DISTINCT -// eds.degree, -// eds.field, -// eds.educationLevel, -// eds.isEducation, -// eds.isHigh, -// eds.profileEmployeeId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileEmployeeId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileEmployeeId, -// GROUP_CONCAT(DISTINCT edls.educationLevel ORDER BY edls.educationLevel SEPARATOR ', ') AS educationLevels -// FROM profileEducation edls -// WHERE edls.educationLevel IS NOT NULL AND edls.educationLevel != '' -// GROUP BY edls.profileEmployeeId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileEmployeeId, -// GROUP_CONCAT(DISTINCT degs.degree ORDER BY degs.degree SEPARATOR ', ') AS degrees -// FROM profileEducation degs -// WHERE degs.degree IS NOT NULL AND degs.degree != '' -// GROUP BY degs.profileEmployeeId -// ), -// Fields AS ( -// SELECT -// fies.profileEmployeeId, -// GROUP_CONCAT(DISTINCT fies.field ORDER BY fies.field SEPARATOR ', ') AS fields -// FROM profileEducation fies -// WHERE fies.field IS NOT NULL AND fies.field != '' -// GROUP BY fies.profileEmployeeId -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileEmployeeId -// FROM tenurePositionEmployee vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileEmployeeId -// FROM tenureLevelEmployee vctlo -// ) -// SELECT -// p.id as profileEmployeeId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// p.employeeClass, -// pm.posMasterNo, -// pm.orgRootId, -// pm.orgChild1Id, -// pm.orgChild2Id, -// pm.orgChild3Id, -// pm.orgChild4Id, -// pm.orgRootName, -// pm.orgChild1Name, -// pm.orgChild2Name, -// pm.orgChild3Name, -// pm.orgChild4Name, -// CASE -// WHEN pm.orgChild1Id IS NULL THEN pm.orgRootName -// WHEN pm.orgChild2Id IS NULL THEN CONCAT(pm.orgChild1Name, " ", pm.orgRootName) -// WHEN pm.orgChild3Id IS NULL THEN CONCAT(pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// WHEN pm.orgChild4Id IS NULL THEN CONCAT(pm.orgChild3Name, " ", pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// ELSE CONCAT(pm.orgChild4Name, " ", pm.orgChild3Name, " ", pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// END AS org, -// pm.searchShortName, -// p.position, -// posType.posTypeName, -// CONCAT(posType.posTypeShortName, ' ', posLevel.posLevelName) AS "posLevelName", -// p.gender, -// p.relationship, -// p.dateAppoint, -// p.dateRetire, -// p.dateRetireLaw, -// p.birthdate, -// eds.Educations, -// edls.educationLevels, -// degs.degrees, -// fies.fields, -// TIMESTAMPDIFF(YEAR, p.birthdate, CURDATE()) AS age, -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vctlo.Years AS levelYears, -// vctlo.Months AS levelMonths, -// vctlo.Days AS levelDays -// FROM profileEmployee p -// LEFT JOIN employeePosLevel posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN employeePosType posType ON p.posTypeId = posType.id -// LEFT JOIN PosMaster pm ON p.id = pm.current_holderId AND pm.pm_number = 1 -// LEFT JOIN Educations eds ON p.id = eds.profileEmployeeId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileEmployeeId -// LEFT JOIN Degrees degs ON p.id = degs.profileEmployeeId -// LEFT JOIN Fields fies ON p.id = fies.profileEmployeeId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileEmployeeId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileEmployeeId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_employee","WITH Position AS (\n SELECT \n pn.posMasterId,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM employeePosition pn\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pm.current_holderId,\n pm.posMasterNo,\n pm.orgRootId,\n pm.orgChild1Id,\n pm.orgChild2Id,\n pm.orgChild3Id,\n pm.orgChild4Id,\n orgRoot.orgRootName,\n orgChild1.orgChild1Name,\n orgChild2.orgChild2Name,\n orgChild3.orgChild3Name,\n orgChild4.orgChild4Name,\n CASE \n WHEN pm.orgChild1Id IS NULL THEN CONCAT(orgRoot.orgRootShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild2Id IS NULL THEN CONCAT(orgChild1.orgChild1ShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild3Id IS NULL THEN CONCAT(orgChild2.orgChild2ShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild4Id IS NULL THEN CONCAT(orgChild3.orgChild3ShortName, \" \", pm.posMasterNo)\n ELSE CONCAT(orgChild4.orgChild4ShortName, \" \", pm.posMasterNo)\n END AS searchShortName,\n ROW_NUMBER() OVER (PARTITION BY pm.current_holderId ORDER BY pm.posMasterNo DESC) AS pm_number\n FROM employeePosMaster pm\n LEFT JOIN orgRevision ON orgRevision.id = pm.orgRevisionId\n LEFT JOIN orgRoot ON orgRoot.id = pm.orgRootId\n LEFT JOIN orgChild1 ON orgChild1.id = pm.orgChild1Id\n LEFT JOIN orgChild2 ON orgChild2.id = pm.orgChild2Id\n LEFT JOIN orgChild3 ON orgChild3.id = pm.orgChild3Id\n LEFT JOIN orgChild4 ON orgChild4.id = pm.orgChild4Id\n LEFT JOIN Position pn ON pm.id = pn.posMasterId AND pn.pn_number = 1\n WHERE orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileEmployeeId,\n JSON_ARRAYAGG(\n JSON_OBJECT(\n 'degree', eds.degree,\n 'field', eds.field,\n 'educationLevel', eds.educationLevel,\n 'isEducation', eds.isEducation,\n 'isHigh', eds.isHigh\n )\n ) AS Educations\n FROM (\n SELECT DISTINCT \n eds.degree, \n eds.field, \n eds.educationLevel, \n eds.isEducation, \n eds.isHigh, \n eds.profileEmployeeId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileEmployeeId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileEmployeeId,\n GROUP_CONCAT(DISTINCT edls.educationLevel ORDER BY edls.educationLevel SEPARATOR ', ') AS educationLevels\n FROM profileEducation edls\n WHERE edls.educationLevel IS NOT NULL AND edls.educationLevel != ''\n GROUP BY edls.profileEmployeeId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileEmployeeId,\n GROUP_CONCAT(DISTINCT degs.degree ORDER BY degs.degree SEPARATOR ', ') AS degrees\n FROM profileEducation degs\n WHERE degs.degree IS NOT NULL AND degs.degree != ''\n GROUP BY degs.profileEmployeeId\n ),\n Fields AS (\n SELECT \n\t\t fies.profileEmployeeId,\n GROUP_CONCAT(DISTINCT fies.field ORDER BY fies.field SEPARATOR ', ') AS fields\n FROM profileEducation fies\n WHERE fies.field IS NOT NULL AND fies.field != ''\n GROUP BY fies.profileEmployeeId\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileEmployeeId\n FROM tenurePositionEmployee vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileEmployeeId\n FROM tenureLevelEmployee vctlo\n )\n SELECT \n p.id as profileEmployeeId,\n p.citizenId,\n p.rank,\n p.prefix,\n p.firstName,\n p.lastName,\n p.isProbation,\n p.isLeave,\n p.isRetirement,\n p.leaveType,\n p.employeeClass,\n pm.posMasterNo,\n pm.orgRootId,\n pm.orgChild1Id,\n pm.orgChild2Id,\n pm.orgChild3Id,\n pm.orgChild4Id,\n pm.orgRootName,\n pm.orgChild1Name,\n pm.orgChild2Name,\n pm.orgChild3Name,\n pm.orgChild4Name,\n CASE \n WHEN pm.orgChild1Id IS NULL THEN pm.orgRootName\n WHEN pm.orgChild2Id IS NULL THEN CONCAT(pm.orgChild1Name, \" \", pm.orgRootName)\n WHEN pm.orgChild3Id IS NULL THEN CONCAT(pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n WHEN pm.orgChild4Id IS NULL THEN CONCAT(pm.orgChild3Name, \" \", pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n ELSE CONCAT(pm.orgChild4Name, \" \", pm.orgChild3Name, \" \", pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n END AS org,\n pm.searchShortName,\n p.position,\n posType.posTypeName,\n CONCAT(posType.posTypeShortName, ' ', posLevel.posLevelName) AS \"posLevelName\",\n p.gender,\n p.relationship,\n p.dateAppoint,\n p.dateRetire,\n p.dateRetireLaw,\n p.birthdate,\n eds.Educations,\n edls.educationLevels,\n degs.degrees,\n fies.fields,\n TIMESTAMPDIFF(YEAR, p.birthdate, CURDATE()) AS age,\n vcto.Years,\n vcto.Months,\n vcto.Days,\n vctlo.Years AS levelYears,\n vctlo.Months AS levelMonths,\n vctlo.Days AS levelDays\n FROM profileEmployee p\n LEFT JOIN employeePosLevel posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN employeePosType posType ON p.posTypeId = posType.id\n LEFT JOIN PosMaster pm ON p.id = pm.current_holderId AND pm.pm_number = 1\n LEFT JOIN Educations eds ON p.id = eds.profileEmployeeId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileEmployeeId\n LEFT JOIN Degrees degs ON p.id = degs.profileEmployeeId\n LEFT JOIN Fields fies ON p.id = fies.profileEmployeeId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileEmployeeId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileEmployeeId"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_officer\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPosition -// WHERE -// prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign -// GROUP BY -// profileId, groupedId, positionName -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS OrgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_officer","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPosition\n WHERE\n prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign\n GROUP BY\n profileId, groupedId, positionName\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff,\n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS OrgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileId,\n NULL AS orderNumber\n FROM resultData"]); -// await queryRunner.query(`CREATE VIEW \`view_employee_pos_master\` AS SELECT -// employeePosMaster.id, -// employeePosMaster.posMasterNoPrefix, -// employeePosMaster.posMasterNo, -// employeePosMaster.posMasterNoSuffix, -// employeePosMaster.orgRevisionId, -// employeePosMaster.orgRootId, -// employeePosMaster.orgChild1Id, -// employeePosMaster.orgChild2Id, -// employeePosMaster.orgChild3Id, -// employeePosMaster.orgChild4Id, -// employeePosMaster.current_holderId, -// profileEmployee.id as profileId, -// profileEmployee.prefix, -// profileEmployee.firstName, -// profileEmployee.lastName, -// profileEmployee.citizenId, -// profileEmployee.position, -// profileEmployee.amount, -// profileEmployee.dateRetire, -// profileEmployee.birthDate, -// profileEmployee.salaryLevel, -// profileEmployee.group, -// orgRoot.id as rootId, -// orgRoot.orgRootShortName, -// orgRoot.orgRootOrder, -// orgRoot.orgRootName, -// orgChild1.id as child1Id, -// orgChild1.orgChild1ShortName, -// orgChild1.orgChild1Order, -// orgChild1.orgChild1Name, -// orgChild2.id as child2Id, -// orgChild2.orgChild2ShortName, -// orgChild2.orgChild2Order, -// orgChild2.orgChild2Name, -// orgChild3.id as child3Id, -// orgChild3.orgChild3ShortName, -// orgChild3.orgChild3Order, -// orgChild3.orgChild3Name, -// orgChild4.id as child4Id, -// orgChild4.orgChild4ShortName, -// orgChild4.orgChild4Order, -// orgChild4.orgChild4Name, -// position.id as positionId, -// position.positionIsSelected, -// position.posExecutiveId as positionPosExecutiveId, -// position.isSpecial, -// posExecutive.id as posExecutiveId, -// posExecutive.posExecutiveName, -// profileDiscipline.id as profileDisciplineId, -// profileDiscipline.date as disCriplineDate, -// profileLeave.id as profileLeaveId, -// profileAssessment.id as profileAssessmentId, -// profileAssessment.pointSum, -// employeePosLevel.id as posLevelId, -// employeePosLevel.posLevelName, -// employeePosType.id as posTypeId, -// employeePosType.posTypeName, -// employeePosType.posTypeShortName -// FROM -// employeePosMaster -// LEFT JOIN -// profileEmployee ON employeePosMaster.current_holderId = profileEmployee.id -// LEFT JOIN -// orgRoot ON employeePosMaster.orgRootId = orgRoot.id -// LEFT JOIN -// orgChild1 ON employeePosMaster.orgChild1Id = orgChild1.id -// LEFT JOIN -// orgChild2 ON employeePosMaster.orgChild2Id = orgChild2.id -// LEFT JOIN -// orgChild3 ON employeePosMaster.orgChild3Id = orgChild3.id -// LEFT JOIN -// orgChild4 ON employeePosMaster.orgChild4Id = orgChild4.id -// LEFT JOIN -// position ON employeePosMaster.id = position.posMasterId -// LEFT JOIN -// posExecutive ON position.posExecutiveId = posExecutive.id -// LEFT JOIN ( -// SELECT * -// FROM profileDisciplineEmployee pd1 -// WHERE pd1.date = ( -// SELECT MAX(pd2.date) -// FROM profileDisciplineEmployee pd2 -// WHERE pd2.profileId = pd1.profileId -// ) -// ) AS profileDiscipline ON profileDiscipline.profileId = profileEmployee.id -// LEFT JOIN ( -// SELECT pl1.* -// FROM profileLeave pl1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileLeave -// GROUP BY profileId -// ) pl2 ON pl1.profileId = pl2.profileId -// AND pl1.createdAt = pl2.maxDate -// ) AS profileLeave ON profileLeave.profileId = employeePosMaster.current_holderId -// LEFT JOIN ( -// SELECT pa1.* -// FROM profileAssessment pa1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileAssessment -// GROUP BY profileId -// ) pa2 ON pa1.profileId = pa2.profileId -// AND pa1.createdAt = pa2.maxDate -// ) AS profileAssessment -// ON profileAssessment.profileId = profileEmployee.id -// LEFT JOIN -// employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id -// LEFT JOIN -// employeePosType ON profileEmployee.posTypeId = employeePosType.id -// WHERE -// employeePosMaster.current_holderId IS NOT NULL -// ORDER BY -// profileEmployee.citizenId ASC -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_employee_pos_master","SELECT \n employeePosMaster.id,\n employeePosMaster.posMasterNoPrefix,\n employeePosMaster.posMasterNo,\n employeePosMaster.posMasterNoSuffix,\n employeePosMaster.orgRevisionId,\n employeePosMaster.orgRootId,\n employeePosMaster.orgChild1Id,\n employeePosMaster.orgChild2Id,\n employeePosMaster.orgChild3Id,\n employeePosMaster.orgChild4Id,\n employeePosMaster.current_holderId,\n profileEmployee.id as profileId,\n profileEmployee.prefix,\n profileEmployee.firstName,\n profileEmployee.lastName,\n profileEmployee.citizenId,\n profileEmployee.position,\n profileEmployee.amount,\n profileEmployee.dateRetire,\n profileEmployee.birthDate,\n profileEmployee.salaryLevel,\n profileEmployee.group,\n orgRoot.id as rootId,\n orgRoot.orgRootShortName,\n orgRoot.orgRootOrder,\n orgRoot.orgRootName,\n orgChild1.id as child1Id,\n orgChild1.orgChild1ShortName,\n orgChild1.orgChild1Order,\n orgChild1.orgChild1Name,\n orgChild2.id as child2Id,\n orgChild2.orgChild2ShortName,\n orgChild2.orgChild2Order,\n orgChild2.orgChild2Name,\n orgChild3.id as child3Id,\n orgChild3.orgChild3ShortName,\n orgChild3.orgChild3Order,\n orgChild3.orgChild3Name,\n orgChild4.id as child4Id,\n orgChild4.orgChild4ShortName,\n orgChild4.orgChild4Order,\n orgChild4.orgChild4Name,\n position.id as positionId,\n position.positionIsSelected,\n position.posExecutiveId as positionPosExecutiveId,\n position.isSpecial,\n posExecutive.id as posExecutiveId,\n posExecutive.posExecutiveName,\n profileDiscipline.id as profileDisciplineId,\n profileDiscipline.date as disCriplineDate,\n profileLeave.id as profileLeaveId,\n profileAssessment.id as profileAssessmentId,\n profileAssessment.pointSum,\n employeePosLevel.id as posLevelId,\n employeePosLevel.posLevelName,\n\temployeePosType.id as posTypeId,\n employeePosType.posTypeName,\n employeePosType.posTypeShortName\n FROM \n employeePosMaster\n LEFT JOIN \n profileEmployee ON employeePosMaster.current_holderId = profileEmployee.id \n LEFT JOIN \n orgRoot ON employeePosMaster.orgRootId = orgRoot.id\n LEFT JOIN \n orgChild1 ON employeePosMaster.orgChild1Id = orgChild1.id\n LEFT JOIN \n orgChild2 ON employeePosMaster.orgChild2Id = orgChild2.id\n LEFT JOIN \n orgChild3 ON employeePosMaster.orgChild3Id = orgChild3.id\n LEFT JOIN \n orgChild4 ON employeePosMaster.orgChild4Id = orgChild4.id\n LEFT JOIN \n position ON employeePosMaster.id = position.posMasterId\n LEFT JOIN \n posExecutive ON position.posExecutiveId = posExecutive.id\n LEFT JOIN (\n SELECT *\n FROM profileDisciplineEmployee pd1\n WHERE pd1.date = (\n SELECT MAX(pd2.date)\n FROM profileDisciplineEmployee pd2\n WHERE pd2.profileId = pd1.profileId\n )\n ) AS profileDiscipline ON profileDiscipline.profileId = profileEmployee.id\n LEFT JOIN (\n SELECT pl1.*\n FROM profileLeave pl1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileLeave\n GROUP BY profileId\n ) pl2 ON pl1.profileId = pl2.profileId\n AND pl1.createdAt = pl2.maxDate\n ) AS profileLeave ON profileLeave.profileId = employeePosMaster.current_holderId\n LEFT JOIN (\n SELECT pa1.*\n FROM profileAssessment pa1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileAssessment\n GROUP BY profileId\n ) pa2 ON pa1.profileId = pa2.profileId\n AND pa1.createdAt = pa2.maxDate\n ) AS profileAssessment \n ON profileAssessment.profileId = profileEmployee.id\n LEFT JOIN \n employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id\n LEFT JOIN \n employeePosType ON profileEmployee.posTypeId = employeePosType.id\n WHERE \t\n employeePosMaster.current_holderId IS NOT NULL\n ORDER BY \n profileEmployee.citizenId ASC"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_exc_officer\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND -// positionExecutive <> '' -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPositionExe -// GROUP BY -// groupedId, positionExecutive -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS orgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_exc_officer","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND\n positionExecutive <> ''\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPositionExe\n GROUP BY\n groupedId, positionExecutive\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff, \n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS orgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileId,\n NULL AS orderNumber\n FROM resultData"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_employee\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// ROW_NUMBER() OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPosition -// WHERE -// prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign -// GROUP BY -// profileEmployeeId, groupedId, positionName -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS OrgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileEmployeeId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_employee","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n ROW_NUMBER() OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPosition\n WHERE\n prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign\n GROUP BY\n profileEmployeeId, groupedId, positionName\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff,\n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS OrgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileEmployeeId,\n NULL AS orderNumber\n FROM resultData"]); - } - - public async down(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_employee","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_current_tenure_employee\``); - // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_exc_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_current_tenure_exc_officer\``); - // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_employee_pos_master","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_employee_pos_master\``); - // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_current_tenure_officer\``); - // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_registry_employee","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_employee\``); - // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_pos_master","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_pos_master\``); - // await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP FOREIGN KEY \`FK_f1ded3e1f83ab2437f739a14f38\``); - await queryRunner.query(`ALTER TABLE \`profileChangeName\` DROP FOREIGN KEY \`FK_6f4858ba37595b29458bc74ab3c\``); - // await queryRunner.query(`ALTER TABLE \`educationMis\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FLAG_EDUCATION\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FLAG_EDUCATION\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MAJOR_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MAJOR_CODE\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FUND_COURSE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FUND_COURSE_CODE\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_POS_DATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_POS_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`positionOfficer\` DROP COLUMN \`mp_command_num\``); - // await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelName\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeName\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoName\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryRef\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryRef\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNo\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNo\` varchar(40) NULL COMMENT 'เลขที่ตำแหน่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP PRIMARY KEY`); - // await queryRunner.query(`ALTER TABLE \`subDistrictImport\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`apiName\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`apiKey\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`apiHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`apiAttribute\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`bloodGroup\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`commandCode\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`educationLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`gender\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`prefixe\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileChangePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`changePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`relationship\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`rank\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`religion\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`tenurePositionExecutiveOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`tenureLevelEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`tenurePositionEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`tenureLevelOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`tenurePositionOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`permissionProfile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posMasterAct\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAddressHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAssistance\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileActposition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileActpositionHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`permissionOrg\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NULL COMMENT 'ข้อมูลจาก Entry'`); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`command\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`commandSign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`commandRecive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`commandSend\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`commandSendCC\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`commandType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posMasterAssign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`commandSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`stateOperatorUser\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`workflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`state\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`stateUserComment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`stateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`roleKeycloak\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileDevelopment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileDevelopmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`developmentProject\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`developmentRequest\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEdit\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEmployeeEmployment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEmployeeEmploymentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEmployeeInformationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`province\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`district\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`subDistrict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileChildren\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileChildrenHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileFamilyCouple\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileFamilyCoupleHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileFamilyMother\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileFamilyMotherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileFamilyFather\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileFamilyFatherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileGovernment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAvatar\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileOther\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileOtherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAbility\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAbilityHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEducation\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileEducationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileFamilyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileChangeName\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileChangeNameHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileDiscipline\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileDisciplineHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileNopaid\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileNopaidHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileDuty\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileDutyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileLeave\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`leaveType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAssessment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileAssessmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileHonor\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileHonorHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileInsignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileInsigniaHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`insignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`insigniaType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileTrainingHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileCertificate\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`profileCertificateHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeePosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`authRole\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`employeeTempPosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`authRoleAttr\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`posExecutive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); - // await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); - // await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`FLAG_EDUCATION\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`MAJOR_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`FUND_COURSE_CODE\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ID\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`ProfileId\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionName\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionSalaryAmount\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`Amount\``); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`Order\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MINOR_CODE\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`WORK_LINE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`USER_UPDATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`USER_CREATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`UPDATE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`UP_C_FLAG\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SPECIALIST_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SPECIALIST_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SECTION_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_CODE_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_ABB_NAME_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_ABB_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_LEVEL_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_LEVEL\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`REC_STATUS\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`PROVINCE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POSITION_CATG\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_EDIT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE_EDIT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB_EDIT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`PLACE_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MVMENT_OF\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MVMENT_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_YEAR\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FORCE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG_CURRENT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM_EDIT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE_EDIT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_CEE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`JOB_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`GROUPWORK_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`GROUPWORK_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME_E\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME_CODE_E\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_POS_STATUS\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FILL_APP_FLAG\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DIVISION_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR_EDIT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CREATE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COURSE_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COURSE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COUNTRY_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`AUDIT_FLAG\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`AUDIT_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`ADMIN_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`ACTIVE_STATUS\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_NAME_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_CODE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UPDATE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UPCLASS_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UNIVER_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SUN_NO\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIALIST_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIALIST_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_PERCENT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_AMT_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_AMT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_CODE_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_ABB_NAME_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_ABB_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_CODE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_ADD_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_ADD\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SAL_POS_AMOUNT_2\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SAL_POS_AMOUNT_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETURN_OCCUPY_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETIRE_TYPE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETIRE_POS_NO\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_YEAR\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_MP_YEAR\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RANK_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POSITION_CATG\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`PAYMENT_PERCENT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`PAYMENT_AMT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_SECTION_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_JOB_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_DIVISION_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_DEPARTMENT_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_YEAR_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_YEAR\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_POS_DATE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_POS_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FORCE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_1_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_NUM_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_NUM\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_DATE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_CODE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MARRIAGE_STATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MAJOR_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MAJOR_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`HELP_LIVING_AMOUNT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`GROUPWORK_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FUND_COURSE_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TYPE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_CODE_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_RETIRE_STATUS\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_PERSON_TYPE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_CUR_ST\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`EDUCATION_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`DEXPIRE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CUR_YEAR_O\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CUR_YEAR\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CREATE_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`COST_LIVING_AMOUNT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CONTENT_NO\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ADMIN_DATE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ADMIN_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`ORDER\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`HRMS_DIV_CODE\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`HRMS_DEP_CODE\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryStatus\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryClass\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`RefCommandNo\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`RefCommandDate\` datetime(6) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`profileId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง profile'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`profileEmployeeId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง ProfileEmployee'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoEmployee\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNoAbb\` varchar(40) NULL COMMENT 'ตัวย่อเลขที่ตำแหน่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionType\` varchar(255) NULL COMMENT 'ประเภทตำแหน่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionSalaryAmount\` double NULL COMMENT 'เงินประจำตำแหน่ง' DEFAULT '0'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionRef\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionPathSideName\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionPathSideId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionName\` text NULL COMMENT 'ตำแหน่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLineName\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLineId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionLevel\` varchar(255) NULL COMMENT 'ระดับตำแหน่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveSideId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveName\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionExecutive\` varchar(255) NULL COMMENT 'ตำแหน่งทางการบริหาร'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeePositionSideId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeePositionId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeeLevelId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeeGroupId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionCee\` varchar(255) NULL COMMENT 'ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgRoot\` varchar(255) NULL COMMENT 'root name'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OrgName\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild4\` varchar(255) NULL COMMENT 'child4 name'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild3\` varchar(255) NULL COMMENT 'child3 name'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild2\` varchar(255) NULL COMMENT 'child2 name'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild1\` varchar(255) NULL COMMENT 'child1 name'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OrganizationShortNameId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`order\` int NULL COMMENT 'เรียงลำดับใหมาตามการนำเข้า'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OcId\` char(36) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`mouthSalaryAmount\` double NULL COMMENT 'เงินค่าตอบแทนรายเดือน' DEFAULT '0'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`isGovernment\` tinyint NULL COMMENT 'เข้ารับราชการ'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`IsActive\` tinyint(1) NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`dateGovernment\` datetime NULL COMMENT 'วันที่'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandYear\` int NULL COMMENT 'ปีที่ออกคำสั่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`CommandTypeName\` longtext NOT NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandNo\` varchar(255) NULL COMMENT 'เลขที่คำสั่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อประเภทคำสั่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง command'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandDateSign\` datetime NULL COMMENT 'คำสั่งวันที่'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandDateAffect\` datetime NULL COMMENT 'คำสั่งมีผลวันที่'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่ง'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`CLevel\` longtext NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`amountSpecial\` double NULL COMMENT 'เงินพิเศษ' DEFAULT '0'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`amount\` double NULL COMMENT 'เงินเดือนฐาน' DEFAULT '0'`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`AgencyName\` longtext NULL`); - // await queryRunner.query(`DROP TABLE \`EMPLOYEETEMP\``); - // await queryRunner.query(`DROP TABLE \`EMPLOYEE\``); - } - -} diff --git a/src/migration/1755838437375-add_field_orderNo_in_table_position.ts b/src/migration/1755838437375-add_field_orderNo_in_table_position.ts deleted file mode 100644 index 9e655560..00000000 --- a/src/migration/1755838437375-add_field_orderNo_in_table_position.ts +++ /dev/null @@ -1,1538 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class AddFieldOrderNoInTablePosition1755838437375 implements MigrationInterface { - name = 'AddFieldOrderNoInTablePosition1755838437375' - - public async up(queryRunner: QueryRunner): Promise { -// await queryRunner.query(`CREATE TABLE \`EMPLOYEETEMP\` (\`id\` int NOT NULL AUTO_INCREMENT, \`ID\` text NULL, \`CIT\` text NULL, \`BORN\` text NULL, \`RANK_NAME\` text NULL, \`FNAME\` text NULL, \`LNAME\` text NULL, \`BEGIN_ENTRY_DATE\` text NULL, \`SEX\` text NULL, \`WORK_LINE_NAME\` text NULL, \`SALARY\` text NULL, \`DEPARTMENT_NAME\` text NULL, \`DEPARTMENT_CODE\` text NULL, \`DIVISION_NAME\` text NULL, \`DIVISION_CODE\` text NULL, \`SECTION_NAME\` text NULL, \`SECTION_CODE\` text NULL, \`JOB_NAME\` text NULL, \`JOB_CODE\` text NULL, \`POS_NUM_CODE\` text NULL, \`POS_NUM_NAME\` text NULL, \`CATEGORY_SAL_CODE\` text NULL, \`SALARY_LEVEL_CODE\` text NULL, \`LEVEL_NAME\` text NULL, \`WORK_LEVEL\` text NULL, \`POSITION_LEVEL\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); -// await queryRunner.query(`CREATE TABLE \`EMPLOYEE\` (\`id\` int NOT NULL AUTO_INCREMENT, \`ID\` text NULL, \`CIT\` text NULL, \`BORN\` text NULL, \`RANK_NAME\` text NULL, \`FNAME\` text NULL, \`LNAME\` text NULL, \`BEGIN_ENTRY_DATE\` text NULL, \`SEX\` text NULL, \`WORK_LINE_NAME\` text NULL, \`SALARY\` text NULL, \`DEPARTMENT_NAME\` text NULL, \`DEPARTMENT_CODE\` text NULL, \`DIVISION_NAME\` text NULL, \`DIVISION_CODE\` text NULL, \`SECTION_NAME\` text NULL, \`SECTION_CODE\` text NULL, \`JOB_NAME\` text NULL, \`JOB_CODE\` text NULL, \`POS_NUM_CODE\` text NULL, \`POS_NUM_NAME\` text NULL, \`CATEGORY_SAL_CODE\` text NULL, \`SALARY_LEVEL_CODE\` text NULL, \`LEVEL_NAME\` text NULL, \`WORK_LEVEL\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`AgencyName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`amount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`amountSpecial\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`CLevel\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandCode\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandDateAffect\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandDateSign\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`CommandTypeName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`commandYear\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`dateGovernment\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`IsActive\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`isGovernment\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`mouthSalaryAmount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OcId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`order\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OrganizationShortNameId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild1\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild2\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild3\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgChild4\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`OrgName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`orgRoot\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionCee\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeeGroupId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeeLevelId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeePositionId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionEmployeePositionSideId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionExecutive\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionExecutiveSideId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionLevel\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLineId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLineName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionPathSideId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionPathSideName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionRef\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionSalaryAmount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`positionType\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNoAbb\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoEmployee\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`profileEmployeeId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`profileId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`RefCommandDate\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`RefCommandNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryClass\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryStatus\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ADMIN_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ADMIN_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CONTENT_NO\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`COST_LIVING_AMOUNT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CREATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CUR_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`CUR_YEAR_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`DEXPIRE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`EDUCATION_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_CUR_ST\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_PERSON_TYPE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_RETIRE_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TO_NAME_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FLAG_TYPE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`FUND_COURSE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`GROUPWORK_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`HELP_LIVING_AMOUNT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MAJOR_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MARRIAGE_STATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_CEE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_DATE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_COMMAND_NUM_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_1_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FLAG_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_FORCE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_POS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_POS_DATE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`MP_YEAR_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_DEPARTMENT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_DIVISION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_JOB_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`OLD_RETIRE_SECTION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`PAYMENT_AMT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`PAYMENT_PERCENT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`POSITION_CATG\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RANK_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_MP_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RET_BORN_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETIRE_POS_NO\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETIRE_TYPE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`RETURN_OCCUPY_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_2\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_ADD\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_ADD_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_LEVEL_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SALARY_POS_CODE_1\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_AMT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_AMT_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIAL_PERCENT\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIALIST_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SPECIALIST_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`SUN_NO\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UNIVER_NAME\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UPCLASS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`UPDATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_CODE_O\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`WORK_LINE_NAME_O\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`ACTIVE_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`ADMIN_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`AUDIT_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`AUDIT_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COUNTRY_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`COURSE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CREATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FILL_APP_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_POS_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE_E\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_E\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`GROUPWORK_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`GROUPWORK_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`JOB_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_CEE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG_1\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FLAG_CURRENT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_FORCE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MVMENT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MVMENT_OF\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`PLACE_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_ABB_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_CODE_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POS_NUM_CODE_SIT_EDIT\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`POSITION_CATG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`PROVINCE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`REC_STATUS\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_LEVEL\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_LEVEL_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_ABB_NAME_1\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY_POS_CODE_1\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SECTION_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIALIST_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIALIST_NAME\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`UP_C_FLAG\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`UPDATE_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`USER_CREATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`USER_UPDATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`WORK_LINE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`HRMS_DEP_CODE\``); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`HRMS_DIV_CODE\``); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` DROP COLUMN \`ORDER\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MINOR_CODE\``); - await queryRunner.query(`ALTER TABLE \`position\` ADD \`orderNo\` int NULL COMMENT 'ลำดับตำแหน่งภายใน 1 posMasterId'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`Order\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`Amount\` double NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionSalaryAmount\` double NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`ProfileId\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ID\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`FUND_COURSE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`MAJOR_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` ADD \`FLAG_EDUCATION\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`posExecutive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`authRoleAttr\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeeTempPosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`authRole\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileCertificateHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileCertificate\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileTrainingHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`insigniaType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`insignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileInsigniaHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileInsignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHonorHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHonor\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssessmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssessment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`leaveType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileLeave\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDutyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDuty\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileNopaidHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileNopaid\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDisciplineHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDiscipline\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChangeNameHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEducationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEducation\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAbilityHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAbility\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileOtherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileOther\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAvatar\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileGovernment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyFatherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyFather\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyMotherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyMother\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyCoupleHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyCouple\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChildrenHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChildren\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`subDistrict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`district\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`province\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeInformationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeEmploymentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeEmployment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEdit\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`developmentRequest\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`developmentProject\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDevelopmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDevelopment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`roleKeycloak\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateUserComment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`state\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`workflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateOperatorUser\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMasterAssign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSendCC\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSend\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandRecive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`command\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry' DEFAULT 0`); -// await queryRunner.query(`ALTER TABLE \`permissionOrg\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileActpositionHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileActposition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssistance\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAddressHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); - await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMasterAct\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`permissionProfile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionExecutiveOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenureLevelOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenureLevelEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`religion\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`rank\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`relationship\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`changePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChangePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`prefixe\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`gender\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`educationLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandCode\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`bloodGroup\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiAttribute\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiKey\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiName\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`subDistrictImport\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNo\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryRef\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryRef\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelName\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` DROP COLUMN \`mp_command_num\``); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_POS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_POS_DATE\` varchar(255) NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY\` int NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FUND_COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FUND_COURSE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MAJOR_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FLAG_EDUCATION\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FLAG_EDUCATION\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`educationMis\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD CONSTRAINT \`FK_f1ded3e1f83ab2437f739a14f38\` FOREIGN KEY (\`profileSalaryId\`) REFERENCES \`profileSalary\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`CREATE VIEW \`view_registry_employee\` AS -// WITH Position AS ( -// SELECT -// pn.posMasterId, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM employeePosition pn -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pm.current_holderId, -// pm.posMasterNo, -// pm.orgRootId, -// pm.orgChild1Id, -// pm.orgChild2Id, -// pm.orgChild3Id, -// pm.orgChild4Id, -// orgRoot.orgRootName, -// orgChild1.orgChild1Name, -// orgChild2.orgChild2Name, -// orgChild3.orgChild3Name, -// orgChild4.orgChild4Name, -// CASE -// WHEN pm.orgChild1Id IS NULL THEN CONCAT(orgRoot.orgRootShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild2Id IS NULL THEN CONCAT(orgChild1.orgChild1ShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild3Id IS NULL THEN CONCAT(orgChild2.orgChild2ShortName, " ", pm.posMasterNo) -// WHEN pm.orgChild4Id IS NULL THEN CONCAT(orgChild3.orgChild3ShortName, " ", pm.posMasterNo) -// ELSE CONCAT(orgChild4.orgChild4ShortName, " ", pm.posMasterNo) -// END AS searchShortName, -// ROW_NUMBER() OVER (PARTITION BY pm.current_holderId ORDER BY pm.posMasterNo DESC) AS pm_number -// FROM employeePosMaster pm -// LEFT JOIN orgRevision ON orgRevision.id = pm.orgRevisionId -// LEFT JOIN orgRoot ON orgRoot.id = pm.orgRootId -// LEFT JOIN orgChild1 ON orgChild1.id = pm.orgChild1Id -// LEFT JOIN orgChild2 ON orgChild2.id = pm.orgChild2Id -// LEFT JOIN orgChild3 ON orgChild3.id = pm.orgChild3Id -// LEFT JOIN orgChild4 ON orgChild4.id = pm.orgChild4Id -// LEFT JOIN Position pn ON pm.id = pn.posMasterId AND pn.pn_number = 1 -// WHERE orgRevision.orgRevisionIsCurrent IS TRUE -// AND orgRevision.orgRevisionIsDraft IS FALSE -// ), -// Educations AS ( -// SELECT -// eds.profileEmployeeId, -// JSON_ARRAYAGG( -// JSON_OBJECT( -// 'degree', eds.degree, -// 'field', eds.field, -// 'educationLevel', eds.educationLevel, -// 'isEducation', eds.isEducation, -// 'isHigh', eds.isHigh -// ) -// ) AS Educations -// FROM ( -// SELECT DISTINCT -// eds.degree, -// eds.field, -// eds.educationLevel, -// eds.isEducation, -// eds.isHigh, -// eds.profileEmployeeId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileEmployeeId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileEmployeeId, -// GROUP_CONCAT(DISTINCT edls.educationLevel ORDER BY edls.educationLevel SEPARATOR ', ') AS educationLevels -// FROM profileEducation edls -// WHERE edls.educationLevel IS NOT NULL AND edls.educationLevel != '' -// GROUP BY edls.profileEmployeeId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileEmployeeId, -// GROUP_CONCAT(DISTINCT degs.degree ORDER BY degs.degree SEPARATOR ', ') AS degrees -// FROM profileEducation degs -// WHERE degs.degree IS NOT NULL AND degs.degree != '' -// GROUP BY degs.profileEmployeeId -// ), -// Fields AS ( -// SELECT -// fies.profileEmployeeId, -// GROUP_CONCAT(DISTINCT fies.field ORDER BY fies.field SEPARATOR ', ') AS fields -// FROM profileEducation fies -// WHERE fies.field IS NOT NULL AND fies.field != '' -// GROUP BY fies.profileEmployeeId -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileEmployeeId -// FROM tenurePositionEmployee vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileEmployeeId -// FROM tenureLevelEmployee vctlo -// ) -// SELECT -// p.id as profileEmployeeId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// p.employeeClass, -// pm.posMasterNo, -// pm.orgRootId, -// pm.orgChild1Id, -// pm.orgChild2Id, -// pm.orgChild3Id, -// pm.orgChild4Id, -// pm.orgRootName, -// pm.orgChild1Name, -// pm.orgChild2Name, -// pm.orgChild3Name, -// pm.orgChild4Name, -// CASE -// WHEN pm.orgChild1Id IS NULL THEN pm.orgRootName -// WHEN pm.orgChild2Id IS NULL THEN CONCAT(pm.orgChild1Name, " ", pm.orgRootName) -// WHEN pm.orgChild3Id IS NULL THEN CONCAT(pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// WHEN pm.orgChild4Id IS NULL THEN CONCAT(pm.orgChild3Name, " ", pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// ELSE CONCAT(pm.orgChild4Name, " ", pm.orgChild3Name, " ", pm.orgChild2Name, " ", pm.orgChild1Name, " ", pm.orgRootName) -// END AS org, -// pm.searchShortName, -// p.position, -// posType.posTypeName, -// CONCAT(posType.posTypeShortName, ' ', posLevel.posLevelName) AS "posLevelName", -// p.gender, -// p.relationship, -// p.dateAppoint, -// p.dateRetire, -// p.dateRetireLaw, -// p.birthdate, -// eds.Educations, -// edls.educationLevels, -// degs.degrees, -// fies.fields, -// TIMESTAMPDIFF(YEAR, p.birthdate, CURDATE()) AS age, -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vctlo.Years AS levelYears, -// vctlo.Months AS levelMonths, -// vctlo.Days AS levelDays -// FROM profileEmployee p -// LEFT JOIN employeePosLevel posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN employeePosType posType ON p.posTypeId = posType.id -// LEFT JOIN PosMaster pm ON p.id = pm.current_holderId AND pm.pm_number = 1 -// LEFT JOIN Educations eds ON p.id = eds.profileEmployeeId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileEmployeeId -// LEFT JOIN Degrees degs ON p.id = degs.profileEmployeeId -// LEFT JOIN Fields fies ON p.id = fies.profileEmployeeId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileEmployeeId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileEmployeeId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_employee","WITH Position AS (\n SELECT \n pn.posMasterId,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM employeePosition pn\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pm.current_holderId,\n pm.posMasterNo,\n pm.orgRootId,\n pm.orgChild1Id,\n pm.orgChild2Id,\n pm.orgChild3Id,\n pm.orgChild4Id,\n orgRoot.orgRootName,\n orgChild1.orgChild1Name,\n orgChild2.orgChild2Name,\n orgChild3.orgChild3Name,\n orgChild4.orgChild4Name,\n CASE \n WHEN pm.orgChild1Id IS NULL THEN CONCAT(orgRoot.orgRootShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild2Id IS NULL THEN CONCAT(orgChild1.orgChild1ShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild3Id IS NULL THEN CONCAT(orgChild2.orgChild2ShortName, \" \", pm.posMasterNo)\n WHEN pm.orgChild4Id IS NULL THEN CONCAT(orgChild3.orgChild3ShortName, \" \", pm.posMasterNo)\n ELSE CONCAT(orgChild4.orgChild4ShortName, \" \", pm.posMasterNo)\n END AS searchShortName,\n ROW_NUMBER() OVER (PARTITION BY pm.current_holderId ORDER BY pm.posMasterNo DESC) AS pm_number\n FROM employeePosMaster pm\n LEFT JOIN orgRevision ON orgRevision.id = pm.orgRevisionId\n LEFT JOIN orgRoot ON orgRoot.id = pm.orgRootId\n LEFT JOIN orgChild1 ON orgChild1.id = pm.orgChild1Id\n LEFT JOIN orgChild2 ON orgChild2.id = pm.orgChild2Id\n LEFT JOIN orgChild3 ON orgChild3.id = pm.orgChild3Id\n LEFT JOIN orgChild4 ON orgChild4.id = pm.orgChild4Id\n LEFT JOIN Position pn ON pm.id = pn.posMasterId AND pn.pn_number = 1\n WHERE orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileEmployeeId,\n JSON_ARRAYAGG(\n JSON_OBJECT(\n 'degree', eds.degree,\n 'field', eds.field,\n 'educationLevel', eds.educationLevel,\n 'isEducation', eds.isEducation,\n 'isHigh', eds.isHigh\n )\n ) AS Educations\n FROM (\n SELECT DISTINCT \n eds.degree, \n eds.field, \n eds.educationLevel, \n eds.isEducation, \n eds.isHigh, \n eds.profileEmployeeId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileEmployeeId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileEmployeeId,\n GROUP_CONCAT(DISTINCT edls.educationLevel ORDER BY edls.educationLevel SEPARATOR ', ') AS educationLevels\n FROM profileEducation edls\n WHERE edls.educationLevel IS NOT NULL AND edls.educationLevel != ''\n GROUP BY edls.profileEmployeeId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileEmployeeId,\n GROUP_CONCAT(DISTINCT degs.degree ORDER BY degs.degree SEPARATOR ', ') AS degrees\n FROM profileEducation degs\n WHERE degs.degree IS NOT NULL AND degs.degree != ''\n GROUP BY degs.profileEmployeeId\n ),\n Fields AS (\n SELECT \n\t\t fies.profileEmployeeId,\n GROUP_CONCAT(DISTINCT fies.field ORDER BY fies.field SEPARATOR ', ') AS fields\n FROM profileEducation fies\n WHERE fies.field IS NOT NULL AND fies.field != ''\n GROUP BY fies.profileEmployeeId\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileEmployeeId\n FROM tenurePositionEmployee vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileEmployeeId\n FROM tenureLevelEmployee vctlo\n )\n SELECT \n p.id as profileEmployeeId,\n p.citizenId,\n p.rank,\n p.prefix,\n p.firstName,\n p.lastName,\n p.isProbation,\n p.isLeave,\n p.isRetirement,\n p.leaveType,\n p.employeeClass,\n pm.posMasterNo,\n pm.orgRootId,\n pm.orgChild1Id,\n pm.orgChild2Id,\n pm.orgChild3Id,\n pm.orgChild4Id,\n pm.orgRootName,\n pm.orgChild1Name,\n pm.orgChild2Name,\n pm.orgChild3Name,\n pm.orgChild4Name,\n CASE \n WHEN pm.orgChild1Id IS NULL THEN pm.orgRootName\n WHEN pm.orgChild2Id IS NULL THEN CONCAT(pm.orgChild1Name, \" \", pm.orgRootName)\n WHEN pm.orgChild3Id IS NULL THEN CONCAT(pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n WHEN pm.orgChild4Id IS NULL THEN CONCAT(pm.orgChild3Name, \" \", pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n ELSE CONCAT(pm.orgChild4Name, \" \", pm.orgChild3Name, \" \", pm.orgChild2Name, \" \", pm.orgChild1Name, \" \", pm.orgRootName)\n END AS org,\n pm.searchShortName,\n p.position,\n posType.posTypeName,\n CONCAT(posType.posTypeShortName, ' ', posLevel.posLevelName) AS \"posLevelName\",\n p.gender,\n p.relationship,\n p.dateAppoint,\n p.dateRetire,\n p.dateRetireLaw,\n p.birthdate,\n eds.Educations,\n edls.educationLevels,\n degs.degrees,\n fies.fields,\n TIMESTAMPDIFF(YEAR, p.birthdate, CURDATE()) AS age,\n vcto.Years,\n vcto.Months,\n vcto.Days,\n vctlo.Years AS levelYears,\n vctlo.Months AS levelMonths,\n vctlo.Days AS levelDays\n FROM profileEmployee p\n LEFT JOIN employeePosLevel posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN employeePosType posType ON p.posTypeId = posType.id\n LEFT JOIN PosMaster pm ON p.id = pm.current_holderId AND pm.pm_number = 1\n LEFT JOIN Educations eds ON p.id = eds.profileEmployeeId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileEmployeeId\n LEFT JOIN Degrees degs ON p.id = degs.profileEmployeeId\n LEFT JOIN Fields fies ON p.id = fies.profileEmployeeId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileEmployeeId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileEmployeeId"]); -// await queryRunner.query(`CREATE VIEW \`view_pos_master\` AS SELECT -// posMaster.id, -// posMaster.posMasterNoPrefix, -// posMaster.posMasterNo, -// posMaster.posMasterNoSuffix, -// posMaster.orgRevisionId, -// posMaster.orgRootId, -// posMaster.orgChild1Id, -// posMaster.orgChild2Id, -// posMaster.orgChild3Id, -// posMaster.orgChild4Id, -// posMaster.current_holderId, -// profile.id as profileId, -// profile.prefix, -// profile.firstName, -// profile.lastName, -// profile.citizenId, -// profile.position, -// profile.amount, -// profile.dateRetire, -// profile.birthDate, -// orgRoot.id as rootId, -// orgRoot.orgRootShortName, -// orgRoot.orgRootOrder, -// orgRoot.orgRootName, -// orgChild1.id as child1Id, -// orgChild1.orgChild1ShortName, -// orgChild1.orgChild1Order, -// orgChild1.orgChild1Name, -// orgChild2.id as child2Id, -// orgChild2.orgChild2ShortName, -// orgChild2.orgChild2Order, -// orgChild2.orgChild2Name, -// orgChild3.id as child3Id, -// orgChild3.orgChild3ShortName, -// orgChild3.orgChild3Order, -// orgChild3.orgChild3Name, -// orgChild4.id as child4Id, -// orgChild4.orgChild4ShortName, -// orgChild4.orgChild4Order, -// orgChild4.orgChild4Name, -// position.id as positionId, -// position.positionIsSelected, -// position.posExecutiveId as positionPosExecutiveId, -// position.isSpecial, -// position.positionExecutiveField, -// position.positionArea, -// posExecutive.id as posExecutiveId, -// posExecutive.posExecutiveName, -// profileDiscipline.id as profileDisciplineId, -// profileDiscipline.date as disCriplineDate, -// profileLeave.id as profileLeaveId, -// profileAssessment.id as profileAssessmentId, -// profileAssessment.pointSum, -// posLevel.id as posLevelId, -// posLevel.posLevelName, -// posType.id as posTypeId, -// posType.posTypeName -// FROM -// posMaster -// LEFT JOIN -// profile ON posMaster.current_holderId = profile.id -// LEFT JOIN -// orgRoot ON posMaster.orgRootId = orgRoot.id -// LEFT JOIN -// orgChild1 ON posMaster.orgChild1Id = orgChild1.id -// LEFT JOIN -// orgChild2 ON posMaster.orgChild2Id = orgChild2.id -// LEFT JOIN -// orgChild3 ON posMaster.orgChild3Id = orgChild3.id -// LEFT JOIN -// orgChild4 ON posMaster.orgChild4Id = orgChild4.id -// LEFT JOIN -// position ON posMaster.id = position.posMasterId -// LEFT JOIN -// posExecutive ON position.posExecutiveId = posExecutive.id -// LEFT JOIN ( -// SELECT * -// FROM profileDiscipline pd1 -// WHERE pd1.date = ( -// SELECT MAX(pd2.date) -// FROM profileDiscipline pd2 -// WHERE pd2.profileId = pd1.profileId -// ) -// ) AS profileDiscipline ON profileDiscipline.profileId = profile.id -// LEFT JOIN ( -// SELECT pl1.* -// FROM profileLeave pl1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileLeave -// GROUP BY profileId -// ) pl2 ON pl1.profileId = pl2.profileId -// AND pl1.createdAt = pl2.maxDate -// ) AS profileLeave -// ON profileLeave.profileId = posMaster.current_holderId -// LEFT JOIN ( -// SELECT pa1.* -// FROM profileAssessment pa1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileAssessment -// GROUP BY profileId -// ) pa2 ON pa1.profileId = pa2.profileId -// AND pa1.createdAt = pa2.maxDate -// ) AS profileAssessment -// ON profileAssessment.profileId = profile.id -// LEFT JOIN -// posLevel ON profile.posLevelId = posLevel.id -// LEFT JOIN -// posType ON profile.posTypeId = posType.id -// WHERE -// posMaster.current_holderId IS NOT NULL -// ORDER BY -// profile.citizenId ASC -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_pos_master","SELECT \n posMaster.id,\n posMaster.posMasterNoPrefix,\n posMaster.posMasterNo,\n posMaster.posMasterNoSuffix,\n posMaster.orgRevisionId,\n posMaster.orgRootId,\n posMaster.orgChild1Id,\n posMaster.orgChild2Id,\n posMaster.orgChild3Id,\n posMaster.orgChild4Id,\n posMaster.current_holderId,\n profile.id as profileId,\n profile.prefix,\n profile.firstName,\n profile.lastName,\n profile.citizenId,\n profile.position,\n profile.amount,\n profile.dateRetire,\n profile.birthDate,\n orgRoot.id as rootId,\n orgRoot.orgRootShortName,\n orgRoot.orgRootOrder,\n orgRoot.orgRootName,\n orgChild1.id as child1Id,\n orgChild1.orgChild1ShortName,\n orgChild1.orgChild1Order,\n orgChild1.orgChild1Name,\n orgChild2.id as child2Id,\n orgChild2.orgChild2ShortName,\n orgChild2.orgChild2Order,\n orgChild2.orgChild2Name,\n orgChild3.id as child3Id,\n orgChild3.orgChild3ShortName,\n orgChild3.orgChild3Order,\n orgChild3.orgChild3Name,\n orgChild4.id as child4Id,\n orgChild4.orgChild4ShortName,\n orgChild4.orgChild4Order,\n orgChild4.orgChild4Name,\n position.id as positionId,\n position.positionIsSelected,\n position.posExecutiveId as positionPosExecutiveId,\n position.isSpecial,\n position.positionExecutiveField,\n position.positionArea,\n posExecutive.id as posExecutiveId,\n posExecutive.posExecutiveName,\n profileDiscipline.id as profileDisciplineId,\n profileDiscipline.date as disCriplineDate,\n profileLeave.id as profileLeaveId,\n profileAssessment.id as profileAssessmentId,\n profileAssessment.pointSum,\n posLevel.id as posLevelId,\n posLevel.posLevelName,\n\t posType.id as posTypeId,\n posType.posTypeName\n FROM \n posMaster\n LEFT JOIN \n profile ON posMaster.current_holderId = profile.id\n LEFT JOIN \n orgRoot ON posMaster.orgRootId = orgRoot.id\n LEFT JOIN \n orgChild1 ON posMaster.orgChild1Id = orgChild1.id\n LEFT JOIN \n orgChild2 ON posMaster.orgChild2Id = orgChild2.id\n LEFT JOIN \n orgChild3 ON posMaster.orgChild3Id = orgChild3.id\n LEFT JOIN \n orgChild4 ON posMaster.orgChild4Id = orgChild4.id\n LEFT JOIN \n position ON posMaster.id = position.posMasterId\n LEFT JOIN \n posExecutive ON position.posExecutiveId = posExecutive.id\n LEFT JOIN (\n SELECT *\n FROM profileDiscipline pd1\n WHERE pd1.date = (\n SELECT MAX(pd2.date)\n FROM profileDiscipline pd2\n WHERE pd2.profileId = pd1.profileId\n )\n ) AS profileDiscipline ON profileDiscipline.profileId = profile.id\n LEFT JOIN (\n SELECT pl1.*\n FROM profileLeave pl1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileLeave\n GROUP BY profileId\n ) pl2 ON pl1.profileId = pl2.profileId\n AND pl1.createdAt = pl2.maxDate\n ) AS profileLeave \n ON profileLeave.profileId = posMaster.current_holderId\n LEFT JOIN (\n SELECT pa1.*\n FROM profileAssessment pa1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileAssessment\n GROUP BY profileId\n ) pa2 ON pa1.profileId = pa2.profileId\n AND pa1.createdAt = pa2.maxDate\n ) AS profileAssessment \n ON profileAssessment.profileId = profile.id\n LEFT JOIN \n posLevel ON profile.posLevelId = posLevel.id\n LEFT JOIN \n posType ON profile.posTypeId = posType.id\n WHERE \t\n posMaster.current_holderId IS NOT NULL\n ORDER BY \n profile.citizenId ASC"]); -// await queryRunner.query(`CREATE VIEW \`view_employee_pos_master\` AS SELECT -// employeePosMaster.id, -// employeePosMaster.posMasterNoPrefix, -// employeePosMaster.posMasterNo, -// employeePosMaster.posMasterNoSuffix, -// employeePosMaster.orgRevisionId, -// employeePosMaster.orgRootId, -// employeePosMaster.orgChild1Id, -// employeePosMaster.orgChild2Id, -// employeePosMaster.orgChild3Id, -// employeePosMaster.orgChild4Id, -// employeePosMaster.current_holderId, -// profileEmployee.id as profileId, -// profileEmployee.prefix, -// profileEmployee.firstName, -// profileEmployee.lastName, -// profileEmployee.citizenId, -// profileEmployee.position, -// profileEmployee.amount, -// profileEmployee.dateRetire, -// profileEmployee.birthDate, -// profileEmployee.salaryLevel, -// profileEmployee.group, -// orgRoot.id as rootId, -// orgRoot.orgRootShortName, -// orgRoot.orgRootOrder, -// orgRoot.orgRootName, -// orgChild1.id as child1Id, -// orgChild1.orgChild1ShortName, -// orgChild1.orgChild1Order, -// orgChild1.orgChild1Name, -// orgChild2.id as child2Id, -// orgChild2.orgChild2ShortName, -// orgChild2.orgChild2Order, -// orgChild2.orgChild2Name, -// orgChild3.id as child3Id, -// orgChild3.orgChild3ShortName, -// orgChild3.orgChild3Order, -// orgChild3.orgChild3Name, -// orgChild4.id as child4Id, -// orgChild4.orgChild4ShortName, -// orgChild4.orgChild4Order, -// orgChild4.orgChild4Name, -// position.id as positionId, -// position.positionIsSelected, -// position.posExecutiveId as positionPosExecutiveId, -// position.isSpecial, -// posExecutive.id as posExecutiveId, -// posExecutive.posExecutiveName, -// profileDiscipline.id as profileDisciplineId, -// profileDiscipline.date as disCriplineDate, -// profileLeave.id as profileLeaveId, -// profileAssessment.id as profileAssessmentId, -// profileAssessment.pointSum, -// employeePosLevel.id as posLevelId, -// employeePosLevel.posLevelName, -// employeePosType.id as posTypeId, -// employeePosType.posTypeName, -// employeePosType.posTypeShortName -// FROM -// employeePosMaster -// LEFT JOIN -// profileEmployee ON employeePosMaster.current_holderId = profileEmployee.id -// LEFT JOIN -// orgRoot ON employeePosMaster.orgRootId = orgRoot.id -// LEFT JOIN -// orgChild1 ON employeePosMaster.orgChild1Id = orgChild1.id -// LEFT JOIN -// orgChild2 ON employeePosMaster.orgChild2Id = orgChild2.id -// LEFT JOIN -// orgChild3 ON employeePosMaster.orgChild3Id = orgChild3.id -// LEFT JOIN -// orgChild4 ON employeePosMaster.orgChild4Id = orgChild4.id -// LEFT JOIN -// position ON employeePosMaster.id = position.posMasterId -// LEFT JOIN -// posExecutive ON position.posExecutiveId = posExecutive.id -// LEFT JOIN ( -// SELECT * -// FROM profileDisciplineEmployee pd1 -// WHERE pd1.date = ( -// SELECT MAX(pd2.date) -// FROM profileDisciplineEmployee pd2 -// WHERE pd2.profileId = pd1.profileId -// ) -// ) AS profileDiscipline ON profileDiscipline.profileId = profileEmployee.id -// LEFT JOIN ( -// SELECT pl1.* -// FROM profileLeave pl1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileLeave -// GROUP BY profileId -// ) pl2 ON pl1.profileId = pl2.profileId -// AND pl1.createdAt = pl2.maxDate -// ) AS profileLeave ON profileLeave.profileId = employeePosMaster.current_holderId -// LEFT JOIN ( -// SELECT pa1.* -// FROM profileAssessment pa1 -// INNER JOIN ( -// SELECT profileId, MAX(createdAt) AS maxDate -// FROM profileAssessment -// GROUP BY profileId -// ) pa2 ON pa1.profileId = pa2.profileId -// AND pa1.createdAt = pa2.maxDate -// ) AS profileAssessment -// ON profileAssessment.profileId = profileEmployee.id -// LEFT JOIN -// employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id -// LEFT JOIN -// employeePosType ON profileEmployee.posTypeId = employeePosType.id -// WHERE -// employeePosMaster.current_holderId IS NOT NULL -// ORDER BY -// profileEmployee.citizenId ASC -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_employee_pos_master","SELECT \n employeePosMaster.id,\n employeePosMaster.posMasterNoPrefix,\n employeePosMaster.posMasterNo,\n employeePosMaster.posMasterNoSuffix,\n employeePosMaster.orgRevisionId,\n employeePosMaster.orgRootId,\n employeePosMaster.orgChild1Id,\n employeePosMaster.orgChild2Id,\n employeePosMaster.orgChild3Id,\n employeePosMaster.orgChild4Id,\n employeePosMaster.current_holderId,\n profileEmployee.id as profileId,\n profileEmployee.prefix,\n profileEmployee.firstName,\n profileEmployee.lastName,\n profileEmployee.citizenId,\n profileEmployee.position,\n profileEmployee.amount,\n profileEmployee.dateRetire,\n profileEmployee.birthDate,\n profileEmployee.salaryLevel,\n profileEmployee.group,\n orgRoot.id as rootId,\n orgRoot.orgRootShortName,\n orgRoot.orgRootOrder,\n orgRoot.orgRootName,\n orgChild1.id as child1Id,\n orgChild1.orgChild1ShortName,\n orgChild1.orgChild1Order,\n orgChild1.orgChild1Name,\n orgChild2.id as child2Id,\n orgChild2.orgChild2ShortName,\n orgChild2.orgChild2Order,\n orgChild2.orgChild2Name,\n orgChild3.id as child3Id,\n orgChild3.orgChild3ShortName,\n orgChild3.orgChild3Order,\n orgChild3.orgChild3Name,\n orgChild4.id as child4Id,\n orgChild4.orgChild4ShortName,\n orgChild4.orgChild4Order,\n orgChild4.orgChild4Name,\n position.id as positionId,\n position.positionIsSelected,\n position.posExecutiveId as positionPosExecutiveId,\n position.isSpecial,\n posExecutive.id as posExecutiveId,\n posExecutive.posExecutiveName,\n profileDiscipline.id as profileDisciplineId,\n profileDiscipline.date as disCriplineDate,\n profileLeave.id as profileLeaveId,\n profileAssessment.id as profileAssessmentId,\n profileAssessment.pointSum,\n employeePosLevel.id as posLevelId,\n employeePosLevel.posLevelName,\n\temployeePosType.id as posTypeId,\n employeePosType.posTypeName,\n employeePosType.posTypeShortName\n FROM \n employeePosMaster\n LEFT JOIN \n profileEmployee ON employeePosMaster.current_holderId = profileEmployee.id \n LEFT JOIN \n orgRoot ON employeePosMaster.orgRootId = orgRoot.id\n LEFT JOIN \n orgChild1 ON employeePosMaster.orgChild1Id = orgChild1.id\n LEFT JOIN \n orgChild2 ON employeePosMaster.orgChild2Id = orgChild2.id\n LEFT JOIN \n orgChild3 ON employeePosMaster.orgChild3Id = orgChild3.id\n LEFT JOIN \n orgChild4 ON employeePosMaster.orgChild4Id = orgChild4.id\n LEFT JOIN \n position ON employeePosMaster.id = position.posMasterId\n LEFT JOIN \n posExecutive ON position.posExecutiveId = posExecutive.id\n LEFT JOIN (\n SELECT *\n FROM profileDisciplineEmployee pd1\n WHERE pd1.date = (\n SELECT MAX(pd2.date)\n FROM profileDisciplineEmployee pd2\n WHERE pd2.profileId = pd1.profileId\n )\n ) AS profileDiscipline ON profileDiscipline.profileId = profileEmployee.id\n LEFT JOIN (\n SELECT pl1.*\n FROM profileLeave pl1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileLeave\n GROUP BY profileId\n ) pl2 ON pl1.profileId = pl2.profileId\n AND pl1.createdAt = pl2.maxDate\n ) AS profileLeave ON profileLeave.profileId = employeePosMaster.current_holderId\n LEFT JOIN (\n SELECT pa1.*\n FROM profileAssessment pa1\n INNER JOIN (\n SELECT profileId, MAX(createdAt) AS maxDate\n FROM profileAssessment\n GROUP BY profileId\n ) pa2 ON pa1.profileId = pa2.profileId\n AND pa1.createdAt = pa2.maxDate\n ) AS profileAssessment \n ON profileAssessment.profileId = profileEmployee.id\n LEFT JOIN \n employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id\n LEFT JOIN \n employeePosType ON profileEmployee.posTypeId = employeePosType.id\n WHERE \t\n employeePosMaster.current_holderId IS NOT NULL\n ORDER BY \n profileEmployee.citizenId ASC"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_officer\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPosition -// WHERE -// prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign -// GROUP BY -// profileId, groupedId, positionName -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS OrgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_officer","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPosition\n WHERE\n prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign\n GROUP BY\n profileId, groupedId, positionName\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff,\n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS OrgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileId,\n NULL AS orderNumber\n FROM resultData"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_exc_officer\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND -// positionExecutive <> '' -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPositionExe -// GROUP BY -// groupedId, positionExecutive -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// orgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS orgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_exc_officer","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND\n positionExecutive <> ''\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPositionExe\n GROUP BY\n groupedId, positionExecutive\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff, \n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n orgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS orgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileId,\n NULL AS orderNumber\n FROM resultData"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_employee\` AS -// WITH resultData AS ( -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff, -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF( -// DAY, -// LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days', -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// ROW_NUMBER() OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect ASC) AS orderNumber -// FROM ( -// SELECT -// commandDateAffect, -// commandDateSign, -// positionName, -// positionCee, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign, -// ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) - -// ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId -// FROM -// profileSalary -// WHERE -// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) -// ORDER BY -// commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPosition -// WHERE -// prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign -// GROUP BY -// profileEmployeeId, groupedId, positionName -// ) -// SELECT -// commandDateAffect, -// positionName, -// positionCee, -// days_diff, -// Years, -// Months, -// Days, -// posNo, -// positionExecutive, -// positionType, -// positionLevel, -// OrgRoot, -// orgChild1, -// orgChild2, -// orgChild3, -// orgChild4, -// commandCode, -// commandName, -// commandNo, -// commandYear, -// remark, -// profileEmployeeId, -// orderNumber -// FROM resultData - -// UNION ALL - -// SELECT -// CURDATE() AS commandDateAffect, -// NULL AS positionName, -// NULL AS positionCee, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff, -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months', -// TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days', -// NULL AS posNo, -// NULL AS positionExecutive, -// NULL AS positionType, -// NULL AS positionLevel, -// NULL AS OrgRoot, -// NULL AS orgChild1, -// NULL AS orgChild2, -// NULL AS orgChild3, -// NULL AS orgChild4, -// NULL AS commandCode, -// NULL AS commandName, -// NULL AS commandNo, -// NULL AS commandYear, -// NULL AS remark, -// profileEmployeeId, -// NULL AS orderNumber -// FROM resultData -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_current_tenure_employee","WITH resultData AS (\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (ORDER BY commandDateAffect), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n ROW_NUMBER() OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM (\n SELECT\n commandDateAffect,\n commandDateSign,\n positionName,\n positionCee,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n LAG(commandDateSign) OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) AS prevCommandDateSign,\n ROW_NUMBER() OVER (ORDER BY commandDateAffect ASC, commandDateSign ASC) -\n ROW_NUMBER() OVER (PARTITION BY positionName ORDER BY commandDateAffect ASC, commandDateSign ASC) as groupedId\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n ORDER BY\n commandDateAffect ASC, commandDateSign ASC\n ) AS groupedPosition\n WHERE\n prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign\n GROUP BY\n profileEmployeeId, groupedId, positionName\n )\n SELECT\n commandDateAffect,\n positionName,\n positionCee,\n days_diff,\n Years,\n Months,\n Days,\n posNo,\n positionExecutive,\n positionType,\n positionLevel,\n OrgRoot,\n orgChild1,\n orgChild2,\n orgChild3,\n orgChild4,\n commandCode,\n commandName,\n commandNo,\n commandYear,\n remark,\n profileEmployeeId,\n orderNumber\n FROM resultData\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\n NULL AS positionName,\n NULL AS positionCee,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) AS days_diff,\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(DAY, MAX(commandDateAffect), CURDATE()) % 30.4375 AS 'Days',\n NULL AS posNo,\n NULL AS positionExecutive,\n NULL AS positionType,\n NULL AS positionLevel,\n NULL AS OrgRoot,\n NULL AS orgChild1,\n NULL AS orgChild2,\n NULL AS orgChild3,\n NULL AS orgChild4,\n NULL AS commandCode,\n NULL AS commandName,\n NULL AS commandNo,\n NULL AS commandYear,\n NULL AS remark,\n profileEmployeeId,\n NULL AS orderNumber\n FROM resultData"]); - } -// - public async down(queryRunner: QueryRunner): Promise { -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_employee","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_current_tenure_employee\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_exc_officer","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_current_tenure_exc_officer\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_current_tenure_officer","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_current_tenure_officer\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_employee_pos_master","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_employee_pos_master\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_pos_master","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_pos_master\``); -// await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_registry_employee","hrms_organization"]); -// await queryRunner.query(`DROP VIEW \`view_registry_employee\``); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP FOREIGN KEY \`FK_f1ded3e1f83ab2437f739a14f38\``); -// await queryRunner.query(`ALTER TABLE \`educationMis\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FLAG_EDUCATION\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FLAG_EDUCATION\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MAJOR_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`FUND_COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`FUND_COURSE_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_POS_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_POS_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_DATE\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_COMMAND_NUM\``); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` DROP COLUMN \`mp_command_num\``); -// await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionLevelName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionTypeName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PosNoName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`SalaryRef\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryRef\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`posNo\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNo\` varchar(40) NULL COMMENT 'เลขที่ตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP PRIMARY KEY`); -// await queryRunner.query(`ALTER TABLE \`subDistrictImport\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiName\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiKey\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`apiAttribute\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`bloodGroup\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandCode\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`educationLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`gender\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaStateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaState\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`metaWorkflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`prefixe\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChangePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`changePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`relationship\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`rank\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`religion\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenureLevelEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenureLevelOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`tenurePositionExecutiveOfficer\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`permissionProfile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMasterAct\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); - await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAddressHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profile\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssistance\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileActposition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileActpositionHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`permissionOrg\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NULL COMMENT 'ข้อมูลจาก Entry'`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployee\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`command\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandRecive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSend\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSendCC\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posMasterAssign\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`commandSalary\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateOperatorUser\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`workflow\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`state\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateUserComment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`stateOperator\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`roleKeycloak\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDevelopment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDevelopmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`developmentProject\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`developmentRequest\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEdit\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeEmployment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeEmploymentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEmployeeInformationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`province\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`district\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`subDistrict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChildren\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChildrenHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyCouple\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyCoupleHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyMother\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyMotherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyFather\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyFatherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileGovernment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAvatar\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileOther\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileOtherHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAbility\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAbilityHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEducation\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileEducationHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileFamilyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileChangeNameHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDiscipline\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDisciplineHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileNopaid\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileNopaidHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDuty\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileDutyHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileLeave\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`leaveType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssessment\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileAssessmentHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHonor\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileHonorHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileInsignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileInsigniaHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`insignia\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`insigniaType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileTraining\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileTrainingHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileCertificate\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`profileCertificateHistory\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosLevel\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosType\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosition\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeePosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`authRole\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`employeeTempPosMaster\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`authRoleAttr\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`posExecutive\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdateFullName\` \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`createdFullName\` \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string'`); -// await queryRunner.query(`ALTER TABLE \`entity_base\` CHANGE \`lastUpdatedAt\` \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)`); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`FLAG_EDUCATION\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`MAJOR_CODE\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION_EMP\` DROP COLUMN \`FUND_COURSE_CODE\``); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ID\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`ProfileId\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionName\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`PositionSalaryAmount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`Amount\``); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP COLUMN \`Order\``); - await queryRunner.query(`ALTER TABLE \`position\` DROP COLUMN \`orderNo\``); -// await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MINOR_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`ORDER\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`HRMS_DIV_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`IMPORT_ORG\` ADD \`HRMS_DEP_CODE\` mediumtext NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`WORK_LINE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`USER_UPDATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`USER_CREATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`UPDATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`UP_C_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SPECIALIST_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SPECIALIST_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SECTION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_CODE_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_ABB_NAME_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_POS_ABB_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_LEVEL_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SALARY_LEVEL\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`REC_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`PROVINCE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POSITION_CATG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`PLACE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MVMENT_OF\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MVMENT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FORCE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG_CURRENT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_NUM_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_COMMAND_DATE_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`MP_CEE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`JOB_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`GROUPWORK_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`GROUPWORK_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME_E\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME_CODE_E\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_POS_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FILL_APP_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DIVISION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CUR_YEAR_EDIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`CREATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COURSE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COURSE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`COUNTRY_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`AUDIT_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`AUDIT_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`ADMIN_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`ACTIVE_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_NAME_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`WORK_LINE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UPDATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UPCLASS_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`UNIVER_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SUN_NO\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIALIST_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIALIST_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_PERCENT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_AMT_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SPECIAL_AMT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_CODE_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_ABB_NAME_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_POS_ABB_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_LEVEL\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_ADD_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SALARY_ADD\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SAL_POS_AMOUNT_2\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`SAL_POS_AMOUNT_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETURN_OCCUPY_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETIRE_TYPE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RETIRE_POS_NO\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_MP_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RET_BORN_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`RANK_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POSITION_CATG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT_ABB\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`POS_NUM_CODE_SIT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`PAYMENT_PERCENT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`PAYMENT_AMT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_SECTION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_JOB_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_DIVISION_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`OLD_RETIRE_DEPARTMENT_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_YEAR_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_POS_DATE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_POS_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FORCE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_1_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG_1\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_FLAG\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_NUM_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_NUM\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_DATE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_COMMAND_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MP_CEE_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MARRIAGE_STATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MAJOR_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`MAJOR_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`HELP_LIVING_AMOUNT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`GROUPWORK_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FUND_COURSE_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TYPE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_CODE_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_TO_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_RETIRE_STATUS\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_PERSON_TYPE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`FLAG_CUR_ST\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`EDUCATION_NAME\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`DEXPIRE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CUR_YEAR_O\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CUR_YEAR\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CREATE_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`COST_LIVING_AMOUNT\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`CONTENT_NO\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ADMIN_DATE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ADMIN_CODE\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryStatus\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`SalaryClass\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`RefCommandNo\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`RefCommandDate\` datetime(6) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`profileId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง profile'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`profileEmployeeId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง ProfileEmployee'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PosNoEmployee\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`posNoAbb\` varchar(40) NULL COMMENT 'ตัวย่อเลขที่ตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionTypeId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionType\` varchar(255) NULL COMMENT 'ประเภทตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionSalaryAmount\` double NULL COMMENT 'เงินประจำตำแหน่ง' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionRef\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionPathSideName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionPathSideId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionName\` text NULL COMMENT 'ตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLineName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLineId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionLevelId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionLevel\` varchar(255) NULL COMMENT 'ระดับตำแหน่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveSideId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionExecutiveId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionExecutive\` varchar(255) NULL COMMENT 'ตำแหน่งทางการบริหาร'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeePositionSideId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeePositionId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeeLevelId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`PositionEmployeeGroupId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`positionCee\` varchar(255) NULL COMMENT 'ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgRoot\` varchar(255) NULL COMMENT 'root name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OrgName\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild4\` varchar(255) NULL COMMENT 'child4 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild3\` varchar(255) NULL COMMENT 'child3 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild2\` varchar(255) NULL COMMENT 'child2 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`orgChild1\` varchar(255) NULL COMMENT 'child1 name'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OrganizationShortNameId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`order\` int NULL COMMENT 'เรียงลำดับใหมาตามการนำเข้า'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`OcId\` char(36) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`mouthSalaryAmount\` double NULL COMMENT 'เงินค่าตอบแทนรายเดือน' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`isGovernment\` tinyint NULL COMMENT 'เข้ารับราชการ'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`IsActive\` tinyint(1) NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`dateGovernment\` datetime NULL COMMENT 'วันที่'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandYear\` int NULL COMMENT 'ปีที่ออกคำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`CommandTypeName\` longtext NOT NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandNo\` varchar(255) NULL COMMENT 'เลขที่คำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อประเภทคำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง command'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandDateSign\` datetime NULL COMMENT 'คำสั่งวันที่'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandDateAffect\` datetime NULL COMMENT 'คำสั่งมีผลวันที่'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`CLevel\` longtext NULL`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`amountSpecial\` double NULL COMMENT 'เงินพิเศษ' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`amount\` double NULL COMMENT 'เงินเดือนฐาน' DEFAULT '0'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD \`AgencyName\` longtext NULL`); -// await queryRunner.query(`DROP TABLE \`EMPLOYEE\``); -// await queryRunner.query(`DROP TABLE \`EMPLOYEETEMP\``); - } - -} diff --git a/src/migration/1756282384029-create_table_registry_.ts b/src/migration/1756282384029-create_table_registry_.ts deleted file mode 100644 index fe3b8d02..00000000 --- a/src/migration/1756282384029-create_table_registry_.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class CreateTableRegistry_1756282384029 implements MigrationInterface { - name = 'CreateTableRegistry_1756282384029' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE TABLE \`registryEmployee\` (\`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), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator', \`profileEmployeeId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง profileEmployee', \`citizenId\` varchar(13) NULL COMMENT 'เลขประจำตัวประชาชน', \`prefix\` varchar(20) NULL COMMENT 'คำนำหน้าชื่อ เช่น นาย นาง นางสาว', \`firstName\` varchar(255) NULL COMMENT 'ชื่อ', \`lastName\` varchar(255) NULL COMMENT 'นามสกุล', \`isProbation\` tinyint NOT NULL COMMENT 'ทดลองปฏิบัติหน้าที่' DEFAULT 0, \`isLeave\` tinyint NOT NULL COMMENT 'พ้นราชการ' DEFAULT 0, \`isRetirement\` tinyint NOT NULL COMMENT 'เกษียณ' DEFAULT 0, \`leaveType\` varchar(255) NULL COMMENT 'ประเภทพ้นคำสั่งพ้นจากราชการ', \`posMasterNo\` varchar(255) NULL COMMENT 'เลขที่ตำแหน่ง เป็นตัวเลข', \`orgRootId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRoot', \`orgChild1Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild1', \`orgChild2Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild2', \`orgChild3Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild3', \`orgChild4Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild4', \`orgRootName\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน', \`orgChild1Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child1', \`orgChild2Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child2', \`orgChild3Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child3', \`orgChild4Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child4', \`org\` varchar(255) NULL COMMENT 'สังกัด', \`searchShortName\` varchar(255) NULL COMMENT 'เลขที่ตำแหน่ง', \`position\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งในสายงาน', \`posTypeName\` varchar(255) NULL COMMENT 'ประเภทตำแหน่ง', \`posLevelName\` varchar(255) NULL COMMENT 'ระดับตำแหน่ง', \`gender\` varchar(40) NULL COMMENT 'เพศ', \`relationship\` varchar(40) NULL COMMENT 'ความสัมพันธ์', \`dateAppoint\` datetime NULL COMMENT 'วันที่บรรจุ', \`dateRetire\` datetime NULL COMMENT 'วันครบเกษียณอายุ', \`dateRetireLaw\` datetime NULL COMMENT 'วันที่เกษียณอายุราชการตามกฏหมาย', \`birthdate\` datetime NULL COMMENT 'วันเกิด', \`degrees\` varchar(255) NULL COMMENT 'วุฒิการศึกษา', \`age\` int NULL COMMENT 'อายุ', \`Years\` int NULL COMMENT 'จำนวนปีระยะเวลาดำรงตำแหน่งในสายงาน', \`Months\` int NULL COMMENT 'จำนวนเดือนระยะเวลาดำรงตำแหน่งในสายงาน', \`Days\` int NULL COMMENT 'จำนวนวันระยะเวลาดำรงตำแหน่งในสายงาน', \`levelYears\` int NULL COMMENT 'จำนวนปีระยะเวลาดำรงตำแหน่งตามระดับ', \`levelMonths\` int NULL COMMENT 'จำนวนเดือนระยะเวลาดำรงตำแหน่งตามระดับ', \`levelDays\` int NULL COMMENT 'จำนวนวันระยะเวลาดำรงตำแหน่งตามระดับ', \`Educations\` text NULL COMMENT 'วุฒิการศึกษา', \`educationLevels\` varchar(255) NULL COMMENT 'ระดับศึกษา', \`fields\` varchar(255) NULL COMMENT 'สาขาวิชา/ทาง', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); - await queryRunner.query(`CREATE TABLE \`registry\` (\`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), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'System Administrator', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'System Administrator', \`profileId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง profile', \`citizenId\` varchar(13) NULL COMMENT 'เลขประจำตัวประชาชน', \`prefix\` varchar(20) NULL COMMENT 'คำนำหน้าชื่อ เช่น นาย นาง นางสาว', \`firstName\` varchar(255) NULL COMMENT 'ชื่อ', \`lastName\` varchar(255) NULL COMMENT 'นามสกุล', \`isProbation\` tinyint NOT NULL COMMENT 'ทดลองปฏิบัติหน้าที่' DEFAULT 0, \`isLeave\` tinyint NOT NULL COMMENT 'พ้นราชการ' DEFAULT 0, \`isRetirement\` tinyint NOT NULL COMMENT 'เกษียณ' DEFAULT 0, \`leaveType\` varchar(255) NULL COMMENT 'ประเภทพ้นคำสั่งพ้นจากราชการ', \`posMasterNo\` varchar(255) NULL COMMENT 'เลขที่ตำแหน่ง เป็นตัวเลข', \`orgRootId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRoot', \`orgChild1Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild1', \`orgChild2Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild2', \`orgChild3Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild3', \`orgChild4Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild4', \`orgRootName\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน', \`orgChild1Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child1', \`orgChild2Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child2', \`orgChild3Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child3', \`orgChild4Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ Child4', \`org\` varchar(255) NULL COMMENT 'สังกัด', \`searchShortName\` varchar(255) NULL COMMENT 'เลขที่ตำแหน่ง', \`posExecutiveName\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งทางการบริหาร', \`position\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งในสายงาน', \`posTypeName\` varchar(255) NULL COMMENT 'ประเภทตำแหน่ง', \`posLevelName\` varchar(255) NULL COMMENT 'ระดับตำแหน่ง', \`gender\` varchar(40) NULL COMMENT 'เพศ', \`relationship\` varchar(40) NULL COMMENT 'ความสัมพันธ์', \`dateAppoint\` datetime NULL COMMENT 'วันที่บรรจุ', \`dateRetire\` datetime NULL COMMENT 'วันครบเกษียณอายุ', \`dateRetireLaw\` datetime NULL COMMENT 'วันที่เกษียณอายุราชการตามกฏหมาย', \`birthdate\` datetime NULL COMMENT 'วันเกิด', \`degrees\` varchar(255) NULL COMMENT 'วุฒิการศึกษา', \`age\` int NULL COMMENT 'อายุ', \`Years\` int NULL COMMENT 'จำนวนปีระยะเวลาดำรงตำแหน่งในสายงาน', \`Months\` int NULL COMMENT 'จำนวนเดือนระยะเวลาดำรงตำแหน่งในสายงาน', \`Days\` int NULL COMMENT 'จำนวนวันระยะเวลาดำรงตำแหน่งในสายงาน', \`levelYears\` int NULL COMMENT 'จำนวนปีระยะเวลาดำรงตำแหน่งตามระดับ', \`levelMonths\` int NULL COMMENT 'จำนวนเดือนระยะเวลาดำรงตำแหน่งตามระดับ', \`levelDays\` int NULL COMMENT 'จำนวนวันระยะเวลาดำรงตำแหน่งตามระดับ', \`posExecutiveYears\` int NULL COMMENT 'จำนวนปีระยะเวลาดำรงตำแหน่งทางการบริหาร', \`posExecutiveMonths\` int NULL COMMENT 'จำนวนเดือนระยะเวลาดำรงตำแหน่งทางการบริหาร', \`posExecutiveDays\` int NULL COMMENT 'จำนวนวันระยะเวลาดำรงตำแหน่งทางการบริหาร', \`positionArea\` varchar(255) NULL COMMENT 'ด้าน/สาขา', \`Educations\` text NULL COMMENT 'วุฒิการศึกษา', \`educationLevels\` varchar(255) NULL COMMENT 'ระดับศึกษา', \`fields\` varchar(255) NULL COMMENT 'สาขาวิชา/ทาง', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP TABLE \`registry\``); - await queryRunner.query(`DROP TABLE \`registryEmployee\``); - } - -} diff --git a/src/migration/1756357065498-update_registry_fix_length_prefix.ts b/src/migration/1756357065498-update_registry_fix_length_prefix.ts deleted file mode 100644 index 564e3329..00000000 --- a/src/migration/1756357065498-update_registry_fix_length_prefix.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateRegistryFixLengthPrefix1756357065498 implements MigrationInterface { - name = 'UpdateRegistryFixLengthPrefix1756357065498' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`prefix\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`prefix\` varchar(40) NULL COMMENT 'คำนำหน้าชื่อ เช่น นาย นาง นางสาว'`); - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`prefix\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`prefix\` varchar(40) NULL COMMENT 'คำนำหน้าชื่อ เช่น นาย นาง นางสาว'`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`prefix\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`prefix\` varchar(20) NULL COMMENT 'คำนำหน้าชื่อ เช่น นาย นาง นางสาว'`); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`prefix\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`prefix\` varchar(20) NULL COMMENT 'คำนำหน้าชื่อ เช่น นาย นาง นางสาว'`); - } - -} diff --git a/src/migration/1756364862810-update_registrymployere_add_field_employeeClass.ts b/src/migration/1756364862810-update_registrymployere_add_field_employeeClass.ts deleted file mode 100644 index 997ad8c5..00000000 --- a/src/migration/1756364862810-update_registrymployere_add_field_employeeClass.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateRegistrymployereAddFieldEmployeeClass1756364862810 implements MigrationInterface { - name = 'UpdateRegistrymployereAddFieldEmployeeClass1756364862810' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`employeeClass\` varchar(40) NULL COMMENT 'ประเภทลูกจ้าง (perm->ลูกจ้างประจำ temp->ลูกจ้างชั่วคราว)'`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`employeeClass\``); - } - -} diff --git a/src/migration/1757484721787-update_dataType_fields_registry_and_registryEmpployee.ts b/src/migration/1757484721787-update_dataType_fields_registry_and_registryEmpployee.ts deleted file mode 100644 index 25ea2cb7..00000000 --- a/src/migration/1757484721787-update_dataType_fields_registry_and_registryEmpployee.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateDataTypeFieldsRegistryAndRegistryEmpployee1757484721787 implements MigrationInterface { - name = 'UpdateDataTypeFieldsRegistryAndRegistryEmpployee1757484721787' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`degrees\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`degrees\` text NULL COMMENT 'วุฒิการศึกษา'`); - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`educationLevels\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`educationLevels\` text NULL COMMENT 'ระดับศึกษา'`); - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`fields\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`fields\` text NULL COMMENT 'สาขาวิชา/ทาง'`); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`degrees\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`degrees\` text NULL COMMENT 'วุฒิการศึกษา'`); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`educationLevels\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`educationLevels\` text NULL COMMENT 'ระดับศึกษา'`); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`fields\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`fields\` text NULL COMMENT 'สาขาวิชา/ทาง'`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`fields\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`fields\` varchar(255) NULL COMMENT 'สาขาวิชา/ทาง'`); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`educationLevels\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`educationLevels\` varchar(255) NULL COMMENT 'ระดับศึกษา'`); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` DROP COLUMN \`degrees\``); - await queryRunner.query(`ALTER TABLE \`registryEmployee\` ADD \`degrees\` varchar(255) NULL COMMENT 'วุฒิการศึกษา'`); - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`fields\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`fields\` varchar(255) NULL COMMENT 'สาขาวิชา/ทาง'`); - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`educationLevels\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`educationLevels\` varchar(255) NULL COMMENT 'ระดับศึกษา'`); - await queryRunner.query(`ALTER TABLE \`registry\` DROP COLUMN \`degrees\``); - await queryRunner.query(`ALTER TABLE \`registry\` ADD \`degrees\` varchar(255) NULL COMMENT 'วุฒิการศึกษา'`); - } - -} diff --git a/src/migration/1761330464755-update_table_apiKey_add_accessType.ts b/src/migration/1761330464755-update_table_apiKey_add_accessType.ts new file mode 100644 index 00000000..cfe72a82 --- /dev/null +++ b/src/migration/1761330464755-update_table_apiKey_add_accessType.ts @@ -0,0 +1,24 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableApiKeyAddAccessType1761330464755 implements MigrationInterface { + name = 'UpdateTableApiKeyAddAccessType1761330464755' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`apiKey\` ADD \`accessType\` varchar(40) NULL COMMENT 'accessType'`); + await queryRunner.query(`ALTER TABLE \`apiKey\` ADD \`dnaRootId\` varchar(40) NULL COMMENT 'dnaRootId'`); + await queryRunner.query(`ALTER TABLE \`apiKey\` ADD \`dnaChild1Id\` varchar(40) NULL COMMENT 'dnaChild1Id'`); + await queryRunner.query(`ALTER TABLE \`apiKey\` ADD \`dnaChild2Id\` varchar(40) NULL COMMENT 'dnaChild2Id'`); + await queryRunner.query(`ALTER TABLE \`apiKey\` ADD \`dnaChild3Id\` varchar(40) NULL COMMENT 'dnaChild3Id'`); + await queryRunner.query(`ALTER TABLE \`apiKey\` ADD \`dnaChild4Id\` varchar(40) NULL COMMENT 'dnaChild4Id'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`apiKey\` DROP COLUMN \`dnaChild4Id\``); + await queryRunner.query(`ALTER TABLE \`apiKey\` DROP COLUMN \`dnaChild3Id\``); + await queryRunner.query(`ALTER TABLE \`apiKey\` DROP COLUMN \`dnaChild2Id\``); + await queryRunner.query(`ALTER TABLE \`apiKey\` DROP COLUMN \`dnaChild1Id\``); + await queryRunner.query(`ALTER TABLE \`apiKey\` DROP COLUMN \`dnaRootId\``); + await queryRunner.query(`ALTER TABLE \`apiKey\` DROP COLUMN \`accessType\``); + } + +} From 6fab6c724e3b7ad4d6e790fd12944cdf1ffea602 Mon Sep 17 00:00:00 2001 From: mamoss <> Date: Sat, 25 Oct 2025 19:27:41 +0700 Subject: [PATCH 2/3] import salary --- src/controllers/ImportDataController.ts | 906 +++++++++++++----------- 1 file changed, 496 insertions(+), 410 deletions(-) diff --git a/src/controllers/ImportDataController.ts b/src/controllers/ImportDataController.ts index 3c85586b..08eacd6c 100644 --- a/src/controllers/ImportDataController.ts +++ b/src/controllers/ImportDataController.ts @@ -1,6 +1,6 @@ import { Controller, Post, Route, Security, Tags, Request, UploadedFile } from "tsoa"; import { AppDataSource } from "../database/data-source"; -import { In, IsNull, LessThanOrEqual, Not } from "typeorm"; +import { In, IsNull, LessThanOrEqual, Not, Between } from "typeorm"; import HttpSuccess from "../interfaces/http-success"; import { UseInterceptors } from "@nestjs/common"; import { Profile } from "../entities/Profile"; @@ -631,465 +631,529 @@ export class ImportDataController extends Controller { async UploadFileSQLSalary(@Request() request: { user: Record }) { let rowCount = 0; let _null: any = null; - let sqlStatements: string[] = []; + const batchSize = 200; // เพิ่ม batch size เพื่อประสิทธิภาพที่ดีขึ้น - const [profiles, total] = await AppDataSource.getRepository(Profile) - .createQueryBuilder("profile") - .select(["profile.citizenId", "profile.id"]) - .orderBy("profile.citizenId", "ASC") - // .where("profile.citizenId = '3101702379675'") - // .where({ - // citizenId: In([ - // // "1100600109451", - // // "1209900075508", - // // "1739900231556", - // // "1809900305214", - // // "1920600228762", - // // "3101600963742", - // // "3102401171243", - // // "3120100454406", - // // "3180100306172", - // // "3700100094722", - // // "3809900116957", - // "3940900213929", - // ]), - // }) - .leftJoinAndSelect("profile.profileSalary", "profileSalary") - // .where({ citizenId: "3101702379675" }) - .where("profileSalary.id IS NULL") - // .skip(0) - // .take(10000) - .getManyAndCount(); - for await (const _item of profiles) { - // ดึงข้อมูลมาโดยไม่ใส่ order - const existingProfile = await this.HR_POSITION_OFFICERRepo.find({ - where: { CIT: _item.citizenId, FLAG_PERSON_TYPE: "1" }, + // นับจำนวน profiles ทั้งหมดก่อน + const profileRepo = AppDataSource.getRepository(Profile); + const totalProfiles = await profileRepo.count(); + + console.log( + `Starting OPTIMIZED batch processing: ${totalProfiles} profiles, batch size: ${batchSize}`, + ); + + for (let offset = 0; offset < totalProfiles; offset += batchSize) { + const profiles = await profileRepo + .createQueryBuilder("profile") + .select(["profile.citizenId", "profile.id"]) + .orderBy("profile.citizenId", "ASC") + .skip(offset) + .take(batchSize) + .getMany(); + + console.log( + `Processing batch ${Math.floor(offset / batchSize) + 1}/${Math.ceil(totalProfiles / batchSize)} - Querying ${profiles.length} profiles`, + ); + + const batchRecords = []; // Array สำหรับเก็บ records ที่จะ batch insert + + // OPTIMIZATION 1: ดึงข้อมูล HR ทั้งหมดของ batch ในครั้งเดียว + const citizenIds = profiles.map((p) => p.citizenId); + const allHrData = await this.HR_POSITION_OFFICERRepo.createQueryBuilder("hr") + .where("hr.CIT IN (:...citizenIds)", { citizenIds }) + .andWhere("hr.FLAG_PERSON_TYPE = :flag", { flag: "1" }) + .orderBy("hr.CIT", "ASC") + .addOrderBy( + "CASE WHEN hr.MP_POS_DATE IS NULL OR hr.MP_POS_DATE = '' THEN 1 ELSE 0 END", + "ASC", + ) + .addOrderBy("STR_TO_DATE(SUBSTRING_INDEX(hr.MP_POS_DATE, ' ', 1), '%d/%m/%Y')", "ASC") + .addOrderBy("hr.ORDER_MOVE_POSITION", "ASC") + .getMany(); + + // จัดกลุ่มข้อมูล HR ตาม citizenId + const hrDataByCitizenId = new Map(); + allHrData.forEach((hr) => { + if (!hrDataByCitizenId.has(hr.CIT)) { + hrDataByCitizenId.set(hr.CIT, []); + } + hrDataByCitizenId.get(hr.CIT).push(hr); }); - // sort ด้วย JavaScript - existingProfile.sort((a, b) => { - let dateA = new Date().getTime(); - let dateB = new Date().getTime(); - - if (a.MP_POS_DATE) { - const [datePart] = a.MP_POS_DATE.split(" "); - const [day, month, year] = datePart.split("/"); - dateA = new Date(`${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`).getTime(); - } - if (b.MP_POS_DATE) { - const [datePart] = b.MP_POS_DATE.split(" "); - const [day, month, year] = datePart.split("/"); - dateB = new Date(`${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`).getTime(); - } - if (dateA !== dateB) { - return dateA - dateB; // ASC - } - return a.ORDER_MOVE_POSITION - b.ORDER_MOVE_POSITION; // ASC + // OPTIMIZATION 2: ดึง existing ProfileSalary ทั้งหมดของ batch ในครั้งเดียว + const allHrIds = allHrData.map((hr) => hr.id.toString()); + const existingSalaries = await this.salaryRepo.find({ + where: { refId: In(allHrIds) }, + select: ["refId"], }); + const existingSalaryRefIds = new Set(existingSalaries.map((s) => s.refId)); - let order = 1; - for await (const item of existingProfile) { - rowCount++; - const profileSalary: any = new ProfileSalary(); - profileSalary.profileId = _item.id; - profileSalary.order = order; - order = order + 1; - profileSalary.commandNo = isNaN(item.MP_COMMAND_NUM) ? null : item.MP_COMMAND_NUM; - profileSalary.commandYear = isNaN(item.MP_COMMAND_NUM) - ? null - : item.CUR_YEAR > 2500 - ? item.CUR_YEAR - 543 - : item.CUR_YEAR; + for (const _item of profiles) { + const existingProfile = hrDataByCitizenId.get(_item.citizenId) || []; - let MP_COMMAND_DATE = ""; - if (item.MP_COMMAND_DATE) { - const [datePart] = item.MP_COMMAND_DATE.split(" "); - const [day, month, year] = datePart.split("/"); - MP_COMMAND_DATE = `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`; - } - let MP_POS_DATE = ""; - if (item.MP_POS_DATE) { - const [datePart] = item.MP_POS_DATE.split(" "); - const [day, month, year] = datePart.split("/"); - MP_POS_DATE = `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`; - } - profileSalary.commandDateSign = MP_COMMAND_DATE == null ? _null : new Date(MP_COMMAND_DATE); - profileSalary.commandDateAffect = MP_POS_DATE == null ? _null : new Date(MP_POS_DATE); - if ( - [ - "0", - "11", - "22", - "31", - "39", - "45", - "46", - "47", - "49", - "50", - "51", - "60", - "61", - "62", - "99", - ].includes(item.FLAG_TO_NAME_CODE) - ) { - profileSalary.commandCode = "0"; - profileSalary.commandName = "อื่น ๆ"; - } else if (["1", "58"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "1"; - profileSalary.commandName = "บรรจุและแต่งตั้งผู้สอบแข่งขันได้"; - } else if (["23"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "2"; - profileSalary.commandName = "บรรจุและแต่งตั้งผู้ได้รับคัดเลือก"; - } else if (["3", "6", "34", "36", "37"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "3"; - profileSalary.commandName = "แต่งตั้ง ย้าย"; - } else if (["10", "55", "56"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "4"; - profileSalary.commandName = "เลื่อน"; - } else if (["14"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "5"; - profileSalary.commandName = "เลื่อนเงินเดือนตามปกติ"; - } else if ( - ["8", "20", "24", "25", "43", "44", "52", "66", "67"].includes(item.FLAG_TO_NAME_CODE) - ) { - profileSalary.commandCode = "6"; - profileSalary.commandName = "เลื่อนเงินเดือนกรณีอื่น ๆ"; - } else if (["-"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "7"; - profileSalary.commandName = "เงินพิเศษอื่น ๆ"; - } else if (["38", "40", "53", "54"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "8"; - profileSalary.commandName = "ปรับโครงสร้าง"; - } else if (["12"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "9"; - profileSalary.commandName = "พ้นทดลองปฏิบัติราชการ"; - } else if (["2", "18"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "10"; - profileSalary.commandName = "บรรจุกลับ"; - } else if (["4", "32", "33"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "11"; - profileSalary.commandName = "รับโอน"; - } else if (["5"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "12"; - profileSalary.commandName = "ให้โอน"; - } else if (["15", "95"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "13"; - profileSalary.commandName = "แก้ไขคำสั่ง"; - } else if (["19"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "14"; - profileSalary.commandName = "ยกเลิกคำสั่ง"; - } else if (["27", "35"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "15"; - profileSalary.commandName = "ลาออกจากราชการ"; - } else if (["13", "17", "21", "28", "29", "30", "59"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "16"; - profileSalary.commandName = "พ้นจากราชการ"; - } else if (["7", "9", "16", "26", "63", "68"].includes(item.FLAG_TO_NAME_CODE)) { - profileSalary.commandCode = "17"; - profileSalary.commandName = "รักษาราชการ, ช่วยราชการ"; - } - if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "ลาศึกษาต่อ") { - profileSalary.commandCode = "0"; - profileSalary.commandName = "อื่น ๆ"; - } else if ( - item.FLAG_TO_NAME_CODE == null && - (item.FLAG_TO_NAME == "เลื่อน 1 ขั้นและเลื่อนระดับ" || - item.FLAG_TO_NAME == "เลื่อน 0.5 ขั้นและเลื่อนระดับ") - ) { - profileSalary.commandCode = "4"; - profileSalary.commandName = "เลื่อน"; - } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "เลื่อนเงินเดือน") { - profileSalary.commandCode = "5"; - profileSalary.commandName = "เลื่อนเงินเดือนตามปกติ"; - } else if ( - item.FLAG_TO_NAME_CODE == null && - (item.FLAG_TO_NAME == "ปรับตามบัญชีเงินเดือนใหม่" || - item.FLAG_TO_NAME == "เลื่อนเงินเดือน" || - item.FLAG_TO_NAME == "ปรับเงินเดือนตาม กพ.") - ) { - profileSalary.commandCode = "6"; - profileSalary.commandName = "เลื่อนเงินเดือนกรณีอื่น ๆ"; - } else if ( - item.FLAG_TO_NAME_CODE == null && - item.FLAG_TO_NAME == "แต่งตั้งตามการปรับปรุงโครงฯ" - ) { - profileSalary.commandCode = "8"; - profileSalary.commandName = "ปรับโครงสร้าง"; - } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "พ้นทดลองปฏิบัติราชการ") { - profileSalary.commandCode = "9"; - profileSalary.commandName = "พ้นทดลองปฏิบัติราชการ"; - } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "ให้โอนมา") { - profileSalary.commandCode = "11"; - profileSalary.commandName = "รับโอน"; - } else if ( - item.FLAG_TO_NAME_CODE == null && - item.FLAG_TO_NAME == "โอนไปปฏิบัติราชการที่อื่น" - ) { - profileSalary.commandCode = "12"; - profileSalary.commandName = "ให้โอน"; - } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "ยกเลิกคำสั่ง") { - profileSalary.commandCode = "14"; - profileSalary.commandName = "ยกเลิกคำสั่ง"; - } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "รักษาการในตำแหน่ง") { - profileSalary.commandCode = "17"; - profileSalary.commandName = "รักษาราชการ, ช่วยราชการ"; - } - if ( - (profileSalary.commandCode == null || profileSalary.commandCode == undefined) && - (profileSalary.commandName == null || profileSalary.commandName == undefined) - ) { + let order = 1; + for (const item of existingProfile) { + rowCount++; + + // ใช้ Set lookup แทนการ query database + if (existingSalaryRefIds.has(item.id.toString())) continue; + const profileSalary: any = new ProfileSalary(); + profileSalary.profileId = _item.id; + profileSalary.order = order; + order = order + 1; + profileSalary.commandNo = isNaN(item.MP_COMMAND_NUM) ? null : item.MP_COMMAND_NUM; + + // แก้ไข logic การกำหนด commandYear + if (isNaN(item.CUR_YEAR) || item.CUR_YEAR == null) { + profileSalary.commandYear = null; + } else { + profileSalary.commandYear = item.CUR_YEAR > 2500 ? item.CUR_YEAR - 543 : item.CUR_YEAR; + } + + let MP_COMMAND_DATE = ""; + if (item.MP_COMMAND_DATE && item.MP_COMMAND_DATE.trim() !== "") { + try { + const [datePart] = item.MP_COMMAND_DATE.split(" "); + const [day, month, year] = datePart.split("/"); + if (day && month && year) { + MP_COMMAND_DATE = `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`; + } + } catch (error) { + console.warn(`Invalid MP_COMMAND_DATE format: ${item.MP_COMMAND_DATE}`); + } + } + let MP_POS_DATE = ""; + if (item.MP_POS_DATE && item.MP_POS_DATE.trim() !== "") { + try { + const [datePart] = item.MP_POS_DATE.split(" "); + const [day, month, year] = datePart.split("/"); + if (day && month && year) { + MP_POS_DATE = `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`; + } + } catch (error) { + console.warn(`Invalid MP_POS_DATE format: ${item.MP_POS_DATE}`); + } + } + profileSalary.commandDateSign = + MP_COMMAND_DATE == null ? _null : new Date(MP_COMMAND_DATE); + profileSalary.commandDateAffect = MP_POS_DATE == null ? _null : new Date(MP_POS_DATE); if ( [ - "อื่นๆ", - "กลับไปปฏิบัติงานทางต้นสังกัด", - "เปลี่ยนประเภทข้าราชการ", - "โอนสับเปลี่ยน", - "เข้ารับฝึกอบรม", - "ดูงาน", - "ศึกษาต่อ", - "ขยายเวลาเข้ารับการฝึกอบรม", - "ขยายเวลาศึกษาต่อ", - "รายงานตัวกลับเข้าปฏิบัติราชการ", - "ไม่ได้เลื่อนขั้น", - "ตัดเงินเดือน", - "ลดขั้นเงินเดือน", - "ให้ข้าราชการกลับเข้ารับราชการ", - "ไม่ระบุ", - ].includes(item.FLAG_TO_NAME) + "0", + "11", + "22", + "31", + "39", + "45", + "46", + "47", + "49", + "50", + "51", + "60", + "61", + "62", + "99", + ].includes(item.FLAG_TO_NAME_CODE) ) { profileSalary.commandCode = "0"; profileSalary.commandName = "อื่น ๆ"; - } else if ( - [ - "บรรจุและแต่งตั้งผู้สอบแข่งขันได้", - "ทดลองปฎิบัติราชการ", - "ทดลองปฏิบัติราชการและปรับวุฒิ", - "บรรจุใหม่", - ].includes(item.FLAG_TO_NAME) - ) { + } else if (["1", "58"].includes(item.FLAG_TO_NAME_CODE)) { profileSalary.commandCode = "1"; profileSalary.commandName = "บรรจุและแต่งตั้งผู้สอบแข่งขันได้"; - } else if (["บรรจุและแต่งตั้งผู้ได้รับการคัดเลือก"].includes(item.FLAG_TO_NAME)) { + } else if (["23"].includes(item.FLAG_TO_NAME_CODE)) { profileSalary.commandCode = "2"; profileSalary.commandName = "บรรจุและแต่งตั้งผู้ได้รับคัดเลือก"; - } else if ( - [ - "แต่งตั้ง (ย้ายสับเปลี่ยน)", - "แต่งตั้ง (ย้าย)", - "แต่งตั้ง", - "เปลี่ยนสายงาน", - "เปลี่ยนตำแหน่ง", - "ตัดโอนตำแหน่ง", - ].includes(item.FLAG_TO_NAME) - ) { + } else if (["3", "6", "34", "36", "37"].includes(item.FLAG_TO_NAME_CODE)) { profileSalary.commandCode = "3"; profileSalary.commandName = "แต่งตั้ง ย้าย"; - } else if ( - ["เลื่อนและแต่งตั้ง", "เลื่อนระดับ", "เลื่อนเงินเดือนและระดับ"].includes( - item.FLAG_TO_NAME, - ) - ) { + } else if (["10", "55", "56"].includes(item.FLAG_TO_NAME_CODE)) { profileSalary.commandCode = "4"; profileSalary.commandName = "เลื่อน"; - } else if (["เลื่อนขั้นเงินเดือน", "เลื่อนเงินเดือน"].includes(item.FLAG_TO_NAME)) { + } else if (["14"].includes(item.FLAG_TO_NAME_CODE)) { profileSalary.commandCode = "5"; profileSalary.commandName = "เลื่อนเงินเดือนตามปกติ"; } else if ( - [ - "ปรับเงินเดือนตามคุณวุฒิ", - "ได้รับเงินตอบแทนพิเศษ", - "เงินเพิ่มการครองชีพชั่วคราว", - "เลื่อนขั้นเงินเดือนกรณีพิเศษ", - "ปรับอัตราเงินเดือนตามบัญชีอัตราเงินเดือนใหม่ ท้าย พ.ร.บ. เงินเดือนและเงินประจำตำ", - "ปรับอัตราเงินเดือนตามพระราชกฤษฎีกา การปรับอัตราเงินเดือนของข้าราชการ", - "เลื่อนขั้นเงินเดือน (เพิ่มเติม)", - "ปรับอัตราเงินเดือน", - "ให้ข้าราชการได้รับเงินเดือนตามคุณวุฒิ", - ].includes(item.FLAG_TO_NAME) + ["8", "20", "24", "25", "43", "44", "52", "66", "67"].includes(item.FLAG_TO_NAME_CODE) ) { profileSalary.commandCode = "6"; profileSalary.commandName = "เลื่อนเงินเดือนกรณีอื่น ๆ"; - } else if (["--"].includes(item.FLAG_TO_NAME)) { + } else if (["-"].includes(item.FLAG_TO_NAME_CODE)) { profileSalary.commandCode = "7"; profileSalary.commandName = "เงินพิเศษอื่น ๆ"; + } else if (["38", "40", "53", "54"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "8"; + profileSalary.commandName = "ปรับโครงสร้าง"; + } else if (["12"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "9"; + profileSalary.commandName = "พ้นทดลองปฏิบัติราชการ"; + } else if (["2", "18"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "10"; + profileSalary.commandName = "บรรจุกลับ"; + } else if (["4", "32", "33"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "11"; + profileSalary.commandName = "รับโอน"; + } else if (["5"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "12"; + profileSalary.commandName = "ให้โอน"; + } else if (["15", "95"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "13"; + profileSalary.commandName = "แก้ไขคำสั่ง"; + } else if (["19"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "14"; + profileSalary.commandName = "ยกเลิกคำสั่ง"; + } else if (["27", "35"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "15"; + profileSalary.commandName = "ลาออกจากราชการ"; + } else if (["13", "17", "21", "28", "29", "30", "59"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "16"; + profileSalary.commandName = "พ้นจากราชการ"; + } else if (["7", "9", "16", "26", "63", "68"].includes(item.FLAG_TO_NAME_CODE)) { + profileSalary.commandCode = "17"; + profileSalary.commandName = "รักษาราชการ, ช่วยราชการ"; + } + if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "ลาศึกษาต่อ") { + profileSalary.commandCode = "0"; + profileSalary.commandName = "อื่น ๆ"; } else if ( - ["ปรับโครงสร้าง", "แต่งตั้ง (จัดคนลงกรอบ)", "แต่งตั้งตามแผนอัตรากำลังฯ"].includes( - item.FLAG_TO_NAME, - ) + item.FLAG_TO_NAME_CODE == null && + (item.FLAG_TO_NAME == "เลื่อน 1 ขั้นและเลื่อนระดับ" || + item.FLAG_TO_NAME == "เลื่อน 0.5 ขั้นและเลื่อนระดับ") + ) { + profileSalary.commandCode = "4"; + profileSalary.commandName = "เลื่อน"; + } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "เลื่อนเงินเดือน") { + profileSalary.commandCode = "5"; + profileSalary.commandName = "เลื่อนเงินเดือนตามปกติ"; + } else if ( + item.FLAG_TO_NAME_CODE == null && + (item.FLAG_TO_NAME == "ปรับตามบัญชีเงินเดือนใหม่" || + item.FLAG_TO_NAME == "เลื่อนเงินเดือน" || + item.FLAG_TO_NAME == "ปรับเงินเดือนตาม กพ.") + ) { + profileSalary.commandCode = "6"; + profileSalary.commandName = "เลื่อนเงินเดือนกรณีอื่น ๆ"; + } else if ( + item.FLAG_TO_NAME_CODE == null && + item.FLAG_TO_NAME == "แต่งตั้งตามการปรับปรุงโครงฯ" ) { profileSalary.commandCode = "8"; profileSalary.commandName = "ปรับโครงสร้าง"; - } else if (["พ้นทดลองปฏิบัติราชการ"].includes(item.FLAG_TO_NAME)) { + } else if ( + item.FLAG_TO_NAME_CODE == null && + item.FLAG_TO_NAME == "พ้นทดลองปฏิบัติราชการ" + ) { profileSalary.commandCode = "9"; profileSalary.commandName = "พ้นทดลองปฏิบัติราชการ"; - } else if ( - [ - "บรรจุกลับ", - "บรรจุกลับข้าราชการ", - "บรรจุและแต่งตั้งผู้ไปรับราชการทหารกลับเข้ารับราชการ", - ].includes(item.FLAG_TO_NAME) - ) { - profileSalary.commandCode = "10"; - profileSalary.commandName = "บรรจุกลับ"; - } else if ( - [ - "รับโอนข้าราชการตามกฎหมายอื่น", - "รับโอนข้าราชการตามกฎหมายอื่น ผู้สอบแข่งขันได้", - "รับโอนข้าราชการตามกฏหมายอื่น โดยการคัดเลือก", - ].includes(item.FLAG_TO_NAME) - ) { + } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "ให้โอนมา") { profileSalary.commandCode = "11"; profileSalary.commandName = "รับโอน"; - } else if (["ให้โอน"].includes(item.FLAG_TO_NAME)) { + } else if ( + item.FLAG_TO_NAME_CODE == null && + item.FLAG_TO_NAME == "โอนไปปฏิบัติราชการที่อื่น" + ) { profileSalary.commandCode = "12"; profileSalary.commandName = "ให้โอน"; - } else if (["แก้ไขคำสั่ง"].includes(item.FLAG_TO_NAME)) { - profileSalary.commandCode = "13"; - profileSalary.commandName = "แก้ไขคำสั่ง"; - } else if (["ยกเลิกคำสั่ง"].includes(item.FLAG_TO_NAME)) { + } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "ยกเลิกคำสั่ง") { profileSalary.commandCode = "14"; profileSalary.commandName = "ยกเลิกคำสั่ง"; - } else if ( - [ - "ลาออกจากราชการ", - "พ้นจากราชการ/ลาออกจากราชการตามมาตรการพัฒนาและบริหารกำลังคน", - ].includes(item.FLAG_TO_NAME) - ) { - profileSalary.commandCode = "15"; - profileSalary.commandName = "ลาออกจากราชการ"; - } else if ( - [ - "พ้นจากราชการ/เพื่อไปปฏิบัติราชการทหาร", - "เกษียณ", - "ไม่พ้นทดลองปฏิบัติราชการ", - "พ้นจากราชการ/ให้ออก", - "พ้นจากราชการ/ไล่ออก", - "พ้นจากราชการ/เสียชีวิต", - "พ้นจากราชการ/ปลดออก", - ].includes(item.FLAG_TO_NAME) - ) { - profileSalary.commandCode = "16"; - profileSalary.commandName = "พ้นจากราชการ"; - } else if ( - [ - "แต่งตั้งข้าราชการรักษาราชการแทน", - "ช่วยราชการ", - "รักษาการ", - "รักษาราชการแทน", - "มอบหมายให้ปฏิบัติหน้าที่", - "มอบหมายข้าราชการปฏิบัติหน้าที่แทน", - ].includes(item.FLAG_TO_NAME) - ) { + } else if (item.FLAG_TO_NAME_CODE == null && item.FLAG_TO_NAME == "รักษาการในตำแหน่ง") { profileSalary.commandCode = "17"; profileSalary.commandName = "รักษาราชการ, ช่วยราชการ"; - } else { - profileSalary.commandCode = "0"; - profileSalary.commandName = item.FLAG_TO_NAME; } - } - profileSalary.posNoAbb = item.POS_NUM_NAME; - profileSalary.posNo = item.POS_NUM_CODE; - profileSalary.positionName = item.WORK_LINE_NAME; - var positionType = _null; - var positionLevel = _null; - if (item.MP_CEE == "21") { - positionType = "ทั่วไป"; - positionLevel = "ปฏิบัติงาน"; - } else if (item.MP_CEE == "22") { - positionType = "ทั่วไป"; - positionLevel = "ชำนาญงาน"; - } else if (item.MP_CEE == "23") { - positionType = "ทั่วไป"; - positionLevel = "อาวุโส"; - } else if (item.MP_CEE == "24") { - positionType = "ทั่วไป"; - positionLevel = "อาวุโสเฉพาะสายงานที่กำหนด"; - } else if (item.MP_CEE == "25") { - positionType = "ทั่วไป"; - positionLevel = "ทักษะพิเศษ"; - } else if (item.MP_CEE == "26") { - positionType = "วิชาการ"; - positionLevel = "ปฏิบัติการ"; - } else if (item.MP_CEE == "27") { - positionType = "วิชาการ"; - positionLevel = "ชำนาญการ"; - } else if (item.MP_CEE == "28") { - positionType = "วิชาการ"; - positionLevel = "ชำนาญการพิเศษ"; - } else if (item.MP_CEE == "29") { - positionType = "วิชาการ"; - positionLevel = "เชี่ยวชาญ"; - } else if (item.MP_CEE == "30") { - positionType = "วิชาการ"; - positionLevel = "ทรงคุณวุฒิ"; - } else if (item.MP_CEE == "31") { - positionType = "วิชาการ"; - positionLevel = "ทรงคุณวุฒิเฉพาะสายงานที่กำหนด"; - } else if (item.MP_CEE == "32") { - positionType = "อำนวยการ"; - positionLevel = "ต้น"; - } else if (item.MP_CEE == "33") { - positionType = "อำนวยการ"; - positionLevel = "สูง"; - } else if (item.MP_CEE == "34") { - positionType = "บริหาร"; - positionLevel = "ต้น"; - } else if (item.MP_CEE == "35") { - positionType = "บริหาร"; - positionLevel = "สูง"; - } else { - profileSalary.positionCee = item.MP_CEE; - } - profileSalary.positionType = positionType; - profileSalary.positionLevel = positionLevel; - profileSalary.orgRoot = item.DEPARTMENT_NAME; - profileSalary.orgChild1 = item.DIVISION_NAME; - profileSalary.orgChild2 = item.SECTION_NAME; - profileSalary.orgChild3 = item.JOB_NAME; - if (item.DEPARTMENT_CODE == "50") { - profileSalary.orgRoot = item.DIVISION_NAME; - profileSalary.orgChild1 = item.SECTION_NAME; - profileSalary.orgChild2 = item.JOB_NAME; - } - profileSalary.positionExecutive = item.ADMIN_NAME ?? _null; - profileSalary.amount = isNaN(item.SALARY) ? null : item.SALARY; - profileSalary.remark = item.REMARK; - profileSalary.refId = item.id; - profileSalary.isEntry = false; + if ( + (profileSalary.commandCode == null || profileSalary.commandCode == undefined) && + (profileSalary.commandName == null || profileSalary.commandName == undefined) + ) { + if ( + [ + "อื่นๆ", + "กลับไปปฏิบัติงานทางต้นสังกัด", + "เปลี่ยนประเภทข้าราชการ", + "โอนสับเปลี่ยน", + "เข้ารับฝึกอบรม", + "ดูงาน", + "ศึกษาต่อ", + "ขยายเวลาเข้ารับการฝึกอบรม", + "ขยายเวลาศึกษาต่อ", + "รายงานตัวกลับเข้าปฏิบัติราชการ", + "ไม่ได้เลื่อนขั้น", + "ตัดเงินเดือน", + "ลดขั้นเงินเดือน", + "ให้ข้าราชการกลับเข้ารับราชการ", + "ไม่ระบุ", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "0"; + profileSalary.commandName = "อื่น ๆ"; + } else if ( + [ + "บรรจุและแต่งตั้งผู้สอบแข่งขันได้", + "ทดลองปฎิบัติราชการ", + "ทดลองปฏิบัติราชการและปรับวุฒิ", + "บรรจุใหม่", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "1"; + profileSalary.commandName = "บรรจุและแต่งตั้งผู้สอบแข่งขันได้"; + } else if (["บรรจุและแต่งตั้งผู้ได้รับการคัดเลือก"].includes(item.FLAG_TO_NAME)) { + profileSalary.commandCode = "2"; + profileSalary.commandName = "บรรจุและแต่งตั้งผู้ได้รับคัดเลือก"; + } else if ( + [ + "แต่งตั้ง (ย้ายสับเปลี่ยน)", + "แต่งตั้ง (ย้าย)", + "แต่งตั้ง", + "เปลี่ยนสายงาน", + "เปลี่ยนตำแหน่ง", + "ตัดโอนตำแหน่ง", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "3"; + profileSalary.commandName = "แต่งตั้ง ย้าย"; + } else if ( + ["เลื่อนและแต่งตั้ง", "เลื่อนระดับ", "เลื่อนเงินเดือนและระดับ"].includes( + item.FLAG_TO_NAME, + ) + ) { + profileSalary.commandCode = "4"; + profileSalary.commandName = "เลื่อน"; + } else if (["เลื่อนขั้นเงินเดือน", "เลื่อนเงินเดือน"].includes(item.FLAG_TO_NAME)) { + profileSalary.commandCode = "5"; + profileSalary.commandName = "เลื่อนเงินเดือนตามปกติ"; + } else if ( + [ + "ปรับเงินเดือนตามคุณวุฒิ", + "ได้รับเงินตอบแทนพิเศษ", + "เงินเพิ่มการครองชีพชั่วคราว", + "เลื่อนขั้นเงินเดือนกรณีพิเศษ", + "ปรับอัตราเงินเดือนตามบัญชีอัตราเงินเดือนใหม่ ท้าย พ.ร.บ. เงินเดือนและเงินประจำตำ", + "ปรับอัตราเงินเดือนตามพระราชกฤษฎีกา การปรับอัตราเงินเดือนของข้าราชการ", + "เลื่อนขั้นเงินเดือน (เพิ่มเติม)", + "ปรับอัตราเงินเดือน", + "ให้ข้าราชการได้รับเงินเดือนตามคุณวุฒิ", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "6"; + profileSalary.commandName = "เลื่อนเงินเดือนกรณีอื่น ๆ"; + } else if (["--"].includes(item.FLAG_TO_NAME)) { + profileSalary.commandCode = "7"; + profileSalary.commandName = "เงินพิเศษอื่น ๆ"; + } else if ( + ["ปรับโครงสร้าง", "แต่งตั้ง (จัดคนลงกรอบ)", "แต่งตั้งตามแผนอัตรากำลังฯ"].includes( + item.FLAG_TO_NAME, + ) + ) { + profileSalary.commandCode = "8"; + profileSalary.commandName = "ปรับโครงสร้าง"; + } else if (["พ้นทดลองปฏิบัติราชการ"].includes(item.FLAG_TO_NAME)) { + profileSalary.commandCode = "9"; + profileSalary.commandName = "พ้นทดลองปฏิบัติราชการ"; + } else if ( + [ + "บรรจุกลับ", + "บรรจุกลับข้าราชการ", + "บรรจุและแต่งตั้งผู้ไปรับราชการทหารกลับเข้ารับราชการ", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "10"; + profileSalary.commandName = "บรรจุกลับ"; + } else if ( + [ + "รับโอนข้าราชการตามกฎหมายอื่น", + "รับโอนข้าราชการตามกฎหมายอื่น ผู้สอบแข่งขันได้", + "รับโอนข้าราชการตามกฏหมายอื่น โดยการคัดเลือก", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "11"; + profileSalary.commandName = "รับโอน"; + } else if (["ให้โอน"].includes(item.FLAG_TO_NAME)) { + profileSalary.commandCode = "12"; + profileSalary.commandName = "ให้โอน"; + } else if (["แก้ไขคำสั่ง"].includes(item.FLAG_TO_NAME)) { + profileSalary.commandCode = "13"; + profileSalary.commandName = "แก้ไขคำสั่ง"; + } else if (["ยกเลิกคำสั่ง"].includes(item.FLAG_TO_NAME)) { + profileSalary.commandCode = "14"; + profileSalary.commandName = "ยกเลิกคำสั่ง"; + } else if ( + [ + "ลาออกจากราชการ", + "พ้นจากราชการ/ลาออกจากราชการตามมาตรการพัฒนาและบริหารกำลังคน", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "15"; + profileSalary.commandName = "ลาออกจากราชการ"; + } else if ( + [ + "พ้นจากราชการ/เพื่อไปปฏิบัติราชการทหาร", + "เกษียณ", + "ไม่พ้นทดลองปฏิบัติราชการ", + "พ้นจากราชการ/ให้ออก", + "พ้นจากราชการ/ไล่ออก", + "พ้นจากราชการ/เสียชีวิต", + "พ้นจากราชการ/ปลดออก", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "16"; + profileSalary.commandName = "พ้นจากราชการ"; + } else if ( + [ + "แต่งตั้งข้าราชการรักษาราชการแทน", + "ช่วยราชการ", + "รักษาการ", + "รักษาราชการแทน", + "มอบหมายให้ปฏิบัติหน้าที่", + "มอบหมายข้าราชการปฏิบัติหน้าที่แทน", + ].includes(item.FLAG_TO_NAME) + ) { + profileSalary.commandCode = "17"; + profileSalary.commandName = "รักษาราชการ, ช่วยราชการ"; + } else { + profileSalary.commandCode = "0"; + profileSalary.commandName = item.FLAG_TO_NAME; + } + } + profileSalary.posNoAbb = item.POS_NUM_NAME; + profileSalary.posNo = item.POS_NUM_CODE; + profileSalary.positionName = item.WORK_LINE_NAME; + var positionType = _null; + var positionLevel = _null; + if (item.MP_CEE == "21") { + positionType = "ทั่วไป"; + positionLevel = "ปฏิบัติงาน"; + } else if (item.MP_CEE == "22") { + positionType = "ทั่วไป"; + positionLevel = "ชำนาญงาน"; + } else if (item.MP_CEE == "23") { + positionType = "ทั่วไป"; + positionLevel = "อาวุโส"; + } else if (item.MP_CEE == "24") { + positionType = "ทั่วไป"; + positionLevel = "อาวุโสเฉพาะสายงานที่กำหนด"; + } else if (item.MP_CEE == "25") { + positionType = "ทั่วไป"; + positionLevel = "ทักษะพิเศษ"; + } else if (item.MP_CEE == "26") { + positionType = "วิชาการ"; + positionLevel = "ปฏิบัติการ"; + } else if (item.MP_CEE == "27") { + positionType = "วิชาการ"; + positionLevel = "ชำนาญการ"; + } else if (item.MP_CEE == "28") { + positionType = "วิชาการ"; + positionLevel = "ชำนาญการพิเศษ"; + } else if (item.MP_CEE == "29") { + positionType = "วิชาการ"; + positionLevel = "เชี่ยวชาญ"; + } else if (item.MP_CEE == "30") { + positionType = "วิชาการ"; + positionLevel = "ทรงคุณวุฒิ"; + } else if (item.MP_CEE == "31") { + positionType = "วิชาการ"; + positionLevel = "ทรงคุณวุฒิเฉพาะสายงานที่กำหนด"; + } else if (item.MP_CEE == "32") { + positionType = "อำนวยการ"; + positionLevel = "ต้น"; + } else if (item.MP_CEE == "33") { + positionType = "อำนวยการ"; + positionLevel = "สูง"; + } else if (item.MP_CEE == "34") { + positionType = "บริหาร"; + positionLevel = "ต้น"; + } else if (item.MP_CEE == "35") { + positionType = "บริหาร"; + positionLevel = "สูง"; + } else { + profileSalary.positionCee = item.MP_CEE; + } + profileSalary.positionType = positionType; + profileSalary.positionLevel = positionLevel; + profileSalary.orgRoot = item.DEPARTMENT_NAME; + profileSalary.orgChild1 = item.DIVISION_NAME; + profileSalary.orgChild2 = item.SECTION_NAME; + profileSalary.orgChild3 = item.JOB_NAME; + if (item.DEPARTMENT_CODE == "50") { + profileSalary.orgRoot = item.DIVISION_NAME; + profileSalary.orgChild1 = item.SECTION_NAME; + profileSalary.orgChild2 = item.JOB_NAME; + } + profileSalary.positionExecutive = item.ADMIN_NAME ?? _null; + profileSalary.amount = isNaN(item.SALARY) ? null : item.SALARY; + profileSalary.remark = item.REMARK; + profileSalary.refId = item.id; + profileSalary.isEntry = false; - const sal_pos_amount_1: any = - item.SAL_POS_AMOUNT_1 == null || item.SAL_POS_AMOUNT_1 == "" - ? _null - : Number(item.SAL_POS_AMOUNT_1); - const sal_pos_amount_2: any = - item.SAL_POS_AMOUNT_2 == null || item.SAL_POS_AMOUNT_2 == "" - ? _null - : Number(item.SAL_POS_AMOUNT_2); - profileSalary.positionSalaryAmount = sal_pos_amount_1 ?? sal_pos_amount_2; - const special_amt: any = - item.SPECIAL_AMT == null || item.SPECIAL_AMT == "" ? _null : Number(item.SPECIAL_AMT); - profileSalary.amountSpecial = special_amt; - profileSalary.posNumCodeSit = item.POS_NUM_CODE_SIT; - profileSalary.posNumCodeSitAbb = item.POS_NUM_CODE_SIT_ABB; + const sal_pos_amount_1: any = + item.SAL_POS_AMOUNT_1 == null || item.SAL_POS_AMOUNT_1 == "" + ? _null + : isNaN(Number(item.SAL_POS_AMOUNT_1)) + ? _null + : Number(item.SAL_POS_AMOUNT_1); + const sal_pos_amount_2: any = + item.SAL_POS_AMOUNT_2 == null || item.SAL_POS_AMOUNT_2 == "" + ? _null + : isNaN(Number(item.SAL_POS_AMOUNT_2)) + ? _null + : Number(item.SAL_POS_AMOUNT_2); + profileSalary.positionSalaryAmount = sal_pos_amount_1 ?? sal_pos_amount_2; - profileSalary.createdUserId = request.user.sub; - profileSalary.createdFullName = request.user.name; - profileSalary.lastUpdateUserId = request.user.sub; - profileSalary.lastUpdateFullName = request.user.name; - profileSalary.createdAt = new Date().toISOString().split("T")[0]; - profileSalary.lastUpdatedAt = new Date().toISOString().split("T")[0]; - console.log(">>>>>>>>>>>>>>>>>>>" + rowCount); + const special_amt: any = + item.SPECIAL_AMT == null || item.SPECIAL_AMT == "" + ? _null + : isNaN(Number(item.SPECIAL_AMT)) + ? _null + : Number(item.SPECIAL_AMT); + profileSalary.amountSpecial = special_amt; + profileSalary.posNumCodeSit = item.POS_NUM_CODE_SIT; + profileSalary.posNumCodeSitAbb = item.POS_NUM_CODE_SIT_ABB; + profileSalary.createdUserId = request.user.sub; + profileSalary.createdFullName = request.user.name; + profileSalary.lastUpdateUserId = request.user.sub; + profileSalary.lastUpdateFullName = request.user.name; + profileSalary.createdAt = new Date().toISOString().split("T")[0]; + profileSalary.lastUpdatedAt = new Date().toISOString().split("T")[0]; + + // เพิ่มลงใน batch array แทนการ save ทันที + batchRecords.push(profileSalary); + } + order = 1; + } + + // Batch insert สำหรับ batch นี้ + if (batchRecords.length > 0) { try { - await this.salaryRepo.save(profileSalary); + // Debug: ตรวจสอบ NaN values ก่อน save + const hasNaN = batchRecords.some((record) => { + return Object.values(record).some((value) => typeof value === "number" && isNaN(value)); + }); + + if (hasNaN) { + console.warn( + `Warning: Found NaN values in batch ${Math.floor(offset / batchSize) + 1}`, + ); + // แทนที่ NaN ด้วย null + batchRecords.forEach((record) => { + Object.keys(record).forEach((key) => { + if (typeof record[key] === "number" && isNaN(record[key])) { + console.warn(`Replacing NaN in field ${key} with null`); + record[key] = null; + } + }); + }); + } + + await this.salaryRepo.save(batchRecords); + console.log( + `Saved ${batchRecords.length} records for batch ${Math.floor(offset / batchSize) + 1}`, + ); } catch (error) { - console.error("Error executing function from controller:", item.CIT); + console.error(`Error saving batch ${Math.floor(offset / batchSize) + 1}:`, error); } } - order = 1; } + + console.log(`Total processed: ${rowCount} records`); return new HttpSuccess(); } @@ -6226,4 +6290,26 @@ export class ImportDataController extends Controller { return groups; }, {}); } + + @Post("updateCommandYearNull") + async updateCommandYearNull(@Request() request: { user: Record }) { + const profiles = await this.salaryRepo.find({ + where: { + createdAt: Between( + new Date("2025-10-23T00:00:00.000Z"), + new Date("2025-10-25T00:00:00.000Z"), + ), + commandYear: IsNull(), + }, + }); + + for (const item of profiles) { + console.log(item.id); + if (item.commandDateAffect) { + item.commandYear = item.commandDateAffect.getFullYear(); + await this.salaryRepo.save(item); + } + } + return new HttpSuccess(); + } } From 0300e61be597a8bca20b3ce7d82506b54762072a Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 27 Oct 2025 14:32:36 +0700 Subject: [PATCH 3/3] feat(ExRetirment):get document --- src/controllers/ExRetirementController.ts | 36 ++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/controllers/ExRetirementController.ts b/src/controllers/ExRetirementController.ts index 232f9a8c..7a3292f9 100644 --- a/src/controllers/ExRetirementController.ts +++ b/src/controllers/ExRetirementController.ts @@ -68,7 +68,8 @@ export class ExRetirementController extends Controller { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่สามารถขอ Token ได้"); } - const scope = requestBody.type === "officer" ? "getOfficerRetireData" : ""; + // const scope = requestBody.type === "officer" ? "getOfficerRetireData" : ""; + const scope = "getOfficerRetireData"; const startRecord = requestBody.page !== 1 ? (requestBody.page - 1) * 25 : 0; const formData = new FormData(); @@ -78,6 +79,7 @@ export class ExRetirementController extends Controller { formData.append("citizenID", requestBody.citizenID); formData.append("firstNameTH", requestBody.firstNameTH); formData.append("lastNameTH", requestBody.lastNameTH); + formData.append("officerTypeID", requestBody.type === "officer" ? "1" : "2"); const res = await axios.post(API_URL_BANGKOK + "/getData", formData, { headers: { @@ -96,6 +98,38 @@ export class ExRetirementController extends Controller { } } } + + @Get("/document/{documentId}") + async getDocument(@Path("documentId") officerDocumentID: string) { + let retryCount = 0; + const maxRetries = 2; + while (retryCount < maxRetries) { + try { + const token = await getToken(clientId, clientSecret); + if (!token) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่สามารถขอ Token ได้"); + } + + const formData = new FormData(); + formData.append("scope", "getOfficerRetireFile"); + formData.append("officerDocumentID", officerDocumentID); + + const res = await axios.post(API_URL_BANGKOK + "/getData", formData, { + headers: { + Authorization: `Bearer ${token}`, + }, + }); + return res.data; + } catch (error: any) { + if (error.response?.status === 500 && retryCount < maxRetries - 1) { + TokenCache.delete(`${clientId}:${clientSecret}`); + retryCount++; + continue; + } + throw new HttpError(HttpStatusCode.INTERNAL_SERVER_ERROR, "ไม่สามารถติดต่อ API ได้"); + } + } + } } async function getToken(ClientID: string, ClientSecret: string): Promise {