This commit is contained in:
fro1991
2025-02-13 01:42:49 +07:00
parent b112e7af32
commit e27bd221fe
9 changed files with 504 additions and 2 deletions

View File

@ -0,0 +1,65 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetSupplier } from "./asset_supplier";
@Entity("asset_purchases")
export class AssetPurchase {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetSupplier, { onDelete: 'RESTRICT' })
@JoinTable()
supplier: AssetSupplier;
@Column({ type: "varchar", length: 255 })
code: string;
@Column({
nullable: true,
})
purchase_at: Date;
@Column("uuid")
department_id: string;
@Column({ type: "varchar", length: 255 })
department_name: string;
@Column({ type: "varchar", length: 255 })
type: string;
@Column({
type: 'int2',
nullable: false,
})
quantity: number;
@Column({
type: 'float8',
nullable: false,
})
total: number;
@Column({ type: "varchar", length: 255 })
status: string;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -0,0 +1,61 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetPurchase } from "./asset_purchase";
import { AssetRequestOrder } from "./asset_request_order";
@Entity("asset_purchase_goods_receipts")
export class AssetPurchaseGoodsReceipt {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetPurchase, { onDelete: 'RESTRICT' })
@JoinTable()
purchase: AssetPurchase;
@Column({ type: "varchar", length: 255 })
code: string;
@Column({
nullable: true,
})
receipt_at: Date;
@Column({
type: 'int2',
nullable: false,
})
quantity: number;
@Column({
type: 'float8',
nullable: false,
})
total: number;
@Column({
type: 'float8',
nullable: false,
})
balance: number;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -0,0 +1,78 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetPurchase } from "./asset_purchase";
import { AssetRequestOrder } from "./asset_request_order";
import { AssetPurchaseGoodsReceipt } from "./asset_purchase_goods_receipt";
import { AssetPurchaseRequestOrder } from "./asset_purchase_request_order";
import { AssetRequestOrderGood } from "./asset_request_order_good";
import { AssetGood } from "./asset_good";
@Entity("asset_purchase_good_receipt_goods")
export class AssetPurchaseGoodReceiptGood {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetPurchaseGoodsReceipt, { onDelete: 'RESTRICT' })
@JoinTable()
purchase_goods_receipt: AssetPurchaseGoodsReceipt;
@ManyToOne(() => AssetPurchase, { onDelete: 'RESTRICT' })
@JoinTable()
purchase: AssetPurchase;
@ManyToOne(() => AssetPurchaseRequestOrder, { onDelete: 'RESTRICT' })
@JoinTable()
purchase_request_order: AssetPurchaseRequestOrder;
@ManyToOne(() => AssetRequestOrder, { onDelete: 'RESTRICT' })
@JoinTable()
request_order: AssetRequestOrder;
@ManyToOne(() => AssetRequestOrderGood, { onDelete: 'RESTRICT' })
@JoinTable()
request_order_good: AssetRequestOrderGood;
@ManyToOne(() => AssetGood, { onDelete: 'RESTRICT' })
@JoinTable()
good: AssetGood;
@Column({
type: 'int2',
nullable: false,
})
quantity: number;
@Column({
type: 'float8',
nullable: false,
})
total: number;
@Column({
type: 'float8',
nullable: false,
})
balance: number;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -0,0 +1,108 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetPurchase } from "./asset_purchase";
import { AssetRequestOrder } from "./asset_request_order";
import { AssetPurchaseGoodsReceipt } from "./asset_purchase_goods_receipt";
import { AssetPurchaseRequestOrder } from "./asset_purchase_request_order";
import { AssetRequestOrderGood } from "./asset_request_order_good";
import { AssetGood } from "./asset_good";
import { AssetSupplier } from "./asset_supplier";
@Entity("asset_purchase_invoice")
export class AssetPurchaseInvoice {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetPurchase, { onDelete: 'RESTRICT' })
@JoinTable()
purchase: AssetPurchase;
@ManyToOne(() => AssetPurchaseGoodsReceipt, { onDelete: 'RESTRICT' })
@JoinTable()
purchase_goods_receipt: AssetPurchaseGoodsReceipt
@ManyToOne(() => AssetSupplier, { onDelete: 'RESTRICT' })
@JoinTable()
supplier: AssetSupplier;
@Column({ type: "varchar", length: 255, unique: true })
code: string;
@Column({ nullable: false })
invoice_at: Date;
@Column({ nullable: false })
received_at: Date;
@Column({ nullable: false })
due_at: Date;
@Column({
type: 'float8',
nullable: false,
})
amount: number;
@Column({
type: 'float8',
nullable: false,
})
discount: number;
@Column({
type: 'float8',
nullable: false,
})
tax: number;
@Column({
type: 'float8',
nullable: false,
})
total: number;
@Column({ type: "varchar", length: 255 })
status: string;
@Column({
nullable: true,
length: 4096
})
file: string;
@Column({ nullable: true })
payment_at: Date;
@Column({
nullable: true,
length: 4096
})
payment_proof: string;
@Column({
nullable: true,
length: 255
})
payment_by: string;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -0,0 +1,84 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetPurchase } from "./asset_purchase";
import { AssetRequestOrder } from "./asset_request_order";
import { AssetPurchaseGoodsReceipt } from "./asset_purchase_goods_receipt";
import { AssetPurchaseRequestOrder } from "./asset_purchase_request_order";
import { AssetRequestOrderGood } from "./asset_request_order_good";
import { AssetGood } from "./asset_good";
@Entity("asset_purchase_purchase_bond_realization_goods")
export class AssetPurchaseBondRealizationGood {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetPurchaseGoodsReceipt, { onDelete: 'RESTRICT' })
@JoinTable()
purchase_goods_receipt: AssetPurchaseGoodsReceipt;
@ManyToOne(() => AssetPurchase, { onDelete: 'RESTRICT' })
@JoinTable()
purchase: AssetPurchase;
@ManyToOne(() => AssetPurchaseRequestOrder, { onDelete: 'RESTRICT' })
@JoinTable()
purchase_request_order: AssetPurchaseRequestOrder;
@ManyToOne(() => AssetRequestOrder, { onDelete: 'RESTRICT' })
@JoinTable()
request_order: AssetRequestOrder;
@ManyToOne(() => AssetRequestOrderGood, { onDelete: 'RESTRICT' })
@JoinTable()
request_order_good: AssetRequestOrderGood;
@ManyToOne(() => AssetGood, { onDelete: 'RESTRICT' })
@JoinTable()
good: AssetGood;
@Column({
type: 'int2',
nullable: false,
})
quantity: number;
@Column({
type: 'float8',
nullable: false,
})
price: number;
@Column({
type: 'float8',
nullable: false,
})
total: number;
@Column({
type: 'float8',
nullable: false,
})
difference: number;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -0,0 +1,63 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetPurchase } from "./asset_purchase";
import { AssetRequestOrder } from "./asset_request_order";
import { AssetPurchaseGoodsReceipt } from "./asset_purchase_goods_receipt";
import { AssetPurchaseRequestOrder } from "./asset_purchase_request_order";
import { AssetRequestOrderGood } from "./asset_request_order_good";
import { AssetGood } from "./asset_good";
@Entity("asset_purchase_realizations")
export class AssetPurchaseRealization {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetPurchase, { onDelete: 'RESTRICT' })
@JoinTable()
purchase: AssetPurchase;
@Column({ type: "varchar", length: 255, unique: true })
code: string;
@Column({ nullable: false })
realization_at: Date;
@Column({
type: 'int2',
nullable: false,
})
quantity: number;
@Column({
type: 'float8',
nullable: false,
})
total: number;
@Column({
type: 'float8',
nullable: false,
})
difference: number;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -0,0 +1,29 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetPurchase } from "./asset_purchase";
import { AssetRequestOrder } from "./asset_request_order";
@Entity("asset_purchase_request_orders")
export class AssetPurchaseRequestOrder {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetPurchase, { onDelete: 'RESTRICT' })
@JoinTable()
purchase: AssetPurchase;
@ManyToOne(() => AssetRequestOrder, { onDelete: 'RESTRICT' })
@JoinTable()
request_order: AssetRequestOrder;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
}

