335 lines
6.6 KiB
TypeScript
335 lines
6.6 KiB
TypeScript
import { Entity, Column, OneToMany, ManyToOne, JoinColumn } from "typeorm";
|
|
import { EntityBase } from "./base/Base";
|
|
import { KpiPeriod } from "./kpiPeriod";
|
|
import { KpiUserRole } from "./kpiUserRole";
|
|
import { KpiRoleHistory } from "./kpiRoleHistory";
|
|
|
|
@Entity("kpiRole")
|
|
export class KpiRole extends EntityBase {
|
|
@Column({
|
|
nullable: true,
|
|
comment: "รอบ",
|
|
default: null,
|
|
})
|
|
period: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ปี",
|
|
default: null,
|
|
})
|
|
year: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ตำแหน่ง",
|
|
default: null,
|
|
})
|
|
position: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ลำดับ/รหัสตัวชี้วัด",
|
|
default: null,
|
|
})
|
|
including: number;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ชื่อตัวชี้วัด",
|
|
default: null,
|
|
})
|
|
includingName: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ค่าเป้าหมาย",
|
|
default: null,
|
|
})
|
|
target: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "หน่วยนับ",
|
|
default: null,
|
|
})
|
|
unit: string;
|
|
|
|
@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: "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,
|
|
comment: "นิยามหรือความหมาย",
|
|
default: null,
|
|
})
|
|
meaning: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "สูตรคำนวณ",
|
|
default: null,
|
|
})
|
|
formula: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "ไอดีรอบ",
|
|
default: null,
|
|
})
|
|
kpiPeriodId: string | null;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ข้อมูลเอกสารหลักฐาน",
|
|
default: null,
|
|
})
|
|
documentInfoEvidence: string;
|
|
|
|
@ManyToOne(() => KpiPeriod, (kpiPeriod) => kpiPeriod.kpiRoles)
|
|
@JoinColumn({ name: "kpiPeriodId" })
|
|
kpiPeriod: KpiPeriod;
|
|
|
|
@OneToMany(() => KpiUserRole, (kpiUserRole) => kpiUserRole.kpiRole)
|
|
kpiUserRoles: KpiUserRole[];
|
|
|
|
@OneToMany(() => KpiRoleHistory, (kpiRoleHistory) => kpiRoleHistory.kpiRole)
|
|
kpiRoleHistories: KpiRoleHistory[];
|
|
}
|
|
export class createKpiRole {
|
|
@Column()
|
|
position: string | null;
|
|
// @Column()
|
|
// including: number | null;
|
|
@Column()
|
|
period: string | null;
|
|
@Column()
|
|
year: string | null;
|
|
@Column()
|
|
includingName: string | null;
|
|
@Column()
|
|
target: string | null;
|
|
@Column()
|
|
unit: string | 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()
|
|
node: number;
|
|
@Column()
|
|
nodeId: string | null;
|
|
@Column()
|
|
orgRevisionId: string;
|
|
@Column()
|
|
meaning: string | null;
|
|
@Column()
|
|
formula: string | null;
|
|
// @Column()
|
|
// kpiPeriodId: string | null;
|
|
@Column()
|
|
documentInfoEvidence: string | null;
|
|
}
|
|
|
|
export class updateKpiRole {
|
|
@Column()
|
|
position: string | null;
|
|
// @Column()
|
|
// including: number | null;
|
|
@Column()
|
|
period: string | null;
|
|
@Column()
|
|
year: string | null;
|
|
@Column()
|
|
includingName: string | null;
|
|
@Column()
|
|
target: string | null;
|
|
@Column()
|
|
unit: string | 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()
|
|
node: number;
|
|
@Column()
|
|
nodeId: string | null;
|
|
@Column()
|
|
orgRevisionId: string;
|
|
@Column()
|
|
meaning: string | null;
|
|
@Column()
|
|
formula: string | null;
|
|
// @Column()
|
|
// kpiPeriodId: string | null;
|
|
@Column()
|
|
documentInfoEvidence: string | null;
|
|
}
|