From 13501dc532e5c841018948f47690be738df24686 Mon Sep 17 00:00:00 2001 From: wayanrivan Date: Mon, 16 Mar 2026 11:14:51 +0700 Subject: [PATCH] update: order item and receive order done --- src/entity/pharmacy-logistic/receive_order.ts | 88 +++++++++++++++++++ .../pharmacy-logistic/receive_order_detail.ts | 75 ++++++++++++++++ src/schema/pharmacy_logistic.ts | 4 +- 3 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 src/entity/pharmacy-logistic/receive_order.ts create mode 100644 src/entity/pharmacy-logistic/receive_order_detail.ts diff --git a/src/entity/pharmacy-logistic/receive_order.ts b/src/entity/pharmacy-logistic/receive_order.ts new file mode 100644 index 0000000..49590b4 --- /dev/null +++ b/src/entity/pharmacy-logistic/receive_order.ts @@ -0,0 +1,88 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; +import { Supplier } from '../pharmacy/supplier'; +import { ItemOrigin } from '../pharmacy/item_origin'; +import { OrderItem } from './order_item'; + +@Entity({ schema: 'pharmacy_logistic', name: 'receive_order' }) +export class ReceiveOrder { + @PrimaryGeneratedColumn('uuid') + id: string; + + @Column({ + nullable: true, + length: 128 + }) + receive_number: string; + + @Column({ + nullable: true, + length: 128 + }) + invoice_number: string; + + @Column() + @CreateDateColumn() + invoice_date: Date; + + @Column() + @CreateDateColumn() + due_date: Date; + + @ManyToOne(() => Supplier, { onDelete: "NO ACTION" }) + @JoinColumn() + supplier: Supplier; + + @ManyToOne(() => OrderItem, { onDelete: "NO ACTION" }) + @JoinColumn() + orderitem: OrderItem; + + @Column() + @CreateDateColumn() + receive_date: Date; + + @Column({ + nullable: true, + type: 'bigint' + }) + total_cost: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + tax: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + discount: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + sub_total: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + stamp: number; + + @Column() + @CreateDateColumn() + invoice_submission_date: Date; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; +} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/receive_order_detail.ts b/src/entity/pharmacy-logistic/receive_order_detail.ts new file mode 100644 index 0000000..f978f8b --- /dev/null +++ b/src/entity/pharmacy-logistic/receive_order_detail.ts @@ -0,0 +1,75 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; +import { OrderItemDetail } from './order_item_detail'; +import { ReceiveOrder } from './receive_order'; + +@Entity({ schema: 'pharmacy_logistic', name: 'receive_order_detail' }) +export class ReceiveOrderDetail { + @PrimaryGeneratedColumn('uuid') + id: string; + + @Column({ + nullable: true, + type: 'bigint' + }) + receive_qty: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + pack: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + pack_prize: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + unit_price: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + discount: number; + + @Column({ + nullable: true, + type: 'bigint' + }) + total_price: number; + + @Column() + @CreateDateColumn() + exp_date: Date; + + @Column({ + nullable: true, + length: 128 + }) + batch: string; + + @ManyToOne(() => OrderItemDetail, { onDelete: "NO ACTION" }) + @JoinColumn() + orderitemdetail: OrderItemDetail; + + @ManyToOne(() => ReceiveOrder, { onDelete: "NO ACTION" }) + @JoinColumn() + receiveorder: ReceiveOrder; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; +} \ No newline at end of file diff --git a/src/schema/pharmacy_logistic.ts b/src/schema/pharmacy_logistic.ts index 525f036..e6fb402 100644 --- a/src/schema/pharmacy_logistic.ts +++ b/src/schema/pharmacy_logistic.ts @@ -1,2 +1,4 @@ export * from "../entity/pharmacy-logistic/order_item" -export * from "../entity/pharmacy-logistic/order_item_detail" \ No newline at end of file +export * from "../entity/pharmacy-logistic/order_item_detail" +export * from "../entity/pharmacy-logistic/receive_order" +export * from "../entity/pharmacy-logistic/receive_order_detail" \ No newline at end of file