Update asset

This commit is contained in:
fro1991
2025-04-16 01:39:13 +07:00
parent 4d8df73ed3
commit 08a6b4af86
5 changed files with 193 additions and 0 deletions

View File

@ -0,0 +1,127 @@
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 })
employement_id: string;
@Column({ type: "varchar", length: 255, nullable: true })
employement_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;
}

View File

@ -0,0 +1,45 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, JoinTable, ManyToOne, DeleteDateColumn } from "typeorm";
import { AssetSupplier } from "./asset_supplier";
import { AssetInventoryCondition } from "../types/asset"
import { AssetPurchase } from "./asset_purchase";
import { AssetRequestOrder } from "./asset_request_order";
import { AssetGood } from "./asset_good";
import { Branch } from "./branchs";
import { AssetInventory } from "./asset_inventories";
@Entity("asset_inventory_attributes")
export class AssetInventoryAttribute {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => AssetInventory, { onDelete: 'RESTRICT' })
@JoinTable()
inventory: AssetInventory;
@Column({ type: "varchar", length: 255 })
name: string;
@Column({ type: "varchar", length: 255 })
value: 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

@ -38,6 +38,14 @@ export class AssetPurchaseGoodsReceipt {
})
balance: number;
@Column({ length: 64, default: 'N' })
is_inventoried: string;
@Column({
nullable: true,
})
inventoried_at: Date;
@Column()
@CreateDateColumn()
created_at: Date;

View File

@ -76,6 +76,8 @@ import { AssetPurchaseGoodReceiptGood } from "./entity/asset_purchase_goods_rece
import { AssetPurchaseRealization } from "./entity/asset_purchase_realization";
import { AssetPurchaseBondRealizationGood } from "./entity/asset_purchase_purchase_bond_realization_good";
import { AssetPurchaseInvoice } from "./entity/asset_purchase_invoice";
import { AssetInventory } from "./entity/asset_inventories";
import { AssetInventoryAttribute } from "./entity/asset_inventory_attributes";
import { RemitOtp } from "./entity/remit_otp";
import { RemitPartnerUser } from "./entity/remit_partner_users";
import { RemitPartner } from "./entity/remit_partners";
@ -170,6 +172,8 @@ export {
AssetPurchaseRealization,
AssetPurchaseBondRealizationGood,
AssetPurchaseInvoice,
AssetInventory,
AssetInventoryAttribute,
RemitOtp,
RemitPartnerUser,
RemitPartner,

9
src/types/asset.ts Normal file
View File

@ -0,0 +1,9 @@
export enum AssetInventoryCondition {
"new" = "new",
"good" = "good",
"minor_damage" = "minor_damage",
"damaged" = "damaged",
"unusabel" = "unusable",
"disposed" = "disposed",
"lost" = "lost",
};