專案

一般

配置概況

討論 #1486

是由 陳國瑋 於 27 天 前更新

## 目的 

 定義 Backend Admin Dashboard「即時關鍵指標」區塊的顯示內容、資料來源、計算邊界、更新方式與異常狀態。V1 僅呈現既有資料,不新增預測、告警、派工或任何作業邏輯。 

 ## Mock 現況(全部為展示假資料) 

 目前工作版有六張 KPI card: 

 1. Charge Point 在線。 
 2. Connector 可服務。 
 3. 正在充電。 
 4. 等待供電。 
 5. 今日累積電量。 
 6. 本月預估電費。 

 上述名稱、公式與數值尚未全部確認,不能直接視為最終需求或 A17 現況。 

 ## 已知約束 

 - Dashboard 必須適用所有案場;A17 只作第一個資料與效能驗證基準。 
 - CP connection、Connector runtime、Queue state 必須分層,不能互相覆寫。 
 - null 代表未知,不得以 0 冒充。 
 - 案場日期與「今日」以 building timezone 計算。 
 - V1 read-only,不調整 OCPP、Queue、rotation、結算或排程行為。 
 - 「本月預估電費」目前沒有已確認的 forecast 公式、資料完整度與誤差語意;在確認前不得進入 final specification。 
 - KPI 的即時更新應沿用 #1424 已確認的 REST bootstrap/WebSocket replacement 架構,不為每張卡建立獨立連線。 

 ## KPI-DEC-001:第六張 KPI 改為「上月電費」,金額語意待確認 第一個建議決策 

 **狀態:項目已確認、計算定義待確認(2026-09-04,Ken)** 移除未定義的「本月預估電費」,改為「今日已完成充電 Sessions」: 

 ### 已確認 

 - 移除 mock 原有「本月預估電費」。 使用 #1461 已確認的 valid session 規則:COMPLETED 且 energy_consumed > 0。 
 - 第六張 KPI 不改成「今日已完成充電 Sessions」,改為「上月電費」。 依 building timezone 的交易開始日歸屬今天。 
 - V1 不新增當月費用 forecast 或其他預測邏輯。 ACTIVE session 不計入此卡;目前進行中的數量由「正在充電」另行呈現。 
 - Mock 先顯示「上月電費/—/金額來源定義中」,避免在公式確認前沿用 8,920 元假裝已有定義。 顯示既有事實統計,不做費用預測。 

 ### 程式碼與 schema 事實 此項尚待 Ken 確認。 

 目前存在三種不同金額語意: 

 1. e_bill_settlement.cost_predict:每門牌月結算金額,包含用量費與 private/public basic charge,另有 bill_status 與 calculation_status。 
 2. e_connector_settlement.fee:每個 Connector/idTag 的月應收費用,不等同門牌帳單合計。 
 3. InvoiceReportDataDto.totalFee:由 Connector settlement fee 加總的請款報表金額,另有 invoice status 與 calculation_status。 

 因此「上月電費」不能只憑欄位名稱選任一 SUM,必須先確認要顯示應收、已收,或 Connector 請款金額。 

 ### A17 唯讀彙總基準(2026-09-04 查詢) 

 前一日曆月為 2026/08: 

 - e_bill_settlement:11 筆,cost_predict 合計 9,533.63 元。 
 - 其中 COMPLETE 10 筆/8,983.75 元,ERROR 1 筆/549.88 元。 
 - e_connector_settlement:12 筆,fee 合計 2,262.15 元;其中 1 筆 calculation_status = ERROR。 
 - e_bill_invoice_status:status = draft,calculation_status = ERROR。 

 以上只包含案場彙總,未記錄門牌、住戶或交易明細。它證明 2026/08 尚不能直接當成完整、最終電費顯示。 

 ### 尚待確認的核心語意 

 - 上月「應收電費」:所有門牌帳單應收合計,不因 paid/pending 改變。 
 - 上月「已收電費」:只加總 paid,會隨付款狀態變動。 
 - 上月「Connector 請款金額」:加總 connector fee,不包含相同的門牌基本費結構。 

 必須先選定其中一種,才能定義 COMPLETE/PARTIAL/ERROR、0/null、期間欄位與 deep link。 

 ## 待確認事項 

 - [x] 第六張移除「本月預估電費」,改為「上月電費」;精確金額語意另行確認(KPI-DEC-001)。 六張 KPI 的最終保留/替換項目與固定順序。 
 - 「上月電費」採應收、已收或 Connector 請款金額。 
 - Charge Point 在線的 connection/freshness 定義。 
 - Connector 可服務的 status allowlist 與 unknown 處理。 
 - 正在充電與等待供電的精確來源/distinct 規則。 
 - 今日累積電量及今日 Sessions 的日期、有效資料與 Partial 規則。 
 - 哪些 KPI 使用 WebSocket replacement、哪些只隨 REST refresh。 
 - Empty/Partial/Error、responsive、accessibility 與 deep link。 

 ## 需求管理狀態 

 - Parent:#1422 
 - Related:#1424(REST/WebSocket)、#1460(結算流程)、#1461(30 Related:#1424(REST/WebSocket)、#1461(30 日充電用量)、#1463(需留意事項) 
 - Requirement status:討論中;第六張選用「上月電費」已確認,金額語意待確認 status:討論中;尚無已確認 KPI 決策 
 - Final specification:所有 Dashboard 區塊確認後整併至 #1422 
 - Implementation tickets:需求鎖定後才建立 FE/BE/QA child issues 

返回