46 lines
1 KiB
TypeScript
46 lines
1 KiB
TypeScript
import { Entity, Column, ManyToOne, JoinColumn, ManyToMany, OneToMany } from "typeorm";
|
|
import { EntityBase } from "./base/Base";
|
|
import { KpiGroup } from "./kpiGroup";
|
|
import { KpiCapacity } from "./kpiCapacity";
|
|
import { Position } from "./position";
|
|
|
|
@Entity("kpiLink")
|
|
export class KpiLink extends EntityBase {
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "ไอดีกลุ่มงาน",
|
|
})
|
|
kpiGroupId: string | null;
|
|
|
|
@ManyToOne(() => KpiGroup, (kpiGroup) => kpiGroup.kpiLinks)
|
|
@JoinColumn({ name: "kpiGroupId" })
|
|
kpiGroup: KpiGroup;
|
|
|
|
@ManyToMany(() => KpiCapacity, (kpiCapacity) => kpiCapacity.kpiLinks)
|
|
kpiCapacitys: KpiCapacity[];
|
|
|
|
@OneToMany(() => Position, (position) => position.kpiLink)
|
|
positions: Position[];
|
|
}
|
|
export class createKpiLink {
|
|
@Column()
|
|
kpiGroupId: string;
|
|
|
|
@Column()
|
|
positions: string[];
|
|
|
|
@Column()
|
|
kpiCapacityIds: string[];
|
|
}
|
|
|
|
export class updateKpiLink {
|
|
@Column()
|
|
kpiGroupId: string;
|
|
|
|
@Column()
|
|
positions: string[];
|
|
|
|
@Column()
|
|
kpiCapacityIds: string[];
|
|
}
|