285 lines
6.4 KiB
TypeScript
285 lines
6.4 KiB
TypeScript
import { Entity, Column, ManyToOne, JoinColumn, OneToOne, Double } from "typeorm";
|
|
import { EntityBase } from "./base/Base";
|
|
import { Evaluation } from "./Evaluation";
|
|
|
|
@Entity("salary")
|
|
export class Salary extends EntityBase {
|
|
@Column({
|
|
comment: "Id การทำรายการระบบประเมิน",
|
|
length: 40,
|
|
default: "00000000-0000-0000-0000-000000000000",
|
|
})
|
|
evaluationId: string;
|
|
|
|
@Column({ nullable: true, type: "datetime", comment: "วัน เดือน ปี รับตำแหน่ง" })
|
|
date: Date;
|
|
|
|
@Column({ nullable: true, type: "double precision", comment: "เงินเดือน" })
|
|
amount: number;
|
|
|
|
@Column({ nullable: true, type: "double precision", comment: "เงินประจำตำแหน่ง" })
|
|
positionSalaryAmount: number;
|
|
|
|
@Column({ nullable: true, type: "double precision", comment: "เงินค่าตอบแทนรายเดือน" })
|
|
mouthSalaryAmount: number;
|
|
|
|
@Column({ nullable: true, comment: "ตำแหน่ง" })
|
|
position: string;
|
|
|
|
@Column({ nullable: true, comment: "เลขที่ตำแหน่ง" })
|
|
posNo: string;
|
|
|
|
@Column({ nullable: true, comment: "ตำแหน่ง (รายละเอียด)" })
|
|
salaryClass: string;
|
|
|
|
@Column({ nullable: true, comment: "เอกสารอ้างอิง" })
|
|
salaryRef: string;
|
|
|
|
@Column({ nullable: true, comment: "เอกสารอ้างอิง (เลขที่คำสั่ง)" })
|
|
refCommandNo: string;
|
|
|
|
@Column({ nullable: true, type: "datetime", comment: "เอกสารอ้างอิง (ลงวันที่)" })
|
|
refCommandDate: Date;
|
|
|
|
@Column({ nullable: true, comment: "ประเภทตำแหน่งกรณีพิเศษ" })
|
|
salaryStatus: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "คีย์นอก(FK)ของตาราง profile",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
profileId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "คีย์นอก(FK)ของตาราง ProfileEmployee",
|
|
default: null,
|
|
})
|
|
profileEmployeeId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "เรียงลำดับใหมาตามการนำเข้า",
|
|
default: null,
|
|
})
|
|
order: number;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "เลขที่คำสั่ง",
|
|
default: null,
|
|
})
|
|
commandNo: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ปีที่ออกคำสั่ง",
|
|
default: null,
|
|
})
|
|
commandYear: number;
|
|
|
|
@Column({
|
|
comment: "คำสั่งวันที่",
|
|
type: "datetime",
|
|
nullable: true,
|
|
})
|
|
commandDateSign: Date;
|
|
|
|
@Column({
|
|
comment: "คำสั่งมีผลวันที่",
|
|
type: "datetime",
|
|
nullable: true,
|
|
})
|
|
commandDateAffect: Date;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "รหัสประเภทของคำสั่ง",
|
|
default: null,
|
|
})
|
|
commandCode: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ชื่อประเภทคำสั่ง",
|
|
default: null,
|
|
})
|
|
commandName: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "ตัวย่อเลขที่ตำแหน่ง",
|
|
default: null,
|
|
})
|
|
posNoAbb: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "ตำแหน่ง",
|
|
default: null,
|
|
})
|
|
positionName: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "ประเภทตำแหน่ง",
|
|
default: null,
|
|
})
|
|
positionType: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "ระดับตำแหน่ง",
|
|
default: null,
|
|
})
|
|
positionLevel: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง",
|
|
default: null,
|
|
})
|
|
positionCee: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "root name",
|
|
default: null,
|
|
})
|
|
orgRoot: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "child1 name",
|
|
default: null,
|
|
})
|
|
orgChild1: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "child2 name",
|
|
default: null,
|
|
})
|
|
orgChild2: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "child3 name",
|
|
default: null,
|
|
})
|
|
orgChild3: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "child4 name",
|
|
default: null,
|
|
})
|
|
orgChild4: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "ตำแหน่งทางการบริหาร",
|
|
default: null,
|
|
})
|
|
positionExecutive: string;
|
|
|
|
@Column({
|
|
comment: "เงินพิเศษ",
|
|
default: 0,
|
|
nullable: true,
|
|
type: "double",
|
|
})
|
|
amountSpecial: Double;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "text",
|
|
comment: "หมายเหตุ",
|
|
default: null,
|
|
})
|
|
remark: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "refId",
|
|
default: null,
|
|
})
|
|
refId: string;
|
|
|
|
@Column({
|
|
comment: "วันที่",
|
|
type: "datetime",
|
|
nullable: true,
|
|
})
|
|
dateGovernment: Date;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "เข้ารับราชการ",
|
|
default: null,
|
|
})
|
|
isGovernment: boolean;
|
|
|
|
@Column({
|
|
nullable: false,
|
|
comment: "ข้อมูลจาก Entry",
|
|
default: null,
|
|
})
|
|
isEntry: boolean;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "ด้านของตำแหน่ง",
|
|
default: null,
|
|
})
|
|
positionPathSide: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "ตำแหน่งในสายงาน",
|
|
default: null,
|
|
})
|
|
positionLine: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "คีย์นอก(FK)ของตาราง command",
|
|
default: null,
|
|
})
|
|
commandId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "หน่วยงานที่ออกคำสั่ง",
|
|
default: null,
|
|
})
|
|
posNumCodeSit: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 255,
|
|
comment: "หน่วยงานที่ออกคำสั่ง(ตัวย่อ)",
|
|
default: null,
|
|
})
|
|
posNumCodeSitAbb: string;
|
|
|
|
@ManyToOne(() => Evaluation, (Evaluation) => Evaluation.salaries)
|
|
@JoinColumn({ name: "evaluationId" })
|
|
evaluation: Evaluation;
|
|
}
|
|
|
|
|
|
export type UpdateSalary = Partial<Salary>;
|