230 lines
6 KiB
TypeScript
230 lines
6 KiB
TypeScript
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
|
|
|
|
@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 คือใช้งานปกติ, 0 คือไม่ใช้งาน",
|
|
default: 1,
|
|
})
|
|
active: number
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "คำนำหน้าชื่อ",
|
|
})
|
|
prefixName: string
|
|
|
|
@Column({
|
|
nullable: false,
|
|
comment: "ชื่อ",
|
|
})
|
|
firstName: string
|
|
|
|
@Column({
|
|
nullable: false,
|
|
comment: "นามสกุล",
|
|
})
|
|
lastName: string
|
|
|
|
@Column({
|
|
type: Boolean,
|
|
comment: "สถานะการทดลองงาน 1 คืออยู่ระหว่างการทดลองงาน, 0 คือไม่อยู่ระหว่างการทดลองงาน",
|
|
default: 0,
|
|
})
|
|
isProbation: number
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ตำแหน่งในสายงาน",
|
|
})
|
|
positionName: string
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "เลขที่ตำแหน่ง",
|
|
})
|
|
posNo: string
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ระดับตำแหน่ง",
|
|
})
|
|
positionLevelName: string
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ด้าน/สาขา",
|
|
})
|
|
positionLineName: string
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ประเภทตำแหน่ง",
|
|
})
|
|
positionTypeName: string
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "หน่วยงาน",
|
|
})
|
|
orgRootName: string
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "สังกัด",
|
|
})
|
|
organization: string
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "เลขบัตรประจำตัวประชาชน",
|
|
})
|
|
idcard: 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 หน่วยงาน child2", default: null })
|
|
child2: 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 หน่วยงาน root", default: null })
|
|
rootDna: string
|
|
|
|
@Column({ nullable: true, comment: "id หน่วยงาน child1", default: null })
|
|
child1Dna: string
|
|
|
|
@Column({ nullable: true, comment: "id หน่วยงาน child2", default: null })
|
|
child2Dna: string
|
|
|
|
@Column({ nullable: true, comment: "id หน่วยงาน child3", default: null })
|
|
child3Dna: string
|
|
|
|
@Column({ nullable: true, comment: "id หน่วยงาน child4", default: null })
|
|
child4Dna: string
|
|
|
|
@OneToMany(() => Assign, (assign: Assign) => assign.personal_id)
|
|
@JoinColumn({ name: "id" })
|
|
assign: Assign[]
|
|
|
|
@OneToOne(() => Appoint, appoint => appoint.personal)
|
|
@JoinColumn()
|
|
appoint: Appoint
|
|
|
|
@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
|
|
}
|
|
|
|
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
|
|
|
|
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
|
|
|
|
rootDna?: string | null
|
|
child1Dna?: string | null
|
|
child2Dna?: string | null
|
|
child3Dna?: string | null
|
|
child4Dna?: string | null
|
|
}
|
|
|
|
export type UpdatePersonal = Partial<CreatePersonal>
|