[工作包 B] 工作日排程與關鍵路徑計算 #76

Closed
opened 2026-09-22 06:09:06 +00:00 by jiantw83 · 0 comments
Member

這個工作包在做什麼

將排程改為工作日計算,並產出 PERT 與關鍵路徑所需的時程資料。

描述

擴充 scripts/schedule.js:跳過週末與台灣行政機關辦公日曆表假日,從政府資料開放平臺以內建 fetch 取得並快取年度資料;抓取失敗時只跳過週末並警告。由同一計畫檔計算工作包早晚時程、浮時、關鍵路徑、PERT 期望值與變異數。

架構圖

JSON 計畫檔 → schedule.js → 工作日排程/PERT/CPM 結果 → 甘特圖、PERT 圖、關鍵路徑圖。

範圍邊界

只處理排程計算與假日快取;不建立 Gitea 工作包、不修改 Milestone/看板、不產生 HTML/SVG/preview。

介面契約

介面 產出者 消費者 形狀
計畫檔 /sdlc-analyze schedule.js startDate、workPackages[{index,title,days,depends}]
排程結果 schedule.js issue-update.js、文件產出流程 工作日日期、ES/EF/LS/LF、浮時、關鍵路徑、PERT 統計
假日快取 政府資料開放平臺 schedule.js 年度非工作日集合;不可用時週末 fallback

待辦

  • 將日曆日計算改為跳過週末與年度假日。
  • 以內建 fetch 取得並快取政府資料開放平臺的台灣辦公日曆表。
  • 實作資料抓不到時只跳週末並印出警告。
  • 在同一計畫資料上計算 ES、EF、LS、LF、浮時與關鍵路徑。
  • 計算 PERT 期望工期、變異數、專案期望值與標準差。
  • 更新測試覆蓋週末、假日、fallback、三點估算、關鍵路徑與循環相依。

整體驗收

  • 排程結果不把週末或已知台灣假日算作工作日。
  • 假日來源可快取;來源不可用時輸出警告且仍能完成週末排程。
  • 甘特、PERT、CPM 可共用同一計畫檔結果,並正確處理相依與浮時。

repo 列表

  • plugins/tea-sdlc

關聯

可與 A、G 平行;C 依賴本包的排程契約。起始日採 2026-09-22,O/M/P 為 3/4/7 人天。
估算人天:4

## 這個工作包在做什麼 將排程改為工作日計算,並產出 PERT 與關鍵路徑所需的時程資料。 ## 描述 擴充 `scripts/schedule.js`:跳過週末與台灣行政機關辦公日曆表假日,從政府資料開放平臺以內建 `fetch` 取得並快取年度資料;抓取失敗時只跳過週末並警告。由同一計畫檔計算工作包早晚時程、浮時、關鍵路徑、PERT 期望值與變異數。 ## 架構圖 JSON 計畫檔 → `schedule.js` → 工作日排程/PERT/CPM 結果 → 甘特圖、PERT 圖、關鍵路徑圖。 ## 範圍邊界 只處理排程計算與假日快取;不建立 Gitea 工作包、不修改 Milestone/看板、不產生 HTML/SVG/preview。 ## 介面契約 | 介面 | 產出者 | 消費者 | 形狀 | | --- | --- | --- | --- | | 計畫檔 | `/sdlc-analyze` | `schedule.js` | `startDate`、`workPackages[{index,title,days,depends}]` | | 排程結果 | `schedule.js` | `issue-update.js`、文件產出流程 | 工作日日期、ES/EF/LS/LF、浮時、關鍵路徑、PERT 統計 | | 假日快取 | 政府資料開放平臺 | `schedule.js` | 年度非工作日集合;不可用時週末 fallback | ## 待辦 - [x] 將日曆日計算改為跳過週末與年度假日。 - [x] 以內建 `fetch` 取得並快取政府資料開放平臺的台灣辦公日曆表。 - [x] 實作資料抓不到時只跳週末並印出警告。 - [x] 在同一計畫資料上計算 ES、EF、LS、LF、浮時與關鍵路徑。 - [x] 計算 PERT 期望工期、變異數、專案期望值與標準差。 - [x] 更新測試覆蓋週末、假日、fallback、三點估算、關鍵路徑與循環相依。 ## 整體驗收 - [x] 排程結果不把週末或已知台灣假日算作工作日。 - [x] 假日來源可快取;來源不可用時輸出警告且仍能完成週末排程。 - [x] 甘特、PERT、CPM 可共用同一計畫檔結果,並正確處理相依與浮時。 ## repo 列表 - `plugins/tea-sdlc` ## 關聯 可與 A、G 平行;C 依賴本包的排程契約。起始日採 2026-09-22,O/M/P 為 3/4/7 人天。 估算人天:4
jiantw83 added the ready-for-agent label 2026-09-22 06:09:06 +00:00
jiantw83 added a new dependency 2026-09-22 06:10:25 +00:00
jiantw83 added a new dependency 2026-09-22 06:10:25 +00:00
jiantw83 added the due date 2026-09-26 2026-09-22 06:11:04 +00:00
jiantw83 self-assigned this 2026-09-22 06:30:45 +00:00
jiantw83 added the 進行中 label 2026-09-22 06:30:46 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
2026-09-26
Reference: plugins/tea-sdlc#76