diff --git a/src/migration/1742874035261-update_24032510191.ts b/src/migration/1742874035261-update_24032510191.ts deleted file mode 100644 index 470f174c..00000000 --- a/src/migration/1742874035261-update_24032510191.ts +++ /dev/null @@ -1,1581 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class Update240325101911742874035261 implements MigrationInterface { - name = 'Update240325101911742874035261' - - public async up(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_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_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_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(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - await queryRunner.query(`CREATE TABLE \`positionSalaryEditHistory\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`profileId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง profile', \`profileEmployeeId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง profileEmployee', \`returnedDate\` datetime NULL COMMENT 'วันที่ตีกลับ', \`examinerName\` varchar(255) NULL COMMENT 'ชื่อผู้ตรวจสอบ', \`detailForEdit\` int NULL COMMENT 'รายละเอียดที่แจ้งให้แก้ไข', 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\``); - // 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 \`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_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 \`ADMIN_NAME\``); - // 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 \`CIT\``); - // 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\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DEPARTMENT_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DEPARTMENT_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FILL_APP_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_PERSON_TYPE\``); - // 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\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE\``); - // 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 \`JOB_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_CEE\``); - // 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\``); - // 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\``); - // 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_POS_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 \`ORDER_MOVE_POSITION\``); - // 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\``); - // 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 \`POS_NUM_NAME\``); - // 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 \`REMARK\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_1\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_2\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); - // 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 \`SECTION_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIAL_AMT\``); - // 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_POSITION_OFFICER\` DROP COLUMN \`WORK_LINE_NAME\``); - // 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 \`positionOfficer\` DROP COLUMN \`mp_command_num\``); - // await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` int NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); - // 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 \`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 \`positionSalaryEditHistory\` ADD CONSTRAINT \`FK_94e04febe5a4e4f06df78abb3b4\` FOREIGN KEY (\`profileId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` ADD CONSTRAINT \`FK_e66cfffb864a620b4b72c0d8a77\` FOREIGN KEY (\`profileEmployeeId\`) REFERENCES \`profileEmployee\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); - // await queryRunner.query(`ALTER TABLE \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`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_registry_officer\` AS -// WITH Position AS ( -// SELECT -// posExecutive.posExecutiveName, -// pn.posMasterId, -// pn.positionArea, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM position pn -// LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pn.positionArea, -// 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, -// pn.posExecutiveName, -// 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 posMaster 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.profileId, -// 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.profileId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileId, -// 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.profileId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileId, -// 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.profileId -// ORDER BY degs.level DESC -// ), -// Fields AS ( -// SELECT -// fies.profileId, -// 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.profileId -// ORDER BY fies.level DESC -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileId -// FROM tenurePositionOfficer vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileId -// FROM tenureLevelOfficer vctlo -// ) -// SELECT -// p.id as profileId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// 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, -// pm.posExecutiveName, -// pm.positionArea, -// p.position, -// posType.posTypeName, -// posLevel.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 profile p -// LEFT JOIN posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN 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.profileId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileId -// LEFT JOIN Degrees degs ON p.id = degs.profileId -// LEFT JOIN Fields fies ON p.id = fies.profileId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_officer","WITH Position AS (\n SELECT \n posExecutive.posExecutiveName,\n pn.posMasterId,\n pn.positionArea,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM position pn\n LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pn.positionArea,\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 pn.posExecutiveName,\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 posMaster 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 \n orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileId,\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.profileId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileId,\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.profileId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileId,\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.profileId\n ORDER BY degs.level DESC\n ),\n Fields AS (\n SELECT \n\t\t fies.profileId,\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.profileId\n ORDER BY fies.level DESC\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileId\n FROM tenurePositionOfficer vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileId\n FROM tenureLevelOfficer vctlo\n )\n SELECT \n p.id as profileId,\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 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 pm.posExecutiveName,\n pm.positionArea,\n p.position,\n posType.posTypeName,\n posLevel.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 profile p\n LEFT JOIN posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN 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.profileId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileId\n LEFT JOIN Degrees degs ON p.id = degs.profileId\n LEFT JOIN Fields fies ON p.id = fies.profileId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId"]); - } - - public async down(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_registry_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_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(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` DROP FOREIGN KEY \`FK_e66cfffb864a620b4b72c0d8a77\``); - await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` DROP FOREIGN KEY \`FK_94e04febe5a4e4f06df78abb3b4\``); - // 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 \`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\` DROP PRIMARY KEY`); - // 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 \`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_NAME\` 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 \`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 \`SPECIAL_AMT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SECTION_NAME\` 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 \`SALARY\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SAL_POS_AMOUNT_2\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SAL_POS_AMOUNT_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`REMARK\` 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_NAME\` 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 \`POS_NUM_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 \`ORDER_MOVE_POSITION\` 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_POS_DATE\` 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_NUM\` 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_COMMAND_DATE\` 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_CEE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`JOB_NAME\` 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_TO_NAME_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME\` 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 \`FLAG_PERSON_TYPE\` 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_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DIVISION_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DEPARTMENT_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DEPARTMENT_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 \`CUR_YEAR\` 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 \`CIT\` 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_NAME\` 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 \`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 \`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 \`MP_CEE\` 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 \`positionSalaryEditHistory\``); - // await queryRunner.query(`ALTER TABLE \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE RESTRICT ON UPDATE RESTRICT`); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_exc_officer\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // 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 - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND - // positionExecutive <> '' AND - // positionExecutive is not null - // GROUP BY - // profileId, positionExecutive - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // 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, - // 'Comparison with current date' AS remark, - // profileId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND - // positionExecutive <> '' AND - // positionExecutive is not null - // GROUP BY - // profileId - - // ORDER BY - // profileId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\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 (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND \n positionExecutive <> '' AND \n positionExecutive is not null\n GROUP BY\n profileId, positionExecutive\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\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 'Comparison with current date' AS remark,\n profileId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND \n positionExecutive <> '' AND \n positionExecutive is not null\n GROUP BY\n profileId\n\n ORDER BY\n profileId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_employee\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // posNo, - // 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 - // profileSalary - // WHERE - // profileEmployeeId IS NOT NULL AND - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileEmployeeId, positionName - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // NULL AS posNo, - // 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, - // 'Comparison with current date' AS remark, - // profileEmployeeId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // profileEmployeeId IS NOT NULL AND - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileEmployeeId - - // ORDER BY - // profileEmployeeId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n positionName,\n positionCee,\n posNo,\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 profileSalary\n WHERE\n profileEmployeeId IS NOT NULL AND\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileEmployeeId, positionName\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\n NULL AS posNo,\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 'Comparison with current date' AS remark,\n profileEmployeeId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n profileEmployeeId IS NOT NULL AND\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileEmployeeId\n\n ORDER BY\n profileEmployeeId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_officer\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // 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 - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileId, positionName - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // 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, - // 'Comparison with current date' AS remark, - // profileId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileId - - // ORDER BY - // profileId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\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 (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileId, positionName\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\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 'Comparison with current date' AS remark,\n profileId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileId\n\n ORDER BY\n profileId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_employee\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // posNo, - // 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 - // profileSalary - // WHERE - // profileEmployeeId IS NOT NULL AND - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileEmployeeId, positionName - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // NULL AS posNo, - // 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, - // 'Comparison with current date' AS remark, - // profileEmployeeId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // profileEmployeeId IS NOT NULL AND - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileEmployeeId - - // ORDER BY - // profileEmployeeId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n positionName,\n positionCee,\n posNo,\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 profileSalary\n WHERE\n profileEmployeeId IS NOT NULL AND\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileEmployeeId, positionName\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\n NULL AS posNo,\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 'Comparison with current date' AS remark,\n profileEmployeeId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n profileEmployeeId IS NOT NULL AND\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileEmployeeId\n\n ORDER BY\n profileEmployeeId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_exc_officer\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // 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 - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND - // positionExecutive <> '' AND - // positionExecutive is not null - // GROUP BY - // profileId, positionExecutive - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // 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, - // 'Comparison with current date' AS remark, - // profileId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND - // positionExecutive <> '' AND - // positionExecutive is not null - // GROUP BY - // profileId - - // ORDER BY - // profileId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\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 (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND \n positionExecutive <> '' AND \n positionExecutive is not null\n GROUP BY\n profileId, positionExecutive\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\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 'Comparison with current date' AS remark,\n profileId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND \n positionExecutive <> '' AND \n positionExecutive is not null\n GROUP BY\n profileId\n\n ORDER BY\n profileId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_officer\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // 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 - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileId, positionName - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // 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, - // 'Comparison with current date' AS remark, - // profileId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileId - - // ORDER BY - // profileId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\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 (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileId, positionName\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\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 'Comparison with current date' AS remark,\n profileId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileId\n\n ORDER BY\n profileId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_employee\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // posNo, - // 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 - // profileSalary - // WHERE - // profileEmployeeId IS NOT NULL AND - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileEmployeeId, positionName - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // NULL AS posNo, - // 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, - // 'Comparison with current date' AS remark, - // profileEmployeeId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // profileEmployeeId IS NOT NULL AND - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileEmployeeId - - // ORDER BY - // profileEmployeeId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileEmployeeId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\n positionName,\n positionCee,\n posNo,\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 profileSalary\n WHERE\n profileEmployeeId IS NOT NULL AND\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileEmployeeId, positionName\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\n NULL AS posNo,\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 'Comparison with current date' AS remark,\n profileEmployeeId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n profileEmployeeId IS NOT NULL AND\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileEmployeeId\n\n ORDER BY\n profileEmployeeId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_exc_officer\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // 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 - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND - // positionExecutive <> '' AND - // positionExecutive is not null - // GROUP BY - // profileId, positionExecutive - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // 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, - // 'Comparison with current date' AS remark, - // profileId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND - // positionExecutive <> '' AND - // positionExecutive is not null - // GROUP BY - // profileId - - // ORDER BY - // profileId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\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 (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND \n positionExecutive <> '' AND \n positionExecutive is not null\n GROUP BY\n profileId, positionExecutive\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\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 'Comparison with current date' AS remark,\n profileId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) AND \n positionExecutive <> '' AND \n positionExecutive is not null\n GROUP BY\n profileId\n\n ORDER BY\n profileId,\n commandDateAffect ASC"]); - // await queryRunner.query(`CREATE VIEW \`view_current_tenure_officer\` AS SELECT - // DATE(MIN(commandDateAffect)) AS commandDateAffect, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) AS days_diff, - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months', - // TIMESTAMPDIFF( - // DAY, - // LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, \`order\` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days', - // positionName, - // positionCee, - // 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 - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileId, positionName - - // UNION ALL - - // SELECT - // CURDATE() AS commandDateAffect, - // 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 positionName, - // NULL AS positionCee, - // 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, - // 'Comparison with current date' AS remark, - // profileId, - // NULL AS orderNumber - // FROM - // profileSalary - // WHERE - // commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) - // GROUP BY - // profileId - - // ORDER BY - // profileId, - // commandDateAffect ASC`); - // 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","SELECT\n DATE(MIN(commandDateAffect)) AS commandDateAffect,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) AS days_diff,\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 365.2524 AS 'Years',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) / 30.4375 % 12 AS 'Months',\n TIMESTAMPDIFF(\n DAY,\n LAG(MIN(commandDateAffect)) OVER (PARTITION BY profileId ORDER BY commandDateAffect, `order` ASC), MIN(commandDateAffect)) % 30.4375 AS 'Days',\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 (PARTITION BY profileId ORDER BY commandDateAffect ASC) AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileId, positionName\n\n UNION ALL\n\n SELECT\n CURDATE() AS commandDateAffect,\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 positionName,\n NULL AS positionCee,\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 'Comparison with current date' AS remark,\n profileId,\n NULL AS orderNumber\n FROM\n profileSalary\n WHERE\n commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16)\n GROUP BY\n profileId\n\n ORDER BY\n profileId,\n commandDateAffect ASC"]); - } - -} diff --git a/src/migration/1742887259253-update_24032510192.ts b/src/migration/1742887259253-update_24032510192.ts deleted file mode 100644 index b7313fe1..00000000 --- a/src/migration/1742887259253-update_24032510192.ts +++ /dev/null @@ -1,1244 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class Update240325101921742887259253 implements MigrationInterface { - name = 'Update240325101921742887259253' - - public async up(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - // 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 \`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 \`ADMIN_NAME\``); - // 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 \`CIT\``); - // 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\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DEPARTMENT_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DEPARTMENT_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FILL_APP_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_PERSON_TYPE\``); - // 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\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE\``); - // 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 \`JOB_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_CEE\``); - // 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\``); - // 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\``); - // 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_POS_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 \`ORDER_MOVE_POSITION\``); - // 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\``); - // 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 \`POS_NUM_NAME\``); - // 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 \`REMARK\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_1\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_2\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); - // 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 \`SECTION_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIAL_AMT\``); - // 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_POSITION_OFFICER\` DROP COLUMN \`WORK_LINE_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` DROP COLUMN \`MINOR_CODE\``); - // 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\``); - // 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 \`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 \`positionSalaryEditHistory\` DROP COLUMN \`detailForEdit\``); - await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` ADD \`detailForEdit\` varchar(255) NULL COMMENT 'รายละเอียดที่แจ้งให้แก้ไข'`); - // 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 \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); - // 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 \`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 \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`CREATE VIEW \`view_registry_officer\` AS -// WITH Position AS ( -// SELECT -// posExecutive.posExecutiveName, -// pn.posMasterId, -// pn.positionArea, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM position pn -// LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pn.positionArea, -// 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, -// pn.posExecutiveName, -// 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 posMaster 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.profileId, -// 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.profileId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileId, -// 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.profileId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileId, -// 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.profileId -// ORDER BY degs.level DESC -// ), -// Fields AS ( -// SELECT -// fies.profileId, -// 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.profileId -// ORDER BY fies.level DESC -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileId -// FROM tenurePositionOfficer vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileId -// FROM tenureLevelOfficer vctlo -// ) -// SELECT -// p.id as profileId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// 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, -// pm.posExecutiveName, -// pm.positionArea, -// p.position, -// posType.posTypeName, -// posLevel.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 profile p -// LEFT JOIN posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN 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.profileId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileId -// LEFT JOIN Degrees degs ON p.id = degs.profileId -// LEFT JOIN Fields fies ON p.id = fies.profileId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_officer","WITH Position AS (\n SELECT \n posExecutive.posExecutiveName,\n pn.posMasterId,\n pn.positionArea,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM position pn\n LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pn.positionArea,\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 pn.posExecutiveName,\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 posMaster 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 \n orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileId,\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.profileId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileId,\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.profileId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileId,\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.profileId\n ORDER BY degs.level DESC\n ),\n Fields AS (\n SELECT \n\t\t fies.profileId,\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.profileId\n ORDER BY fies.level DESC\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileId\n FROM tenurePositionOfficer vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileId\n FROM tenureLevelOfficer vctlo\n )\n SELECT \n p.id as profileId,\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 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 pm.posExecutiveName,\n pm.positionArea,\n p.position,\n posType.posTypeName,\n posLevel.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 profile p\n LEFT JOIN posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN 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.profileId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileId\n LEFT JOIN Degrees degs ON p.id = degs.profileId\n LEFT JOIN Fields fies ON p.id = fies.profileId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId"]); -// 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_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_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_registry_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_officer\``); - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - // 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 \`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\` DROP PRIMARY KEY`); - // 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 \`positionSalaryEditHistory\` DROP COLUMN \`detailForEdit\``); - await queryRunner.query(`ALTER TABLE \`positionSalaryEditHistory\` ADD \`detailForEdit\` int NULL COMMENT 'รายละเอียดที่แจ้งให้แก้ไข'`); - // 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 \`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 \`MP_CEE\` 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 \`HR_EDUCATION\` ADD \`MINOR_CODE\` mediumtext NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`WORK_LINE_NAME\` 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 \`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 \`SPECIAL_AMT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SECTION_NAME\` 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 \`SALARY\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SAL_POS_AMOUNT_2\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SAL_POS_AMOUNT_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`REMARK\` 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_NAME\` 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 \`POS_NUM_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 \`ORDER_MOVE_POSITION\` 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_POS_DATE\` 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_NUM\` 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_COMMAND_DATE\` 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_CEE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`JOB_NAME\` 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_TO_NAME_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME\` 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 \`FLAG_PERSON_TYPE\` 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_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DIVISION_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DEPARTMENT_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DEPARTMENT_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 \`CUR_YEAR\` 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 \`CIT\` 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_NAME\` 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 \`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(`ALTER TABLE \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE RESTRICT ON UPDATE RESTRICT`); - } - -} diff --git a/src/migration/1742958824719-update_permission_addEdit.ts b/src/migration/1742958824719-update_permission_addEdit.ts deleted file mode 100644 index cf86f99b..00000000 --- a/src/migration/1742958824719-update_permission_addEdit.ts +++ /dev/null @@ -1,1244 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdatePermissionAddEdit1742958824719 implements MigrationInterface { - name = 'UpdatePermissionAddEdit1742958824719' - - public async up(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - // 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\``); - // 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 \`ADMIN_NAME\``); - // 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 \`CIT\``); - // 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\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`CUR_YEAR_EDIT\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DEPARTMENT_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DEPARTMENT_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_CODE\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`DIVISION_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FILL_APP_FLAG\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_PERSON_TYPE\``); - // 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\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`FLAG_TO_NAME_CODE\``); - // 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 \`JOB_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`MP_CEE\``); - // 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\``); - // 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\``); - // 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_POS_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 \`ORDER_MOVE_POSITION\``); - // 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\``); - // 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 \`POS_NUM_NAME\``); - // 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 \`REMARK\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_1\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SAL_POS_AMOUNT_2\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SALARY\``); - // 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 \`SECTION_NAME\``); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` DROP COLUMN \`SPECIAL_AMT\``); - // 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_POSITION_OFFICER\` DROP COLUMN \`WORK_LINE_NAME\``); - // 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 \`permissionProfile\` ADD \`isEdit\` tinyint NOT NULL COMMENT 'สิทธิ์การแก้ไข' DEFAULT 0`); - await queryRunner.query(`ALTER TABLE \`permissionProfile\` ADD \`isCheck\` 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 \`positionOfficer\` DROP COLUMN \`mp_command_num\``); - // await queryRunner.query(`ALTER TABLE \`positionOfficer\` ADD \`mp_command_num\` int NULL`); - // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); - // 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 \`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 \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`CREATE VIEW \`view_registry_officer\` AS -// WITH Position AS ( -// SELECT -// posExecutive.posExecutiveName, -// pn.posMasterId, -// pn.positionArea, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM position pn -// LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pn.positionArea, -// 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, -// pn.posExecutiveName, -// 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 posMaster 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.profileId, -// 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.profileId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileId, -// 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.profileId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileId, -// 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.profileId -// ORDER BY degs.level DESC -// ), -// Fields AS ( -// SELECT -// fies.profileId, -// 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.profileId -// ORDER BY fies.level DESC -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileId -// FROM tenurePositionOfficer vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileId -// FROM tenureLevelOfficer vctlo -// ) -// SELECT -// p.id as profileId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// 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, -// pm.posExecutiveName, -// pm.positionArea, -// p.position, -// posType.posTypeName, -// posLevel.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 profile p -// LEFT JOIN posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN 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.profileId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileId -// LEFT JOIN Degrees degs ON p.id = degs.profileId -// LEFT JOIN Fields fies ON p.id = fies.profileId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_officer","WITH Position AS (\n SELECT \n posExecutive.posExecutiveName,\n pn.posMasterId,\n pn.positionArea,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM position pn\n LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pn.positionArea,\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 pn.posExecutiveName,\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 posMaster 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 \n orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileId,\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.profileId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileId,\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.profileId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileId,\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.profileId\n ORDER BY degs.level DESC\n ),\n Fields AS (\n SELECT \n\t\t fies.profileId,\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.profileId\n ORDER BY fies.level DESC\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileId\n FROM tenurePositionOfficer vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileId\n FROM tenureLevelOfficer vctlo\n )\n SELECT \n p.id as profileId,\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 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 pm.posExecutiveName,\n pm.positionArea,\n p.position,\n posType.posTypeName,\n posLevel.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 profile p\n LEFT JOIN posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN 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.profileId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileId\n LEFT JOIN Degrees degs ON p.id = degs.profileId\n LEFT JOIN Fields fies ON p.id = fies.profileId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId"]); -// 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_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"]); - } - - 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_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_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_registry_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_officer\``); - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - // 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 \`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\` DROP PRIMARY KEY`); - // 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 \`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 \`permissionProfile\` DROP COLUMN \`isCheck\``); - await queryRunner.query(`ALTER TABLE \`permissionProfile\` DROP COLUMN \`isEdit\``); - // 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_NAME\` 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 \`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 \`SPECIAL_AMT\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SECTION_NAME\` 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 \`SALARY\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SAL_POS_AMOUNT_2\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`SAL_POS_AMOUNT_1\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`REMARK\` 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_NAME\` 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 \`POS_NUM_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 \`ORDER_MOVE_POSITION\` 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_POS_DATE\` 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_NUM\` 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_COMMAND_DATE\` 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_CEE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`JOB_NAME\` 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_TO_NAME_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`FLAG_TO_NAME\` 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 \`FLAG_PERSON_TYPE\` 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_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DIVISION_CODE\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DEPARTMENT_NAME\` text NULL`); - // await queryRunner.query(`ALTER TABLE \`HR_POSITION_OFFICER\` ADD \`DEPARTMENT_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 \`CUR_YEAR\` 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 \`CIT\` 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_NAME\` 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 \`MP_CEE\` 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(`ALTER TABLE \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE RESTRICT ON UPDATE RESTRICT`); - } - -} diff --git a/src/migration/1743574569864-update_02042512465.ts b/src/migration/1743574569864-update_02042512465.ts deleted file mode 100644 index 92516b9d..00000000 --- a/src/migration/1743574569864-update_02042512465.ts +++ /dev/null @@ -1,879 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class Update020425124651743574569864 implements MigrationInterface { - name = 'Update020425124651743574569864' - - public async up(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`DROP INDEX \`FK_bfcf6ec9f1e08c2a351be8df46a\` ON \`position\``); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ID\` text NULL`); - await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` DROP COLUMN \`refId\``); - await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` ADD \`refId\` varchar(255) NULL COMMENT 'refId'`); - await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`refId\``); - await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`refId\` varchar(255) NULL COMMENT 'refId'`); - // 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 \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); - // 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 \`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 \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`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.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, -// orgChild1.id as child1Id, -// orgChild1.orgChild1Name, -// orgChild2.id as child2Id, -// orgChild2.orgChild2Name, -// orgChild3.id as child3Id, -// orgChild3.orgChild3Name, -// orgChild4.id as child4Id, -// orgChild4.orgChild4Name, -// position.id as positionId, -// position.positionIsSelected, -// position.posExecutiveId, -// 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, -// 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 -// profileDiscipline ON profileDiscipline.profileId = profile.id -// LEFT JOIN -// profileLeave ON profileLeave.profileId = profile.id -// LEFT JOIN -// 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.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 orgChild1.id as child1Id,\n orgChild1.orgChild1Name,\n orgChild2.id as child2Id,\n orgChild2.orgChild2Name,\n orgChild3.id as child3Id,\n orgChild3.orgChild3Name,\n orgChild4.id as child4Id,\n orgChild4.orgChild4Name,\n position.id as positionId,\n position.positionIsSelected,\n position.posExecutiveId,\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 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 profileDiscipline ON profileDiscipline.profileId = profile.id\n LEFT JOIN \n profileLeave ON profileLeave.profileId = profile.id\n LEFT JOIN \n profileAssessment 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_officer\` AS -// WITH Position AS ( -// SELECT -// posExecutive.posExecutiveName, -// pn.posMasterId, -// pn.positionArea, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM position pn -// LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pn.positionArea, -// 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, -// pn.posExecutiveName, -// 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 posMaster 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.profileId, -// 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.profileId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileId, -// 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.profileId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileId, -// 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.profileId -// ORDER BY degs.level DESC -// ), -// Fields AS ( -// SELECT -// fies.profileId, -// 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.profileId -// ORDER BY fies.level DESC -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileId -// FROM tenurePositionOfficer vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileId -// FROM tenureLevelOfficer vctlo -// ) -// SELECT -// p.id as profileId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// 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, -// pm.posExecutiveName, -// pm.positionArea, -// p.position, -// posType.posTypeName, -// posLevel.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 profile p -// LEFT JOIN posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN 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.profileId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileId -// LEFT JOIN Degrees degs ON p.id = degs.profileId -// LEFT JOIN Fields fies ON p.id = fies.profileId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_officer","WITH Position AS (\n SELECT \n posExecutive.posExecutiveName,\n pn.posMasterId,\n pn.positionArea,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM position pn\n LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pn.positionArea,\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 pn.posExecutiveName,\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 posMaster 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 \n orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileId,\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.profileId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileId,\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.profileId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileId,\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.profileId\n ORDER BY degs.level DESC\n ),\n Fields AS (\n SELECT \n\t\t fies.profileId,\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.profileId\n ORDER BY fies.level DESC\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileId\n FROM tenurePositionOfficer vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileId\n FROM tenureLevelOfficer vctlo\n )\n SELECT \n p.id as profileId,\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 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 pm.posExecutiveName,\n pm.positionArea,\n p.position,\n posType.posTypeName,\n posLevel.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 profile p\n LEFT JOIN posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN 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.profileId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileId\n LEFT JOIN Degrees degs ON p.id = degs.profileId\n LEFT JOIN Fields fies ON p.id = fies.profileId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId"]); -// 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_registry_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_officer\``); - // 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 \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - // 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 \`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\` DROP PRIMARY KEY`); - // 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 \`profileSalary\` DROP COLUMN \`refId\``); - await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`refId\` int NULL COMMENT 'refId'`); - await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` DROP COLUMN \`refId\``); - await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` ADD \`refId\` int NULL COMMENT 'refId'`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ID\``); - // await queryRunner.query(`CREATE INDEX \`FK_bfcf6ec9f1e08c2a351be8df46a\` ON \`position\` (\`posMasterId\`)`); - } - -} diff --git a/src/migration/1745223542750-update_table_profileTraining_add_field_developmentId.ts b/src/migration/1745223542750-update_table_profileTraining_add_field_developmentId.ts deleted file mode 100644 index 32274dc9..00000000 --- a/src/migration/1745223542750-update_table_profileTraining_add_field_developmentId.ts +++ /dev/null @@ -1,991 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateTableProfileTrainingAddFieldDevelopmentId1745223542750 implements MigrationInterface { - name = 'UpdateTableProfileTrainingAddFieldDevelopmentId1745223542750' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`profileTraining\` ADD \`developmentId\` varchar(40) NULL COMMENT 'ไอดีโครงการ/หลักสูตรการฝึกอบรม'`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ID\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`remark\` text NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` ADD \`remark\` text NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`remark\` text NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); -// 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_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 \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`CREATE VIEW \`view_registry_officer\` AS -// WITH Position AS ( -// SELECT -// posExecutive.posExecutiveName, -// pn.posMasterId, -// pn.positionArea, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM position pn -// LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pn.positionArea, -// 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, -// pn.posExecutiveName, -// 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 posMaster 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.profileId, -// 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.profileId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileId, -// 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.profileId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileId, -// 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.profileId -// ORDER BY degs.level DESC -// ), -// Fields AS ( -// SELECT -// fies.profileId, -// 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.profileId -// ORDER BY fies.level DESC -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileId -// FROM tenurePositionOfficer vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileId -// FROM tenureLevelOfficer vctlo -// ) -// SELECT -// p.id as profileId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// 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, -// pm.posExecutiveName, -// pm.positionArea, -// p.position, -// posType.posTypeName, -// posLevel.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 profile p -// LEFT JOIN posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN 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.profileId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileId -// LEFT JOIN Degrees degs ON p.id = degs.profileId -// LEFT JOIN Fields fies ON p.id = fies.profileId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_officer","WITH Position AS (\n SELECT \n posExecutive.posExecutiveName,\n pn.posMasterId,\n pn.positionArea,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM position pn\n LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pn.positionArea,\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 pn.posExecutiveName,\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 posMaster 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 \n orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileId,\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.profileId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileId,\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.profileId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileId,\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.profileId\n ORDER BY degs.level DESC\n ),\n Fields AS (\n SELECT \n\t\t fies.profileId,\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.profileId\n ORDER BY fies.level DESC\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileId\n FROM tenurePositionOfficer vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileId\n FROM tenureLevelOfficer vctlo\n )\n SELECT \n p.id as profileId,\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 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 pm.posExecutiveName,\n pm.positionArea,\n p.position,\n posType.posTypeName,\n posLevel.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 profile p\n LEFT JOIN posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN 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.profileId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileId\n LEFT JOIN Degrees degs ON p.id = degs.profileId\n LEFT JOIN Fields fies ON p.id = fies.profileId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId"]); -// 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 -// profileDiscipline ON profileDiscipline.profileId = profileEmployee.id -// LEFT JOIN -// profileLeave ON profileLeave.profileId = profileEmployee.id -// LEFT JOIN -// 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 profileDiscipline ON profileDiscipline.profileId = profileEmployee.id \n LEFT JOIN \n profileLeave ON profileLeave.profileId = profileEmployee.id \n LEFT JOIN \n profileAssessment 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, -// 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 -// profileDiscipline ON profileDiscipline.profileId = profile.id -// LEFT JOIN -// profileLeave ON profileLeave.profileId = profile.id -// LEFT JOIN -// 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 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 profileDiscipline ON profileDiscipline.profileId = profile.id\n LEFT JOIN \n profileLeave ON profileLeave.profileId = profile.id\n LEFT JOIN \n profileAssessment 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_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_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"]); - } - - 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_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_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_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(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_registry_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_officer\``); - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - // 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 \`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\` DROP PRIMARY KEY`); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NULL COMMENT 'ข้อมูลจาก Entry'`); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`remark\``); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); - // await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` DROP COLUMN \`remark\``); - // await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); - // await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`remark\``); - // await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ID\``); - await queryRunner.query(`ALTER TABLE \`profileTraining\` DROP COLUMN \`developmentId\``); - } - -} diff --git a/src/migration/1745388773619-update_table_profileAssistanceHistory_add_field.ts b/src/migration/1745388773619-update_table_profileAssistanceHistory_add_field.ts deleted file mode 100644 index ab324ace..00000000 --- a/src/migration/1745388773619-update_table_profileAssistanceHistory_add_field.ts +++ /dev/null @@ -1,991 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateTableProfileAssistanceHistoryAddField1745388773619 implements MigrationInterface { - name = 'UpdateTableProfileAssistanceHistoryAddField1745388773619' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อคำสั่ง'`); -// await queryRunner.query(`ALTER TABLE \`OFFICER\` ADD \`ID\` text NULL`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`remark\` text NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` ADD \`remark\` text NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`remark\``); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`remark\` text NULL COMMENT 'หมายเหตุ'`); -// await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry'`); -// await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); -// 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_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 \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); -// await queryRunner.query(`CREATE VIEW \`view_registry_officer\` AS -// WITH Position AS ( -// SELECT -// posExecutive.posExecutiveName, -// pn.posMasterId, -// pn.positionArea, -// ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number -// FROM position pn -// LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id -// WHERE pn.positionIsSelected IS TRUE -// ), -// PosMaster AS ( -// SELECT -// pn.positionArea, -// 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, -// pn.posExecutiveName, -// 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 posMaster 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.profileId, -// 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.profileId, -// eds.level -// FROM profileEducation eds -// ) AS eds -// GROUP BY eds.profileId -// ORDER BY eds.level DESC -// ), -// EducationLevels AS ( -// SELECT -// edls.profileId, -// 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.profileId -// ORDER BY edls.level DESC -// ), -// Degrees AS ( -// SELECT -// degs.profileId, -// 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.profileId -// ORDER BY degs.level DESC -// ), -// Fields AS ( -// SELECT -// fies.profileId, -// 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.profileId -// ORDER BY fies.level DESC -// ), -// PositionDate AS ( -// SELECT -// vcto.Years, -// vcto.Months, -// vcto.Days, -// vcto.profileId -// FROM tenurePositionOfficer vcto -// ), -// PositionLevelDate AS ( -// SELECT -// vctlo.Years, -// vctlo.Months, -// vctlo.Days, -// vctlo.profileId -// FROM tenureLevelOfficer vctlo -// ) -// SELECT -// p.id as profileId, -// p.citizenId, -// p.rank, -// p.prefix, -// p.firstName, -// p.lastName, -// p.isProbation, -// p.isLeave, -// p.isRetirement, -// p.leaveType, -// 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, -// pm.posExecutiveName, -// pm.positionArea, -// p.position, -// posType.posTypeName, -// posLevel.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 profile p -// LEFT JOIN posLevel ON p.posLevelId = posLevel.id -// LEFT JOIN 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.profileId -// LEFT JOIN EducationLevels edls ON p.id = edls.profileId -// LEFT JOIN Degrees degs ON p.id = degs.profileId -// LEFT JOIN Fields fies ON p.id = fies.profileId -// LEFT JOIN PositionDate vcto ON p.id = vcto.profileId -// LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId -// `); -// await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_officer","WITH Position AS (\n SELECT \n posExecutive.posExecutiveName,\n pn.posMasterId,\n pn.positionArea,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM position pn\n LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pn.positionArea,\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 pn.posExecutiveName,\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 posMaster 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 \n orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileId,\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.profileId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileId,\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.profileId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileId,\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.profileId\n ORDER BY degs.level DESC\n ),\n Fields AS (\n SELECT \n\t\t fies.profileId,\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.profileId\n ORDER BY fies.level DESC\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileId\n FROM tenurePositionOfficer vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileId\n FROM tenureLevelOfficer vctlo\n )\n SELECT \n p.id as profileId,\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 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 pm.posExecutiveName,\n pm.positionArea,\n p.position,\n posType.posTypeName,\n posLevel.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 profile p\n LEFT JOIN posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN 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.profileId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileId\n LEFT JOIN Degrees degs ON p.id = degs.profileId\n LEFT JOIN Fields fies ON p.id = fies.profileId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId"]); -// 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 -// profileDiscipline ON profileDiscipline.profileId = profileEmployee.id -// LEFT JOIN -// profileLeave ON profileLeave.profileId = profileEmployee.id -// LEFT JOIN -// 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 profileDiscipline ON profileDiscipline.profileId = profileEmployee.id \n LEFT JOIN \n profileLeave ON profileLeave.profileId = profileEmployee.id \n LEFT JOIN \n profileAssessment 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_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_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, -// 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 -// profileDiscipline ON profileDiscipline.profileId = profile.id -// LEFT JOIN -// profileLeave ON profileLeave.profileId = profile.id -// LEFT JOIN -// 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 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 profileDiscipline ON profileDiscipline.profileId = profile.id\n LEFT JOIN \n profileLeave ON profileLeave.profileId = profile.id\n LEFT JOIN \n profileAssessment 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_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_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_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_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_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_officer\``); - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); - // 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 \`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\` DROP PRIMARY KEY`); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NULL COMMENT 'ข้อมูลจาก Entry'`); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`remark\``); - // await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); - // await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` DROP COLUMN \`remark\``); - // await queryRunner.query(`ALTER TABLE \`profileSalaryTemp\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); - // await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`remark\``); - // await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); - // await queryRunner.query(`ALTER TABLE \`OFFICER\` DROP COLUMN \`ID\``); - await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` DROP COLUMN \`commandName\``); - } - -} diff --git a/src/migration/1743179887426-update_ProfileAssistance_add_refId.ts b/src/migration/1745469749936-update24042025.ts similarity index 86% rename from src/migration/1743179887426-update_ProfileAssistance_add_refId.ts rename to src/migration/1745469749936-update24042025.ts index 23f5bc00..82682d2b 100644 --- a/src/migration/1743179887426-update_ProfileAssistance_add_refId.ts +++ b/src/migration/1745469749936-update24042025.ts @@ -1,10 +1,10 @@ import { MigrationInterface, QueryRunner } from "typeorm"; -export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationInterface { - name = 'UpdateProfileAssistanceAddRefId1743179887426' +export class Update240420251745469749936 implements MigrationInterface { + name = 'Update240420251745469749936' public async up(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); + // await queryRunner.query(`DROP INDEX \`FK_f1ded3e1f83ab2437f739a14f38\` ON \`profileSalaryHistory\``); // 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\``); @@ -225,14 +225,17 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // 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 \`HR_EDUCATION\` DROP COLUMN \`MINOR_CODE\``); - await queryRunner.query(`ALTER TABLE \`profileAssistance\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อคำสั่ง'`); - await queryRunner.query(`ALTER TABLE \`profileAssistance\` ADD \`refId\` varchar(255) NULL COMMENT 'id อ้างอิงรายการ'`); + await queryRunner.query(`ALTER TABLE \`profileTraining\` ADD \`developmentId\` varchar(40) NULL COMMENT 'ไอดีโครงการ/หลักสูตรการฝึกอบรม'`); + await queryRunner.query(`ALTER TABLE \`profileEmployee\` ADD \`statusEmail\` varchar(20) NULL COMMENT 'สถานะอีเมล'`); + await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` ADD \`statusEmail\` varchar(20) NULL COMMENT 'สถานะอีเมล'`); + await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อคำสั่ง'`); // 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 \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NOT NULL COMMENT 'ข้อมูลจาก Entry'`); // 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 \`ProfileSalaries\` ADD PRIMARY KEY (\`id\`)`); @@ -252,303 +255,7 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // 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 \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`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_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(`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_officer\` AS // WITH Position AS ( // SELECT @@ -729,7 +436,271 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId // `); // await queryRunner.query(`INSERT INTO \`hrms_organization\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["hrms_organization","VIEW","view_registry_officer","WITH Position AS (\n SELECT \n posExecutive.posExecutiveName,\n pn.posMasterId,\n pn.positionArea,\n ROW_NUMBER() OVER (PARTITION BY pn.posMasterId) AS pn_number\n FROM position pn\n LEFT JOIN posExecutive ON pn.posExecutiveId = posExecutive.id\n WHERE pn.positionIsSelected IS TRUE\n ),\n PosMaster AS (\n SELECT \n pn.positionArea,\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 pn.posExecutiveName,\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 posMaster 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 \n orgRevision.orgRevisionIsCurrent IS TRUE \n AND orgRevision.orgRevisionIsDraft IS FALSE\n ),\n Educations AS (\n SELECT \n eds.profileId,\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.profileId,\n\t\t\teds.level\n FROM profileEducation eds\n ) AS eds\n GROUP BY eds.profileId\n ORDER BY eds.level DESC\n ),\n EducationLevels AS (\n SELECT \n\t\t edls.profileId,\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.profileId\n ORDER BY edls.level DESC\n ),\n Degrees AS (\n SELECT \n\t\t degs.profileId,\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.profileId\n ORDER BY degs.level DESC\n ),\n Fields AS (\n SELECT \n\t\t fies.profileId,\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.profileId\n ORDER BY fies.level DESC\n ),\n PositionDate AS (\n SELECT \n vcto.Years,\n vcto.Months,\n vcto.Days,\n vcto.profileId\n FROM tenurePositionOfficer vcto\n ),\n PositionLevelDate AS (\n SELECT \n vctlo.Years,\n vctlo.Months,\n vctlo.Days,\n vctlo.profileId\n FROM tenureLevelOfficer vctlo\n )\n SELECT \n p.id as profileId,\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 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 pm.posExecutiveName,\n pm.positionArea,\n p.position,\n posType.posTypeName,\n posLevel.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 profile p\n LEFT JOIN posLevel ON p.posLevelId = posLevel.id\n LEFT JOIN 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.profileId\n LEFT JOIN EducationLevels edls ON p.id = edls.profileId\n LEFT JOIN Degrees degs ON p.id = degs.profileId\n LEFT JOIN Fields fies ON p.id = fies.profileId\n LEFT JOIN PositionDate vcto ON p.id = vcto.profileId\n LEFT JOIN PositionLevelDate vctlo ON p.id = vctlo.profileId"]); -// await queryRunner.query(`CREATE VIEW \`view_current_tenure_exc_officer\` AS +// 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 +// profileDiscipline ON profileDiscipline.profileId = profileEmployee.id +// LEFT JOIN +// profileLeave ON profileLeave.profileId = profileEmployee.id +// LEFT JOIN +// 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 profileDiscipline ON profileDiscipline.profileId = profileEmployee.id \n LEFT JOIN \n profileLeave ON profileLeave.profileId = profileEmployee.id \n LEFT JOIN \n profileAssessment 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, @@ -751,7 +722,7 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // positionExecutive, // positionType, // positionLevel, -// orgRoot, +// OrgRoot, // orgChild1, // orgChild2, // orgChild3, @@ -773,7 +744,7 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // positionExecutive, // positionType, // positionLevel, -// orgRoot, +// OrgRoot, // orgChild1, // orgChild2, // orgChild3, @@ -784,24 +755,26 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // 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) AND -// positionExecutive <> '' +// commandCode IN (1, 2, 3, 4, 8, 10, 11, 12, 15, 16) // ORDER BY // commandDateAffect ASC, commandDateSign ASC -// ) AS groupedPositionExe +// ) AS groupedPosition +// WHERE +// prevCommandDateSign IS NULL OR commandDateSign >= prevCommandDateSign // GROUP BY -// groupedId, positionExecutive +// profileId, groupedId, positionName // ) // SELECT // commandDateAffect, // positionName, // positionCee, -// days_diff, +// days_diff, // Years, // Months, // Days, @@ -809,7 +782,7 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // positionExecutive, // positionType, // positionLevel, -// orgRoot, +// OrgRoot, // orgChild1, // orgChild2, // orgChild3, @@ -837,7 +810,7 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // NULL AS positionExecutive, // NULL AS positionType, // NULL AS positionLevel, -// NULL AS orgRoot, +// NULL AS OrgRoot, // NULL AS orgChild1, // NULL AS orgChild2, // NULL AS orgChild3, @@ -851,7 +824,7 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // 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(`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_employee\` AS // WITH resultData AS ( // SELECT @@ -977,20 +950,237 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // 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_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, +// 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 +// profileDiscipline ON profileDiscipline.profileId = profile.id +// LEFT JOIN +// profileLeave ON profileLeave.profileId = profile.id +// LEFT JOIN +// 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 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 profileDiscipline ON profileDiscipline.profileId = profile.id\n LEFT JOIN \n profileLeave ON profileLeave.profileId = profile.id\n LEFT JOIN \n profileAssessment 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_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"]); } 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_registry_officer","hrms_organization"]); - // await queryRunner.query(`DROP VIEW \`view_registry_officer\``); + // 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_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_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_registry_employee","hrms_organization"]); // await queryRunner.query(`DROP VIEW \`view_registry_employee\``); - // await queryRunner.query(`ALTER TABLE \`position\` DROP FOREIGN KEY \`FK_bfcf6ec9f1e08c2a351be8df46a\``); + // await queryRunner.query(`DELETE FROM \`hrms_organization\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_registry_officer","hrms_organization"]); + // await queryRunner.query(`DROP VIEW \`view_registry_officer\``); + // await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP FOREIGN KEY \`FK_f1ded3e1f83ab2437f739a14f38\``); // 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\``); @@ -1010,14 +1200,17 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // await queryRunner.query(`ALTER TABLE \`ProfileSalaries\` DROP PRIMARY KEY`); // 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 \`profileSalary\` CHANGE \`isEntry\` \`isEntry\` tinyint NULL COMMENT 'ข้อมูลจาก Entry'`); // 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 \`profileAssistance\` DROP COLUMN \`refId\``); - await queryRunner.query(`ALTER TABLE \`profileAssistance\` DROP COLUMN \`commandName\``); + await queryRunner.query(`ALTER TABLE \`profileAssistanceHistory\` DROP COLUMN \`commandName\``); + await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` DROP COLUMN \`statusEmail\``); + await queryRunner.query(`ALTER TABLE \`profileEmployee\` DROP COLUMN \`statusEmail\``); + await queryRunner.query(`ALTER TABLE \`profileTraining\` DROP COLUMN \`developmentId\``); // await queryRunner.query(`ALTER TABLE \`HR_EDUCATION\` ADD \`MINOR_CODE\` 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`); @@ -1238,7 +1431,7 @@ export class UpdateProfileAssistanceAddRefId1743179887426 implements MigrationIn // 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(`ALTER TABLE \`position\` ADD CONSTRAINT \`FK_bfcf6ec9f1e08c2a351be8df46a\` FOREIGN KEY (\`posMasterId\`) REFERENCES \`posMaster\`(\`id\`) ON DELETE RESTRICT ON UPDATE RESTRICT`); + // await queryRunner.query(`CREATE INDEX \`FK_f1ded3e1f83ab2437f739a14f38\` ON \`profileSalaryHistory\` (\`profileSalaryId\`)`); } }