diff --git a/src/entities/SalaryProfile.ts b/src/entities/SalaryProfile.ts index 3710588..47606f2 100644 --- a/src/entities/SalaryProfile.ts +++ b/src/entities/SalaryProfile.ts @@ -235,34 +235,39 @@ export class SalaryProfile extends EntityBase { child4: string; @Column({ + nullable: true, comment: "ผลการประเมิน", - default: false, + default: null, }) - result: boolean; + result: string; @Column({ + nullable: true, comment: "ระยะเวลา", - default: false, + default: null, }) - duration: boolean; + duration: string; @Column({ + nullable: true, comment: "การลงโทษ", - default: false, + default: null, }) - punish: boolean; + punish: string; @Column({ + nullable: true, comment: "พักราชการ", - default: false, + default: null, }) - retired: boolean; + retired: string; @Column({ + nullable: true, comment: "ขาดราชการ", - default: false, + default: null, }) - retired2: boolean; + retired2: string; @ManyToOne(() => SalaryOrg, (salaryOrg) => salaryOrg.salaryProfiles) @JoinColumn({ name: "salaryOrgId" }) diff --git a/src/interfaces/extension.ts b/src/interfaces/extension.ts index 25d8764..1355587 100644 --- a/src/interfaces/extension.ts +++ b/src/interfaces/extension.ts @@ -1,54 +1,81 @@ class Extension { - - public static ToThaiMonth(value: number) { - switch (value) { - case 1: return "มกราคม"; - case 2: return "กุมภาพันธ์"; - case 3: return "มีนาคม"; - case 4: return "เมษายน"; - case 5: return "พฤษภาคม"; - case 6: return "มิถุนายน"; - case 7: return "กรกฎาคม"; - case 8: return "สิงหาคม"; - case 9: return "กันยายน"; - case 10: return "ตุลาคม"; - case 11: return "พฤศจิกายน"; - case 12: return "ธันวาคม"; - default: return ""; - } + public static ToThaiMonth(value: number) { + switch (value) { + case 1: + return "มกราคม"; + case 2: + return "กุมภาพันธ์"; + case 3: + return "มีนาคม"; + case 4: + return "เมษายน"; + case 5: + return "พฤษภาคม"; + case 6: + return "มิถุนายน"; + case 7: + return "กรกฎาคม"; + case 8: + return "สิงหาคม"; + case 9: + return "กันยายน"; + case 10: + return "ตุลาคม"; + case 11: + return "พฤศจิกายน"; + case 12: + return "ธันวาคม"; + default: + return ""; } + } - public static ToThaiYear(value: number) { - if (value < 2400) - return value + 543; - else return value; - } + public static ToThaiYear(value: number) { + if (value < 2400) return value + 543; + else return value; + } - public static ToCeYear(value: number) { - if (value >= 2400) - return value - 543; - else return value; - } + public static ToCeYear(value: number) { + if (value >= 2400) return value - 543; + else return value; + } - public static ToThaiNumber(value: string) { - let arabicNumbers = "0123456789"; - let thaiNumbers = "๐๑๒๓๔๕๖๗๘๙"; - let result = ""; - for (let digit of value) { - let index = arabicNumbers.indexOf(digit); - if (index >= 0) { - result += thaiNumbers[index]; - } else { - result += digit; - } - } - return result; + public static ToThaiNumber(value: string) { + let arabicNumbers = "0123456789"; + let thaiNumbers = "๐๑๒๓๔๕๖๗๘๙"; + let result = ""; + for (let digit of value) { + let index = arabicNumbers.indexOf(digit); + if (index >= 0) { + result += thaiNumbers[index]; + } else { + result += digit; + } } + return result; + } - public static ToThaiFullDate(value: Date) { - let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear(); - return "วันที่ "+ value.getDate() +" เดือน "+ Extension.ToThaiMonth(value.getMonth() + 1)+ " พ.ศ. " + yy; + public static ToThaiFullDate(value: Date) { + let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear(); + return ( + "วันที่ " + + value.getDate() + + " เดือน " + + Extension.ToThaiMonth(value.getMonth() + 1) + + " พ.ศ. " + + yy + ); + } + + public static sumObjectValues(array: any, propertyName: any) { + let sum = 0; + for (let i = 0; i < array.length; i++) { + if (array[i][propertyName] !== undefined) { + sum += array[i][propertyName]; + } } + return sum; + } } export default Extension; diff --git a/src/migration/1709113262974-update_table_salaryProfile_add_retired3.ts b/src/migration/1709113262974-update_table_salaryProfile_add_retired3.ts new file mode 100644 index 0000000..5352514 --- /dev/null +++ b/src/migration/1709113262974-update_table_salaryProfile_add_retired3.ts @@ -0,0 +1,32 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableSalaryProfileAddRetired31709113262974 implements MigrationInterface { + name = 'UpdateTableSalaryProfileAddRetired31709113262974' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`result\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`result\` varchar(255) NULL COMMENT 'ผลการประเมิน'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`duration\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`duration\` varchar(255) NULL COMMENT 'ระยะเวลา'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`punish\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`punish\` varchar(255) NULL COMMENT 'การลงโทษ'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`retired\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`retired\` varchar(255) NULL COMMENT 'พักราชการ'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`retired2\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`retired2\` varchar(255) NULL COMMENT 'ขาดราชการ'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`retired2\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`retired2\` tinyint NOT NULL COMMENT 'ขาดราชการ' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`retired\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`retired\` tinyint NOT NULL COMMENT 'พักราชการ' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`punish\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`punish\` tinyint NOT NULL COMMENT 'การลงโทษ' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`duration\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`duration\` tinyint NOT NULL COMMENT 'ระยะเวลา' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` DROP COLUMN \`result\``); + await queryRunner.query(`ALTER TABLE \`salaryProfile\` ADD \`result\` tinyint NOT NULL COMMENT 'ผลการประเมิน' DEFAULT '0'`); + } + +}