feat/workday-schedule-cpm/main #79

Merged
admin merged 2 commits from feat/workday-schedule-cpm/main into master 2026-09-22 06:54:33 +00:00
Member

摘要

將排程改為工作日計算,並在同一份計畫結果中提供 CPM 與 PERT 資料。

需求議題

無;本工作包直接來自工作包議題 #76。

工作包議題

#76 工作日排程與關鍵路徑計算

變更內容

  • 以政府資料開放平臺的行政機關辦公日曆 CSV 排除年度假日與週末。
  • 快取年度假日集合;日曆來源失敗時警告並退回週末排程。
  • 由同一計畫計算 ES、EF、LS、LF、浮時與關鍵路徑。
  • 支援三點估算並產出工作包及專案 PERT 期望值、變異數與標準差。

設計重點

  • 使用內建 fetch 取得資料集 metadata 與年度 CSV,不增加外部套件。
  • dueDate 維持既有結束日不含工期的契約;CPM 使用相同工作日模型。
  • 失敗 fallback 只移除年度假日集合,不改變週末排除規則。

解決的問題

原排程以日曆日累加,會把週末與台灣行政機關假日算進工期,且沒有 CPM/PERT 統計。現在可從同一計畫產出甘特、CPM 與 PERT 所需資料。

影響的功能

scripts/schedule.js 的計畫檔排程輸出新增工作日日期、CPM、關鍵路徑與 PERT 欄位;既有 dueDate、days、拓撲順序與循環相依錯誤契約保留。

測試結果

  • node --test test/schedule.test.js:17 個測試全部通過。
  • node --check scripts/schedule.js:通過。
  • node --check test/schedule.test.js:通過。
  • env -u TEA_SDLC_CALENDAR_URL node scripts/schedule.js --plan-file .tmp/real-calendar-plan.json:以官方日曆資料完成 smoke test,輸出 2026-09-30 截止日。
  • npm test:既有 test/install-verify.test.js 的 PATH 環境測試失敗;排程測試仍全部通過,失敗與本次變更無關。
## 摘要 將排程改為工作日計算,並在同一份計畫結果中提供 CPM 與 PERT 資料。 ## 需求議題 無;本工作包直接來自工作包議題 #76。 ## 工作包議題 [#76 工作日排程與關鍵路徑計算](https://gitea.jsc.idv.tw/plugins/tea-sdlc/issues/76) ## 變更內容 - 以政府資料開放平臺的行政機關辦公日曆 CSV 排除年度假日與週末。 - 快取年度假日集合;日曆來源失敗時警告並退回週末排程。 - 由同一計畫計算 ES、EF、LS、LF、浮時與關鍵路徑。 - 支援三點估算並產出工作包及專案 PERT 期望值、變異數與標準差。 ## 設計重點 - 使用內建 `fetch` 取得資料集 metadata 與年度 CSV,不增加外部套件。 - `dueDate` 維持既有結束日不含工期的契約;CPM 使用相同工作日模型。 - 失敗 fallback 只移除年度假日集合,不改變週末排除規則。 ## 解決的問題 原排程以日曆日累加,會把週末與台灣行政機關假日算進工期,且沒有 CPM/PERT 統計。現在可從同一計畫產出甘特、CPM 與 PERT 所需資料。 ## 影響的功能 `scripts/schedule.js` 的計畫檔排程輸出新增工作日日期、CPM、關鍵路徑與 PERT 欄位;既有 `dueDate`、`days`、拓撲順序與循環相依錯誤契約保留。 ## 測試結果 - `node --test test/schedule.test.js`:17 個測試全部通過。 - `node --check scripts/schedule.js`:通過。 - `node --check test/schedule.test.js`:通過。 - `env -u TEA_SDLC_CALENDAR_URL node scripts/schedule.js --plan-file .tmp/real-calendar-plan.json`:以官方日曆資料完成 smoke test,輸出 2026-09-30 截止日。 - `npm test`:既有 `test/install-verify.test.js` 的 PATH 環境測試失敗;排程測試仍全部通過,失敗與本次變更無關。
jiantw83 added 2 commits 2026-09-22 06:44:03 +00:00
以政府辦公日曆排除年度假日,並由同一份計畫計算工作日日期、浮時、關鍵路徑與 PERT 統計。
覆蓋週末、年度假日、日曆 fallback、三點估算、關鍵路徑與循環相依。
admin approved these changes 2026-09-22 06:54:29 +00:00
admin merged commit 280657573c into master 2026-09-22 06:54:33 +00:00
admin deleted branch feat/workday-schedule-cpm/main 2026-09-22 06:54:33 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/tea-sdlc#79