AI 審批簽核系統與整合
為了保障企業核心數據的安全與合規性,AI GO 內建了強大的「審批簽核系統(Approvals)」。這套系統能與底層資料庫表緊密連動,攔截未經核准的變更,並支援開發者在 Custom App 與外部 API 中呼叫整合。
1. 簽核系統的運行原理
在傳統 ERP 中,新增一筆請假單、銷售單或會計憑證後,資料會立即寫入資料庫生效。但在 AI GO 中:
- 寫入攔截 (Interceptor):當管理員為某個資料表啟用簽核流程後,同仁或 API 寫入該資料時,後端會自動攔截,資料會保持為「Pending(待審核)」狀態。
- 合格審核人派單:系統會根據簽核流程中定義的規則,自動推導並向合格審核人(Approvers)發送待簽核通知,並產生關聯的
ApprovalRequest。 - 最終核准回調 (Callback):只有當所有關卡的合格審核人都點選「核准」後,系統才會在後端自動執行回調動作,正式更新底層的資料表(如將銷售訂單狀態變更為「已確認」並自動連動會計開票與扣減庫存);若其中任一關卡駁回,資料則會退回為草稿或拒絕狀態。
2. 簽核流程的建立與配置 (Workflow)
管理同仁可以在全局主控台設定租戶專屬的簽核流程。
- 進入路徑:點選左側導覽列中「組織與存取控制」分區下的「審批流程設定」。
配置步驟
- 指定目標對象 (Target Model):選擇要套用簽核流程的底層資料表(例如銷售訂單
sale.order、請假單hr.leave、進項帳單account.move等)。注意:一筆資料表同時僅能啟用一個 Workflow。 - 設定觸發條件 (Condition):可設定特定條件下才觸發簽核(例如:金額大於 100,000 元的採購單才需要主管簽核)。
- 規劃簽核關卡 (Stages):按順序建立多個簽核關卡(如第一關:部門經理;第二關:財務總監)。每個關卡可設定是否為「必要關卡(Is Required)」與「簽核類型(如單人核准即可,或多人會簽)」。
- 定義合格審核人規則 (Rules):為每個關卡指定具體的審核人資格,系統支援三種規則:
- 指定具體使用者 (User):指定特定的同仁帳號為審核人。
- 指定角色 (Role):指派具備特定安全權限或職務角色的所有同仁(如所有財務主管)。
- 動態部門主管 (Department Leader):動態根據「申請人的部門主管」進行派單,並能設定往上追溯的層級。
3. Custom App 與 API 簽核整合
AI GO 簽核系統的一大特色是:它不只在主系統 Dashboard 運行,還能完全無縫地融入您為日常同仁開發的 Custom App 與外部系統 API 中。
在 Custom App 中整合
- 待簽核清單 (Pending List):主管登入日常營運 Custom App 後,若有待其審批的項目,系統會於側邊欄或工作區顯眼處提示「待我簽核」清單。
- 簽核面板元件 (ApprovalPanel):開發者可以在 Custom App 的詳細資料頁面中嵌入內建的
ApprovalPanel元件。審核同仁可直接在該元件中查看歷史簽核軌跡、輸入簽核意見(Comment),並一鍵點擊「核准(Approve)」或「駁回(Reject)」,不需切換到後台 Dashboard。
透過 API 整合呼叫
對於人類開發者或外部系統,AI GO 提供了一組簡潔的 API 端點,用以完整整合簽核機制:
- 查詢最新簽核狀態:
GET /api/v1/approvals/record/{res_model}/{res_id}取得特定記錄(如某張請假單的 UUID)的簽核狀態。若已有發起簽核,會回傳包含每一關卡的狀態、審查人名稱、簽核意見與審查時間明細。 - 執行核准:
POST /api/v1/approvals/{request_line_id}/approve傳入簽核明細行的 ID 與簽核意見,執行核准。系統會自動驗證當前呼叫 API 的使用者是否為該關卡的合格審核人。若為最後一關核准,會自動執行核准回調。 - 執行駁回:
POST /api/v1/approvals/{request_line_id}/reject駁回簽核。原始記錄將會被自動重設為草稿狀態,可供同仁修改後重新送審。 - 回調手動重試:
POST /api/v1/approvals/{request_id}/retry當簽核已全數通過,但因為外部資料庫連線等突發問題導致回調失敗時,管理員可透過此 API 手動重試該回調動作,排除維運異常。