跳轉到

程式資訊

  • 程式 IDALERTRULE
  • 所屬子系統:M.主管資訊
  • 狀態:stable

警示規則維護

集中維護系統各類主動警示信的門檻、收件人、啟用開關與抑制時數。警示信本身由排程作業在背景自動判定並寄出——本頁只負責「設定要不要發、發給誰、多嚴重才發」。主要使用者為財務、業務主管與系統管理員。

目前支援四種警示類型:

警示類型(代號) 觸發條件 信件內容摘要
應收逾期帳款AR_OVERDUE 未沖應收單逾期超過門檻天數(預設 30 天) 客戶/單號/到期日/逾期天數/未沖金額與合計
票據到期CHECK_DUE 未來 N 天內(預設 7 天)到期的收票/付票 票別/票號/到期日/金額,收付票分組呈現
金流預測跌破警戒FLOWCAST_BREACH 金流預測累計淨額首次跌破資金警戒線 首次跌破月/警戒線/最低累計淨額/逐月累計簡表
安全庫存SAFETYSTOCK 庫存低於品號安全量(既有功能,行為不變) 低於安全量的品號清單
供應商協同逾期POCOLLAB_OVERDUE 供應商協同已發送、供應商在期限內(到期前 N 天,預設 3)未回覆 逾期的採購單號/供應商/發送日/到期日,寄給當初發送的採購人員

警示信怎麼寄出去

本頁只是「規則設定」。真正判定與寄信是由 server 上的排程作業(TsERP.SchedulerWorker 與 AutoPilot)依行事曆事件觸發後執行,經 Mailgun 郵件佇列寄出。排程掛法、抑制視窗實際行為、失敗排查請見 排程作業 → 警示通知

