iT邦幫忙

2026 iThome 鐵人賽

DAY 10
0
AI 自動化

RPA流程自動化應用系列 第 10 篇

【Day 10】 配置外部化(Config-Driven)

  • 分享至 

  • xImage
  •  

痛點:目前的 VIP 廠商名單(台積電、聯發科)與海外優先權關鍵字若直接寫死RPA裡,未來名單異動就要重新改 RPA的Workflow。
解法:在最外層讀取一個 Config.json,將比對關鍵字與規則動態載入。機器人執行時動態走查規則陣列,完全符合企業級專案的配置標準。

為了讓業務規則與流程本體解耦(Decoupling),我建了1個外部配置檔 D:\RPA\config_rules.json:

{
  "vip_applicants": [
    "台積電",
    "台灣積體電路",
    "聯發科",
    "台達電子",
    "大立光"
  ],
  "foreign_priority_keywords": [
    "PCT",
    "日本",
    "美國",
    "印度",
    "US",
    "JP"
  ],
  "output_paths": {
    "high_priority": "D:/RPA/High_Priority.json",
    "review_needed": "D:/RPA/Review_Needed.json",
    "general": "D:/RPA/General.json"
  }
}

這個設定檔定義了三大維度:
VIP 申請人清單 (vip_applicants):重點監控的企業名單。
海外優先權關鍵字 (foreign_priority_keywords):判定是否為跨國進件的特徵詞。
輸出路徑 (output_paths):三向分流產出檔案的實體磁碟路徑。
RPA修改部分
在進入網頁爬取前,先以 Read Text File 讀取 config_rules.json。

  • 將 JSON 陣列直接萃取成字串陣列:
    VIP 陣列變數:vipApplicants (型態:String[])
    海外關鍵字陣列:foreignKeywords (型態:String[])
    同時將檔案輸出路徑動態讀入 pathHighPriority、pathReviewNeeded 與 pathGeneral。
  • 進入 For Each Row 迴圈後,原本寫死多個條件的判斷式,簡化成優雅的動態走查:
' VIP 廠商比對:動態走查外部清單中是否有任一關鍵字符合
isVip = vipApplicants.Any(Function(k) Not String.IsNullOrEmpty(k) AndAlso 申請人.Contains(k))

' 海外優先權比對:動態走查外部關鍵字
isForeign = foreignKeywords.Any(Function(k) Not String.IsNullOrEmpty(k) AndAlso 優先權.Contains(k))

' 賦值給 policyRoute
policyRoute = If(Not String.IsNullOrEmpty(申請人) AndAlso isVip, "High_Priority", 
              If(Not String.IsNullOrEmpty(優先權) AndAlso isForeign, "Review_Needed", "General"))

只要外部 JSON 清單內有任何一個關鍵字命中,該筆專利就會被貼上對應的策略標籤。

  • 流程尾端:輸出路徑全面綁定變數
    將結尾 3 個 Write Text File 的 FileName 欄位,從硬編碼文字替換為 pathHighPriority 等變數,達成真正的路徑全配置化。

這樣未來新增監控大廠或調整PCT關鍵字,直接修改 config_rules.json 即可立即生效,完全不需重新編譯 RPA。


上一篇
【Day 9】用 UiPath 實作專利資料多維度規則比對與分流引擎
下一篇
【Day 11】導入 Try-Catch 單筆例外隔離以防執行時出錯
系列文
RPA流程自動化應用 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言