relation profileEmployee

This commit is contained in:
AnandaTon 2024-05-13 16:37:51 +07:00
parent 9a7adc4eb5
commit b1c6f5fead
5 changed files with 76 additions and 7 deletions

View file

@ -1,6 +1,7 @@
import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
import { EntityBase } from "./base/Base";
import { Profile } from "./Profile";
import { ProfileEmployee } from "./ProfileEmployee";
import { ProfileDisciplineHistory } from "./ProfileDisciplineHistory";
@Entity("profileDiscipline")
@ -20,6 +21,14 @@ export class ProfileDiscipline extends EntityBase {
})
profileId: string;
@Column({
nullable: true,
length: 40,
comment: "คีย์นอก(FK)ของตาราง ProfileEmployee",
default: null,
})
profileEmployeeId: string;
@Column({
nullable: true,
comment: "ระดับความผิด",
@ -69,12 +78,16 @@ export class ProfileDiscipline extends EntityBase {
@ManyToOne(() => Profile, (profile) => profile.profileDiscipline)
@JoinColumn({ name: "profileId" })
profile: Profile;
@ManyToOne(() => ProfileEmployee, (ProfileEmployee) => ProfileEmployee.profileDisciplines)
@JoinColumn({ name: "profileEmployeeId" })
profileEmployee: ProfileEmployee;
}
export class CreateProfileDiscipline {
date: Date | null;
profileId: string;
profileId?: string;
profileEmployeeId?: string | null;
level: string | null;
detail: string | null;
refCommandDate: Date | null;

View file

@ -1,6 +1,7 @@
import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
import { EntityBase } from "./base/Base";
import { Profile } from "./Profile";
import { ProfileEmployee } from "./ProfileEmployee";
import { ProfileDutyHistory } from "./ProfileDutyHistory";
@Entity("profileDuty")
@ -13,6 +14,14 @@ export class ProfileDuty extends EntityBase {
})
profileId: string;
@Column({
nullable: true,
length: 40,
comment: "คีย์นอก(FK)ของตาราง ProfileEmployee",
default: null,
})
profileEmployeeId: string;
@Column({
nullable: true,
type: "datetime",
@ -67,11 +76,15 @@ export class ProfileDuty extends EntityBase {
@ManyToOne(() => Profile, (profile) => profile.profileDutys)
@JoinColumn({ name: "profileId" })
profile: Profile;
@ManyToOne(() => ProfileEmployee, (ProfileEmployee) => ProfileEmployee.profileDutys)
@JoinColumn({ name: "profileEmployeeId" })
profileEmployee: ProfileEmployee;
}
export class CreateProfileDuty {
profileId: string | null;
profileId?: string | null;
profileEmployeeId?: string | null;
dateStart: Date | null;
dateEnd: Date | null;
detail: string | null;

View file

@ -10,6 +10,10 @@ import { ProfileTraining } from "./ProfileTraining";
import { ProfileInsignia } from "./ProfileInsignia";
import { ProfileHonor } from "./ProfileHonor";
import { ProfileAssessment } from "./ProfileAssessment";
import { ProfileLeave } from "./ProfileLeave";
import { ProfileDuty } from "./ProfileDuty";
import { ProfileNopaid } from "./ProfileNopaid";
import { ProfileDiscipline } from "./ProfileDiscipline";
@Entity("profileEmployee")
export class ProfileEmployee extends EntityBase {
@Column({
@ -216,6 +220,18 @@ export class ProfileEmployee extends EntityBase {
@OneToMany(() => ProfileAssessment, (v) => v.profileEmployee)
profileAssessments: ProfileAssessment[];
@OneToMany(() => ProfileLeave, (v) => v.profileEmployee)
profileLeaves: ProfileLeave[];
@OneToMany(() => ProfileDuty, (v) => v.profileEmployee)
profileDutys: ProfileDuty[];
@OneToMany(() => ProfileNopaid, (v) => v.profileEmployee)
profileNopaids: ProfileNopaid[];
@OneToMany(() => ProfileDiscipline, (v) => v.profileEmployee)
profileDisciplines: ProfileNopaid[];
@ManyToOne(() => EmployeePosLevel, (v) => v.profiles)
posLevel: EmployeePosLevel;

View file

@ -1,6 +1,7 @@
import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
import { EntityBase } from "./base/Base";
import { Profile } from "./Profile";
import { ProfileEmployee } from "./ProfileEmployee";
import { LeaveType } from "./LeaveType";
@Entity("profileLeave")
@ -13,6 +14,14 @@ export class ProfileLeave extends EntityBase {
})
profileId: string;
@Column({
nullable: true,
length: 40,
comment: "คีย์นอก(FK)ของตาราง ProfileEmployee",
default: null,
})
profileEmployeeId: string;
@Column({
nullable: true,
length: 40,
@ -85,6 +94,10 @@ export class ProfileLeave extends EntityBase {
@ManyToOne(() => Profile, (v) => v.profileLeaves)
profile: Profile;
@ManyToOne(() => ProfileEmployee, (ProfileEmployee) => ProfileEmployee.profileLeaves)
@JoinColumn({ name: "profileEmployeeId" })
profileEmployee: ProfileEmployee;
}
@Entity("profileLeaveHistory")
@ -102,8 +115,9 @@ export class ProfileLeaveHistory extends ProfileLeave {
}
export class CreateProfileLeave {
profileId: string | null;
profileId?: string | null;
leaveTypeId: string;
profileEmployeeId?: string | null;
dateLeaveStart: Date | null;
dateLeaveEnd: Date | null;
leaveDays: number | null;

View file

@ -1,6 +1,7 @@
import { Entity, Column, OneToMany, ManyToOne, JoinColumn } from "typeorm";
import { EntityBase } from "./base/Base";
import { Profile } from "./Profile";
import { ProfileEmployee } from "./ProfileEmployee";
import { ProfileNopaidHistory } from "./ProfileNopaidHistory";
@Entity("profileNopaid")
@ -13,6 +14,14 @@ export class ProfileNopaid extends EntityBase {
})
profileId: string;
@Column({
nullable: true,
length: 40,
comment: "คีย์นอก(FK)ของตาราง ProfileEmployee",
default: null,
})
profileEmployeeId: string;
@Column({
nullable: true,
type: "datetime",
@ -59,11 +68,15 @@ export class ProfileNopaid extends EntityBase {
@ManyToOne(() => Profile, (profile) => profile.profileNopaids)
@JoinColumn({ name: "profileId" })
profile: Profile;
@ManyToOne(() => ProfileEmployee, (ProfileEmployee) => ProfileEmployee.profileNopaids)
@JoinColumn({ name: "profileEmployeeId" })
profileEmployee: ProfileEmployee;
}
export class CreateProfileNopaid {
profileId: string | null;
profileId?: string | null;
profileEmployeeId?: string | null;
date: Date | null;
detail: string | null;
reference: string | null;