453 lines
8.3 KiB
TypeScript
453 lines
8.3 KiB
TypeScript
import {
|
|
Entity,
|
|
Column,
|
|
OneToMany,
|
|
OneToOne,
|
|
JoinColumn,
|
|
ManyToMany,
|
|
ManyToOne,
|
|
Double,
|
|
} from "typeorm";
|
|
import { EntityBase } from "./base/Base";
|
|
import { Profile } from "./Profile";
|
|
import { ProfileSalaryHistory } from "./ProfileSalaryHistory";
|
|
|
|
@Entity("profileSalary")
|
|
export class ProfileSalary extends EntityBase {
|
|
@Column({
|
|
comment: "วันที่",
|
|
type: "datetime",
|
|
nullable: true,
|
|
})
|
|
date: Date;
|
|
|
|
@Column({
|
|
comment: "เงินเดือนฐาน",
|
|
default: 0,
|
|
nullable: true,
|
|
type: "double",
|
|
})
|
|
amount: Double;
|
|
|
|
@Column({
|
|
comment: "เงินประจำตำแหน่ง",
|
|
default: 0,
|
|
nullable: true,
|
|
type: "double",
|
|
})
|
|
positionSalaryAmount: Double;
|
|
|
|
@Column({
|
|
comment: "เงินค่าตอบแทนรายเดือน",
|
|
default: 0,
|
|
nullable: true,
|
|
type: "double",
|
|
})
|
|
mouthSalaryAmount: Double;
|
|
|
|
@Column({
|
|
length: 40,
|
|
comment: "คีย์นอก(FK)ของตาราง profile",
|
|
type: "uuid",
|
|
})
|
|
profileId: string;
|
|
|
|
@Column({
|
|
comment: "สถานะการใช้งาน",
|
|
default: false,
|
|
})
|
|
isActive: boolean;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ตำแหน่ง (รายละเอียด)",
|
|
type: "text",
|
|
default: null,
|
|
})
|
|
salaryClass: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "เอกสารอ้างอิง",
|
|
type: "text",
|
|
default: null,
|
|
})
|
|
salaryRef: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id เลขที่ตำแหน่ง",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
posNoId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id เลขที่ตำแหน่ง",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id สังกัด",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
ocId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ตำแหน่งทางการบริหาร",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionExecutiveId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ด้านทางการบริหาร",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionExecutiveSideId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionLevelId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id สายงาน",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionLineId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ด้าน/สาขา",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionPathSideId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ประเภทตำแหน่ง",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionTypeId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ชื่อย่อหน่วยงาน",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
organizationShortNameId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id กลุ่มงาน",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionEmployeeGroupId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ระดับชั้นงาน",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionEmployeeLevelId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ตำแหน่ง",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionEmployeePositionId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id ด้านของตำแหน่ง",
|
|
type: "uuid",
|
|
default: null,
|
|
})
|
|
positionEmployeePositionSideId: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
length: 40,
|
|
comment: "Id เลขที่ตำแหน่งลูกจ้าง",
|
|
default: null,
|
|
})
|
|
posNoEmployee: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "datetime",
|
|
comment: "เอกสารอ้างอิง (ลงวันที่)",
|
|
default: null,
|
|
})
|
|
refCommandDate: Date;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "เอกสารอ้างอิง (เลขที่คำสั่ง)",
|
|
type: "text",
|
|
default: null,
|
|
})
|
|
refCommandNo: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ลำดับ",
|
|
default: null,
|
|
})
|
|
order: number;
|
|
|
|
@Column({
|
|
comment: "เลขที่คำสั่ง",
|
|
type: "text",
|
|
})
|
|
commandNo: string;
|
|
|
|
@Column({
|
|
comment: "ประเภทคำสั่ง",
|
|
type: "text",
|
|
})
|
|
commandTypeName: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ประเภทตำแหน่งกรณีพิเศษ",
|
|
type: "text",
|
|
default: null,
|
|
})
|
|
salaryStatus: string;
|
|
|
|
@OneToMany(() => ProfileSalaryHistory, (profileSalaryHistory) => profileSalaryHistory.histories)
|
|
profileSalaryHistories: ProfileSalaryHistory[];
|
|
|
|
@ManyToOne(() => Profile, (profile) => profile.profileSalary)
|
|
@JoinColumn({ name: "profileId" })
|
|
profile: Profile;
|
|
}
|
|
|
|
export class CreateProfileSalary {
|
|
@Column({
|
|
type: "datetime",
|
|
})
|
|
date: Date;
|
|
|
|
@Column({
|
|
type: "double",
|
|
})
|
|
amount: Double;
|
|
|
|
@Column({
|
|
type: "double",
|
|
})
|
|
positionSalaryAmount: Double;
|
|
|
|
@Column({
|
|
type: "double",
|
|
})
|
|
mouthSalaryAmount: Double;
|
|
|
|
@Column({
|
|
type: "uuid",
|
|
})
|
|
profileId: string;
|
|
|
|
// @Column()
|
|
// isActive: boolean;
|
|
|
|
// @Column()
|
|
// salaryClass: string | null;
|
|
|
|
// @Column()
|
|
// salaryRef: string | null;
|
|
|
|
// @Column("uuid")
|
|
// posNoId: string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionId: string | null;
|
|
|
|
// @Column("uuid")
|
|
// ocId: string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionExecutiveId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionExecutiveSideId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionLevelId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionLineId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionPathSideId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionTypeId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// organizationShortNameId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeeGroupId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeeLevelId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeePositionId : string | null;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeePositionSideId : string | null;
|
|
|
|
// @Column()
|
|
// posNoEmployee : string | null;
|
|
|
|
// @Column()
|
|
// refCommandDate: Date | null;
|
|
|
|
// @Column()
|
|
// refCommandNo: string | null;
|
|
|
|
// @Column()
|
|
// order: number | null;
|
|
|
|
// @Column()
|
|
// commandNo: string;
|
|
|
|
// @Column()
|
|
// commandTypeName: string;
|
|
|
|
// @Column()
|
|
// salaryStatus: string | null;
|
|
}
|
|
|
|
export class UpdateProfileSalary {
|
|
@Column({
|
|
type: "datetime",
|
|
})
|
|
date: Date;
|
|
|
|
@Column({
|
|
type: "double",
|
|
})
|
|
amount: Double;
|
|
|
|
@Column({
|
|
type: "double",
|
|
})
|
|
positionSalaryAmount: Double;
|
|
|
|
@Column({
|
|
type: "double",
|
|
})
|
|
mouthSalaryAmount: Double;
|
|
|
|
// @Column()
|
|
// isActive: boolean;
|
|
|
|
// @Column()
|
|
// salaryClass: string;
|
|
|
|
// @Column()
|
|
// salaryRef: string;
|
|
|
|
// @Column("uuid")
|
|
// posNoId: string;
|
|
|
|
// @Column("uuid")
|
|
// positionId: string;
|
|
|
|
// @Column("uuid")
|
|
// ocId: string;
|
|
|
|
// @Column("uuid")
|
|
// positionExecutiveId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionExecutiveSideId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionLevelId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionLineId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionPathSideId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionTypeId : string;
|
|
|
|
// @Column("uuid")
|
|
// organizationShortNameId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeeGroupId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeeLevelId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeePositionId : string;
|
|
|
|
// @Column("uuid")
|
|
// positionEmployeePositionSideId : string;
|
|
|
|
// @Column()
|
|
// posNoEmployee : string;
|
|
|
|
// @Column()
|
|
// refCommandDate: Date;
|
|
|
|
// @Column()
|
|
// refCommandNo: string;
|
|
|
|
// @Column()
|
|
// order: number;
|
|
|
|
// @Column()
|
|
// commandNo: string;
|
|
|
|
// @Column()
|
|
// commandTypeName: string;
|
|
|
|
// @Column()
|
|
// salaryStatus: string;
|
|
}
|