adding asset category

This commit is contained in:
fadlydev
2025-01-02 15:30:36 +07:00
parent da2feaa184
commit f50051e4f9
3 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,43 @@
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
DeleteDateColumn,
OneToMany,
} from 'typeorm';
import { Goods } from './goods';
@Entity('categories')
export class AssetCategory {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({
nullable: false,
length: 128,
})
name: string;
@Column({
nullable: true,
length: 255,
})
description: string;
@OneToMany(() => Goods, (goods) => goods.category_id)
goods: Goods[];
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
}

View File

@ -13,6 +13,7 @@ import {
import { Status } from '../types/status';
import { User } from './users';
import { Supplier } from './supplier';
import { AssetCategory } from './asset_category';
@Entity('goods')
export class Goods {
@ -31,6 +32,13 @@ export class Goods {
})
description: string;
@Column({
nullable: false,
length: 64,
unique: true, // Ensure the item code is unique
})
item_code: string;
@Column({
nullable: false,
type: 'decimal',
@ -45,6 +53,10 @@ export class Goods {
})
quantity: number;
@ManyToOne(() => AssetCategory, (category) => category.goods, { nullable: true })
@JoinColumn({ name: 'category_id' })
category: AssetCategory;
@Column({
nullable: true,
type: 'uuid',
@ -62,6 +74,17 @@ export class Goods {
})
created_by: string;
@ManyToOne(() => User, (user) => user.id, { nullable: true })
@JoinColumn({ name: 'updated_by' })
updatedBy: User;
@Index()
@Column({
nullable: true,
type: 'uuid',
})
updated_by: string;
@ManyToOne(() => Supplier, { nullable: false })
@JoinColumn({ name: 'supplier_id' })
supplier: Supplier;

View File

@ -37,6 +37,7 @@ import { SummarizeLog } from "./entity/summarize_log";
import { SummarizeLogStatus, SummarizeType } from "./types/summarize";
import { Goods } from "./entity/goods";
import { Supplier } from "./entity/supplier";
import { AssetCategory } from "./entity/asset_category";
import { TelegramBody, TelegramResponseSend } from "./types/telegram";
import { Ledger } from "./entity/ledgers";
import { CreditCompany } from "./entity/credit_companies";
@ -92,6 +93,7 @@ export {
SummarizeType,
Goods,
Supplier,
AssetCategory,
Ledger,
CreditCompany,
CreditDebtor,