From eef651ed5ca40081b00d26b21eb74c5035810f54 Mon Sep 17 00:00:00 2001 From: wayanrivan Date: Sun, 5 Apr 2026 22:51:28 +0700 Subject: [PATCH] update: received payment done --- src/entity/cashier/payment_received.ts | 77 +++++++++++++++++++++ src/entity/cashier/payment_received_item.ts | 52 ++++++++++++++ src/schema/cashier.ts | 2 + 3 files changed, 131 insertions(+) create mode 100644 src/entity/cashier/payment_received.ts create mode 100644 src/entity/cashier/payment_received_item.ts diff --git a/src/entity/cashier/payment_received.ts b/src/entity/cashier/payment_received.ts new file mode 100644 index 0000000..4ce177b --- /dev/null +++ b/src/entity/cashier/payment_received.ts @@ -0,0 +1,77 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + JoinColumn, + OneToOne, + OneToMany, + ManyToOne +} from "typeorm"; +import { EmrRegistration } from "../emr/emr_registration"; +import { Room } from "../room"; +import { Cashier } from "./cashier"; +import { User } from "../users"; +import { PaymentReceivedItem } from "./payment_received_item"; +@Entity("payment_received", { schema: "cashier" }) +export class PaymentReceived { + @PrimaryGeneratedColumn("uuid") + id: string; + + @OneToMany(() => PaymentReceivedItem, (detail) => detail.paymentreceived) + cashieritem: PaymentReceivedItem[]; + + @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) + @JoinColumn() + emrregistration: EmrRegistration; + + @ManyToOne(() => Cashier, { onDelete: "CASCADE" }) + @JoinColumn() + cashier: Cashier; + + @ManyToOne(() => Room, { onDelete: "CASCADE" }) + @JoinColumn() + room: Room; + + @ManyToOne(() => User, { onDelete: "CASCADE" }) + @JoinColumn() + user: User; + + @Column({ nullable: true, type: "text" }) + receipt_number: string; + + @Column({ nullable: true, type: "text" }) + reason: string; + + @Column({ + nullable: true, + type: 'bigint' + }) + total_amount: number; + + @Column({ nullable: true, type: "text" }) + status: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} \ No newline at end of file diff --git a/src/entity/cashier/payment_received_item.ts b/src/entity/cashier/payment_received_item.ts new file mode 100644 index 0000000..1ac90be --- /dev/null +++ b/src/entity/cashier/payment_received_item.ts @@ -0,0 +1,52 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + JoinColumn, + ManyToOne +} from "typeorm"; +import { Room } from "../room"; +import { CashierItem } from "./cashier_item"; +import { PaymentReceived } from "./payment_received"; + +@Entity("payment_received_item", { schema: "cashier" }) +export class PaymentReceivedItem { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => PaymentReceived, { onDelete: "CASCADE" }) + @JoinColumn() + paymentreceived: PaymentReceived; + + @ManyToOne(() => Room, { onDelete: "CASCADE" }) + @JoinColumn() + room: Room; + + @ManyToOne(() => CashierItem, { onDelete: "CASCADE" }) + @JoinColumn() + cashieritem: CashierItem; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} \ No newline at end of file diff --git a/src/schema/cashier.ts b/src/schema/cashier.ts index efd1910..b375b89 100644 --- a/src/schema/cashier.ts +++ b/src/schema/cashier.ts @@ -1,2 +1,4 @@ export * from "../entity/cashier/cashier"; export * from "../entity/cashier/cashier_item"; +export * from "../entity/cashier/payment_received"; +export * from "../entity/cashier/payment_received_item";