128 lines
2.9 KiB
TypeScript
128 lines
2.9 KiB
TypeScript
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
|
|
import { AssetSupplier } from "./asset_supplier";
|
|
import { AssetInventoryCondition } from "../types/asset"
|
|
import { AssetPurchaseGoodsReceipt } from "./asset_purchase_goods_receipt";
|
|
import { AssetPurchase } from "./asset_purchase";
|
|
import { AssetRequestOrder } from "./asset_request_order";
|
|
import { AssetGood } from "./asset_good";
|
|
import { Branch } from "./branchs";
|
|
|
|
@Entity("asset_inventories")
|
|
export class AssetInventory {
|
|
@PrimaryGeneratedColumn("uuid")
|
|
id: string;
|
|
|
|
@Column({ type: "varchar", length: 255 })
|
|
code: string;
|
|
|
|
@ManyToOne(() => AssetPurchaseGoodsReceipt, { onDelete: 'RESTRICT' })
|
|
@JoinTable()
|
|
purchase_goods_receipt: AssetPurchaseGoodsReceipt;
|
|
|
|
@ManyToOne(() => AssetPurchase, { onDelete: 'RESTRICT' })
|
|
@JoinTable()
|
|
purchase: AssetPurchase;
|
|
|
|
@ManyToOne(() => AssetRequestOrder, { onDelete: 'RESTRICT' })
|
|
@JoinTable()
|
|
request_order: AssetRequestOrder;
|
|
|
|
@ManyToOne(() => AssetGood, { onDelete: 'RESTRICT' })
|
|
@JoinTable()
|
|
good: AssetGood;
|
|
|
|
@Column({ type: "varchar", length: 255 })
|
|
description: string;
|
|
|
|
@Column({ type: "varchar", length: 255 })
|
|
serial: string;
|
|
|
|
@Column({ type: "varchar", length: 255 })
|
|
notes: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
})
|
|
acquired_at: Date;
|
|
|
|
@Column({
|
|
type: 'float8',
|
|
nullable: false,
|
|
default: 0
|
|
})
|
|
acquired_price: number;
|
|
|
|
@Column({
|
|
type: 'float8',
|
|
nullable: false,
|
|
default: 0
|
|
})
|
|
book_value: number;
|
|
|
|
@Column({
|
|
type: 'float8',
|
|
nullable: false,
|
|
default: 0
|
|
})
|
|
insured_value: number;
|
|
|
|
@Column({
|
|
type: 'float8',
|
|
nullable: false,
|
|
default: 0
|
|
})
|
|
current_value: number;
|
|
|
|
@Column({
|
|
type: 'float8',
|
|
nullable: false,
|
|
default: 0
|
|
})
|
|
premi_value: number;
|
|
|
|
@Column({ type: "varchar", length: 255 })
|
|
condition: AssetInventoryCondition;
|
|
|
|
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
branch_id: string;
|
|
|
|
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
branch_code: string;
|
|
|
|
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
branch_name: string;
|
|
|
|
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
department_id: string;
|
|
|
|
@Column({ type: "varchar", length: 255, nullable: true })
|
|
department_name: string;
|
|
|
|
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
employee_id: string;
|
|
|
|
@Column({ type: "varchar", length: 255, nullable: true })
|
|
employee_name: 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;
|
|
}
|