需求單生命週期

CallIT 需求單的 4 狀態流轉模型:APPLYINGPROCESSINGCOMPLETED / REJECTEDREJECTED 可由 IT 重啟回 APPLYING。每個狀態變更觸發 Email 通知 + Audit Log。

4 狀態

狀態中文觸發條件
APPLYING申請中任何人都可建立;IT 也可從 REJECTED 重啟回此狀態
PROCESSING處理中IT 編輯並指派「處理人員」時自動切換
COMPLETED已完成「處理人員」為空且點選「完成」時,擷取當前 IT 人員,強制轉為此狀態
REJECTED退回IT 主動退回(非終態,可再 reopened 為 APPLYING)

狀態流轉圖

flowchart LR
    A[新建] --> APPLYING
    APPLYING --> PROCESSING[PROCESSING<br/>IT 接單]
    PROCESSING --> COMPLETED
    PROCESSING --> REJECTED
    APPLYING --> REJECTED
    REJECTED -.IT 重啟.-> APPLYING

唯一終態COMPLETEDREJECTED 是中間態,IT 視情況可重啟讓需求進新一輪審理。

重啟規則(REJECTED → APPLYING)

只有 IT 角色可執行重啟:

  • 入口:需求單詳細頁,狀態為 REJECTED 時顯示「重啟」按鈕
  • 必填:填寫重啟原因(寫進 歷史異動日誌
  • 副作用:
    • 狀態 → APPLYING
    • Email 通知申請人「您的需求單已重啟,請等待 IT 接單」
    • audit log 寫一筆 action: reopen,紀錄 operator + reason
  • 限制:無次數上限;重啟後可再次 → PROCESSING / REJECTED / 重啟,形成循環

業務情境例子:

  • IT 退回後,申請人補齊資料 → IT 確認資料齊全後重啟
  • 退回理由是「廠商缺貨」、後來貨到 → IT 重啟繼續處理
  • 誤按退回 → IT 立刻重啟還原

角色與權限

動作User行政主官管IT
建立 APPLYING
代申請(為他人建單)
編輯並接單(→ PROCESSING
退回(→ REJECTED
重啟(REJECTEDAPPLYING
完成(→ COMPLETED
刪除

動態表單(依需求類別)

申請時須選需求類別:「一般事務」、「權限申請」、「資產轉移」、「設備修繕」等。

選了資產轉移 / 設備修繕 → 前端動態展開「資產編號」欄位為強制必填,後端 schema 同步驗證。

選了**「申請/修改大洋系統權限」** → 前端自動帶入預設文字範本。

簽核 / 會簽

v1 不做。 業務評估後決定 CallIT 重生計畫第一版不引入簽核或會簽機制——所有需求單一進系統就是「IT 處理」單軌流程,不經過第二人核可。

未來若要加:

  • 簽核會在 APPLYINGPROCESSING 之間插入新狀態(如 PENDING_APPROVAL
  • 影響:五層式架構service.transition_state() 邏輯、權限矩陣、狀態流轉圖
  • 屬於 v2 範圍,本版不規劃

不在 CallIT 範圍

新進同仁臨時帳號處理:業務確認不走 CallIT——HR 或 IT 直接以口頭 / 內部通訊處理,CallIT 不負責此流程。CallIT 系統 §「新增功能」中的「新進同仁帳號創建進度顯示」是唯讀資訊面板(從 MSSQL 讀進度),不是申請入口。

Email 通知

每次狀態變更(4 個狀態 + 重啟動作都會)寄信給:申請人 + IT 群組。

觸發收件人主旨例
→ APPLYING(新建)申請人 + IT「您的需求單已建立」
→ PROCESSING申請人「IT 已接單,處理中」
→ COMPLETED申請人「需求單已結案」
→ REJECTED申請人「需求單退回,原因:…」
REJECTED → APPLYING(重啟)申請人「您的需求單已重啟」

規則實作位置

五層式架構 — 所有狀態流轉規則(含重啟)寫在 service/ 層,不在 api 也不在 model

相關概念

強連結(原文明確提及 / 業務確認)

深入閱讀

← 回到 wiki