update relations goods and request order
This commit is contained in:
@ -85,9 +85,10 @@ export class Goods {
|
||||
@JoinColumn({ name: 'supplier_id' })
|
||||
supplier: Supplier;
|
||||
|
||||
|
||||
@ManyToOne(() => RequestOrder, (requestOrder) => requestOrder.goods, {
|
||||
nullable: true,
|
||||
onDelete: 'SET NULL',
|
||||
onDelete: 'CASCADE',
|
||||
})
|
||||
@JoinColumn({ name: 'request_order_id' })
|
||||
request_order: RequestOrder;
|
||||
|
||||
@ -5,10 +5,24 @@ import {
|
||||
CreateDateColumn,
|
||||
UpdateDateColumn,
|
||||
DeleteDateColumn,
|
||||
OneToMany,
|
||||
ManyToOne,
|
||||
JoinColumn,
|
||||
} from 'typeorm';
|
||||
import { Goods } from './goods';
|
||||
|
||||
enum ApprovalStatus {
|
||||
PENDING = 'PENDING',
|
||||
APPROVED = 'APPROVED',
|
||||
REJECTED = 'REJECTED',
|
||||
}
|
||||
|
||||
enum RequestOrderStatus {
|
||||
DRAFT = 'DRAFT',
|
||||
SUBMITTED = 'SUBMITTED',
|
||||
APPROVED = 'APPROVED',
|
||||
REJECTED = 'REJECTED',
|
||||
}
|
||||
|
||||
@Entity('request_orders')
|
||||
export class RequestOrder {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
@ -48,10 +62,11 @@ export class RequestOrder {
|
||||
remarks: string | null;
|
||||
|
||||
@Column({
|
||||
length: 64,
|
||||
type: 'enum',
|
||||
enum: RequestOrderStatus,
|
||||
nullable: false,
|
||||
})
|
||||
status: string;
|
||||
status: RequestOrderStatus;
|
||||
|
||||
@Column({
|
||||
length: 2,
|
||||
@ -73,12 +88,11 @@ export class RequestOrder {
|
||||
spv_approval_date: Date | null;
|
||||
|
||||
@Column({
|
||||
type: 'varchar',
|
||||
length: 16,
|
||||
nullable: true,
|
||||
default: 'PENDING',
|
||||
type: 'enum',
|
||||
enum: ApprovalStatus,
|
||||
default: ApprovalStatus.PENDING,
|
||||
})
|
||||
spv_approval_status: 'PENDING' | 'APPROVED' | 'REJECTED';
|
||||
spv_approval_status: ApprovalStatus;
|
||||
|
||||
// General Manager Approval
|
||||
@Column({
|
||||
@ -94,22 +108,22 @@ export class RequestOrder {
|
||||
gm_approval_date: Date | null;
|
||||
|
||||
@Column({
|
||||
type: 'varchar',
|
||||
length: 16,
|
||||
nullable: true,
|
||||
default: 'PENDING',
|
||||
type: 'enum',
|
||||
enum: ApprovalStatus,
|
||||
default: ApprovalStatus.PENDING,
|
||||
})
|
||||
gm_approval_status: 'PENDING' | 'APPROVED' | 'REJECTED';
|
||||
gm_approval_status: ApprovalStatus;
|
||||
|
||||
// Relation with Goods
|
||||
@OneToMany(() => Goods, (goods) => goods.request_order)
|
||||
goods: Goods[];
|
||||
@ManyToOne(() => Goods, (goods) => goods.request_order)
|
||||
@JoinColumn({ name: 'goods_id' })
|
||||
goods: Goods;
|
||||
|
||||
@CreateDateColumn()
|
||||
created_at: Date;
|
||||
|
||||
@UpdateDateColumn({ nullable: true })
|
||||
updated_at: Date | null;
|
||||
@UpdateDateColumn()
|
||||
updated_at: Date;
|
||||
|
||||
@DeleteDateColumn({ nullable: true })
|
||||
deleted_at: Date | null;
|
||||
|
||||
Reference in New Issue
Block a user