import { Entity, Column, OneToMany, ManyToOne, JoinColumn } from "typeorm"; import { EntityBase } from "./base/Base"; import { KpiLink } from "./kpiLink"; import { KpiPeriod } from "./kpiPeriod"; import { KpiUserSpecial } from "./kpiUserSpecial"; @Entity("kpiSpecial") export class KpiSpecial extends EntityBase { @Column({ nullable: true, comment: "รหัสตัวชี้วัด", default: null, }) including: string; @Column({ nullable: true, comment: "ชื่อตัวชี้วัด", default: null, }) includingName: string; @Column({ nullable: true, comment: "ค่าเป้าหมาย", default: null, }) target: string; @Column({ nullable: true, comment: "หน่วยนับ", default: null, }) unit: number; @Column({ nullable: true, comment: "น้ำหนัก", default: null, }) weight: number; @Column({ nullable: true, comment: "ผลสำเร็จของงาน 1", default: null, }) achievement1: string; @Column({ nullable: true, comment: "ผลสำเร็จของงาน 2", default: null, }) achievement2: string; @Column({ nullable: true, comment: "ผลสำเร็จของงาน 3", default: null, }) achievement3: string; @Column({ nullable: true, comment: "ผลสำเร็จของงาน 4", default: null, }) achievement4: string; @Column({ nullable: true, comment: "ผลสำเร็จของงาน 5", default: null, }) achievement5: string; @Column({ nullable: true, comment: "นิยามหรือความหมาย", default: null, }) meaning: string; @Column({ nullable: true, comment: "สูตรคำนวณ", default: null, }) formula: string; @Column({ nullable: true, comment: "id หน่วยงาน", default: null, }) rootId: string; @Column({ nullable: true, comment: "ชื่อหน่วยงาน", default: null, }) root: string; @Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน", default: null, }) rootShortName: string; @Column({ nullable: true, comment: "id หน่วยงาน child1", default: null, }) child1Id: string; @Column({ nullable: true, comment: "ชื่อหน่วยงาน child1", default: null, }) child1: string; @Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child1", default: null, }) child1ShortName: string; @Column({ nullable: true, comment: "id หน่วยงาน child2", default: null, }) child2Id: string; @Column({ nullable: true, comment: "ชื่อหน่วยงาน child2", default: null, }) child2: string; @Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child2", default: null, }) child2ShortName: string; @Column({ nullable: true, comment: "id หน่วยงาน child3", default: null, }) child3Id: string; @Column({ nullable: true, comment: "ชื่อหน่วยงาน child3", default: null, }) child3: string; @Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child3", default: null, }) child3ShortName: string; @Column({ nullable: true, comment: "id หน่วยงาน child4", default: null, }) child4Id: string; @Column({ nullable: true, comment: "ชื่อหน่วยงาน child4", default: null, }) child4: string; @Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child4", default: null, }) child4ShortName: string; @Column({ nullable: true, comment: "id revision", default: null, }) orgRevisionId: string; @Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง strategyChild1", default: null, }) strategyChild1Id: string; @Column({ nullable: true, comment: "ชื่อ strategyChild1", default: null, }) strategyChild1: string; @Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง strategyChild2", default: null, }) strategyChild2Id: string; @Column({ nullable: true, comment: "ชื่อ strategyChild2", default: null, }) strategyChild2: string; @Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง strategyChild3", default: null, }) strategyChild3Id: string; @Column({ nullable: true, comment: "ชื่อ strategyChild3", default: null, }) strategyChild3: string; @Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง strategyChild4", default: null, }) strategyChild4Id: string; @Column({ nullable: true, comment: "ชื่อ strategyChild4", default: null, }) strategyChild4: string; @Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง strategyChild5", default: null, }) strategyChild5Id: string; @Column({ nullable: true, comment: "ชื่อ strategyChild5", default: null, }) strategyChild5: string; @Column({ nullable: true, length: 40, comment: "ไอดีรอบ", default: null, }) kpiPeriodId: string | null; @ManyToOne(() => KpiPeriod, (kpiPeriod) => kpiPeriod.kpiSpecials) @JoinColumn({ name: "kpiPeriodId" }) kpiPeriod: KpiPeriod; @OneToMany(() => KpiUserSpecial, (kpiUserSpecial) => kpiUserSpecial.kpiSpecials) kpiUserSpecials: KpiUserSpecial[]; } export class createKpiSpecial { @Column() including: string | null; @Column() includingName: string | null; @Column() target: string | null; @Column() unit: number | null; @Column() weight: number | null; @Column() achievement1: string | null; @Column() achievement2: string | null; @Column() achievement3: string | null; @Column() achievement4: string | null; @Column() achievement5: string | null; @Column() meaning: string | null; @Column() formula: string | null; @Column() node: number; @Column() nodeId: string | null; @Column() orgRevisionId: string; @Column() strategy: number; @Column() strategyId: string | null; @Column() kpiPeriodId: string | null; } export class updateKpiSpecial { @Column() including: string | null; @Column() includingName: string | null; @Column() target: string | null; @Column() unit: number | null; @Column() weight: number | null; @Column() achievement1: string | null; @Column() achievement2: string | null; @Column() achievement3: string | null; @Column() achievement4: string | null; @Column() achievement5: string | null; @Column() meaning: string | null; @Column() formula: string | null; @Column() node: number; @Column() nodeId: string | null; @Column() orgRevisionId: string; @Column() strategy: number; @Column() strategyId: string | null; @Column() kpiPeriodId: string | null; }