5520767f2e
前置功能分支 F1,供後續匯出功能依賴
36 lines
913 B
TypeScript
36 lines
913 B
TypeScript
/**
|
|
* 盤點差異模組(沙盤推演示意)
|
|
*/
|
|
|
|
/** 單一物料的盤點差異 */
|
|
export interface StockCountDiff {
|
|
/** 物料識別碼 */
|
|
materialId: string;
|
|
/** 帳面數量 */
|
|
bookQty: number;
|
|
/** 實盤數量 */
|
|
countedQty: number;
|
|
}
|
|
|
|
/**
|
|
* 計算盤點差異數量
|
|
* @param diff - 單一物料的盤點資料
|
|
* @returns 實盤減帳面的差異值
|
|
*/
|
|
export const diffQty = (diff: StockCountDiff): number => diff.countedQty - diff.bookQty;
|
|
|
|
/** 盤點差異報表列 */
|
|
export interface StockCountReportRow {
|
|
/** 物料識別碼 */
|
|
materialId: string;
|
|
/** 該物料的差異量 */
|
|
diff: number;
|
|
}
|
|
|
|
/**
|
|
* 依盤點資料彙整差異報表
|
|
* @param diffs - 盤點差異清單
|
|
* @returns 逐物料的差異報表列
|
|
*/
|
|
export const buildReport = (diffs: StockCountDiff[]): StockCountReportRow[] => diffs.map((diff) => ({ materialId: diff.materialId, diff: diffQty(diff) }));
|