View File

@ -12,7 +12,7 @@ export class AssetSupplier {
@PrimaryGeneratedColumn('uuid') @PrimaryGeneratedColumn('uuid')
id: string; id: string;
@Column({ length: 256, nullable: true }) @Column({ length: 256, nullable: true, unique: true })
code: string; code: string;
@Column({ length: 256, nullable: true }) @Column({ length: 256, nullable: true })

View File

@ -65,6 +65,13 @@ import { AssetGood } from './entity/asset_good'
import { AssetRequestOrderCategory } from './entity/asset_request_order_category' import { AssetRequestOrderCategory } from './entity/asset_request_order_category'
import { AssetRequestOrder } from './entity/asset_request_order' import { AssetRequestOrder } from './entity/asset_request_order'
import { AssetRequestOrderGood } from './entity/asset_request_order_good' import { AssetRequestOrderGood } from './entity/asset_request_order_good'
import { AssetPurchase } from './entity/asset_purchase'
import { AssetPurchaseRequestOrder } from './entity/asset_purchase_request_order'
import { AssetPurchaseGoodsReceipt } from './entity/asset_purchase_goods_receipt'
import { AssetPurchaseGoodReceiptGood } from './entity/asset_purchase_goods_receipt_good'
import { AssetPurchaseRealization } from './entity/asset_purchase_realization'
import { AssetPurchaseBondRealizationGood } from './entity/asset_purchase_purchase_bond_realization_good'
import { AssetPurchaseInvoice } from './entity/asset_purchase_invoice'
export { export {
User, // User, //
@ -140,5 +147,12 @@ export {
AssetGood, AssetGood,
AssetRequestOrderCategory, AssetRequestOrderCategory,
AssetRequestOrder, AssetRequestOrder,
AssetRequestOrderGood AssetRequestOrderGood,
AssetPurchase,
AssetPurchaseRequestOrder,
AssetPurchaseGoodsReceipt,
AssetPurchaseGoodReceiptGood,
AssetPurchaseRealization,
AssetPurchaseBondRealizationGood,
AssetPurchaseInvoice
}; };