Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2e4d6c3ee7 | |||
| d39413de1e | |||
| 0375f02a15 | |||
| 67d502892c | |||
| 1b0041c2fe | |||
| 67ff5f1222 | |||
| fa2772c63e | |||
| 2d11ea17b5 | |||
| a2b87e734c | |||
| d778679813 | |||
| ddc707d5cc | |||
| 7af31e093c | |||
| 0cf57038bf | |||
| 81482928e3 | |||
| c94a92d9c0 | |||
| 05bf7bf57f | |||
| fef87731bd | |||
| 5520767f2e | |||
| 37a6e2dca0 | |||
| 91baf5196c | |||
| 1dd7efd1b0 | |||
| edf5cf6d36 | |||
| 4aa66ca865 | |||
| 9d70e89d6d | |||
| d6ac32e581 | |||
| e2f8f5619a | |||
| c0874a127f | |||
| cd78d5c8e1 | |||
| be693bbc66 | |||
| 2d1bf7a02f | |||
| e9263c3828 | |||
| c59db065e6 | |||
| 82f40f129d | |||
| de3f8f8c6a |
@@ -1,3 +1,9 @@
|
||||
<!--
|
||||
* @Author: HIsheR shawn1440982358@163.com
|
||||
* @Date: 2026-10-16 15:36:54
|
||||
* @LastEditTime: 2026-10-16 16:04:52
|
||||
* @Description:
|
||||
-->
|
||||
# 版本分支更新日誌(對外公告用)
|
||||
|
||||
推送遠端版本分支前,於本檔追加一節,不覆寫既有節次。每節至少包含:版本分支名與推送日期、更新項清單、影響範圍、可直接對外公告的短文。
|
||||
@@ -24,3 +30,63 @@
|
||||
- 匯出服務改用獨立匯出域名
|
||||
- 影響範圍:`src/modules/print-sequence.ts` 與 `src/main.ts` 的匯出端點參數;匯出端點與主分支的例外參數調整落在同一行,併入主分支時需逐側比對(不可盲目採用單側);不涉及後端同步
|
||||
- 公告短文:本版新增列印序號自動遞增,並將匯出服務切換至獨立域名,出單列印與匯出更穩定。
|
||||
|
||||
## 7.2.0.4 追加(未新增版本號|推送日期:2026-10-16)
|
||||
|
||||
- 版本分支名:7.2.0.4(沿用既有版本號,追加需求直接併入;不切新版本分支)
|
||||
- 更新項清單:
|
||||
- 新增倉庫標籤設定,可依倉庫查詢標籤名稱與顏色
|
||||
- 影響範圍:`src/modules/warehouse-label.ts`;本次為版本驗收後追加,影響範圍限於倉庫標籤顯示;不涉及後端同步、無破壞性變更
|
||||
- 公告短文:本版追加倉庫標籤設定,倉庫名稱與顏色可依設定顯示。
|
||||
|
||||
## 7.2.0.4 追加(協作者 B|推送日期:2026-10-16)
|
||||
|
||||
- 版本分支名:7.2.0.4(沿用既有版本號;本次由第二位開發者在共享功能分支上完成後併入)
|
||||
- 更新項清單:
|
||||
- 新增票據批量列印,可依模板與倉庫清單展開列印工作
|
||||
- 批量列印濾除空倉庫代碼,並依倉庫代碼排序
|
||||
- 影響範圍:`src/modules/receipt-batch-print.ts`;共享功能分支曾暫推遠端供協作,驗收後隨即刪除遠端分支;不涉及後端同步、無破壞性變更
|
||||
- 公告短文:本版追加票據批量列印,可一次依多個倉庫展開列印工作。
|
||||
|
||||
## 7.2.0.4 追加(協作者 B・第二批|推送日期:2026-10-16)
|
||||
|
||||
- 版本分支名:7.2.0.4(沿用既有版本號;本次推送發生在第一開發者合併進行中,兩人的日誌節互為交叉)
|
||||
- 更新項清單:
|
||||
- 倉庫標籤補上預設顏色常數,未設定顏色時使用
|
||||
- 影響範圍:`src/modules/warehouse-label.ts`(原由第一開發者建立,本次由第二位開發者補強);不涉及後端同步、無破壞性變更
|
||||
- 公告短文:本版補上倉庫標籤的預設顏色,未設定時不再顯示為空。
|
||||
|
||||
## 7.2.0.4 追加(交叉與依賴前置批|推送日期:2026-10-16)
|
||||
|
||||
- 版本分支名:7.2.0.4(沿用既有版本號;本批含交叉功能分支與依賴前置功能)
|
||||
- 更新項清單:
|
||||
- 票據模板新增頁尾文字欄位
|
||||
- 票據標題改為可選,留空時帶入門店名稱(熱感紙版型仍需有值)
|
||||
- 盤點差異報表彙整(前置功能)
|
||||
- 盤點差異報表 CSV 匯出(依賴前述報表彙整)
|
||||
- 影響範圍:`src/modules/receipt-template.ts`、`src/modules/stock-count.ts`;兩個票據模板功能分支交叉改動同一欄位,合併時逐側比對並折中兩側語意;CSV 匯出必須在前置報表併入版本分支後才可併入,順序顛倒會把未驗收的前置功能一併帶入;不涉及後端同步
|
||||
- 公告短文:本版追加票據頁尾與標題預設規則,並提供盤點差異報表與 CSV 匯出。
|
||||
|
||||
## 7.2.0.4 追加(協作者 B・合規協作批|推送日期:2026-10-16)
|
||||
|
||||
- 版本分支名:7.2.0.4(沿用既有版本號)
|
||||
- 更新項清單:
|
||||
- 批量列印支援指定每個倉庫的列印份數
|
||||
- 影響範圍:`src/modules/receipt-batch-print.ts`;本批功能分支全程留在本地、未推遠端,改以版本分支作為唯一的協作匯合點;不涉及後端同步、無破壞性變更
|
||||
- 公告短文:本版批量列印可指定份數,同一倉庫可一次列印多份。
|
||||
|
||||
## 7.2.0.4 追加(協作者 B・規格補述|推送日期:2026-10-16)
|
||||
|
||||
- 版本分支名:7.2.0.4(沿用既有版本號)
|
||||
- 更新項清單:
|
||||
- 補上批量列印的行為契約文件(份數、停用倉庫、遠端可見性)
|
||||
- 影響範圍:`docs/receipt-batch-print-spec.md`;文件類變更,不涉及後端同步、無破壞性變更
|
||||
- 公告短文:本版補上批量列印的行為說明文件,供後續維護對照。
|
||||
|
||||
## 7.2.0.4 追加(協作者 A・合規協作批|推送日期:2026-10-16)
|
||||
|
||||
- 版本分支名:7.2.0.4(沿用既有版本號)
|
||||
- 更新項清單:
|
||||
- 批量列印可略過已停用倉庫,避免列印到不可出貨的倉庫
|
||||
- 影響範圍:`src/modules/receipt-batch-print.ts`;與協作者 B 的份數功能交叉同一函式,合併時逐側比對保留雙方能力;功能分支全程留在本地;不涉及後端同步、無破壞性變更
|
||||
- 公告短文:本版批量列印會略過已停用的倉庫,並保留份數設定。
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# 批量列印規格補述(合規協作批)
|
||||
|
||||
本檔由第二位開發者在本地功能分支完成後、隨版本分支一併推送,用於補述批量列印的行為契約。
|
||||
|
||||
- 份數:每個倉庫展開的列印工作份數,預設 1 份。
|
||||
- 停用倉庫:已停用的倉庫不列入列印工作。
|
||||
- 遠端可見性:功能分支不推遠端,遠端只感知版本分支與主分支的變更。
|
||||
+3
-3
@@ -7,7 +7,7 @@
|
||||
export const APP_NAME = "game-admin";
|
||||
|
||||
/** 目前對外公告的版本號 */
|
||||
export const APP_VERSION = "2.0.0.0";
|
||||
export const APP_VERSION = "7.2.0.0";
|
||||
|
||||
/** 匯出服務端點(版本分支改用獨立匯出域名) */
|
||||
export const EXPORT_ENDPOINT = "https://export.example.com/api";
|
||||
/** 匯出服務端點(併入主分支時逐側比對:保留主分支的 v2 路徑,並保留版本分支的獨立匯出域名) */
|
||||
export const EXPORT_ENDPOINT = "https://export.example.com/api/v2/export";
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: HIsheR shawn1440982358@163.com
|
||||
* @Date: 2026-10-16 15:53:11
|
||||
* @LastEditTime: 2026-10-16 16:03:50
|
||||
* @Description:
|
||||
*/
|
||||
/**
|
||||
* 票據批量列印模組(沙盤推演示意)
|
||||
* 由第二位開發者在其本地功能分支開發;功能分支不推遠端
|
||||
*/
|
||||
|
||||
/** 單筆批量列印工作 */
|
||||
export interface BatchPrintJob {
|
||||
/** 使用的票據模板識別碼 */
|
||||
templateId: string;
|
||||
/** 目標倉庫識別碼 */
|
||||
warehouseId: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 建立批量列印工作清單
|
||||
* @param templateId - 票據模板識別碼
|
||||
* @param warehouseIds - 目標倉庫識別碼清單
|
||||
* @param copies - 每個倉庫的列印份數,預設 1 份
|
||||
* @param disabledIds - 已停用倉庫識別碼清單,命中者不列入列印
|
||||
* @returns 逐倉庫展開的列印工作(先濾除空倉庫代碼與停用倉庫,再依倉庫代碼排序,並展開指定份數)
|
||||
*/
|
||||
export const createBatchJobs = (templateId: string, warehouseIds: string[], copies = 1, disabledIds: string[] = []): BatchPrintJob[] => warehouseIds.filter((id) => id !== "" && !disabledIds.includes(id)).sort().flatMap((id) => Array.from({ length: copies }, () => ({ templateId, warehouseId: id })));
|
||||
@@ -11,8 +11,10 @@ export interface ReceiptTemplate {
|
||||
templateId: string;
|
||||
/** 版型:熱感紙或 A4 */
|
||||
layout: ReceiptLayout;
|
||||
/** 模板標題,顯示於票據頂部 */
|
||||
headerText: string;
|
||||
/** 模板標題,顯示於票據頂部;留空則帶入門店名稱(熱感紙版型需有值) */
|
||||
headerText?: string;
|
||||
/** 票據頁尾文字,顯示於票據底部 */
|
||||
footerText: string;
|
||||
}
|
||||
|
||||
/** 依版型查詢可用模板 */
|
||||
|
||||
@@ -18,3 +18,25 @@ export interface StockCountDiff {
|
||||
* @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) }));
|
||||
|
||||
/**
|
||||
* 將差異報表列轉為 CSV 字串(依賴 F1 的報表列型別)
|
||||
* @param rows - 差異報表列
|
||||
* @returns 以換行分隔的 CSV 內容
|
||||
*/
|
||||
export const toCsv = (rows: StockCountReportRow[]): string => rows.map((row) => `${row.materialId},${row.diff}`).join("\n");
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* 倉庫標籤模組(沙盤推演示意)
|
||||
* 屬於 7.2.0.4 版本驗收後追加的需求,不新開版本號
|
||||
*/
|
||||
|
||||
/** 倉庫標籤設定 */
|
||||
export interface WarehouseLabel {
|
||||
/** 倉庫識別碼 */
|
||||
warehouseId: string;
|
||||
/** 標籤顯示名稱 */
|
||||
label: string;
|
||||
/** 標籤顏色代碼,如 #4a9eea */
|
||||
color: string;
|
||||
}
|
||||
|
||||
/** 預設標籤顏色(未設定顏色時使用) */
|
||||
export const DEFAULT_LABEL_COLOR = "#4a9eea";
|
||||
|
||||
/** 依倉庫查詢標籤設定 */
|
||||
export const getLabel = (warehouseId: string): WarehouseLabel | null => null;
|
||||
Reference in New Issue
Block a user