痛點:目前的 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。
' 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 清單內有任何一個關鍵字命中,該筆專利就會被貼上對應的策略標籤。
這樣未來新增監控大廠或調整PCT關鍵字,直接修改 config_rules.json 即可立即生效,完全不需重新編譯 RPA。