132 lines
2.5 KiB
TypeScript
132 lines
2.5 KiB
TypeScript
import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
|
import { EntityBase } from "./base/Base";
|
|
import { Salarys } from "./Salarys";
|
|
|
|
@Entity("salaryRanks")
|
|
export class SalaryRanks extends EntityBase {
|
|
@Column({
|
|
length: 40,
|
|
comment: "คีย์นอก(FK)ของตาราง salary",
|
|
})
|
|
salaryId: string;
|
|
|
|
@Column({
|
|
type: "double",
|
|
comment: "เงินเดือนฐาน",
|
|
})
|
|
salary: number;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double",
|
|
comment: "0.5 ขั้น",
|
|
default: null,
|
|
})
|
|
salaryHalf: number | null;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double",
|
|
comment: "0.5 ขั้น(เงินพิเศษ)",
|
|
default: null,
|
|
})
|
|
salaryHalfSpecial: number | null;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double",
|
|
comment: "1 ขั้น",
|
|
default: null,
|
|
})
|
|
salaryFull: number | null;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double",
|
|
comment: "1 ขั้น(เงินพิเศษ)",
|
|
default: null,
|
|
})
|
|
salaryFullSpecial: number | null;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double",
|
|
comment: "1.5 ขั้น",
|
|
default: null,
|
|
})
|
|
salaryFullHalf: number | null;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double",
|
|
comment: "1.5 ขั้น(เงินพิเศษ)",
|
|
default: null,
|
|
})
|
|
salaryFullHalfSpecial: number | null;
|
|
|
|
@Column({
|
|
comment: "ทะลุขั้น",
|
|
})
|
|
isNext: boolean;
|
|
|
|
@ManyToOne(() => Salarys, (salarys) => salarys.salaryRanks_)
|
|
@JoinColumn({ name: "salaryId" })
|
|
salarys_: Salarys;
|
|
}
|
|
|
|
export class CreateSalaryRank {
|
|
@Column("uuid")
|
|
salaryId: string;
|
|
|
|
@Column()
|
|
salary: number;
|
|
|
|
@Column()
|
|
salaryHalf?: number | null;
|
|
|
|
@Column()
|
|
salaryHalfSpecial?: number | null;
|
|
|
|
@Column()
|
|
salaryFull?: number | null;
|
|
|
|
@Column()
|
|
salaryFullSpecial?: number | null;
|
|
|
|
@Column()
|
|
salaryFullHalf?: number | null;
|
|
|
|
@Column()
|
|
salaryFullHalfSpecial?: number | null;
|
|
|
|
@Column()
|
|
isNext: boolean;
|
|
}
|
|
|
|
export class UpdateSalaryRank {
|
|
@Column()
|
|
salary: number;
|
|
|
|
@Column()
|
|
salaryHalf?: number | null;
|
|
|
|
@Column()
|
|
salaryHalfSpecial?: number | null;
|
|
|
|
@Column()
|
|
salaryFull?: number | null;
|
|
|
|
@Column()
|
|
salaryFullSpecial?: number | null;
|
|
|
|
@Column()
|
|
salaryFullHalf?: number | null;
|
|
|
|
@Column()
|
|
salaryFullHalfSpecial?: number | null;
|
|
|
|
@Column()
|
|
isNext: boolean;
|
|
}
|
|
|
|
// export type UpdateSalaryRank = Partial<Pick<CreateSalaryRank, Exclude<keyof CreateSalaryRank, 'salaryId'>>>;
|