felicity-lims/webapp/models/inventory.ts

214 lines
4.5 KiB
TypeScript
Raw Normal View History

2023-11-10 14:05:15 +08:00
import { IUser } from './auth';
2024-05-29 14:00:08 +08:00
import { IDepartment } from './setup';
2023-11-10 14:05:15 +08:00
export interface IStockItem {
uid: string;
2024-05-29 14:00:08 +08:00
name: string;
2023-11-10 14:05:15 +08:00
description: string;
2024-05-29 14:00:08 +08:00
categoryUid: string;
category: IStockCategory;
hazardUid: string;
hazard: IHazard;
2023-11-10 14:05:15 +08:00
maximumLevel: number;
minimumLevel: number;
2024-05-29 14:00:08 +08:00
variants: IStockItemVariant[];
2023-11-10 14:05:15 +08:00
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2024-05-29 14:00:08 +08:00
export interface IStockItemVariant {
2023-11-10 14:05:15 +08:00
uid: string;
2024-05-29 14:00:08 +08:00
name: string;
description: string;
stockItemUid: string;
stockItem: IStockItem;
minimumLevel: number;
maximumLevel: number;
2023-11-10 14:05:15 +08:00
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2024-05-29 14:00:08 +08:00
export interface IStockCategory {
2023-11-10 14:05:15 +08:00
uid: string;
2024-05-29 14:00:08 +08:00
name: string;
description: string;
2023-11-10 14:05:15 +08:00
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2024-05-29 14:00:08 +08:00
export interface IHazard {
2023-11-10 14:05:15 +08:00
uid: string;
2024-05-29 14:00:08 +08:00
name: string;
description: string;
2023-11-10 14:05:15 +08:00
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2024-05-29 14:00:08 +08:00
export interface IStockUnit {
2023-11-10 14:05:15 +08:00
uid: string;
2024-05-29 14:00:08 +08:00
name: string;
description: string;
synonyms: string;
2023-11-10 14:05:15 +08:00
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2024-05-29 14:00:08 +08:00
export interface IStockLot {
uid: string;
productUid: string;
lotNumber: string;
expiryDate: string;
remarks: string;
2024-06-01 05:37:11 +08:00
quantity: number
2024-05-29 14:00:08 +08:00
}
2023-11-10 14:05:15 +08:00
export interface IStockProduct {
uid: string;
name: string;
2024-06-24 00:27:04 +08:00
description: string;
2023-11-10 14:05:15 +08:00
stockItemUid: string;
2024-05-29 21:25:53 +08:00
stockItem: IStockItem;
2024-05-29 14:00:08 +08:00
stockItemVariantUid: string;
2024-05-29 21:25:53 +08:00
stockItemVariant: IStockItemVariant
2023-11-10 14:05:15 +08:00
receivedByUid: string;
receivedBy: IUser;
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2024-05-29 21:25:53 +08:00
export interface IStockReceive {
stockItemVariantUid: string;
receivedByUid: string;
lotNumber: string;
unitPrice: number;
totalPrice: number;
supplierUid: string;
unitUid: string;
singlesReceived: number;
packagesReceived: number;
packageFactor: number;
quantityReceived: number;
receiptType: string;
receiptByUid: number;
receiptDate: string;
expiryDate: string;
storeRoomUid: string;
}
2024-05-29 14:00:08 +08:00
export interface IStockProductInventory {
uid: string;
productUid: string;
stockLotUid: string;
quantity: number;
remarks: string;
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2023-11-10 14:05:15 +08:00
export interface IStockOrder {
uid: string;
orderByUid: string;
orderBy: IUser;
departmentUid: string;
department: IDepartment;
status: string;
remarks: string;
orderNumber: string;
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
export interface IStockOrderProduct {
uid: string;
productUid: string;
product: IStockProduct;
2024-06-01 05:37:11 +08:00
stockLotUid: string;
stockLot: IStockLot;
2023-11-10 14:05:15 +08:00
orderUid: string;
order: IStockOrder;
price: number;
quantity: number;
issue: number;
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
2024-05-29 14:00:08 +08:00
export interface IStockReceipt {
2023-11-10 14:05:15 +08:00
uid: string;
productUid: string;
2024-05-29 14:00:08 +08:00
stockLotUid: string;
unitPrice: string;
totalPrice: string;
supplierUid: string;
unitUid: string;
singlesReceived: number;
packagesReceived: number;
packageFactor: number;
quantityReceived: number;
receiptType: string;
receiptByUid: string;
receiptDate: Date;
2023-11-10 14:05:15 +08:00
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}
export interface IStockAdjustment {
uid: string;
productUid: string;
product: IStockProduct;
2024-05-29 14:00:08 +08:00
lotNumber: string;
2023-11-10 14:05:15 +08:00
adjustmentType: String;
adjust: number;
adjustmentDate: Date;
remarks: String;
adjustmentByUid: string;
adjustmentBy: IUser;
createdAt: Date;
createdByUid: string;
createdBy: IUser;
updatedAt: Date;
updatedByUid: string;
updatedBy: IUser;
}