demand planning

This commit is contained in:
2026-03-15 15:45:29 -05:00
parent f858fe4785
commit 15116807ce
11 changed files with 859 additions and 15 deletions

View File

@@ -64,6 +64,79 @@ export interface SalesDocumentDetailDto extends SalesDocumentSummaryDto {
revisions: SalesDocumentRevisionDto[];
}
export interface SalesOrderPlanningNodeDto {
itemId: string;
itemSku: string;
itemName: string;
itemType: string;
unitOfMeasure: InventoryUnitOfMeasure;
level: number;
grossDemand: number;
availableBefore: number;
availableAfter: number;
supplyFromStock: number;
openWorkOrderSupply: number;
openPurchaseSupply: number;
supplyFromOpenWorkOrders: number;
supplyFromOpenPurchaseOrders: number;
recommendedBuildQuantity: number;
recommendedPurchaseQuantity: number;
uncoveredQuantity: number;
bomQuantityPerParent: number | null;
children: SalesOrderPlanningNodeDto[];
}
export interface SalesOrderPlanningLineDto {
lineId: string;
itemId: string;
itemSku: string;
itemName: string;
quantity: number;
unitOfMeasure: InventoryUnitOfMeasure;
rootNode: SalesOrderPlanningNodeDto;
}
export interface SalesOrderPlanningItemDto {
itemId: string;
itemSku: string;
itemName: string;
itemType: string;
unitOfMeasure: InventoryUnitOfMeasure;
grossDemand: number;
onHandQuantity: number;
reservedQuantity: number;
availableQuantity: number;
openWorkOrderSupply: number;
openPurchaseSupply: number;
supplyFromStock: number;
supplyFromOpenWorkOrders: number;
supplyFromOpenPurchaseOrders: number;
recommendedBuildQuantity: number;
recommendedPurchaseQuantity: number;
uncoveredQuantity: number;
}
export interface SalesOrderPlanningSummaryDto {
lineCount: number;
itemCount: number;
buildRecommendationCount: number;
purchaseRecommendationCount: number;
uncoveredItemCount: number;
totalBuildQuantity: number;
totalPurchaseQuantity: number;
totalUncoveredQuantity: number;
}
export interface SalesOrderPlanningDto {
orderId: string;
documentNumber: string;
status: SalesDocumentStatus;
generatedAt: string;
summary: SalesOrderPlanningSummaryDto;
lines: SalesOrderPlanningLineDto[];
items: SalesOrderPlanningItemDto[];
}
export interface SalesDocumentInput {
customerId: string;
status: SalesDocumentStatus;