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;