import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm"; import { EntityBase } from "./base/Base"; import { ProfileInsignia } from "./ProfileInsignia"; import { Insignia } from "./Insignia"; @Entity("profileInsigniaHistory") export class ProfileInsigniaHistory extends EntityBase { @Column({ comment: "ปีที่ยื่นขอ" }) year: number; @Column({ nullable: true, length: 20, comment: "ลำดับที่", default: null }) no: string; @Column({ nullable: true, length: 30, comment: "เล่ม", default: null }) volume: string; @Column({ nullable: true, length: 30, comment: "ตอน", default: null }) section: string; @Column({ nullable: true, length: 30, comment: "หน้า", default: null }) page: string; @Column({ nullable: true, type: "datetime", comment: "ลงวันที่", default: null }) receiveDate: Date; @Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง Insignia", default: null }) insigniaId: string; @ManyToOne(() => Insignia, (v) => v.profileInsigniaHistories) insignia: Insignia; @Column({ nullable: true, type: "datetime", comment: "วันที่ประกาศในราชกิจจาฯ", default: null }) dateAnnounce: Date; @Column({ nullable: true, length: 300, comment: "ราชกิจจาฯ ฉบับที่", default: null }) issue: string; @Column({ nullable: true, length: 30, comment: "เล่มที่", default: null }) volumeNo: string; @Column({ nullable: true, type: "datetime", comment: "เอกสารอ้างอิง (ลงวันที่)", default: null }) refCommandDate: Date; @Column({ nullable: true, comment: "เอกสารอ้างอิง (เลขที่คำสั่ง)", type: "text", default: null }) refCommandNo: string; @Column({ nullable: true, comment: "หมายเหตุ", default: null }) note: string; @Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง ProfileInsignia", default: null, }) profileInsigniaId: string; @ManyToOne(() => ProfileInsignia, (profileInsignia) => profileInsignia.profileInsigniaHistories) @JoinColumn({ name: "profileInsigniaId" }) histories: ProfileInsignia; }