fix: insignia relations
This commit is contained in:
parent
8339c55472
commit
b0292f3921
4 changed files with 74 additions and 186 deletions
|
|
@ -66,7 +66,14 @@ export class ProfileInsigniaController extends Controller {
|
|||
],
|
||||
})
|
||||
public async getInsignia(@Path() profileId: string) {
|
||||
const record = await this.insigniaRepo.findBy({ profileId });
|
||||
const record = await this.insigniaRepo.find({
|
||||
relations: {
|
||||
insignia: {
|
||||
insigniaType: true,
|
||||
},
|
||||
},
|
||||
where: { profileId },
|
||||
});
|
||||
return new HttpSuccess(record);
|
||||
}
|
||||
|
||||
|
|
@ -128,8 +135,15 @@ export class ProfileInsigniaController extends Controller {
|
|||
],
|
||||
})
|
||||
public async getInsigniaHistory(@Path() InsigniaId: string) {
|
||||
const record = await this.insigniaHistoryRepo.findBy({
|
||||
profileInsigniaId: InsigniaId,
|
||||
const record = await this.insigniaHistoryRepo.find({
|
||||
relations: {
|
||||
insignia: {
|
||||
insigniaType: true,
|
||||
},
|
||||
},
|
||||
where: {
|
||||
profileInsigniaId: InsigniaId,
|
||||
},
|
||||
});
|
||||
return new HttpSuccess(record);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
||||
import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
|
||||
import { EntityBase } from "./base/Base";
|
||||
import { InsigniaType } from "./InsigniaType";
|
||||
import { ProfileInsignia } from "./ProfileInsignia";
|
||||
import { ProfileInsigniaHistory } from "./ProfileInsigniaHistory";
|
||||
|
||||
@Entity("insignia")
|
||||
export class Insignia extends EntityBase {
|
||||
|
|
@ -50,6 +52,14 @@ export class Insignia extends EntityBase {
|
|||
@ManyToOne(() => InsigniaType, (insigniaType) => insigniaType.insignias)
|
||||
@JoinColumn({ name: "insigniaTypeId" })
|
||||
insigniaType: InsigniaType;
|
||||
|
||||
@OneToMany(() => ProfileInsignia, (v) => v.insignia)
|
||||
@JoinColumn({ name: "insigniaId" })
|
||||
profileInsignias: ProfileInsignia;
|
||||
|
||||
@OneToMany(() => ProfileInsigniaHistory, (v) => v.insignia)
|
||||
@JoinColumn({ name: "insigniaHistoryId" })
|
||||
profileInsigniaHistories: ProfileInsigniaHistory;
|
||||
}
|
||||
|
||||
export class CreateInsignias {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
|
|||
import { EntityBase } from "./base/Base";
|
||||
import { Profile } from "./Profile";
|
||||
import { ProfileInsigniaHistory } from "./ProfileInsigniaHistory";
|
||||
import { Insignia } from "./Insignia";
|
||||
|
||||
@Entity("profileInsignia")
|
||||
export class ProfileInsignia extends EntityBase {
|
||||
|
|
@ -64,22 +65,6 @@ export class ProfileInsignia extends EntityBase {
|
|||
})
|
||||
receiveDate: Date;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง Insignia",
|
||||
default: null,
|
||||
})
|
||||
insigniaId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ประเภท",
|
||||
type: "text",
|
||||
default: null,
|
||||
})
|
||||
insigniaType: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
|
|
@ -127,6 +112,17 @@ export class ProfileInsignia extends EntityBase {
|
|||
})
|
||||
note: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง Insignia",
|
||||
default: null,
|
||||
})
|
||||
insigniaId: string;
|
||||
|
||||
@ManyToOne(() => Insignia, (v) => v.profileInsignias)
|
||||
insignia: Insignia;
|
||||
|
||||
@OneToMany(
|
||||
() => ProfileInsigniaHistory,
|
||||
(profileInsigniaHistory) => profileInsigniaHistory.histories,
|
||||
|
|
@ -139,53 +135,39 @@ export class ProfileInsignia extends EntityBase {
|
|||
}
|
||||
|
||||
export class CreateProfileInsignia {
|
||||
@Column("uuid")
|
||||
profileId: string | null;
|
||||
|
||||
@Column()
|
||||
isActive: boolean;
|
||||
|
||||
@Column()
|
||||
year: number;
|
||||
|
||||
@Column()
|
||||
no: string | null;
|
||||
|
||||
@Column()
|
||||
volume: string | null;
|
||||
|
||||
@Column()
|
||||
section: string | null;
|
||||
|
||||
@Column()
|
||||
page: string | null;
|
||||
|
||||
@Column()
|
||||
receiveDate: Date | null;
|
||||
|
||||
@Column("uuid")
|
||||
insigniaId: string | null;
|
||||
|
||||
@Column()
|
||||
insigniaType: string | null;
|
||||
|
||||
@Column()
|
||||
dateAnnounce: Date | null;
|
||||
|
||||
@Column()
|
||||
issue: string | null;
|
||||
|
||||
@Column()
|
||||
volumeNo: string | null;
|
||||
|
||||
@Column()
|
||||
refCommandDate: Date | null;
|
||||
|
||||
@Column()
|
||||
refCommandNo: string | null;
|
||||
|
||||
@Column()
|
||||
note: string | null;
|
||||
}
|
||||
|
||||
export type UpdateProfileInsignia = Partial<CreateProfileInsignia>;
|
||||
export type UpdateProfileInsignia = {
|
||||
profileId?: string | null;
|
||||
isActive?: boolean;
|
||||
year?: number;
|
||||
no?: string | null;
|
||||
volume?: string | null;
|
||||
section?: string | null;
|
||||
page?: string | null;
|
||||
receiveDate?: Date | null;
|
||||
insigniaId?: string | null;
|
||||
insigniaType?: string | null;
|
||||
dateAnnounce?: Date | null;
|
||||
issue?: string | null;
|
||||
volumeNo?: string | null;
|
||||
refCommandDate?: Date | null;
|
||||
refCommandNo?: string | null;
|
||||
note?: string | null;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
|
||||
import { EntityBase } from "./base/Base";
|
||||
import { Profile } from "./Profile";
|
||||
import { ProfileInsignia } from "./ProfileInsignia";
|
||||
import { Insignia } from "./Insignia";
|
||||
|
||||
@Entity("profileInsigniaHistory")
|
||||
export class ProfileInsigniaHistory extends EntityBase {
|
||||
|
|
@ -11,112 +11,46 @@ export class ProfileInsigniaHistory extends EntityBase {
|
|||
})
|
||||
isActive: boolean;
|
||||
|
||||
@Column({
|
||||
comment: "ปีที่ยื่นขอ",
|
||||
})
|
||||
@Column({ comment: "ปีที่ยื่นขอ" })
|
||||
year: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 20,
|
||||
comment: "ลำดับที่",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, length: 20, comment: "ลำดับที่", default: null })
|
||||
no: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 30,
|
||||
comment: "เล่ม",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, length: 30, comment: "เล่ม", default: null })
|
||||
volume: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 30,
|
||||
comment: "ตอน",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, length: 30, comment: "ตอน", default: null })
|
||||
section: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 30,
|
||||
comment: "หน้า",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, length: 30, comment: "หน้า", default: null })
|
||||
page: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "ลงวันที่",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, type: "datetime", comment: "ลงวันที่", default: null })
|
||||
receiveDate: Date;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง Insignia",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง Insignia", default: null })
|
||||
insigniaId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ประเภท",
|
||||
type: "text",
|
||||
default: null,
|
||||
})
|
||||
insigniaType: string;
|
||||
@ManyToOne(() => Insignia, (v) => v.profileInsigniaHistories)
|
||||
insignia: Insignia;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "วันที่ประกาศในราชกิจจาฯ",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, type: "datetime", comment: "วันที่ประกาศในราชกิจจาฯ", default: null })
|
||||
dateAnnounce: Date;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 300,
|
||||
comment: "ราชกิจจาฯ ฉบับที่",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, length: 300, comment: "ราชกิจจาฯ ฉบับที่", default: null })
|
||||
issue: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 30,
|
||||
comment: "เล่มที่",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, length: 30, comment: "เล่มที่", default: null })
|
||||
volumeNo: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "เอกสารอ้างอิง (ลงวันที่)",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, type: "datetime", comment: "เอกสารอ้างอิง (ลงวันที่)", default: null })
|
||||
refCommandDate: Date;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เอกสารอ้างอิง (เลขที่คำสั่ง)",
|
||||
type: "text",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, comment: "เอกสารอ้างอิง (เลขที่คำสั่ง)", type: "text", default: null })
|
||||
refCommandNo: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "หมายเหตุ",
|
||||
default: null,
|
||||
})
|
||||
@Column({ nullable: true, comment: "หมายเหตุ", default: null })
|
||||
note: string;
|
||||
|
||||
@Column({
|
||||
|
|
@ -131,55 +65,3 @@ export class ProfileInsigniaHistory extends EntityBase {
|
|||
@JoinColumn({ name: "profileInsigniaId" })
|
||||
histories: ProfileInsignia;
|
||||
}
|
||||
|
||||
export class CreateProfileInsigniaHistory {
|
||||
@Column()
|
||||
isActive: boolean;
|
||||
|
||||
@Column()
|
||||
year: number;
|
||||
|
||||
@Column()
|
||||
no: string | null;
|
||||
|
||||
@Column()
|
||||
volume: string | null;
|
||||
|
||||
@Column()
|
||||
section: string | null;
|
||||
|
||||
@Column()
|
||||
page: string | null;
|
||||
|
||||
@Column()
|
||||
receiveDate: Date | null;
|
||||
|
||||
@Column("uuid")
|
||||
insigniaId: string | null;
|
||||
|
||||
@Column()
|
||||
insigniaType: string | null;
|
||||
|
||||
@Column()
|
||||
dateAnnounce: Date | null;
|
||||
|
||||
@Column()
|
||||
issue: string | null;
|
||||
|
||||
@Column()
|
||||
volumeNo: string | null;
|
||||
|
||||
@Column()
|
||||
refCommandDate: Date | null;
|
||||
|
||||
@Column()
|
||||
refCommandNo: string | null;
|
||||
|
||||
@Column()
|
||||
note: string | null;
|
||||
|
||||
@Column("uuid")
|
||||
profileInsigniaId: string | null;
|
||||
}
|
||||
|
||||
export type UpdateProfileInsigniaHistory = Partial<CreateProfileInsigniaHistory>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue