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 { EntityBase } from "./base/Base";
|
||||||
import { Profile } from "./Profile";
|
import { Profile } from "./Profile";
|
||||||
import { ProfileLeaveHistory } from "./ProfileLeaveHistory";
|
import { ProfileLeaveHistory } from "./ProfileLeaveHistory";
|
||||||
|
import { LeaveType } from "./LeaveType";
|
||||||
|
|
||||||
@Entity("profileLeave")
|
@Entity("profileLeave")
|
||||||
export class ProfileLeave extends EntityBase {
|
export class ProfileLeave extends EntityBase {
|
||||||
|
|
@ -13,227 +14,37 @@ export class ProfileLeave extends EntityBase {
|
||||||
})
|
})
|
||||||
profileId: string;
|
profileId: string;
|
||||||
|
|
||||||
@Column({
|
|
||||||
comment: "สถานะการใช้งาน",
|
|
||||||
default: false,
|
|
||||||
})
|
|
||||||
isActive: boolean;
|
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
nullable: true,
|
nullable: true,
|
||||||
type: "double",
|
length: 40,
|
||||||
comment: "",
|
comment: "คีย์นอก(FK)ของตาราง LeaveType",
|
||||||
default: null,
|
default: null,
|
||||||
})
|
})
|
||||||
restCount: number;
|
leaveTypeId: string;
|
||||||
|
|
||||||
@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;
|
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
nullable: true,
|
nullable: true,
|
||||||
type: "datetime",
|
type: "datetime",
|
||||||
comment: "วัน เดือน ปี ที่เริ่มลา",
|
comment: "วัน เดือน ปี ที่ลา",
|
||||||
default: null,
|
default: null,
|
||||||
})
|
})
|
||||||
dateStartLeave: Date;
|
dateLeave: Date;
|
||||||
|
|
||||||
@Column({
|
|
||||||
nullable: true,
|
|
||||||
type: "datetime",
|
|
||||||
comment: "วัน เดือน ปี ที่สิ้นสุดลา",
|
|
||||||
default: null,
|
|
||||||
})
|
|
||||||
dateEndLeave: Date;
|
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
nullable: true,
|
nullable: true,
|
||||||
type: "double",
|
type: "double",
|
||||||
comment: "ลาครั้งที่",
|
comment: "จำนวนวันลา",
|
||||||
default: null,
|
default: null,
|
||||||
})
|
})
|
||||||
numLeave: number;
|
leaveDays: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
nullable: true,
|
nullable: true,
|
||||||
type: "double",
|
type: "double",
|
||||||
comment: "ลามาแล้ว",
|
comment: "ลามาเเล้ว",
|
||||||
default: null,
|
default: null,
|
||||||
})
|
})
|
||||||
sumLeave: number;
|
leverCount: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
nullable: true,
|
nullable: true,
|
||||||
|
|
@ -251,14 +62,6 @@ export class ProfileLeave extends EntityBase {
|
||||||
})
|
})
|
||||||
status: string;
|
status: string;
|
||||||
|
|
||||||
@Column({
|
|
||||||
nullable: true,
|
|
||||||
length: 40,
|
|
||||||
comment: "คีย์นอก(FK)ของตาราง TypeLeave",
|
|
||||||
default: null,
|
|
||||||
})
|
|
||||||
typeLeaveId: string;
|
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
nullable: true,
|
nullable: true,
|
||||||
comment: "เหตุผล",
|
comment: "เหตุผล",
|
||||||
|
|
@ -270,6 +73,10 @@ export class ProfileLeave extends EntityBase {
|
||||||
@OneToMany(() => ProfileLeaveHistory, (profileLeaveHistory) => profileLeaveHistory.histories)
|
@OneToMany(() => ProfileLeaveHistory, (profileLeaveHistory) => profileLeaveHistory.histories)
|
||||||
profileLeaves: ProfileLeaveHistory[];
|
profileLeaves: ProfileLeaveHistory[];
|
||||||
|
|
||||||
|
@ManyToOne(() => LeaveType, (leaveType) => leaveType.profileLeave)
|
||||||
|
@JoinColumn({ name: "leaveTypeId" })
|
||||||
|
leaveType: LeaveType;
|
||||||
|
|
||||||
@ManyToOne(() => Profile, (profile) => profile.profileLeaves)
|
@ManyToOne(() => Profile, (profile) => profile.profileLeaves)
|
||||||
@JoinColumn({ name: "profileId" })
|
@JoinColumn({ name: "profileId" })
|
||||||
profile: Profile;
|
profile: Profile;
|
||||||
|
|
@ -277,71 +84,20 @@ export class ProfileLeave extends EntityBase {
|
||||||
|
|
||||||
export class CreateProfileLeave {
|
export class CreateProfileLeave {
|
||||||
profileId: string | null;
|
profileId: string | null;
|
||||||
isActive: boolean;
|
leaveTypeId: string | null;
|
||||||
restCount: number | null;
|
dateLeave: Date | null;
|
||||||
restDay: number | null;
|
leaveDays: number | null;
|
||||||
sickCount: number | null;
|
leverCount: 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;
|
|
||||||
totalLeave: number | null;
|
totalLeave: number | null;
|
||||||
status: string | null;
|
status: string | null;
|
||||||
typeLeaveId: string | null;
|
|
||||||
reason: string | null;
|
reason: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UpdateProfileLeave = {
|
export type UpdateProfileLeave = {
|
||||||
isActive?: boolean;
|
dateLeave?: Date | null;
|
||||||
restCount?: number | null;
|
leaveDays?: number | null;
|
||||||
restDay?: number | null;
|
leverCount?: 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;
|
|
||||||
totalLeave?: number | null;
|
totalLeave?: number | null;
|
||||||
status?: string | null;
|
status?: string | null;
|
||||||
typeLeaveId?: string | null;
|
|
||||||
reason?: string | null;
|
reason?: string | null;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue