hrms-api-org/src/entities/ProfileTrainingHistory.ts
2024-10-18 11:52:35 +07:00

104 lines
2.6 KiB
TypeScript

import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
import { EntityBase } from "./base/Base";
import { ProfileTraining } from "./ProfileTraining";
@Entity("profileTrainingHistory")
export class ProfileTrainingHistory extends EntityBase {
@Column({
nullable: true,
type: "datetime",
comment: "วันเริ่มต้นการฝึกอบรม/ดูงาน",
default: null,
})
startDate: Date;
@Column({
nullable: true,
type: "datetime",
comment: "วันสิ้นสุดการฝึกอบรม/ดูงาน",
default: null,
})
endDate: Date;
@Column({
nullable: true,
length: 200,
comment: "เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ",
default: null,
})
numberOrder: string;
@Column({
nullable: true,
length: 200,
comment: "หัวข้อการฝึกอบรม/ดูงาน",
default: null,
})
topic: string;
@Column({
nullable: true,
length: 200,
comment: "สถานที่ฝึกอบรม/ดูงาน",
default: null,
})
place: string;
@Column({
nullable: true,
type: "datetime",
comment: "คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่",
default: null,
})
dateOrder: Date;
@Column({
nullable: true,
length: 200,
comment: "หน่วยงานที่รับผิดชอบจัดการฝึกอบรม/ดูงาน",
default: null,
})
department: string;
@Column({
nullable: true,
length: 200,
comment: "รวมระยะเวลาในการฝึกอบรม/ดูงาน",
default: null,
})
duration: string;
@Column({
nullable: true,
length: 200,
comment: "ชื่อโครงการ/หลักสูตรการฝึกอบรม",
default: null,
})
name: string;
@Column({
nullable: true,
comment: "ปีที่อบรม (พ.ศ.)",
default: null,
})
yearly: number;
@Column({
nullable: true,
length: 40,
comment: "คีย์นอก(FK)ของตาราง ProfileTraining",
default: null,
})
profileTrainingId: string;
@Column({
nullable: true,
comment: "ประเภทช่วงเวลาการศึกษา",
default: null,
})
isDate: boolean;
@ManyToOne(() => ProfileTraining, (profileTraining) => profileTraining.profileTrainingHistories)
@JoinColumn({ name: "profileTrainingId" })
histories: ProfileTraining;
}