feat: สร้าง entities การลา
This commit is contained in:
parent
a421f8d0f6
commit
04eb3e2564
2 changed files with 62 additions and 265 deletions
41
src/entities/LeaveType.ts
Normal file
41
src/entities/LeaveType.ts
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import { Entity, Column, OneToMany } from "typeorm";
|
||||
import { EntityBase } from "./base/Base";
|
||||
|
||||
import { ProfileLeave } from "./ProfileLeave";
|
||||
|
||||
@Entity("leaveType")
|
||||
export class LeaveType extends EntityBase {
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ประเภทการลา",
|
||||
length: 255,
|
||||
default: null,
|
||||
})
|
||||
name: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "รหัสประเภอการลา",
|
||||
length: 255,
|
||||
default: null,
|
||||
})
|
||||
code: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ลาได้สูงสุด(วัน)",
|
||||
default: true,
|
||||
})
|
||||
limit: number;
|
||||
|
||||
@OneToMany(() => ProfileLeave, (v) => v.leaveType)
|
||||
profileLeave: ProfileLeave;
|
||||
}
|
||||
|
||||
export class CreateBloodGroup {
|
||||
name: string | null;
|
||||
code: number | null;
|
||||
limit: number | null;
|
||||
}
|
||||
|
||||
export type UpdateBloodGroup = Partial<CreateBloodGroup>;
|
||||
|
|
@ -2,6 +2,7 @@ import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
|
|||
import { EntityBase } from "./base/Base";
|
||||
import { Profile } from "./Profile";
|
||||
import { ProfileLeaveHistory } from "./ProfileLeaveHistory";
|
||||
import { LeaveType } from "./LeaveType";
|
||||
|
||||
@Entity("profileLeave")
|
||||
export class ProfileLeave extends EntityBase {
|
||||
|
|
@ -13,227 +14,37 @@ export class ProfileLeave extends EntityBase {
|
|||
})
|
||||
profileId: string;
|
||||
|
||||
@Column({
|
||||
comment: "สถานะการใช้งาน",
|
||||
default: false,
|
||||
})
|
||||
isActive: boolean;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง LeaveType",
|
||||
default: null,
|
||||
})
|
||||
restCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
restDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาพักผ่อน (วัน)",
|
||||
default: null,
|
||||
})
|
||||
sickCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาป่วย (วัน)",
|
||||
default: null,
|
||||
})
|
||||
sickDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
otherDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
personalCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลากิจส่วนตัว (วัน)",
|
||||
default: null,
|
||||
})
|
||||
personalDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
studyCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
absentCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล (วัน)",
|
||||
default: null,
|
||||
})
|
||||
absentDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
agencyCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาไปปฏิบัติงานในองค์การระหว่างประเทศ (วัน)",
|
||||
default: null,
|
||||
})
|
||||
agencyDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
coupleCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาติดตามคู่สมรส (วัน)",
|
||||
default: null,
|
||||
})
|
||||
coupleDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
lateCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
lateDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
maternityCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาคลอดบุตร (วัน)",
|
||||
default: null,
|
||||
})
|
||||
maternityDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
militaryCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
militaryDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
ordainCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาอุปสมบทหรือการลาประกอบพิธีฮัจย์ฯ (วัน)",
|
||||
default: null,
|
||||
})
|
||||
ordainDay: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "",
|
||||
default: null,
|
||||
})
|
||||
otherCount: number;
|
||||
leaveTypeId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "วัน เดือน ปี ที่เริ่มลา",
|
||||
comment: "วัน เดือน ปี ที่ลา",
|
||||
default: null,
|
||||
})
|
||||
dateStartLeave: Date;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "วัน เดือน ปี ที่สิ้นสุดลา",
|
||||
default: null,
|
||||
})
|
||||
dateEndLeave: Date;
|
||||
dateLeave: Date;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลาครั้งที่",
|
||||
comment: "จำนวนวันลา",
|
||||
default: null,
|
||||
})
|
||||
numLeave: number;
|
||||
leaveDays: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "double",
|
||||
comment: "ลามาแล้ว",
|
||||
comment: "ลามาเเล้ว",
|
||||
default: null,
|
||||
})
|
||||
sumLeave: number;
|
||||
leverCount: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
|
|
@ -251,14 +62,6 @@ export class ProfileLeave extends EntityBase {
|
|||
})
|
||||
status: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง TypeLeave",
|
||||
default: null,
|
||||
})
|
||||
typeLeaveId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เหตุผล",
|
||||
|
|
@ -270,6 +73,10 @@ export class ProfileLeave extends EntityBase {
|
|||
@OneToMany(() => ProfileLeaveHistory, (profileLeaveHistory) => profileLeaveHistory.histories)
|
||||
profileLeaves: ProfileLeaveHistory[];
|
||||
|
||||
@ManyToOne(() => LeaveType, (leaveType) => leaveType.profileLeave)
|
||||
@JoinColumn({ name: "leaveTypeId" })
|
||||
leaveType: LeaveType;
|
||||
|
||||
@ManyToOne(() => Profile, (profile) => profile.profileLeaves)
|
||||
@JoinColumn({ name: "profileId" })
|
||||
profile: Profile;
|
||||
|
|
@ -277,71 +84,20 @@ export class ProfileLeave extends EntityBase {
|
|||
|
||||
export class CreateProfileLeave {
|
||||
profileId: string | null;
|
||||
isActive: boolean;
|
||||
restCount: number | null;
|
||||
restDay: number | null;
|
||||
sickCount: number | null;
|
||||
sickDay: number | null;
|
||||
otherDay: number | null;
|
||||
personalCount: number | null;
|
||||
personalDay: number | null;
|
||||
studyCount: number | null;
|
||||
absentCount: number | null;
|
||||
absentDay: number | null;
|
||||
agencyCount: number | null;
|
||||
agencyDay: number | null;
|
||||
coupleCount: number | null;
|
||||
coupleDay: number | null;
|
||||
lateCount: number | null;
|
||||
lateDay: number | null;
|
||||
maternityCount: number | null;
|
||||
maternityDay: number | null;
|
||||
militaryCount: number | null;
|
||||
militaryDay: number | null;
|
||||
ordainCount: number | null;
|
||||
ordainDay: number | null;
|
||||
otherCount: number | null;
|
||||
dateStartLeave: Date | null;
|
||||
dateEndLeave: Date | null;
|
||||
numLeave: number | null;
|
||||
sumLeave: number | null;
|
||||
leaveTypeId: string | null;
|
||||
dateLeave: Date | null;
|
||||
leaveDays: number | null;
|
||||
leverCount: number | null;
|
||||
totalLeave: number | null;
|
||||
status: string | null;
|
||||
typeLeaveId: string | null;
|
||||
reason: string | null;
|
||||
}
|
||||
|
||||
export type UpdateProfileLeave = {
|
||||
isActive?: boolean;
|
||||
restCount?: number | null;
|
||||
restDay?: number | null;
|
||||
sickCount?: number | null;
|
||||
sickDay?: number | null;
|
||||
otherDay?: number | null;
|
||||
personalCount?: number | null;
|
||||
personalDay?: number | null;
|
||||
studyCount?: number | null;
|
||||
absentCount?: number | null;
|
||||
absentDay?: number | null;
|
||||
agencyCount?: number | null;
|
||||
agencyDay?: number | null;
|
||||
coupleCount?: number | null;
|
||||
coupleDay?: number | null;
|
||||
lateCount?: number | null;
|
||||
lateDay?: number | null;
|
||||
maternityCount?: number | null;
|
||||
maternityDay?: number | null;
|
||||
militaryCount?: number | null;
|
||||
militaryDay?: number | null;
|
||||
ordainCount?: number | null;
|
||||
ordainDay?: number | null;
|
||||
otherCount?: number | null;
|
||||
dateStartLeave?: Date | null;
|
||||
dateEndLeave?: Date | null;
|
||||
numLeave?: number | null;
|
||||
sumLeave?: number | null;
|
||||
dateLeave?: Date | null;
|
||||
leaveDays?: number | null;
|
||||
leverCount?: number | null;
|
||||
totalLeave?: number | null;
|
||||
status?: string | null;
|
||||
typeLeaveId?: string | null;
|
||||
reason?: string | null;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue