33 Commits

Author SHA1 Message Date
HIsheR d39413de1e merge(7.2.0.4): 合併遠端規格補述,日誌節交叉衝突逐側比對
兩節皆保留,依推送順序排列
2026-10-16 16:04:58 +08:00
dev-b 0375f02a15 docs(receipt): 補上批量列印行為契約文件
第二位開發者第二批推送,僅推版本分支
2026-10-16 16:04:18 +08:00
HIsheR 67d502892c docs(release): 補寫 7.2.0.4 追加需求更新日誌(協作者 A・合規協作批)
本地先寫日誌,稍後推送版本分支
2026-10-16 16:04:08 +08:00
HIsheR 1b0041c2fe merge(receipt): 略過停用倉庫併入版本分支 7.2.0.4
交叉衝突逐側比對:保留 B 的份數參數與 A 的停用倉庫過濾
2026-10-16 16:04:08 +08:00
HIsheR 67ff5f1222 feat(receipt): 批量列印略過已停用倉庫
第一位開發者於本地功能分支完成,功能分支不推遠端
2026-10-16 16:03:34 +08:00
dev-b fa2772c63e docs(release): 補寫 7.2.0.4 追加需求更新日誌(合規協作批)
推送前完成,僅推送版本分支
2026-10-16 16:02:57 +08:00
dev-b 2d11ea17b5 merge(receipt): 批量列印份數併入版本分支 7.2.0.4 2026-10-16 16:02:45 +08:00
dev-b a2b87e734c feat(receipt): 批量列印支援指定份數
第二位開發者於本地功能分支完成,功能分支不推遠端
2026-10-16 16:02:45 +08:00
HIsheR ddc707d5cc merge(7.2.0.4): 合併遠端第二批追加,日誌節交叉衝突逐側比對
兩人的日誌節依推送順序排列,兩節皆保留
2026-10-16 15:58:46 +08:00
dev-b 7af31e093c docs(release): 補寫 7.2.0.4 追加需求更新日誌(協作者 B・第二批)
推送前完成
2026-10-16 15:58:14 +08:00
dev-b 0cf57038bf feat(warehouse): 補上倉庫標籤預設顏色
第二位開發者補強第一位開發者建立的文件
2026-10-16 15:58:13 +08:00
HIsheR 81482928e3 docs(release): 補寫 7.2.0.4 追加需求更新日誌(交叉與依賴前置批)
本地先寫日誌,尚未推送
2026-10-16 15:57:53 +08:00
HIsheR c94a92d9c0 merge(stock-count): CSV 匯出(依賴 F1)併入版本分支 7.2.0.4 2026-10-16 15:57:24 +08:00
HIsheR 05bf7bf57f merge(stock-count): 報表彙整(前置 F1)併入版本分支 7.2.0.4 2026-10-16 15:57:24 +08:00
HIsheR fef87731bd feat(stock-count): 新增差異報表 CSV 匯出
F2 依賴前置功能分支 F1 的報表列型別
2026-10-16 15:57:17 +08:00
HIsheR 5520767f2e feat(stock-count): 新增盤點差異報表彙整
前置功能分支 F1,供後續匯出功能依賴
2026-10-16 15:56:59 +08:00
HIsheR 37a6e2dca0 merge(receipt): 標題可選併入版本分支 7.2.0.4
交叉衝突逐側比對:同時保留頁尾欄位與標題可選語意,並標註熱感紙版型仍需有值
2026-10-16 15:56:31 +08:00
HIsheR 91baf5196c merge(receipt): 頁尾文字併入版本分支 7.2.0.4 2026-10-16 15:56:14 +08:00
HIsheR 1dd7efd1b0 feat(receipt): 票據標題改為可選並帶入門店名稱
與另一功能分支同時改動同一欄位說明
2026-10-16 15:56:14 +08:00
HIsheR edf5cf6d36 feat(receipt): 票據模板新增頁尾文字欄位
同時收緊標題欄位的必填語意說明
2026-10-16 15:55:56 +08:00
dev-b 4aa66ca865 docs(release): 補寫 7.2.0.4 追加需求更新日誌(協作者 B)
推送前完成,內容與本次提交一致
2026-10-16 15:54:43 +08:00
dev-b 9d70e89d6d merge(receipt): 批量列印併入版本分支 7.2.0.4(未新增版本號) 2026-10-16 15:54:26 +08:00
dev-b d6ac32e581 merge(receipt): 合併遠端共享分支的排序改動
逐側比對保留濾除空值與排序兩側改動,未採單側覆蓋
2026-10-16 15:54:03 +08:00
dev-b e2f8f5619a feat(receipt): 批量列印濾除空倉庫代碼
第二開發者本地提交,尚未推遠端
2026-10-16 15:53:40 +08:00
HIsheR c0874a127f feat(receipt): 批量列印工作依倉庫代碼排序
第一開發者接續第二開發者的共享分支
2026-10-16 15:53:23 +08:00
dev-b cd78d5c8e1 feat(receipt): 新增票據批量列印
由第二開發者開發,暫推遠端以便與第一開發者共享協作
2026-10-16 15:52:58 +08:00
HIsheR be693bbc66 docs(release): 補寫 7.2.0.4 追加需求更新日誌
沿用既有版本號,追加節不覆寫既有節次
2026-10-16 15:52:24 +08:00
HIsheR 2d1bf7a02f merge(warehouse): 追加需求併入版本分支 7.2.0.4(未新增版本號) 2026-10-16 15:52:12 +08:00
HIsheR e9263c3828 feat(warehouse): 新增倉庫標籤設定
版本驗收後追加的需求,直接併入既有版本分支 7.2.0.4,不新開版本號
2026-10-16 15:52:12 +08:00
HIsheR f13cc01727 docs(release): 補寫 7.2.0.4 推送前更新日誌
記載列印序號與匯出域名兩項更新,並標註需逐側比對的參數衝突
2026-10-16 15:47:03 +08:00
HIsheR 185f243fdc chore(config): 版本分支改用獨立匯出域名
與主分支的例外參數調整落在同一行,供衝突預檢推演
2026-10-16 15:46:49 +08:00
HIsheR b3f234dabe merge(print): 功能分支併入版本分支 7.2.0.4 2026-10-16 15:46:33 +08:00
HIsheR 2fb5908b07 feat(print): 新增列印序號產生邏輯
分支重建後自目標版本分支 7.2.0.4 切出,避免帶入 7.2.0.3 線的權限盤點文件
2026-10-16 15:46:01 +08:00
9 changed files with 172 additions and 16 deletions
+71 -4
View File
@@ -1,3 +1,9 @@
<!--
* @Author: HIsheR shawn1440982358@163.com
* @Date: 2026-10-16 15:36:54
* @LastEditTime: 2026-10-16 16:04:52
* @Description:
-->
# 版本分支更新日誌(對外公告用)
推送遠端版本分支前,於本檔追加一節,不覆寫既有節次。每節至少包含:版本分支名與推送日期、更新項清單、影響範圍、可直接對外公告的短文。
@@ -17,9 +23,70 @@
- 影響範圍:前端 `src/modules` 下的票據與盤點模組;同步更新 `.ai/module-registry.md`;不涉及後端同步、無破壞性變更
- 公告短文:本版新增票據模板查詢與盤點差異計算,前線出單與盤點作業可少一次手工換算。
## 7.2.0.3(推送日期:2026-10-16)
## 7.2.0.4(推送日期:2026-10-16)
- 更新項清單:
- 新增外部導入渠道權限清單文件,盤點各渠道所需權限
- 影響範圍:僅影響 `docs/` 下的權限盤點文件;本版本線尚未驗收,不進主分支;不涉及後端同步、無破壞性變更
- 公告短文:本版整理外部導入渠道的權限需求,供對接與稽核使用。
- 新增列印序號產生邏輯,依前綴加流水號遞增
- 匯出服務改用獨立匯出域名
- 影響範圍:`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 的份數功能交叉同一函式,合併時逐側比對保留雙方能力;功能分支全程留在本地;不涉及後端同步、無破壞性變更
- 公告短文:本版批量列印會略過已停用的倉庫,並保留份數設定。
-8
View File
@@ -1,8 +0,0 @@
# 外部導入渠道權限清單(7.2.0.3 線專屬)
本檔僅存在於 7.2.0.3 版本線,用於外部渠道導入的權限盤點;其他版本線不含此檔。
| 渠道 | 需要的權限 | 備註 |
| --- | --- | --- |
| 渠道 A | 訂單讀取、庫存查詢 | 僅在 7.2.0.3 線內生效 |
| 渠道 B | 訂單讀取 | 僅在 7.2.0.3 線內生效 |
+7
View File
@@ -0,0 +1,7 @@
# 批量列印規格補述(合規協作批)
本檔由第二位開發者在本地功能分支完成後、隨版本分支一併推送,用於補述批量列印的行為契約。
- 份數:每個倉庫展開的列印工作份數,預設 1 份。
- 停用倉庫:已停用的倉庫不列入列印工作。
- 遠端可見性:功能分支不推遠端,遠端只感知版本分支與主分支的變更。
+2 -2
View File
@@ -9,5 +9,5 @@ export const APP_NAME = "game-admin";
/** 目前對外公告的版本號 */
export const APP_VERSION = "2.0.0.0";
/** 匯出服務端點(示範例外直進主分支的參數配置) */
export const EXPORT_ENDPOINT = "https://api.example.com/export";
/** 匯出服務端點(版本分支改用獨立匯出域名) */
export const EXPORT_ENDPOINT = "https://export.example.com/api";
+18
View File
@@ -0,0 +1,18 @@
/**
* 列印序號模組(沙盤推演示意)
*/
/** 列印序號設定 */
export interface PrintSequence {
/** 序號前綴 */
prefix: string;
/** 目前流水號 */
current: number;
}
/**
* 產生下一個列印序號
* @param seq - 目前序號設定
* @returns 遞增後的新序號字串
*/
export const nextSequence = (seq: PrintSequence): string => `${seq.prefix}${seq.current + 1}`;
+28
View File
@@ -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 })));
+4 -2
View File
@@ -11,8 +11,10 @@ export interface ReceiptTemplate {
templateId: string;
/** 版型:熱感紙或 A4 */
layout: ReceiptLayout;
/** 模板標題,顯示於票據頂部 */
headerText: string;
/** 模板標題,顯示於票據頂部;留空則帶入門店名稱(熱感紙版型需有值) */
headerText?: string;
/** 票據頁尾文字,顯示於票據底部 */
footerText: string;
}
/** 依版型查詢可用模板 */
+22
View File
@@ -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");
+20
View File
@@ -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;