diff --git a/src/entities/Personal.ts b/src/entities/Personal.ts index d1dd69a..383e183 100644 --- a/src/entities/Personal.ts +++ b/src/entities/Personal.ts @@ -1,210 +1,209 @@ -import { Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn, OneToMany } from "typeorm"; -import { EntityBase } from "./base/Base"; -import { Assign } from "./Assign"; -import { Appoint } from "./Appoint"; -import { Survey } from "./Survey"; +import { Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn, OneToMany } from "typeorm" +import { EntityBase } from "./base/Base" +import { Assign } from "./Assign" +import { Appoint } from "./Appoint" +import { Survey } from "./Survey" @Entity("personal") export class Personal extends EntityBase { - @PrimaryGeneratedColumn("uuid") - personal_id: string; + @PrimaryGeneratedColumn("uuid") + personal_id: string - @Column({ - nullable: true, - comment: "เลขที่คำสั่งบรรจุ", - }) - order_number!: string; + @Column({ + nullable: true, + comment: "เลขที่คำสั่งบรรจุ", + }) + order_number!: string - @Column({ - nullable: false, - comment: - "1 อยู่ระหว่างการทดลองปฏิบัติหน้าที่ราชการ, 2 พ้นการทดลองปฏิบัติหน้าที่ราชการ, 3 ไม่พ้นการทดลองปฏิบัติหน้าที่ราชการ, 4 ยุติการทดลองปฏิบัติหน้าที่ราชการเนื่องจากเปลี่ยนตำแหน่ง, 5 ยุติการทดลองปฏิบัติหน้าที่ราชการเนื่องจากลาออก, 6 ยุติการทดลองปฏิบัติหน้าที่ราชการเนื่องจากถึงแก่กรรม, 7 ขยายระยะเวลาทดลองปฏิบัติหน้าที่ราชการ, 8 ดึงรายชื่อไปออกคำสั่งแล้ว", - default: 1, - }) - probation_status: number; + @Column({ + nullable: false, + comment: + "1 อยู่ระหว่างการทดลองปฏิบัติหน้าที่ราชการ, 2 พ้นการทดลองปฏิบัติหน้าที่ราชการ, 3 ไม่พ้นการทดลองปฏิบัติหน้าที่ราชการ, 4 ยุติการทดลองปฏิบัติหน้าที่ราชการเนื่องจากเปลี่ยนตำแหน่ง, 5 ยุติการทดลองปฏิบัติหน้าที่ราชการเนื่องจากลาออก, 6 ยุติการทดลองปฏิบัติหน้าที่ราชการเนื่องจากถึงแก่กรรม, 7 ขยายระยะเวลาทดลองปฏิบัติหน้าที่ราชการ, 8 ดึงรายชื่อไปออกคำสั่งแล้ว", + default: 1, + }) + probation_status: number - @Column({ - nullable: false, - comment: "สถานะการใช้งาน 1 คือใช้งานปกติ, 0 คือไม่ใช้งาน", - default: 1, - }) - active: number; + @Column({ + nullable: false, + comment: "สถานะการใช้งาน 1 คือใช้งานปกติ, 0 คือไม่ใช้งาน", + default: 1, + }) + active: number - @Column({ - nullable: true, - comment: "คำนำหน้าชื่อ", - }) - prefixName: string; + @Column({ + nullable: true, + comment: "คำนำหน้าชื่อ", + }) + prefixName: string - @Column({ - nullable: false, - comment: "ชื่อ", - }) - firstName: string; + @Column({ + nullable: false, + comment: "ชื่อ", + }) + firstName: string - @Column({ - nullable: false, - comment: "นามสกุล", - }) - lastName: string; + @Column({ + nullable: false, + comment: "นามสกุล", + }) + lastName: string - @Column({ - type: Boolean, - comment: "สถานะการทดลองงาน 1 คืออยู่ระหว่างการทดลองงาน, 0 คือไม่อยู่ระหว่างการทดลองงาน", - default: 0, - }) - isProbation: number; + @Column({ + type: Boolean, + comment: "สถานะการทดลองงาน 1 คืออยู่ระหว่างการทดลองงาน, 0 คือไม่อยู่ระหว่างการทดลองงาน", + default: 0, + }) + isProbation: number - @Column({ - nullable: true, - comment: "ตำแหน่งในสายงาน", - }) - positionName: string; + @Column({ + nullable: true, + comment: "ตำแหน่งในสายงาน", + }) + positionName: string - @Column({ - nullable: true, - comment: "เลขที่ตำแหน่ง", - }) - posNo: string; + @Column({ + nullable: true, + comment: "เลขที่ตำแหน่ง", + }) + posNo: string - @Column({ - nullable: true, - comment: "ระดับตำแหน่ง", - }) - positionLevelName: string; + @Column({ + nullable: true, + comment: "ระดับตำแหน่ง", + }) + positionLevelName: string - @Column({ - nullable: true, - comment: "ด้าน/สาขา", - }) - positionLineName: string; + @Column({ + nullable: true, + comment: "ด้าน/สาขา", + }) + positionLineName: string - @Column({ - nullable: true, - comment: "ประเภทตำแหน่ง", - }) - positionTypeName: string; + @Column({ + nullable: true, + comment: "ประเภทตำแหน่ง", + }) + positionTypeName: string - @Column({ - nullable: true, - comment: "หน่วยงาน", - }) - orgRootName: string; + @Column({ + nullable: true, + comment: "หน่วยงาน", + }) + orgRootName: string - @Column({ - nullable: true, - comment: "สังกัด", - }) - organization: string; + @Column({ + nullable: true, + comment: "สังกัด", + }) + organization: string - @Column({ - nullable: true, - comment: "เลขบัตรประจำตัวประชาชน", - }) - idcard: string; + @Column({ + nullable: true, + comment: "เลขบัตรประจำตัวประชาชน", + }) + idcard: string - @Column({ nullable: true, comment: "id หน่วยงาน root", default: null }) - root: string; + @Column({ nullable: true, comment: "id หน่วยงาน root", default: null }) + root: string - @Column({ nullable: true, comment: "id หน่วยงาน child1", default: null }) - child1: string; + @Column({ nullable: true, comment: "id หน่วยงาน child1", default: null }) + child1: string - @Column({ nullable: true, comment: "id หน่วยงาน child2", default: null }) - child2: string; + @Column({ nullable: true, comment: "id หน่วยงาน child2", default: null }) + child2: string - @Column({ nullable: true, comment: "id หน่วยงาน child3", default: null }) - child3: string; + @Column({ nullable: true, comment: "id หน่วยงาน child3", default: null }) + child3: string - @Column({ nullable: true, comment: "id หน่วยงาน child4", default: null }) - child4: string; + @Column({ nullable: true, comment: "id หน่วยงาน child4", default: null }) + child4: string - @OneToMany(() => Assign, (assign: Assign) => assign.personal_id) - @JoinColumn({ name: "id" }) - assign: Assign[]; + @OneToMany(() => Assign, (assign: Assign) => assign.personal_id) + @JoinColumn({ name: "id" }) + assign: Assign[] - @OneToOne(() => Appoint, (appoint) => appoint.personal) - @JoinColumn() - appoint: Appoint; + @OneToOne(() => Appoint, appoint => appoint.personal) + @JoinColumn() + appoint: Appoint - @OneToOne(() => Survey, (survey) => survey.personal) - @JoinColumn({ name: "personal_id" }) - survey: Survey; + @OneToOne(() => Survey, { nullable: true }) + survey: Survey | null } export class CreatePersonal { - @Column() - personal_id: string; - @Column() - order_number: string; - @Column() - probation_status: number; - // @Column() - // profiles: PersonalProfile; - @Column() - createdUserId: string; - @Column() - createdFullName: string; - @Column() - updateUserId: string; - @Column() - updateFullName: string; - @Column() - prefixName: string; - @Column() - firstName: string; - @Column() - lastName: string; - @Column() - isProbation: number; - @Column() - positionName: string; - @Column() - posNo: string; - @Column() - positionLevelName: string; - @Column() - positionTypeName: string; - @Column() - positionLineName: string; - @Column() - orgRootName: string; - @Column() - organization: string; - @Column() - idcard: string; + @Column() + personal_id: string + @Column() + order_number: string + @Column() + probation_status: number + // @Column() + // profiles: PersonalProfile; + @Column() + createdUserId: string + @Column() + createdFullName: string + @Column() + updateUserId: string + @Column() + updateFullName: string + @Column() + prefixName: string + @Column() + firstName: string + @Column() + lastName: string + @Column() + isProbation: number + @Column() + positionName: string + @Column() + posNo: string + @Column() + positionLevelName: string + @Column() + positionTypeName: string + @Column() + positionLineName: string + @Column() + orgRootName: string + @Column() + organization: string + @Column() + idcard: string } export class PostPersonal { - id: string; - prefix: string; - firstName: string; - lastName: string; - isProbation: boolean; - posTypeName?: string | null; - posLevelName: string | null; - position: string | null; - posLineName?: string | null; - posNo?: string | null; - organization?: string; - orgRootName: string | null; - orgChild1Name?: string | null; - orgChild2Name?: string | null; - orgChild3Name?: string | null; - orgChild4Name?: string | null; + id: string + prefix: string + firstName: string + lastName: string + isProbation: boolean + posTypeName?: string | null + posLevelName: string | null + position: string | null + posLineName?: string | null + posNo?: string | null + organization?: string + orgRootName: string | null + orgChild1Name?: string | null + orgChild2Name?: string | null + orgChild3Name?: string | null + orgChild4Name?: string | null - order_number?: string; - rank?: string | null; - idcard?: string; - positionField?: string | null; - positionArea?: string | null; - posExecutiveName?: string | null; - positionExecutiveField?: string | null; + order_number?: string + rank?: string | null + idcard?: string + positionField?: string | null + positionArea?: string | null + posExecutiveName?: string | null + positionExecutiveField?: string | null - root?: string | null; - child1?: string | null; - child2?: string | null; - child3?: string | null; - child4?: string | null; + root?: string | null + child1?: string | null + child2?: string | null + child3?: string | null + child4?: string | null } -export type UpdatePersonal = Partial; +export type UpdatePersonal = Partial diff --git a/src/migration/1736239463356-updated.ts b/src/migration/1736239463356-updated.ts deleted file mode 100644 index 159fab0..0000000 --- a/src/migration/1736239463356-updated.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class Updated1736239463356 implements MigrationInterface { - name = 'Updated1736239463356' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`appoint\` DROP FOREIGN KEY \`FK_46c617b30fd9def96938f43b6ee\``); - await queryRunner.query(`ALTER TABLE \`personal\` DROP FOREIGN KEY \`FK_5abc77b4bd19c4295cabe6a3bf5\``); - await queryRunner.query(`DROP INDEX \`REL_46c617b30fd9def96938f43b6e\` ON \`appoint\``); - await queryRunner.query(`ALTER TABLE \`personal\` ADD \`appointId\` varchar(36) NULL`); - await queryRunner.query(`ALTER TABLE \`personal\` ADD UNIQUE INDEX \`IDX_5c42dcafb9ff2c3785b9bf447a\` (\`appointId\`)`); - await queryRunner.query(`CREATE UNIQUE INDEX \`REL_5c42dcafb9ff2c3785b9bf447a\` ON \`personal\` (\`appointId\`)`); - await queryRunner.query(`ALTER TABLE \`personal\` ADD CONSTRAINT \`FK_5c42dcafb9ff2c3785b9bf447a3\` FOREIGN KEY (\`appointId\`) REFERENCES \`appoint\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`personal\` DROP FOREIGN KEY \`FK_5c42dcafb9ff2c3785b9bf447a3\``); - await queryRunner.query(`DROP INDEX \`REL_5c42dcafb9ff2c3785b9bf447a\` ON \`personal\``); - await queryRunner.query(`ALTER TABLE \`personal\` DROP INDEX \`IDX_5c42dcafb9ff2c3785b9bf447a\``); - await queryRunner.query(`ALTER TABLE \`personal\` DROP COLUMN \`appointId\``); - await queryRunner.query(`CREATE UNIQUE INDEX \`REL_46c617b30fd9def96938f43b6e\` ON \`appoint\` (\`profileId\`)`); - await queryRunner.query(`ALTER TABLE \`personal\` ADD CONSTRAINT \`FK_5abc77b4bd19c4295cabe6a3bf5\` FOREIGN KEY (\`personal_id\`) REFERENCES \`appoint\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE \`appoint\` ADD CONSTRAINT \`FK_46c617b30fd9def96938f43b6ee\` FOREIGN KEY (\`profileId\`) REFERENCES \`personal\`(\`personal_id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); - } - -} diff --git a/src/migration/1737442569342-updateRelationSurvey.ts b/src/migration/1737442569342-updateRelationSurvey.ts deleted file mode 100644 index 55cc9ab..0000000 --- a/src/migration/1737442569342-updateRelationSurvey.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class UpdateRelationSurvey1737442569342 implements MigrationInterface { - name = 'UpdateRelationSurvey1737442569342' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX \`IDX_5c42dcafb9ff2c3785b9bf447a\` ON \`personal\``); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE UNIQUE INDEX \`IDX_5c42dcafb9ff2c3785b9bf447a\` ON \`personal\` (\`appointId\`)`); - } - -} diff --git a/src/migration/1737443725676-updateRelationSurvey.ts b/src/migration/1737456985846-UpdateRelationSurvey.ts similarity index 53% rename from src/migration/1737443725676-updateRelationSurvey.ts rename to src/migration/1737456985846-UpdateRelationSurvey.ts index eef90a2..c07d966 100644 --- a/src/migration/1737443725676-updateRelationSurvey.ts +++ b/src/migration/1737456985846-UpdateRelationSurvey.ts @@ -1,16 +1,14 @@ import { MigrationInterface, QueryRunner } from "typeorm"; -export class UpdateRelationSurvey1737443725676 implements MigrationInterface { - name = 'UpdateRelationSurvey1737443725676' +export class UpdateRelationSurvey1737456985846 implements MigrationInterface { + name = 'UpdateRelationSurvey1737456985846' public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE \`personal\` ADD CONSTRAINT \`FK_53ffbd1e99fe0da682dab5c77ff\` FOREIGN KEY (\`personal_id\`, \`personal_id\`) REFERENCES \`survey\`(\`personal_id\`,\`assign_id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE \`survey\` ADD CONSTRAINT \`FK_9bae89d4bb00502e057fb619a70\` FOREIGN KEY (\`personal_id\`) REFERENCES \`personal\`(\`personal_id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(`ALTER TABLE \`survey\` DROP FOREIGN KEY \`FK_9bae89d4bb00502e057fb619a70\``); - await queryRunner.query(`ALTER TABLE \`personal\` DROP FOREIGN KEY \`FK_53ffbd1e99fe0da682dab5c77ff\``); } }