專案

一般

配置概況

動作

Feature #1257

進行中

[Branch後台] 增加充電群組設定功能

是由 陳國瑋3 個月 前加入. 於 約 2 個月 前更新.

狀態:
In Progress
優先權:
Normal
被分派者:
開始日期:
2026-03-05
完成日期:
完成百分比:

0%

預估工時:

概述

任務:

增加充電群組設定功能API

以下為此任務的描述。

  1. 增加一個完整的充電群組CRUD功能。所謂充電群組即假設一棟社區,台電為這社區拉了三條大電,每一條的最大供電量為99KW。而為了供電平衡,會將社區內所有的充電樁指定一個充電群組。此即充電群組。
  2. 目前已經有e_charge_group以及相關table。
  3. e_charge_group.id也已實際套用至e_connector。
  4. 雖已實際套用,但實際上尚未為「充電群組」開發後台的管理功能。

是由 陳國瑋約 2 個月 前更新

  • 主旨[Branch後台] 為Connector新增充電群組設定 變更為 [Branch後台] 增加充電群組設定功能
  • 概述 已更新 (差異)

是由 陳國瑋約 2 個月 前更新

是由 陳國瑋約 2 個月 前更新

=== 交棒給 Ryan(前端實作)===

■ 實作分支:feature/redmine-1257-charge-group-api-private
■ 測試環境:http://kh.sylksoft.com:18081(已部署最新版本)

■ 已完成的後端 API:

Charge Group CRUD:

  • GET /api/charge-group/list (列表)
  • GET /api/charge-group/info/{id} (單筆)
  • POST /api/charge-group/upsert (新增/更新同一支)
  • DELETE /api/charge-group/delete/{id} (刪除,已實作保護不可刪除已使用的 group)

Connector.chargeGroup 驗證:

  • POST /api/connector/create:chargeGroup 必填,未帶回 400
  • POST /api/connector/update:省略 chargeGroup 欄位會保留原值
  • GET /api/common/options/charge_group(下拉選單用)

是由 陳國瑋約 2 個月 前更新

■ 前端實作重點(Ryan 請注意):

  1. ChargeGroupDto 格式(POST/PUT body):
    {
    "id": "CG001",
    "contractCapacity": 99.0,
    "allocatedPower": 50.0
    }
    => id 在建立時填寫,更新時不需帶
    => rotationCycleActive、reservedSlots 等為唯讀,請勿放進編輯表單

  2. 刪除保護:刪除前建議顯示「已有 N 個 connector 掛在此 group」的提示
    若強行刪除,API 會回 HTTP 400

  3. Connector.update 時 chargeGroup 行為:
    => 若使用者沒改 chargeGroup,前端不用帶 chargeGroup 欄位,後端保留原值
    => 若有改,帶新值送出即可

  4. 請記得 Authorization header,API 需登入 ADMIN 權限

■ 已通過 E2E 測試(共 15 條全數通過)
詳細內容與 API 文件請見 GitLab MR。

是由 陳國瑋約 2 個月 前更新

  • 狀態New 變更為 In Progress

是由 陳國瑋約 2 個月 前更新

【更正/補充說明 - Ryan 請一併閱讀】

■ 新增一支 API:
GET /api/charge-group/connector-count/{id}
=> 回傳格式:{"chargeGroupId": "CG001", "connectorCount": 3}
=> 用途:刪除前顯示「已有 N 個 Connector 掛在此 group」的提示
=> 不存在的 CG 回 404

■ 完整 API 列表(修正版):

功能 API 路徑 Method
查詢列表 /api/charge-group/list GET
查詢單筆 /api/charge-group/info/{id} GET
新增/更新 /api/charge-group/upsert POST
刪除 /api/charge-group/delete/{id} DELETE
查詢使用中數量 /api/charge-group/connector-count/{id} GET

■ 修正說明:
前次回覆描述的 API ID(A1210~A1214)與實際 Controller 路由不符,正確對照如下:
A1215 = /api/charge-group/list(GET)
A1212 = /api/charge-group/info/(GET)
A1216 = /api/charge-group/upsert(POST)
A1214 = /api/charge-group/delete/
(DELETE)
A1217 = /api/charge-group/connector-count/*(GET)← 新增

patch SQL 已同步修正。

是由 陳國瑋約 2 個月 前更新

  • 被分派者陳國瑋 變更為 鍾正剛

是由 陳國瑋約 2 個月 前更新

api已完成。

是由 鍾正剛約 2 個月 前更新 · 已被編輯

已完成前端開發,branch: feature/issue-1257-charge-group-management.

實作內容:

  • 新增充電群組管理 CRUD 頁面(列表/新增/編輯)
  • 刪除前呼叫 connector-count API 顯示使用中 Connector 數量提示
  • Connector 表單新增供電群組下拉選單欄位
  • 更新 OpenAPI schema(含新增 connector-count endpoint)
動作

匯出至 Atom PDF