前置需求

  • 權限:可開啟 主管資訊 → 警示規則維護(主選單代號 M-A1
  • 前置設定:
    • 對應的警示排程事件已在行事曆建立並設好觸發時間(見排程作業
    • 若收件人欄留空,行事曆事件的「通知帳號」須填有效 Email
    • 金流預測跌破警示須先能正常產出金流預測資料

操作步驟

本頁版面為上方工具列 + 中間規則清單(唯讀格線)+ 下方編輯表單。一種警示類型維護一列規則。

  1. 從主選單開啟 主管資訊 → 警示規則維護。開窗後系統自動載入現有規則清單。

    警示規則維護開窗畫面

  2. 若清單為空或想重新載入,點工具列 查詢 按鈕。

  3. 新增一條規則:點 新增,下方編輯表單會帶出一列空白規則,預設警示類型 = SAFETYSTOCK、通知通道 = MAIL、抑制視窗小時 = 24

  4. 在編輯表單設定各欄位(參見欄位說明):

    1. 警示類型 下拉選要設定的類型(四選一)
    2. 是否啟用Y(啟用)或 N(停用)
    3. 門檻參數 填入該類型對應的 JSON(格式見門檻參數 JSON
    4. 收件人 填 Email(多筆以分號 ; 隔開);留空則沿用該警示對應行事曆事件的「通知帳號」
    5. 需要時調整 抑制視窗小時、填 備註
  5. 儲存。系統顯示儲存成功後,清單會反映最新內容。

    警示規則編輯表單

  6. 要停發某類警示:選取該列,把 是否啟用 改為 N儲存(保留設定);或選取後點 刪除 整列移除。

一種類型只需一列

同一警示類型建議只維護一列規則。收件人與門檻是綁「警示類型」而非綁排程事件,因此同一警示即使排了多個時段觸發,也只需在這裡維護一份設定。

欄位說明

欄位 必填 格式 說明
警示類型 下拉四選一 SAFETYSTOCKAR_OVERDUECHECK_DUEFLOWCAST_BREACH
是否啟用 Y / N 下拉 Y 才會被排程判定並寄信;N 保留設定但不發
門檻參數 視類型 JSON 文字 各類型可用鍵見下節。空白或非法 JSON 時各門檻套用預設值
收件人 Email,多筆用 ; 分隔 留空則退回行事曆事件「通知帳號」
通知通道 下拉 目前僅 MAIL(Email)。LINE 通道保留待後續
抑制視窗小時 整數 同內容不重寄的時間窗,預設 24(小時)
備註 文字 自由說明,例如「僅發財務部」
修改時間 唯讀 清單顯示,系統自動維護

門檻參數 JSON

門檻參數是一段 JSON 物件,鍵為中文、值為數字或布林。各警示類型可用的鍵不同——請照下表使用,不要自創鍵名(未認得的鍵會被忽略、對應門檻套預設值)。

型別 預設 說明
逾期天數 整數 30 到期日已過超過此天數的未沖應收才列入

範例:

{"逾期天數":30}
型別 預設 說明
提前天數 整數 7 撈「今天起 N 天內到期」的票據
含收票 布林 true 是否納入應收票據(收票 NR)
含付票 布林 true 是否納入應付票據(付票 NP)

範例(只提醒付票、提前 10 天):

{"提前天數":10,"含收票":false,"含付票":true}
型別 預設 說明
警戒線 數字 無(必填) 累計淨額低於此金額即視為跌破

範例:

{"警戒線":1000000}

警戒線是必填

金流跌破警示的 門檻參數必須設 警戒線,否則排程判定會略過該規則、不發任何信。此數值即金流預測畫面上的「資金警戒線」;在此設定後即可持久保存(不再需要每次開窗手填)。

安全庫存警示的門檻是逐品號設定在庫存主檔的安全量,不使用本頁的門檻參數;收件人也沿用行事曆事件的「通知帳號」。此類型的規則列可維持既有設定,行為不變。

JSON 格式要求

  • 一律使用半形雙引號 ",不可用全形引號或單引號
  • 鍵名為中文,值為數字(不加引號)或 truefalse
  • 整段是一個 { } 物件;格式錯誤時系統會安全地略過該門檻並套用預設值(不會中斷其他規則)

抑制視窗與重寄規則

為避免同一警示反覆轟炸,排程在寄信前會對「警示內容」計算指紋並比對近期紀錄:

  • 同內容、抑制視窗(預設 24 小時)內 → 靜音不重寄
  • 內容有變(例如逾期名單多了一張單、票據清單有增減)→ 指紋改變,照常再通知
  • 金流跌破警示只通知首次跌破:以「首次跌破月 + 警戒線」為指紋維度;只要這兩者沒變就不重寄,跌破月往前/往後移或警戒線調整才會再發

詳細機制與排程掛法見 排程作業 → 警示通知

常見問題

設定完了為什麼沒收到警示信?

依序檢查:

  1. 是否啟用 是否為 Y
  2. 對應的排程事件是否已在行事曆建立且到觸發時間(警示由排程觸發,不是存檔即發)
  3. 收件人是否有效;留空時行事曆事件「通知帳號」是否填了 Email
  4. 是否落在抑制視窗內(同內容 24 小時內只發一次)
  5. 金流跌破警示是否漏設 警戒線(未設會被略過)
  6. 其餘寄信面問題(Mailgun 額度、SP 是否部署)見排程作業疑難排解
第一次儲存存不了怎麼辦?

警示規則走標準上傳流程。若首次存檔失敗,多半是上傳登記(_sheetno_tableseq)尚未生效——請重新登入 ERP 後再試(與自訂查詢面板同款機制)。若正式環境剛部署,也請確認 sql\alertrule-deploy.sql 已執行。

只想暫停某類警示,不想刪掉設定?

把該列的 是否啟用 改為 N儲存 即可保留門檻與收件人,之後改回 Y 就恢復。

可以發到 LINE 嗎?

目前通知通道僅 MAIL(Email)。LINE Notify 已於 2025-03-31 終止服務,如需 LINE 通知須另行申辦 LINE 官方帳號走 Messaging API,屬後續規劃項目。

需補截圖清單

需補截圖

以下截圖尚未拍攝,請於對應步驟補上,放置於 docs/M-EIS/images/

  • alert-rule-step1.png — 警示規則維護開窗、規則清單載入畫面(步驟 1)
  • alert-rule-step4.png — 下方編輯表單,含警示類型下拉與門檻參數 JSON 輸入(步驟 4)

相關功能