From a0d62d13f1d537e84e13d8ee4d8b37b27439fa00 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 29 九月 2026 10:48:36 +0800
Subject: [PATCH] feat(finance): 对接课题经费拨付与财务报销模块

---
 docs/project-business/index.html |   76 +++++++++++++++++++++++---------------
 1 files changed, 46 insertions(+), 30 deletions(-)

diff --git a/docs/project-business/index.html b/docs/project-business/index.html
index 36d2fe7..01577a7 100644
--- a/docs/project-business/index.html
+++ b/docs/project-business/index.html
@@ -213,7 +213,7 @@
     "businessModules": 16,
     "coreObjects": 56,
     "documentFlows": 9,
-    "approvalListeners": 14,
+    "approvalListeners": 15,
     "aiCapabilities": 8,
     "wmBillTypes": 15
   },
@@ -333,20 +333,22 @@
     "杞鐢宠(hrm_regularize_application)銆佸煿璁瘉涔︾瓑浠呮湁 SQL 涓庤彍鍗曞垵濮嬪寲锛孞ava 渚� Service/Controller 鏈疄鐜�",
     "NCR 澶勭疆缁撴灉锛堣繑宸�/閫�璐э級鏈洖鍐欒Е鍙戞簮鍗曟嵁锛屼粎鍙拌处璁板綍",
     "MPS 鐘舵�佹灇涓剧嫭绔嬬紪鍙�(0/1/2/3)锛屼笌閫氱敤鍗曟嵁甯搁噺(0/1/4/5)涓嶄竴鑷�",
-    "璐㈠姟鎶ラ攢锛欱PM 鍒嗙被 finance_reimbursement_approve 涓嬪皻鏃犲凡鍙戝竷鐨勬祦绋嬪畾涔夛紙act_re_cprocdef 涓虹┖锛夛紝涓旀祦绋嬮渶鎶娿�岃嚜瀹氫箟琛ㄥ崟璺緞銆嶉厤涓� /finance/reimbursement/detail/approve/index.vue锛屽惁鍒欏墠绔�屾彁浜ゅ鎵广�嶈绂佺敤銆佸鎵逛腑蹇冪湅涓嶅埌鎶ラ攢鍗曞唴瀹广�愰渶 BPM 璁捐鍣ㄤ晶閰嶇疆銆�",
+    "璐㈠姟鎶ラ攢锛欱PM 鍒嗙被 finance_reimbursement_approve 涓嬪皻鏃犲凡鍙戝竷鐨勬祦绋嬪畾涔夛紙act_re_procdef 涓虹┖锛夆�斺�旇娴佺▼鐜板凡鏄�岃棰樼粡璐规嫧浠樿嚜鍔ㄥ缓鍗曞苟鎻愪氦銆嶇殑纭墠缃紝鏈柟妗堝凡鎵嬪啓 2 鑺傜偣 BPMN锛坉ocs/sql/finance_reimbursement_approve.bpmn锛氳储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛夊緟閮ㄧ讲锛涢儴缃插悗杩橀渶鎶娿�岃嚜瀹氫箟琛ㄥ崟璺緞銆嶉厤涓� /finance/reimbursement/detail/approve/index.vue锛坒orm_type=20锛夛紝鍚﹀垯鍓嶇銆屾彁浜ゅ鎵广�嶈绂佺敤銆佸鎵逛腑蹇冪湅涓嶅埌鎶ラ攢鍗曞唴瀹广�愰渶 BPM 璁捐鍣ㄤ晶閰嶇疆銆�",
     "璐㈠姟鎶ラ攢锛氳彍鍗曚粎鎺堜簣 super_admin锛堣秴绠$敱浠g爜鐩磋繑鍏ㄩ儴鑿滃崟锛夛紝鏅�氳鑹叉湭閰� system_role_menu锛岄潪瓒呯鐧诲綍鐪嬩笉鍒般�屾姤閿�鍗曘�嶈彍鍗曘�愬緟纭鏄惁琛ユ巿鏉冦��",
     "浼氬憳绠$悊锛氫細鍛樼鐞嗚彍鍗�(1075490~1075503)浠� super_admin 鍙锛屾櫘閫氳鑹叉湭閰� system_role_menu锛岄潪瓒呯鐧诲綍鐪嬩笉鍒颁細鍛樼鐞嗙洰褰曘�愬緟纭鏄惁琛ユ巿鏉冦��",
     "浼氬憳绠$悊锛氬鎵归�氳繃鑷姩寤虹郴缁熻处鍙风敤銆岃仈绯荤數璇濄�嶅悓鏃朵綔鐢ㄦ埛鍚嶄笌鍒濆瀵嗙爜锛岃嫢鑱旂郴鐢佃瘽涓虹┖浼氱敤瀛楅潰閲� unknown 鍏滃簳锛屽瓨鍦ㄥ急鍙d护涓庨噸鍚嶉闄┿�愬緟纭鏄惁鏀归�犮��",
     "浼氬憳绠$悊锛氳嚜鍔ㄥ缓妗d笉鎼繍 contactUser/unitIntro/expireDate锛坲ms_application 鏃犲搴斿瓧娈碉級锛屽崟浣嶄細鍛樼殑銆岃仈绯讳汉/鍗曚綅绠�浠�/鏈夋晥鏈熴�嶅彧鑳藉湪浼氬憳鍒楄〃鎵嬪伐琛ュ綍銆愬緟纭鏄惁闇�瑕佺敵璇峰崟澧炲瓧娈点��",
     "浼氬憳绠$悊锛氬崟浣嶄細鍛樼殑绛夌骇瀛楀吀 ums_unit_grade 浠呭埌銆屼細闀垮崟浣嶃��(4)锛屼絾鏍¢獙閫昏緫棰濆纭紪鐮佺姝㈠崟浣嶉�夈�岀悊浜嬮暱銆�(grade=5)鈥斺�旇鍊兼湰涓嶅湪鍗曚綅瀛楀吀鍐咃紝灞為槻寰℃�у啑浣欐牎楠屻�愬緟纭鏄惁绮剧畝銆�",
     "璇鹃绠$悊锛氫笓瀹惰瘎鍒嗘潈閲嶏紙閫夐0.3/鏂规0.3/鍥㈤槦0.2/鎴愭灉0.2锛変笌銆屽姞鏉冨潎鍒嗏墺60 涓� 澶氭暟缁撹涓烘帹鑽愮珛椤广�嶇殑閫氳繃闃堝�兼槸鍗犱綅瑙勫垯锛岄渶瀛︿細鏈�缁堢‘璁わ紱宸查泦涓负甯搁噺渚夸簬璋冩暣銆愬緟纭锛屾敼鍔ㄥ彧闇�鏀瑰父閲忋��",
-    "璇鹃绠$悊锛氫竴鏈熺粡璐规嫧浠樺彧鍦ㄦ湰妯″潡钀芥嫧娆捐褰曪紝涓庤储鍔℃ā鍧楁棤浠讳綍鏁版嵁鍚屾锛屽悓涓�绗旈挶鍦ㄤ袱澶勮褰曞瓨鍦ㄤ笉涓�鑷撮闄╋紱浜屾湡瀵规帴鏃堕渶鏄庣‘浠ュ摢渚т负鍑嗐�愬緟纭銆�",
+    "璇鹃绠$悊锛氱粡璐规嫧浠樺凡瀵规帴璐㈠姟鎶ラ攢锛�1:1 鐢熸垚 finance_reimbursement 骞惰嚜鍔ㄦ彁浜ゅ鎵癸級锛屼絾鍙拌处涓庢姤閿�鍗曟槸杞叧鑱旓紙鏃犲閿紝浠呴潬 reimbursement_id锛夛紝璐㈠姟渚х洿鎺ュ垹闄ゆ姤閿�鍗曚細鐣欎笅鍙拌处鐨勬偓绌� reimbursement_id锛涘凡鐢� FUND_REIMBURSEMENT_NOT_EXISTS 绮剧‘鎻愮ず鍏滃簳锛屼笉鍋氭暟鎹簱绾х害鏉熴�愬凡鎺ュ彈鐨勯闄┿��",
+    "璇鹃绠$悊锛氭柊寤虹殑璐㈠姟鎶ラ攢瀹℃壒娴佺▼ finance_reimbursement_approve 涓� 2 鑺傜偣锛堣储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛夛紝鑺傜偣榛樿瀹℃壒浜虹瓥鐣ヤ负銆岃鑹� = 瓒呯骇绠$悊鍛�(1)銆佷緷娆″鎵广�嶏紱涓婄嚎鍓嶉渶鍦� BPM 璁捐鍣ㄤ腑鎸夊浼�/璐㈠姟瀹為檯瀹℃壒浜鸿皟鏁达紝鍚﹀垯璇ヨ鑹蹭笅澶氱敤鎴蜂細鍙樻垚閫愪汉浼氱銆愮幆澧冮厤缃」锛岄潪浠g爜缂洪櫡銆�",
+    "璇鹃绠$悊锛氱粡璐规嫧浠樺彴璐︾殑銆屽凡鎷ㄤ粯(20)銆嶇瓑浠蜂簬鎶ラ攢鍗曘�屽凡閫氳繃(20)銆嶏紝涓嶅惈鍑虹撼瀹為檯浠樻鍔ㄤ綔锛涜嫢鏃ュ悗闇�瑕佺嫭绔嬬殑銆屽凡浠樻銆嶇姸鎬侊紝闇�鍙﹀鐘舵�佷笌瀹℃壒鑺傜偣銆愪簩鏈熷彲鎵╁睍銆�",
     "璇鹃绠$悊锛氱敵鎶ュ崟涓� ums_member 鏄蒋鍏宠仈锛堟棤澶栭敭锛夛紝浼氬憳琚垹闄ゅ悗鐢虫姤鍗曚細鐣欎笅鎮┖ memberId锛涙垚鍛樺垪琛ㄩ渶瀹归敊灞曠ず銆屼細鍛樺凡鍒犻櫎銆嶃�愬緟纭鏄惁鍔犲閿垨鍒犻櫎淇濇姢銆�",
     "璇鹃绠$悊锛欱PM 娴佺▼ research_topic_approve 涓夎妭鐐归粯璁ゅ鎵逛汉涓恒�岃鑹�=瓒呯骇绠$悊鍛�(1) + 渚濇瀹℃壒銆嶏紝璇� dev 搴撹秴绾х鐞嗗憳瑙掕壊涓嬫湁 4 涓敤鎴凤紙admin/寮犲/椹姵/椹礊锛夛紝姣忎釜鑺傜偣闇� 4 浜轰細绛炬墠鎺ㄨ繘锛涘叏鏂板畨瑁呭簱璇ヨ鑹蹭粎 admin 涓�浜恒�佹祦绋嬪彲寮�绠卞嵆鐢ㄣ�俤ev 搴撻渶鍑忓皯瓒呯骇绠$悊鍛樼敤鎴锋垨鏀瑰湪 BPM 璁捐鍣ㄤ腑涓烘瘡鑺傜偣鎸囧畾瀹℃壒浜恒�愮幆澧冮厤缃」锛岄潪浠g爜缂洪櫡銆�",
     "璇鹃绠$悊锛氱珛椤归�氱煡澶嶇敤 system_notice 绯荤粺鍏憡锛屼笉鏂板 system_notify_template銆佷笉鍙戠珯鍐呬俊锛涘闇�鐭俊/绔欏唴淇″畾鍚戦�氱煡闇�鍙﹁閰嶇疆銆愬緟纭閫氱煡娓犻亾銆�"
   ],
-  "generatedAt": "2026-09-28",
-  "analysisBasis": "鍩轰簬 dev_business 鍒嗘敮 87bf4a99 婧愮爜锛�6 缁勫苟琛屾簮鐮佽蛋璇伙紙MES 鐢熶骇璐ㄩ噺 / MES 浠撳偍 / ERP / CRM+SRM / 鍞悗+HRM / AI+BI+MDM+BPM+搴曞骇锛夛紱2026-09-28 澧為噺琛ュ厖 yudao-module-finance 鐙珛璐㈠姟鎶ラ攢妯″潡锛堟姤閿�鍗� + 鏄庣粏 + 鍙戠エ闄勪欢 + BPM 瀹℃壒 + 褰掓。锛変笌 yudao-module-ums 鐙珛浼氬憳绠$悊妯″潡锛堝叆浼氱敵璇� + BPM 涓ょ骇瀹℃壒 + 瀹℃壒閫氳繃鑷姩寤轰細鍛樹笌鐧诲綍璐﹀彿 + 浼氬憳鍒楄〃/閫氳褰曪級锛�2026-09-28 澧為噺锛欱PM 娴佺▼瀹氫箟 ums_membership_approve锛堝叆浼氬鎵癸級宸插湪 mom-jssm 閮ㄧ讲骞跺苟鍏� config_export_all 闃舵涓�锛堝垎绫� ums_membership_approve锛岀涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁紝涓よ妭鐐瑰鎵逛汉鍧囦负銆岃鑹层�嶇瓥鐣ャ�佽鑹�=瓒呯骇绠$悊鍛�(1) 鍏滃簳锛岃〃鍗曠被鍨�=鑷畾涔夎〃鍗曪紝鏌ョ湅璺緞 /ums/application/detail/approve/index.vue锛夛紱鍚屾椂淇 mom-jssm 鐢� CREATE TABLE ... LIKE 鍏嬮殕瀵艰嚧鐨� 47 涓寚鍚� ruoyi-vue-pro 鐨� act_*/flw_* 璺ㄥ簱澶栭敭锛堥噸寤轰负鎸囧悜 mom-jssm 鑷韩锛屽鍎胯棰勬涓� 0锛夛紱2026-09-28 澧為噺锛氭柊澧� yudao-module-research 鐙珛绉戠爺璇鹃妯″潡涓�鏈燂紙璇鹃鎸囧崡鍙戝竷 + 鍦ㄧ嚎鐢虫姤 + 涓撳璇勫鏄庣粏 + BPM 涓夌骇绔嬮」瀹℃壒 + 绔嬮」閫氱煡鍏憡 + 缁忚垂鎷ㄤ粯璁板綍锛�4 寮� research_* 琛� / 5 涓瓧鍏� / bpm_category id=8002 / 娴佺▼ research_topic_approve / 鑿滃崟 1075510~1075553锛夛紝骞跺苟鍏� config_export_all_20260928 闃舵涓�锛涚敵鎶ヤ汉鍙� ums_member锛堣蒋鍏宠仈锛夈�佺珛椤归�氱煡澶嶇敤 system_notice 鍏憡銆佹嫧娆惧嚟璇佽蛋 system 闄勪欢涓績 recordType=research_fund_record"
+  "generatedAt": "2026-09-29",
+  "analysisBasis": "鍩轰簬 dev_business 鍒嗘敮 87bf4a99 婧愮爜锛�6 缁勫苟琛屾簮鐮佽蛋璇伙紙MES 鐢熶骇璐ㄩ噺 / MES 浠撳偍 / ERP / CRM+SRM / 鍞悗+HRM / AI+BI+MDM+BPM+搴曞骇锛夛紱2026-09-28 澧為噺琛ュ厖 yudao-module-finance 鐙珛璐㈠姟鎶ラ攢妯″潡锛堟姤閿�鍗� + 鏄庣粏 + 鍙戠エ闄勪欢 + BPM 瀹℃壒 + 褰掓。锛変笌 yudao-module-ums 鐙珛浼氬憳绠$悊妯″潡锛堝叆浼氱敵璇� + BPM 涓ょ骇瀹℃壒 + 瀹℃壒閫氳繃鑷姩寤轰細鍛樹笌鐧诲綍璐﹀彿 + 浼氬憳鍒楄〃/閫氳褰曪級锛�2026-09-28 澧為噺锛欱PM 娴佺▼瀹氫箟 ums_membership_approve锛堝叆浼氬鎵癸級宸插湪 mom-jssm 閮ㄧ讲骞跺苟鍏� config_export_all 闃舵涓�锛堝垎绫� ums_membership_approve锛岀涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁紝涓よ妭鐐瑰鎵逛汉鍧囦负銆岃鑹层�嶇瓥鐣ャ�佽鑹�=瓒呯骇绠$悊鍛�(1) 鍏滃簳锛岃〃鍗曠被鍨�=鑷畾涔夎〃鍗曪紝鏌ョ湅璺緞 /ums/application/detail/approve/index.vue锛夛紱鍚屾椂淇 mom-jssm 鐢� CREATE TABLE ... LIKE 鍏嬮殕瀵艰嚧鐨� 47 涓寚鍚� ruoyi-vue-pro 鐨� act_*/flw_* 璺ㄥ簱澶栭敭锛堥噸寤轰负鎸囧悜 mom-jssm 鑷韩锛屽鍎胯棰勬涓� 0锛夛紱2026-09-28 澧為噺锛氭柊澧� yudao-module-research 鐙珛绉戠爺璇鹃妯″潡涓�鏈燂紙璇鹃鎸囧崡鍙戝竷 + 鍦ㄧ嚎鐢虫姤 + 涓撳璇勫鏄庣粏 + BPM 涓夌骇绔嬮」瀹℃壒 + 绔嬮」閫氱煡鍏憡 + 缁忚垂鎷ㄤ粯璁板綍锛�4 寮� research_* 琛� / 5 涓瓧鍏� / bpm_category id=8002 / 娴佺▼ research_topic_approve / 鑿滃崟 1075510~1075553锛夛紝骞跺苟鍏� config_export_all_20260928 闃舵涓�锛涚敵鎶ヤ汉鍙� ums_member锛堣蒋鍏宠仈锛夈�佺珛椤归�氱煡澶嶇敤 system_notice 鍏憡銆佹嫧娆惧嚟璇佽蛋 system 闄勪欢涓績 recordType=research_fund_record锛�2026-09-29 澧為噺锛氳棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�鈥斺�旀柊寤� yudao-module-finance-api锛團inanceReimbursementApi锛氬缓鍗�+鎻愪氦/鏀瑰崟+閲嶆彁/鍒犻櫎/鏌ヨ鍥涙柟娉曪紝鏈湴 Spring Bean 璋冪敤锛屾棤闇� Feign锛夛紝璇鹃渚х櫥璁版嫧娆炬椂 1:1 鑷姩鐢熸垚 finance_reimbursement锛堢郴缁熺敓鎴� 1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬 5銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽鏄�=銆岃棰樸�斿悕銆曠 N 鏈熸嫧娆俱�嶏級骞剁珛鍗虫彁浜� BPM锛屽洖鍐� reimbursement_id/reimbursement_no銆佸彴璐︾疆銆屾姤閿�瀹℃壒涓�(15)銆嶏紱鍑瘉鏀逛负鐧昏鏃跺繀濉苟鍙岀粦锛坮esearch_fund_record + finance_reimbursement锛夛紱鏂板 ResearchFundStatusListener锛堢 15 涓笟鍔$洃鍚櫒锛屼笌 finance 鑷繁鐨� FinanceReimbursementStatusListener 璁㈤槄鍚屼竴娴佺▼ key 骞惰瑙﹀彂锛夋寜瀹℃壒缁撴灉鍥炲啓鍙拌处锛氶�氳繃鈫掑凡鎷ㄤ粯(20)銆侀┏鍥炩啋宸查┏鍥�(30)+椹冲洖鍘熷洜/鏃堕棿銆佹挙鍥炴垨鍙栨秷鈫掗��鍥炲緟鎷ㄤ粯(0)鍙敼鍚庡彲閲嶆柊鍙戣捣锛涙柊閫� 2 鑺傜偣 BPMN docs/sql/finance_reimbursement_approve.bpmn锛堣储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛宑ategory id=216 宸插瓨鍦ㄤ絾娴佺▼瀹氫箟寰呴儴缃诧級"
 }</script>
 <script type="application/json" id="data-modules">{
   "modules": [
@@ -385,10 +387,10 @@
     {"key": "fin", "name": "璐㈠姟鎶ラ攢锛堢嫭绔嬶級", "color": "#3ec9a7", "tag": "FIN", "flow": "finance",
      "positioning": "鐙珛鐨勫彂绁ㄦ姤閿�鍗曟嵁涓庡綊妗�",
      "problem": "绾歌川鍙戠エ闅惧綊闆嗐�佹姤閿�瀹℃壒鏃犵暀鐥曘�佸綊妗e悗鏃犳硶杩芥函",
-     "features": ["鎶ラ攢鍗�(涓昏〃 + 1..n 鏄庣粏琛�)", "鍙戠エ闄勪欢澶氭枃浠朵笂浼�(闄勪欢涓績澶氭�佸叧鑱� storage_attachment)", "鍗曞彿 Redis 鐢熸垚 BX+yyyyMMdd+6浣嶆祦姘绰锋瘡鏃ラ噸缃�", "鏄庣粏闅忎富琛ㄤ竴娆℃�ф彁浜�(鍏堝垹鍚庡鍏ㄩ噺瑕嗙洊)", "BPM 瀹℃壒(閫氳繃20/椹冲洖35/鍙栨秷閫�鍥炶崏绋�0)", "宸查┏鍥炲彲鏀瑰彂绁ㄥ悗閲嶆柊鎻愪氦", "褰掓。缁堟�� 40 骞惰褰曞綊妗f椂闂�", "璐圭敤绫诲瀷/鎶ラ攢鐘舵�佸弻瀛楀吀 + Excel 瀵煎嚭"],
+     "features": ["鎶ラ攢鍗�(涓昏〃 + 1..n 鏄庣粏琛�)", "鍙戠エ闄勪欢澶氭枃浠朵笂浼�(闄勪欢涓績澶氭�佸叧鑱� storage_attachment)", "鍗曞彿 Redis 鐢熸垚 BX+yyyyMMdd+6浣嶆祦姘绰锋瘡鏃ラ噸缃�", "鏄庣粏闅忎富琛ㄤ竴娆℃�ф彁浜�(鍏堝垹鍚庡鍏ㄩ噺瑕嗙洊)", "BPM 瀹℃壒(閫氳繃20/椹冲洖35/鍙栨秷閫�鍥炶崏绋�0)", "宸查┏鍥炲彲鏀瑰彂绁ㄥ悗閲嶆柊鎻愪氦", "褰掓。缁堟�� 40 骞惰褰曞綊妗f椂闂�", "璐圭敤绫诲瀷/鎶ラ攢鐘舵�佸弻瀛楀吀 + Excel 瀵煎嚭", "瀵瑰鎻愪緵 FinanceReimbursementApi(yudao-module-finance-api)渚涜棰樼鐞嗙粡璐规嫧浠樿嚜鍔ㄥ缓鍗曞苟鎻愪氦(1 琛屾槑缁喡疯垂鐢ㄧ被鍨�=鍏朵粬路閲戦涓�鑷�)"],
      "objects": ["鎶ラ攢鍗�", "鎶ラ攢鏄庣粏"],
      "roles": ["鎶ラ攢浜�", "璐㈠姟", "瀹℃壒浜�"],
-     "upstream": [], "downstream": [],
+     "upstream": ["璇鹃绠$悊(缁忚垂鎷ㄤ粯 1:1 鑷姩鐢熸垚鎶ラ攢鍗暵疯蛋 yudao-module-finance-api路鏈湴 Bean 璋冪敤)"], "downstream": [],
      "coreTables": ["finance_reimbursement", "finance_reimbursement_item"]},
     {"key": "pro", "name": "鐢熶骇绠$悊", "color": "#e0b34f", "tag": "MES-PRO", "flow": "production",
      "positioning": "鐢熶骇鎵ц鏍稿績锛氳鍒�-宸ュ崟-浠诲姟-鎶ュ伐",
@@ -457,16 +459,16 @@
     {"key": "res", "name": "璇鹃绠$悊锛堢嫭绔嬶級", "color": "#e070a8", "tag": "RES", "flow": "research",
      "positioning": "瀛︿細/鍗忎細鍨嬬鐮旇棰樺叏鐢熷懡鍛ㄦ湡锛氭寚鍗楀彂甯� 鈫� 鍦ㄧ嚎鐢虫姤 鈫� 涓撳璇勫 鈫� 绔嬮」瀹℃壒 鈫� 缁忚垂鎷ㄤ粯锛堢珛椤归�氱煡璧扮郴缁熷叕鍛婏級",
      "problem": "璇鹃鎸囧崡闈犵嚎涓嬪彂甯冦�佺敵鎶ヤ功闈犵焊璐ㄦ垨閭欢鏀堕泦銆佷笓瀹惰瘎鍒嗘暎钀藉湪琛ㄦ牸閲屾棤娉曡嚜鍔ㄦ眹鎬绘帓鍚嶃�佺珛椤逛笌鎷ㄦ鏃犵暀鐥�",
-     "features": ["璇鹃鎸囧崡(閲嶇偣1/涓�鑸�2 鍒嗙被鏍囨敞)", "鎸囧崡鐘舵�� 0鑽夌/20宸插彂甯�/30宸叉埅姝⒙峰彂甯�/鎴涓や釜鍔ㄤ綔", "鎸囧崡缂栧彿 GL+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)", "鍦ㄧ嚎鐢虫姤涔�(閫夋寚鍗�+閫変細鍛樺甫鍑虹敵鎶ヤ汉淇℃伅+璇鹃缁勬垚鍛�+鐢宠缁忚垂+鐢虫姤涔︽鏂�)", "鐢虫姤缂栧彿 SB+鍚屾棩娴佹按路绫诲埆鍐椾綑鑷寚鍗椾笉淇′换鍓嶇", "鐢虫姤鐘舵�� 0鑽夌/15瀹℃壒涓�/20宸茬珛椤�/35宸查┏鍥�", "鎻愪氦鍓嶆牎楠屾寚鍗楀凡鍙戝竷涓斿湪鐢虫姤鏈熷唴(閫愭潯鎶ュ叿浣撶淮搴︿笌鏃堕棿)", "涓撳璇勫鏄庣粏瀛愯〃(涓�浣嶄笓瀹朵竴琛屄峰洓椤瑰姞鏉� 0.3/0.3/0.2/0.2)", "鍚庣鑷姩閲嶇畻鍔犳潈鍚堣涓庢帓鍚嵚峰洖鍐欎富鍗曞潎鍒嗕笌鎺ㄨ崘缁撹", "BPM 涓夌骇瀹℃壒 research_topic_approve(绉樹功澶勫舰寮忓鏌モ啋涓撳璇勫鈫掑浼氱珛椤瑰鎵�)", "瀹℃壒閫氳繃鐢熸垚绔嬮」缂栧彿 LX+鍚屾棩娴佹按 涓庣珛椤规椂闂�(骞傜瓑)", "鍙戝竷绔嬮」閫氱煡(鐢熸垚 system_notice 鍏憡路鍐欏洖 noticeId 闃查噸澶�)", "缁忚垂鎷ㄤ粯璁板綍(鎵规/閲戦/鏃ユ湡/鏀舵鍗曚綅/鐘舵��/鍑瘉闄勪欢)路閲戦涓嶅緱瓒呯敵璇风粡璐�", "闄勪欢璧� system 闄勪欢涓績(recordType=research_guideline / research_application / research_fund_record)"],
+     "features": ["璇鹃鎸囧崡(閲嶇偣1/涓�鑸�2 鍒嗙被鏍囨敞)", "鎸囧崡鐘舵�� 0鑽夌/20宸插彂甯�/30宸叉埅姝⒙峰彂甯�/鎴涓や釜鍔ㄤ綔", "鎸囧崡缂栧彿 GL+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)", "鍦ㄧ嚎鐢虫姤涔�(閫夋寚鍗�+閫変細鍛樺甫鍑虹敵鎶ヤ汉淇℃伅+璇鹃缁勬垚鍛�+鐢宠缁忚垂+鐢虫姤涔︽鏂�)", "鐢虫姤缂栧彿 SB+鍚屾棩娴佹按路绫诲埆鍐椾綑鑷寚鍗椾笉淇′换鍓嶇", "鐢虫姤鐘舵�� 0鑽夌/15瀹℃壒涓�/20宸茬珛椤�/35宸查┏鍥�", "鎻愪氦鍓嶆牎楠屾寚鍗楀凡鍙戝竷涓斿湪鐢虫姤鏈熷唴(閫愭潯鎶ュ叿浣撶淮搴︿笌鏃堕棿)", "涓撳璇勫鏄庣粏瀛愯〃(涓�浣嶄笓瀹朵竴琛屄峰洓椤瑰姞鏉� 0.3/0.3/0.2/0.2)", "鍚庣鑷姩閲嶇畻鍔犳潈鍚堣涓庢帓鍚嵚峰洖鍐欎富鍗曞潎鍒嗕笌鎺ㄨ崘缁撹", "BPM 涓夌骇瀹℃壒 research_topic_approve(绉樹功澶勫舰寮忓鏌モ啋涓撳璇勫鈫掑浼氱珛椤瑰鎵�)", "瀹℃壒閫氳繃鐢熸垚绔嬮」缂栧彿 LX+鍚屾棩娴佹按 涓庣珛椤规椂闂�(骞傜瓑)", "鍙戝竷绔嬮」閫氱煡(鐢熸垚 system_notice 鍏憡路鍐欏洖 noticeId 闃查噸澶�)", "缁忚垂鎷ㄤ粯璁板綍(鎵规/閲戦/鏃ユ湡/鏀舵鍗曚綅/澶囨敞/鍑瘉闄勪欢)路鍑瘉蹇呭~路閲戦涓嶅緱瓒呯敵璇风粡璐�", "缁忚垂鎷ㄤ粯 1:1 鑷姩鐢熸垚骞舵彁浜よ储鍔℃姤閿�鍗�(FinanceReimbursementApi路1 琛屾槑缁喡疯垂鐢ㄧ被鍨�=鍏朵粬)", "鎷ㄤ粯鐘舵�� 0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥灺风敱 BPM 鐩戝惉鍣ㄥ洖鍐�(鍚┏鍥炲師鍥犱笌鏃堕棿)", "宸查┏鍥炲彲鏀归噾棰�/鍑瘉鍚庨噸鏂板彂璧锋姤閿�路寰呮嫧浠樺彲鍒犲苟鑱斿姩娓呯悊璐㈠姟渚ц崏绋挎姤閿�鍗�", "闄勪欢璧� system 闄勪欢涓績(recordType=research_guideline / research_application / research_fund_record)"],
      "objects": ["璇鹃鎸囧崡", "璇鹃鐢虫姤涔�", "涓撳璇勫鏄庣粏", "缁忚垂鎷ㄤ粯璁板綍"],
-     "roles": ["璇鹃鐢虫姤浜�(浼氬憳)", "璇鹃绠$悊鍛�", "璇勫涓撳", "瀛︿細绉樹功澶�", "瀛︿細鐞嗕簨浼�"],
-     "upstream": ["浼氬憳绠$悊(ums_member 鍙栫敵鎶ヤ汉濮撳悕/鍗曚綅/鑱岀О/鐢佃瘽)", "BPM(娴佺▼瀹氫箟 research_topic_approve)"],
-     "downstream": ["system(system_notice 绔嬮」閫氱煡鍏憡)", "system(闄勪欢涓績)", "璐㈠姟(浜屾湡棰勬湡寰呭鎺ヂ蜂竴鏈熶笉鎺�)"],
+     "roles": ["璇鹃鐢虫姤浜�(浼氬憳)", "璇鹃绠$悊鍛�", "璇勫涓撳", "瀛︿細绉樹功澶�", "瀛︿細鐞嗕簨浼�", "瀛︿細璐㈠姟"],
+     "upstream": ["浼氬憳绠$悊(ums_member 鍙栫敵鎶ヤ汉濮撳悕/鍗曚綅/鑱岀О/鐢佃瘽)", "BPM(娴佺▼瀹氫箟 research_topic_approve / finance_reimbursement_approve)"],
+     "downstream": ["system(system_notice 绔嬮」閫氱煡鍏憡)", "system(闄勪欢涓績)", "璐㈠姟(缁忚垂鎷ㄤ粯鐢熸垚 finance_reimbursement 鎶ラ攢鍗暵峰凡瀵规帴)"],
      "coreTables": ["research_guideline", "research_application", "research_topic_review", "research_fund_record"]},
     {"key": "bpm", "name": "鍗忓悓瀹℃壒", "color": "#e6a23c", "tag": "BPM", "flow": null,
      "positioning": "鍏ㄧ郴缁熷崟鎹鎵逛腑鏋紙Flowable锛�",
      "problem": "澶氭ā鍧楀崟鎹渶瑕佺伒娲诲彲閰嶇殑澶氱骇瀹℃壒",
-     "features": ["BPMN+閽夐拤椋庢牸鍙岃璁″櫒", "娴佺▼瀹氫箟閮ㄧ讲", "瀹℃壒浜嬩欢缁熶竴鍥炶皟(BpmProcessInstanceStatusEvent)", "14涓笟鍔$洃鍚櫒", "琛ㄥ崟路鐢ㄦ埛缁劼锋妱閫伮峰姞绛�"],
+     "features": ["BPMN+閽夐拤椋庢牸鍙岃璁″櫒", "娴佺▼瀹氫箟閮ㄧ讲", "瀹℃壒浜嬩欢缁熶竴鍥炶皟(BpmProcessInstanceStatusEvent)", "15涓笟鍔$洃鍚櫒(鍚屼竴娴佺▼ key 鍏佽澶氫釜鐩戝惉鍣ㄥ苟琛屄峰悇鑷寜 key 杩囨护)", "琛ㄥ崟路鐢ㄦ埛缁劼锋妱閫伮峰姞绛�"],
      "objects": ["娴佺▼妯″瀷", "娴佺▼瀹炰緥", "瀹℃壒浠诲姟"],
      "roles": ["瀹℃壒浜�(鎸夋祦绋嬮厤缃�)", "娴佺▼绠$悊鍛�"],
      "upstream": ["鍚勪笟鍔℃彁浜ゅ鎵�"], "downstream": ["鍥炶皟鏇存柊鍚勪笟鍔″崟鎹姸鎬�"],
@@ -536,14 +538,14 @@
     {"name": "鎺掔彮璁″垝", "module": "璁惧", "table": "mes_cal_plan", "doc": "鐝粍脳鐝脳鏃ユ湡鎺掔彮锛屼緵鐢熶骇涓庤�冨嫟寮曠敤", "upstream": [], "downstream": ["鐢熶骇浠诲姟", "鑰冨嫟"], "keywords": "鎺掔彮 鐝粍 鐝 鏃ュ巻"},
     {"name": "鎶ュ憡妯℃澘", "module": "璐ㄦ鎶ュ憡", "table": "qc_report_template", "doc": "鏅鸿兘璐ㄦ鎶ュ憡妯℃澘锛屽惎鐢�0/鍋滅敤1锛涚敾甯冨唴瀹瑰瓨鍦� qc_report_template_version锛堣崏绋�0/宸插彂甯�1/宸插仠鐢�2锛屽凡鍙戝竷涓嶅彲瑕嗙洊锛夛紝currentVersion 鎸囧悜褰撳墠宸插彂甯冪増鏈紱婧愭枃浠剁粡 AI 瀵煎叆璇嗗埆鎴愯崏绋垮悗鐢变汉宸ョ‘璁ゆ墠鎴愪负鐗堟湰锛涘悓涓�妯℃澘閲嶅瀵煎叆鎸夈�愭浛鎹€�戝鐞嗏�斺�斿厛鍒犳棫闄勪欢锛堣繛甯� blob 琛屼笌纾佺洏鏂囦欢锛夊啀缁戞柊鐨勶紝涓嶇暀瀛ゅ効鏂囦欢锛涘垹闄ゆā鏉夸細杩炲甫娓呴檮浠�", "upstream": ["浜哄伐璁捐(GrapesJS 璁捐鍣�)", "AI 瀵煎叆鑽夌(qc-report/ai-import/draft)"], "downstream": ["妯℃澘鐗堟湰", "鎶ュ憡瀹炰緥"], "keywords": "鎶ュ憡妯℃澘 璐ㄦ鎶ュ憡 template 璁捐鍣� 鐗堟湰 AI瀵煎叆 璇嗗埆 鑽夌 婧愭枃浠舵浛鎹�"},
     {"name": "鎶ュ憡瀹炰緥", "module": "璐ㄦ鎶ュ憡", "table": "qc_report_instance", "doc": "鍑轰欢浜х墿锛岀紪鍙� QR+yyyyMMdd+4浣嶆祦姘存寜澶╃嫭绔嬩笖涓氬姟鍞竴锛屽彲鏄惧紡鎸囧畾瑕嗙洊锛堟敞鎰� uk_report_no 涓嶅尯鍒嗚蒋鍒犻櫎锛屽垹鎺夌殑鍙蜂笉鍥炴敹锛夛紱涓ゆ潯鍑轰欢鍏ュ彛锛氶�氱敤 generate锛堣皟鐢ㄦ柟鑷甫 context锛変笌 generate-from-qc锛堟暟鎹粠 MES 璐ㄦ鍗曞彇锛屾潈闄愮爜 qc-report:instance:generate 宸插叆 system_menu id=1075416锛屼簲閬撴牎楠屾寜涓氬姟浼樺厛绾у彧鎶ョ涓�澶勶細105_000 绫诲瀷闈炴硶 / 105_001 鍗曟嵁涓嶅瓨鍦� / 105_002 鏈畬鎴� / 105_003 鏈垽瀹� / 105_005 妯℃澘绫诲瀷涓嶇 / 105_006 鏃犲彲鐢ㄦ楠岄」锛涘洓寮犺川妫�鍗曞垪琛ㄧ殑琛屾搷浣溿�屽嚭鎶ュ憡銆嶄粎鍦� status=宸插畬鎴愭椂鍙锛屽脊绐楀彧鍒� reportType 涓�鑷淬�佹ā鏉垮惎鐢ㄣ�佷笖 currentVersion 鎸囧悜鐨勭増鏈凡鍙戝竷鐨勬ā鏉匡紙鍚庣 /qc-report/template/selectable 鍒ゅ畾鈥斺�斿仠鐢ㄧ増鏈笉娓呯┖ currentVersion锛屽墠绔嬁鍒嗛〉缁撴灉鑷繁鎺ㄥ浼氭紡锛夛紝缁撴灉灏卞湴灞曠ず骞惰烦鏈〉鍒楄〃锛夛紱鍐荤粨 data_snapshot锛堝垽瀹氬悗鏁版嵁锛屽惈鍚庣绠楀ソ鐨� PASS/FAIL 涓庡悎鏍肩巼锛変笌 render_html锛況egenerate 鍙噸娓叉帓鐗堛�佹暟鎹笌缂栧彿涓嶅彉锛沚usiness_id/business_type 瀛� MES 琛ㄥ悕锛坢es_qc_iqc 绛夛級涓庡崟鎹� ID锛屽彲鍙嶆煡銆佷竴鍗曞彲鍑哄浠斤紱鎶ュ憡澶村彟甯﹀崟鎹師鍒ゅ畾 qcResult(鏁�)/qcResultText(涓枃锛屽悎鏍�/鐗归噰/涓嶅悎鏍奸��璐�/涓嶅悎鏍兼姤搴�)锛屼笌寮曟搸涓夋�佸垽瀹氬苟瀛樹簰涓嶈鐩栵紱鍝嶅簲甯� undecidableCount=蹇収涓� result 涓虹┖涓茬殑椤规暟涓� warnings锛堝垎缁勬爣棰樿烦杩�/鎸囨爣宸插垹/鏈綍瀹炴祴鍊�/鏍峰搧瓒�3锛夛紝涓よ�呴兘涓嶈惤搴撱�佷簨鍚庣湅涓嶅埌", "upstream": ["鎶ュ憡妯℃澘鐗堟湰", "璐ㄦ鍗曚笂涓嬫枃(閫氱敤 generate 鐢辫皟鐢ㄦ柟浼犲叆)", "MES 璐ㄦ鍗� IQC/IPQC/OQC/RQC(generate-from-qc 缁� MesQcReportApi 鍙栨暟)"], "downstream": ["鍓嶇瀹炰緥椤� /qc/report-instance(鍒楄〃路iframe棰勮路蹇収椤电路瀵煎嚭PDF)", "PDF褰掓。(system_storage_attachment recordType=qc_report_instance)"], "keywords": "鎶ュ憡瀹炰緥 鍑轰欢 QR缂栧彿 蹇収 澶嶇幇 regenerate PDF褰掓。 鎶ュ憡瀹炰緥椤� 瀵煎嚭PDF generate-from-qc 璐ㄦ鍗曞嚭鎶ュ憡 鍑烘姤鍛婂脊绐� qcResult undecidableCount warnings 寰呭垽瀹� 鍙嶆煡 涓氬姟鍗曟嵁绛涢��"},
-    {"name": "鎶ラ攢鍗�", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement", "doc": "鍗曞彿鍙嚜瀹氫箟(涓棿涓嶅厑璁哥┖鏍硷紝涓庡凡鏈夊崟鍙烽噸澶嶅垯鎶ラ敊)锛涙柊澧炴椂鐣欑┖鎴栫函绌烘牸鐢辩郴缁熺敓鎴� BX+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屼慨鏀规椂鐣欑┖琛ㄧず淇濇寔涓嶅彉銆俿tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥�/40宸插綊妗o紱浠呰崏绋垮彲鍒犮�佽崏绋夸笌宸查┏鍥炲彲鏀广�佷粎宸查�氳繃鍙綊妗o紱鎻愪氦鍚庣敱 BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓鐘舵��(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑 processInstanceId 琚洖鍐欙紱鐙珛妯″潡锛屼笉涓庡叾瀹冧笟鍔℃ā鍧椾骇鐢熷崟鎹叧鑱�", "upstream": [], "downstream": ["鎶ラ攢鏄庣粏", "鍙戠エ闄勪欢(storage_attachment路recordType=finance_reimbursement)"], "keywords": "鎶ラ攢鍗� 鎶ラ攢 鍙戠エ reimbursement BX 褰掓。 璐㈠姟 璐圭敤 鑷畾涔夊崟鍙�"},
+    {"name": "鎶ラ攢鍗�", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement", "doc": "鍗曞彿鍙嚜瀹氫箟(涓棿涓嶅厑璁哥┖鏍硷紝涓庡凡鏈夊崟鍙烽噸澶嶅垯鎶ラ敊)锛涙柊澧炴椂鐣欑┖鎴栫函绌烘牸鐢辩郴缁熺敓鎴� BX+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屼慨鏀规椂鐣欑┖琛ㄧず淇濇寔涓嶅彉銆俿tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥�/40宸插綊妗o紱浠呰崏绋垮彲鍒犮�佽崏绋夸笌宸查┏鍥炲彲鏀广�佷粎宸查�氳繃鍙綊妗o紱鎻愪氦鍚庣敱 BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓鐘舵��(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑 processInstanceId 琚洖鍐欍�傛潵婧愪袱鏉★細鈶� 璐㈠姟妯″潡椤甸潰浜哄伐濉姤 鈶¤棰樼鐞嗐�岀粡璐规嫧浠樸�嶇粡 FinanceReimbursementApi(yudao-module-finance-api)鑷姩寤哄崟骞剁珛鍗虫彁浜�(1:1銆侀噾棰濅竴鑷淬�佺郴缁熷浐瀹� 1 琛屾槑缁喡疯垂鐢ㄧ被鍨�=鍏朵粬)鈥斺�斿悗鑰呯殑瀹℃壒缁撴灉鐢辫棰樹晶 ResearchFundStatusListener 璁㈤槄鍚屼竴娴佺▼鍥炲啓鎷ㄦ鍙拌处锛屾姤閿�鍗曟湰韬笉鍥炲啓浠讳綍澶栭儴鍗曟嵁", "upstream": ["璇鹃绠$悊(缁忚垂鎷ㄤ粯路缁� FinanceReimbursementApi 鑷姩寤哄崟)", "浜哄伐濉姤"], "downstream": ["鎶ラ攢鏄庣粏", "鍙戠エ闄勪欢(storage_attachment路recordType=finance_reimbursement)", "璇鹃鎷ㄦ鍙拌处(浠呯粡 BPM 浜嬩欢鍥炲啓鐘舵��)"], "keywords": "鎶ラ攢鍗� 鎶ラ攢 鍙戠エ reimbursement BX 褰掓。 璐㈠姟 璐圭敤 鑷畾涔夊崟鍙� 璇鹃缁忚垂鎷ㄤ粯 鑷姩寤哄崟 FinanceReimbursementApi"},
     {"name": "鎶ラ攢鏄庣粏", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement_item", "doc": "鎶ラ攢鍗曠殑璐圭敤琛岋細璐圭敤绫诲瀷(1宸梾/2鍔炲叕/3鎷涘緟/4浜ら��/5鍏朵粬)銆佸彂绁ㄥ彿鐮併�佸彂绁ㄩ噾棰濄�佸彂绁ㄦ棩鏈熴�佸紑绁ㄦ柟銆佽垂鐢ㄨ鏄庯紱闅忎富琛ㄤ竴娆℃�ф彁浜�(鍏堝垹鍚庡鍏ㄩ噺瑕嗙洊)锛屾彁浜ゆ椂蹇呴』鍓ユ帀琛� id 涓� reimbursementId 鈥斺�� 鏄庣粏鍒犻櫎鏄蒋鍒狅紝鍥炰紶鍘� id 浼氫笌宸茶蒋鍒犺涓婚敭鍐茬獊", "upstream": ["鎶ラ攢鍗�"], "downstream": [], "keywords": "鎶ラ攢鏄庣粏 璐圭敤鏄庣粏 璐圭敤绫诲瀷 鍙戠エ閲戦 item 鏄庣粏琛� 宸梾"},
     {"name": "鍏ヤ細鐢宠鍗�", "module": "浼氬憳绠$悊", "table": "ums_application", "doc": "鍗曞彿 SQ+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屽悗绔敓鎴愪笉鍙嚜瀹氫箟锛沵emberType 1涓汉/2鍗曚綅鍐冲畾瀛楁鍒嗗弶(涓汉鐢� workUnit/title锛屽崟浣嶇敤 legalPerson/organizationCode)锛沵emberGrade 鎸夌被鍨嬪彇涓嶅悓瀛楀吀锛泂tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛涙彁浜ゅ悗鐢� BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑鍥炲啓 processInstanceId锛涘鎵归�氳繃瑙﹀彂鑷姩寤轰細鍛樹笌绯荤粺璐﹀彿銆傜嫭绔嬫ā鍧楋紝涓嶄笌鍏跺畠涓氬姟妯″潡浜х敓鍗曟嵁鍏宠仈", "upstream": ["浜哄伐濉姤(鐢宠浜�)", "璇佹槑鏉愭枡闄勪欢(storage_attachment路recordType=ums_application)"], "downstream": ["浼氬憳(瀹℃壒閫氳繃鑷姩鍒涘缓)", "BPM 娴佺▼瀹炰緥(ums_membership_approve 鍒嗙被)"], "keywords": "鍏ヤ細鐢宠 鍏ヤ細 浼氬憳鐢宠 application SQ 绉樹功澶� 鐞嗕簨浼� 瀹℃壒 浼氬憳绫诲瀷 涓汉 鍗曚綅 娉曞畾浠h〃浜� 鐮旂┒鏂瑰悜 鐢宠绛夌骇"},
     {"name": "浼氬憳", "module": "浼氬憳绠$悊", "table": "ums_member", "doc": "鍗曞彿 HY+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛涗袱涓潵婧愶細鈶犲叆浼氱敵璇峰鎵归�氳繃鑷姩鍒涘缓(鍥炲~ applicationId 涓� userName/绯荤粺璐﹀彿) 鈶′細鍛樺垪琛ㄦ墜宸ユ柊澧炪�俿tatus: 1姝e父/0鏆傚仠锛沵emberGrade 鎸� memberType 鍙栧搴斿瓧鍏革紝鏍¢獙瑙勫垯鏄崟浣嶄細鍛�(type=2)涓嶅彲閫夈�庣悊浜嬮暱銆�(grade=5)銆傝嚜鍔ㄥ缓妗f椂鍏ヤ細鏃ユ湡=褰撳ぉ銆佷笉鎼繍 contactUser/unitIntro/expireDate(鐢宠鍗曟棤瀵瑰簲瀛楁)锛涜嚜鍔ㄥ缓鐨勭郴缁熻处鍙风敤鎴峰悕涓鸿仈绯荤數璇濅笖鍒濆瀵嗙爜鍚屼负鑱旂郴鐢佃瘽锛岄儴闂ㄥ浐瀹氫负銆屽浼氫細鍛樸�嶏紱鎵嬫満鍙烽噸澶嶄細鏄庣‘鎶ラ敊涓旀暣鍗曚簨鍔″洖婊�", "upstream": ["鍏ヤ細鐢宠鍗�(瀹℃壒閫氳繃)", "浜哄伐鏂板", "闄勪欢(storage_attachment路recordType=ums_member)"], "downstream": ["浼氬憳閫氳褰�(鎸� regionCode/industry 妫�绱�)", "system_users(鐧诲綍璐﹀彿)"], "keywords": "浼氬憳 member HY 浼氬憳缂栧彿 浼氬憳绛夌骇 浼氬憳绫诲瀷 閫氳褰� 鍦板尯 琛屼笟 鍏ヤ細鏃ユ湡 鏈夋晥鏈�"},
     {"name": "璇鹃鎸囧崡", "module": "璇鹃绠$悊", "table": "research_guideline", "doc": "鎸囧崡缂栧彿 GL+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沜ategory 1閲嶇偣璇鹃/2涓�鑸棰橈紱publishStatus 0鑽夌/20宸插彂甯�/30宸叉埅姝紝浠呰崏绋垮彲鏀瑰彲鍒狅紝publish 鍙戝竷鍥炲啓 publishTime锛宑lose 鎴缃� 30锛涘凡浜х敓鐢虫姤鍗�(applicationMapper.selectCountByGuidelineId 澶т簬 0)鐨勬寚鍗楃姝㈠垹闄ゅ苟鍦ㄦ彁绀轰腑鎶ュ嚭璇ユ寚鍗椾笅宸叉湁澶氬皯寮犵敵鎶ュ崟锛涙鏂� content 涓洪暱鏂囨湰锛涢檮浠� recordType=research_guideline", "upstream": ["浜哄伐缁存姢(瀛︿細绉樹功澶�)", "鎸囧崡闄勪欢(storage_attachment路recordType=research_guideline)"], "downstream": ["璇鹃鐢虫姤涔�(鐢虫姤鏃跺紩鐢ㄤ笖蹇呴』宸插彂甯冨苟鍦ㄧ敵鎶ユ湡鍐�)"], "keywords": "璇鹃鎸囧崡 鎸囧崡 鍙戝竷 鎴 閲嶇偣璇鹃 涓�鑸棰� GL 鎸囧崡缂栧彿 鐢虫姤鏈� 鐢虫姤璧锋"},
     {"name": "璇鹃鐢虫姤涔�", "module": "璇鹃绠$悊", "table": "research_application", "doc": "鐢虫姤缂栧彿 SB+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沢uidelineId 鍏宠仈鎸囧崡銆乵emberId 鍏宠仈 ums_member(杞叧鑱旀棤澶栭敭锛屼細鍛樺垹闄ゅ悗浼氱暀涓嬫偓绌� memberId 闇�瀹归敊鏄剧ず)锛沘pplicantName/workUnit/jobTitle/contactPhone/contactEmail 鐢遍�変細鍛樿嚜鍔ㄥ甫鍑哄彲鎵嬫敼锛沜ategory 鍐椾綑鑷寚鍗椾笖涓嶄俊浠诲墠绔紶鍊硷紱budgetAmount 鐢宠缁忚垂涓烘嫧浠樹笂闄愶紱status: 0鑽夌/15瀹℃壒涓�/20宸茬珛椤�/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛泂ubmit 鍓嶉�愭潯鏍¢獙銆屾寚鍗楀凡鍙戝竷銆嶄笌銆岀幇鍦ㄥ湪鐢虫姤鏈熷唴銆嶏紝浠讳竴涓嶆弧瓒冲嵆鎷掔粷骞舵寜缁村害缁欏嚭鎸囧崡鍚嶄笌瀹為檯鍊硷紱瀹℃壒閫氳繃鐢辩洃鍚櫒鐢熸垚绔嬮」缂栧彿 researchNo(LX+鍚屾棩娴佹按)涓� approveTime(宸叉湁缂栧彿骞傜瓑璺宠繃)锛況eviewAvgScore/reviewPass 涓鸿瘎瀹℃眹鎬诲洖鍐欏�硷紝鏄庣粏鍒犵┖鏃舵竻鎴愭湭姹囨�伙紱noticeId 璁板綍宸插彂甯冪殑绔嬮」閫氱煡鍏憡锛岄噸澶嶅彂甯冭鎷︽埅", "upstream": ["璇鹃鎸囧崡(蹇呴』宸插彂甯冧笖鍦ㄧ敵鎶ユ湡鍐�)", "浼氬憳(ums_member路甯﹀嚭鐢虫姤浜轰俊鎭�)", "鐢虫姤闄勪欢(storage_attachment路recordType=research_application)"], "downstream": ["涓撳璇勫鏄庣粏", "缁忚垂鎷ㄤ粯璁板綍", "绔嬮」閫氱煡(system_notice 鍏憡)", "BPM 娴佺▼瀹炰緥(research_topic_approve 鍒嗙被)", "闄勪欢涓績"], "keywords": "璇鹃鐢虫姤 鐢虫姤涔� 鐢虫姤鍗� SB 鐢虫姤缂栧彿 绔嬮」 绔嬮」缂栧彿 LX 鐢宠缁忚垂 鐢虫姤涔︽鏂� 璇鹃缁勬垚鍛� 涓撳璇勫 璇勫姹囨�� 绔嬮」閫氱煡 鍙戝竷閫氱煡 鎻愪氦瀹℃壒 椹冲洖 閲嶆彁"},
     {"name": "涓撳璇勫鏄庣粏", "module": "璇鹃绠$悊", "table": "research_topic_review", "doc": "涓�浣嶄笓瀹朵竴琛岀殑涓�涓诲琛屽瓙琛細evaluatorName/evaluatorUnit/evaluatorTitle + topicScore 閫夐浠峰�间笌鎰忎箟(鏉冮噸0.3) + planScore 鐮旂┒鏂规鍙鎬�(0.3) + teamScore 鍥㈤槦涓庣爺绌跺熀纭�(0.2) + resultScore 棰勬湡鎴愭灉涓庢晥鐩�(0.2) + conclusion 1鎺ㄨ崘绔嬮」/2涓嶆帹鑽愮珛椤� + opinion 璇勫鎰忚 + reviewTime銆俢ompositeScore 鐢卞悗绔� weightedScore 璁$畻銆乺anking 鐢卞悗绔寜鍔犳潈鍒嗛檷搴忛噸鎺掞紝鍧囦笉鎺ュ彈鍓嶇浼犲�硷紱姣忔澧炲垹鏀瑰悗璋� recalculate 鍥炲啓涓诲崟 reviewAvgScore(鍏ㄩ儴涓撳鍔犳潈鍒嗗潎鍊悸蜂繚鐣�2浣�)涓� reviewPass(鍧囧垎杈炬爣 涓� 澶氭暟缁撹涓烘帹鑽愮珛椤规椂涓� 1)锛涘洓椤瑰垎鍊艰秴鍑� 0~100 鏃舵彁绀烘寚鍑哄叿浣撶淮搴︿笌瀹為檯鍊硷紱浠呭湪鐢虫姤鍗� status=15 瀹℃壒涓彲澧炲垹鏀�", "upstream": ["璇鹃鐢虫姤涔�(浠呭鎵逛腑鍙啓)"], "downstream": ["璇鹃鐢虫姤涔�(鍥炲啓 reviewAvgScore/reviewPass)"], "keywords": "涓撳璇勫 璇勫鏄庣粏 璇勫垎 鍔犳潈 鏉冮噸 鎺掑悕 ranking compositeScore 鎺ㄨ崘绔嬮」 璇勫鎰忚 鍧囧垎"},
-    {"name": "缁忚垂鎷ㄤ粯璁板綍", "module": "璇鹃绠$悊", "table": "research_fund_record", "doc": "涓�涓诲琛岀殑鎷ㄦ璁板綍锛歜atchName 鎵规鍚嶇О/amount 鎷ㄤ粯閲戦/payDate 鎷ㄤ粯鏃ユ湡/payee 鏀舵鍗曚綅/status 0寰呮嫧浠� 20宸叉嫧浠�/remark锛屽嚟璇侀檮浠惰蛋 system 闄勪欢涓績 recordType=research_fund_record(琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃)銆備粎鐢虫姤鍗� status=20 宸茬珛椤瑰彲鐧昏锛涢噾棰濇牎楠岋細宸茬櫥璁伴噾棰�(璇ュ崟鍏ㄩ儴璁板綍姹傚拰) + 鏈閲戦 涓嶅緱瓒呭嚭鐢虫姤鍗� budgetAmount锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊硷紱status=20 宸叉嫧浠� 鏃跺嚟璇侀檮浠跺繀濉�(鍓嶇鍏堣鎷︽埅锛屽悗绔� validateVoucherRequired 鍏滃簳)锛涗粎寰呮嫧浠樼姸鎬佸彲鏀瑰彲鍒狅紝缂栬緫鏃舵妸鏈閲戦鍔犲洖鍙敤浣欓灞曠ず閬垮厤璇В", "upstream": ["璇鹃鐢虫姤涔�(蹇呴』宸茬珛椤�)"], "downstream": ["鎷ㄤ粯鍑瘉(storage_attachment路recordType=research_fund_record)", "璐㈠姟(浜屾湡棰勬湡寰呭鎺ヂ蜂竴鏈熶笉鎺�)"], "keywords": "缁忚垂鎷ㄤ粯 鎷ㄦ 鎷ㄤ粯璁板綍 鎵规 鎷ㄤ粯閲戦 鍑瘉 寰呮嫧浠� 宸叉嫧浠� 鏀舵鍗曚綅 璧勫姪閲戦 棰勭畻 瓒呴"}
+    {"name": "缁忚垂鎷ㄤ粯璁板綍", "module": "璇鹃绠$悊", "table": "research_fund_record", "doc": "涓�涓诲琛岀殑鎷ㄦ鍙拌处锛歜atchName 鎵规鍚嶇О/amount 鎷ㄤ粯閲戦/payDate 鎷ㄤ粯鏃ユ湡/payee 鏀舵鍗曚綅/remark锛屽嚟璇侀檮浠惰蛋 system 闄勪欢涓績 recordType=research_fund_record(琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃)銆俿tatus: 0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紝鐢辩郴缁熶笌 BPM 椹卞姩锛屾柊澧�/淇敼鎺ュ彛宸茬Щ闄� status 鍏ュ弬(闃蹭吉閫犮�屽凡鎷ㄤ粯銆�)銆傜櫥璁板嵆涓�鏉¢緳锛氳惤鍙拌处 鈫� 鍚屼竴鎵� blob 鍙岀粦 鈫� 缁� FinanceReimbursementApi 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 骞剁珛鍗虫彁浜� BPM 鈫� 鍥炲啓 reimbursement_id/reimbursement_no 骞剁疆 15锛涘鎵圭粨鏋滅敱鐩戝惉鍣ㄥ洖鍐欙細閫氳繃鈫�20銆侀┏鍥炩啋30(+reject_reason/reject_time)銆佹挙鍥炴垨鍙栨秷鈫掗��鍥� 0銆備粎鐢虫姤鍗� status=20 宸茬珛椤瑰彲鐧昏锛涘嚟璇佸繀濉紱閲戦鏍¢獙锛氬凡鐧昏閲戦(璇ュ崟鍏ㄩ儴璁板綍姹傚拰) + 鏈閲戦 涓嶅緱瓒呭嚭鐢虫姤鍗� budgetAmount锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊硷紱浠呫�屽緟鎷ㄤ粯銆嶅彲鍒�(鑱斿姩鍒犻櫎璐㈠姟渚ц崏绋挎姤閿�鍗曪紝闈炶崏绋垮垯鎷掔粷)锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢(宸查┏鍥炴敼鍚庢竻绌� reject_reason/reject_time)锛岀紪杈戞椂鎶婃湰琛岄噾棰濆姞鍥炲彲鐢ㄤ綑棰濆睍绀洪伩鍏嶈瑙c�備笌鎶ラ攢鍗曚负杞叧鑱�(鏃犲閿�)锛岃储鍔′晶鐩存帴鍒犲崟浼氱暀涓嬫偓绌� reimbursement_id锛屾鏃朵慨鏀规姤銆屾姤閿�鍗曞凡涓嶅瓨鍦紝璇峰垹闄ゆ湰鏉¤褰曞悗閲嶆柊鐧昏銆�", "upstream": ["璇鹃鐢虫姤涔�(蹇呴』宸茬珛椤�)", "璐㈠姟鎶ラ攢鍗�(1:1 鑷姩鐢熸垚路杞叧鑱� reimbursement_id)"], "downstream": ["鎷ㄤ粯鍑瘉(storage_attachment路recordType=research_fund_record)", "璐㈠姟鎶ラ攢鍗�(鐢熸垚骞舵彁浜ゅ嚭璐β峰鎵圭粨鏋滃洖鍐欐湰鍙拌处)"], "keywords": "缁忚垂鎷ㄤ粯 鎷ㄦ 鎷ㄤ粯璁板綍 鎵规 鎷ㄤ粯閲戦 鍑瘉 寰呮嫧浠� 鎶ラ攢瀹℃壒涓� 宸叉嫧浠� 宸查┏鍥� 椹冲洖鍘熷洜 璐㈠姟鎶ラ攢鍗曞彿 reimbursement_id 鏀舵鍗曚綅 璧勫姪閲戦 棰勭畻 瓒呴 閲嶆柊鍙戣捣鎶ラ攢"}
   ]
 }</script>
 <script type="application/json" id="data-flows">{
@@ -622,7 +624,7 @@
        {"stage": "寤烘。", "action": "瀹℃壒閫氳繃閽╁瓙鑷姩寤轰細鍛橈細鈶犵敓鎴愪細鍛樼紪鍙� HY+yyyyMMdd+6浣嶆祦姘� 鈶dminUserApi.createUser 寤虹郴缁熻处鍙凤紙鐢ㄦ埛鍚嶄笌鍒濆瀵嗙爜=鑱旂郴鐢佃瘽銆佹樀绉�=鐢宠浜哄鍚嶃�侀儴闂�=瀛︿細浼氬憳锛夆憿浼氬憳钀藉簱锛堝叆浼氭棩鏈�=褰撳ぉ銆佺姸鎬� 1 姝e父銆乤pplicationId 鍥炲~鏉ユ簮鐢宠鍗曪級锛涙墜鏈哄彿閲嶅浼氭槑纭姤閿�", "roles": ["绯荤粺鑷姩"]},
        {"stage": "绠$悊涓庢绱�", "action": "浼氬憳鍒楄〃鏀寔鎵嬪伐鏂板/缂栬緫/鍒犻櫎锛堢瓑绾т笌绫诲瀷鏍¢獙锛氬崟浣嶄細鍛樹笉鍙�夈�庣悊浜嬮暱銆忥級锛涗細鍛橀�氳褰曚负鍙椤碉紝鎸夊湴鍖虹紪鐮佷笌琛屼笟妫�绱�", "roles": ["浼氬憳绠$悊鍛�", "鍏ㄤ綋鍙煡閫氳褰�"]}]},
     {"id": "research", "name": "璇鹃绠$悊娴佺▼", "mermaid": "mermaid/14-research-flow.mmd", "color": "#e070a8",
-     "summary": "鐙珛绉戠爺妯″潡锛坹udao-module-research锛夛細瀛︿細鍙戝竷璇鹃鎸囧崡锛堥噸鐐�/涓�鑸垎绫伙級鈫� 浼氬憳鍦ㄧ嚎鎻愪氦璇鹃鐢虫姤涔� 鈫� 鎻愪氦 BPM 涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒锛夛紝涓撳璇勫垎浠ョ粨鏋勫寲鏄庣粏瀛愯〃璁板綍骞剁敱鍚庣鑷姩姹囨�诲姞鏉冨潎鍒嗐�佹帓鍚嶄笌鎺ㄨ崘缁撹 鈫� 瀹℃壒閫氳繃鐢熸垚绔嬮」缂栧彿骞跺彂甯冪郴缁熷叕鍛� 鈫� 鎸夋壒娆$櫥璁扮粡璐规嫧浠樿褰曪紙鍚嚟璇侀檮浠讹級銆傞櫌绾т簩鏈熷啀琛ョ粨椤归獙鏀朵笌鎴愭灉褰掓。銆�",
+     "summary": "鐙珛绉戠爺妯″潡锛坹udao-module-research锛夛細瀛︿細鍙戝竷璇鹃鎸囧崡锛堥噸鐐�/涓�鑸垎绫伙級鈫� 浼氬憳鍦ㄧ嚎鎻愪氦璇鹃鐢虫姤涔� 鈫� 鎻愪氦 BPM 涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒锛夛紝涓撳璇勫垎浠ョ粨鏋勫寲鏄庣粏瀛愯〃璁板綍骞剁敱鍚庣鑷姩姹囨�诲姞鏉冨潎鍒嗐�佹帓鍚嶄笌鎺ㄨ崘缁撹 鈫� 瀹℃壒閫氳繃鐢熸垚绔嬮」缂栧彿骞跺彂甯冪郴缁熷叕鍛� 鈫� 鎸夋壒娆$櫥璁扮粡璐规嫧浠橈紙鍑瘉蹇呭~锛夛紝姣忔潯鎷ㄦ璁板綍鑷姩鐢熸垚骞舵彁浜や竴寮� 1:1 鐨勮储鍔℃姤閿�鍗曪紙finance_reimbursement锛夛紝璧� BPM 涓ょ骇瀹℃壒鍚庣敱鐩戝惉鍣ㄦ妸缁撴灉鍥炲啓鍙拌处銆傞櫌绾т簩鏈熷啀琛ョ粨椤归獙鏀朵笌鎴愭灉褰掓。銆�",
      "steps": [
        {"stage": "鍙戝竷鎸囧崡", "action": "鏂板缓鎸囧崡閫夌被鍒� 1閲嶇偣璇鹃 / 2涓�鑸棰橈紝濉敵鎶ヨ捣姝㈡椂闂翠笌鎸囧崡姝f枃锛涚紪鍙� GL+yyyyMMdd+6浣嶆祦姘达紙Redis 姣忔棩閲嶇疆锛夛紱status: 0鑽夌/20宸插彂甯�/30宸叉埅姝€�備粎鑽夌鍙敼鍙垹锛屽彂甯冨悗鍗冲喕缁擄紱宸蹭骇鐢熺敵鎶ュ崟鐨勬寚鍗楃姝㈠垹闄わ紙鎻愮ず璇ユ寚鍗椾笅宸叉湁 N 寮犵敵鎶ュ崟锛�", "roles": ["瀛︿細绉樹功澶�", "璇鹃绠$悊鍛�"]},
        {"stage": "鍦ㄧ嚎鐢虫姤", "action": "浠庡凡鍙戝竷涓斿湪鐢虫姤鏈熷唴鐨勬寚鍗楁柊寤虹敵鎶ヤ功锛涢�変細鍛橈紙ums_member锛夎嚜鍔ㄥ甫鍑哄鍚�/宸ヤ綔鍗曚綅/鑱岀О/鑱旂郴鐢佃瘽/閭锛屽彲鏀癸紱濉棰樺悕绉般�佽棰樼粍鎴愬憳銆佺敵璇风粡璐广�佺敵鎶ヤ功姝f枃锛涚紪鍙� SB+yyyyMMdd+6浣嶆祦姘达紱绫诲埆鍐椾綑鑷寚鍗楋紝涓嶄俊浠诲墠绔紶鍊硷紱status: 0鑽夌", "roles": ["璇鹃鐢虫姤浜猴紙浼氬憳锛�", "璇鹃绠$悊鍛�"]},
@@ -630,7 +632,7 @@
        {"stage": "涓撳璇勫", "action": "鐢虫姤鍗曞浜庡鎵逛腑(15)鏃跺綍鍏ヤ笓瀹惰瘎鍒嗘槑缁嗭紙涓�浣嶄笓瀹朵竴琛岋細濮撳悕/鍗曚綅/鑱岀О + 閫夐浠峰��0.3/鐮旂┒鏂规0.3/鍥㈤槦鍩虹0.2/棰勬湡鎴愭灉0.2 鍥涢」鍒嗗�� + 缁撹 + 鎰忚锛夛紱鍚庣姣忔澧炲垹鏀瑰悗閲嶇畻 compositeScore 鍔犳潈鍚堣銆佹寜鍔犳潈鍒嗛檷搴忛噸鎺� ranking锛屽苟鍥炲啓涓诲崟 reviewAvgScore锛堝叏閮ㄤ笓瀹跺潎鍒嗭級涓� reviewPass锛堝潎鍒嗚揪鏍囦笖澶氭暟缁撹涓烘帹鑽愮珛椤癸級锛涙槑缁嗗叏閮ㄥ垹闄ゆ椂姹囨�诲�兼竻绌轰负鏈眹鎬伙紱鍥涢」鍒嗗�煎潎鍦� 0~100 涔嬪鏃舵彁绀烘寚鍑哄叿浣撶淮搴︿笌瀹為檯鍊�", "roles": ["璇勫涓撳", "瀛︿細绉樹功澶�", "璇鹃绠$悊鍛�"]},
        {"stage": "绔嬮」瀹℃壒", "action": "BPM 娴佺▼ research_topic_approve 椤哄簭璧颁笁鑺傜偣锛氱涔﹀褰㈠紡瀹℃煡 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒銆傚鎵规柟娉曚笌瀹℃壒浜哄湪娴佺▼瀹氫箟鍐呴厤缃紝閮ㄧ讲鍚庣敱绠$悊鍛樺湪 BPM 娴佺▼璁捐鍣ㄦ寜瀛︿細瀹為檯缁勭粐璋冩暣锛涘鎵逛腑蹇冨唴鐨勮嚜瀹氫箟琛ㄥ崟鍙鍥炴樉鐢虫姤鍗� + 璇勫鏄庣粏 + 鎷ㄤ粯璁板綍銆傞�氳繃鈫�20 宸茬珛椤广�侀┏鍥炩啋35 宸查┏鍥炪�佸彇娑堚啋閫�鍥� 0 鑽夌", "roles": ["瀛︿細绉樹功澶勶紙褰㈠紡瀹℃煡锛�", "璇勫涓撳锛堣瘎瀹¤妭鐐癸級", "瀛︿細鐞嗕簨浼氾紙绔嬮」瀹℃壒锛�"]},
        {"stage": "绔嬮」涓庨�氱煡", "action": "鐩戝惉鍣� ResearchApplicationStatusListener 鍏堝洖鍐欏鎵圭姸鎬侊紝瀹℃壒閫氳繃鍚庡啀璋� approveApplication锛氱敓鎴愮珛椤圭紪鍙� LX+yyyyMMdd+6浣嶆祦姘� 涓� approveTime锛堝凡鏈夌紪鍙峰垯骞傜瓑璺宠繃锛夈�傜偣銆屽彂甯冪珛椤归�氱煡銆嶇敓鎴� system_notice 鍏憡锛堟爣棰樸�庡叧浜庡叕甯冪珛椤硅棰樼殑閫氱煡銆忥紝姝f枃鍚棰樺悕/绔嬮」缂栧彿/绫诲埆/鐢虫姤浜�/鍗曚綅/璧勫姪閲戦锛夛紝鍐欏洖 noticeId 闃查噸澶嶁�斺�旈噸澶嶇偣鍑绘寜宸插彂甯冩嫤鎴苟鍛婄煡涓婃鍙戝竷鏃堕棿", "roles": ["璇鹃绠$悊鍛�", "瀛︿細绉樹功澶�"]},
-       {"stage": "缁忚垂鎷ㄤ粯", "action": "浠呫�屽凡绔嬮」(20)銆嶇殑鐢虫姤鍗曞彲鐧昏鎷ㄦ璁板綍锛堟壒娆″悕绉�/鎷ㄤ粯閲戦/鎷ㄤ粯鏃ユ湡/鏀舵鍗曚綅/鐘舵��/澶囨敞/鍑瘉闄勪欢锛夛紱閲戦鏍¢獙锛氬凡鐧昏閲戦 + 鏈閲戦 涓嶅緱瓒呭嚭璇ュ崟鐢宠缁忚垂锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊硷紱status: 0寰呮嫧浠�/20宸叉嫧浠橈紝鍑瘉鏄庣粏璧� system 闄勪欢涓績 recordType=research_fund_record锛岀姸鎬佹敼涓哄凡鎷ㄤ粯鏃跺嚟璇佸繀濉紱浠呭緟鎷ㄤ粯鐘舵�佸彲鏀瑰彲鍒狅紝缂栬緫鏃朵細鎶婃湰琛岄噾棰濆姞鍥炰綑棰濇樉绀�", "roles": ["瀛︿細璐㈠姟", "璇鹃绠$悊鍛�"]}]},
+       {"stage": "缁忚垂鎷ㄤ粯", "action": "浠呫�屽凡绔嬮」(20)銆嶇殑鐢虫姤鍗曞彲鐧昏鎷ㄦ璁板綍锛堟壒娆″悕绉�/鎷ㄤ粯閲戦/鎷ㄤ粯鏃ユ湡/鏀舵鍗曚綅/澶囨敞/鍑瘉闄勪欢锛夛紝鍑瘉蹇呭~銆傜櫥璁版椂涓�鏉¢緳瀹屾垚锛氣憼 璇鹃渚ц惤 research_fund_record 鍙拌处锛堝厛缃緟鎷ㄤ粯锛夆憽 鍚屼竴鎵� blob 鍙岀粦鍒拌棰樺彴璐︿笌璐㈠姟鎶ラ攢鍗� 鈶� 缁� yudao-module-finance-api 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 鎶ラ攢鍗曪紙1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽垂鐢ㄨ鏄�=銆岃棰樸�旇棰樺悕銆曠N鏈�/绗琋娆$粡璐规嫧娆俱�嶏級鈶� 绔嬪嵆鎻愪氦 BPM 鎶ラ攢瀹℃壒 鈶� 鍙拌处鍥炲啓鎶ラ攢鍗曞彿骞剁疆銆屾姤閿�瀹℃壒涓�(15)銆嶃�傞噾棰濇牎楠岋細宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭璇ュ崟鐢宠缁忚垂锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊笺�傜姸鎬佺敱绯荤粺椹卞姩锛�0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紱鍙湁銆屽緟鎷ㄤ粯銆嶅彲鍒狅紙鍒犻櫎鑱斿姩娓呯悊璐㈠姟渚ц崏绋挎姤閿�鍗曪級锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢锛堝凡椹冲洖鏀瑰悗娓呯┖椹冲洖鍘熷洜涓庢椂闂达級锛涜储鍔$鎾ゅ洖鎴栧彇娑堝垯閫�鍥炪�屽緟鎷ㄤ粯(0)銆嶃�傝储鍔″鎵瑰垎绫讳笅娌℃湁宸插彂甯冩祦绋嬫椂鐩存帴鎶ラ敊涓斾笉寤哄崟锛屼笉鐣欏鍎胯崏绋挎姤閿�鍗�", "roles": ["瀛︿細璐㈠姟", "璇鹃绠$悊鍛�", "璐㈠姟瀹℃牳浜�", "璐㈠姟涓荤"]}]},
     {"id": "ai", "name": "AI 涓氬姟娴佺▼", "mermaid": "mermaid/11-ai-business-flow.mmd", "color": "#56c8d8",
      "summary": "缁熶竴妯″紡锛氫笟鍔′晶鏀堕泦涓婁笅鏂�(蹇呰鏃惰皟 MDM/SRM/CRM API 鍙栧悕绉�)鈫掔粍瑁� Prompt鈫抍hat/chatWithImage鈫掕В鏋� JSON鈫掑墠绔濉垨寤鸿锛涙棤 Function Calling锛汻AG 鐭ヨ瘑搴撳凡寤烘垚浣嗘殏鏃犱笟鍔℃秷璐广��",
      "steps": [
@@ -1010,7 +1012,7 @@
   MES -->|閫�璐ц川妫�鍏ュ簱鍥炶皟| AS[鍞悗宸ュ崟缁翠慨閫�璐
   CRM -->|瀹㈡埛涓绘暟鎹畖 AS
   HRM[HRM 鍛樺伐鍏ヨ浆璋冪浜ゆ帴鑰冨嫟钖叕] -.->|expandUserIds 鏁版嵁鍙鎬ф墿灞暵锋帴鍙e凡灏辩华寰呭悇妯″潡鎺ュ叆| CRM
-  BPM[BPM Flowable 瀹℃壒寮曟搸] -.->|鐘舵�佷簨浠跺洖璋兟�14涓洃鍚櫒| ERP
+  BPM[BPM Flowable 瀹℃壒寮曟搸] -.->|鐘舵�佷簨浠跺洖璋兟�15涓洃鍚櫒| ERP
   BPM -.-> CRM
   BPM -.-> SRM
   BPM -.-> MES
@@ -1029,7 +1031,7 @@
   STG[闄勪欢涓績 storage-blob+attachment 鍏ㄦā鍧楃粺涓�鎸傞檮浠禲 --- ERP
   FIN[璐㈠姟鎶ラ攢 鐙珛妯″潡 yudao-module-finance 鎶ラ攢鍗� 鏄庣粏 鍙戠エ闄勪欢] -.->|澶嶇敤 BPM 瀹℃壒涓庣姸鎬佸洖璋億 BPM
   FIN -.->|鍙戠エ璧伴檮浠朵腑蹇� recordType=finance_reimbursement| STG
-  FIN -.->|鐙珛妯″潡路涓嶄笌鍏跺畠涓氬姟妯″潡浜х敓鍗曟嵁鎴栨暟鎹叧鑱攟 ERP
+  FIN -.->|"瀵瑰浠呮彁渚� yudao-module-finance-api(FinanceReimbursementApi)渚涗粬妯″潡寤哄崟"| ERP
   UMS[浼氬憳绠$悊 鐙珛妯″潡 yudao-module-ums 鍏ヤ細鐢宠 浼氬憳 閫氳褰昡 -.->|澶嶇敤 BPM 涓ょ骇瀹℃壒涓庣姸鎬佸洖璋億 BPM
   UMS -.->|璇佹槑鏉愭枡璧伴檮浠朵腑蹇� recordType=ums_application / ums_member| STG
   UMS -.->|瀹℃壒閫氳繃缁� AdminUserApi.createUser 寤虹郴缁熺櫥褰曡处鍙穦 SYS
@@ -1038,6 +1040,8 @@
   RES -.->|闄勪欢璧伴檮浠朵腑蹇� recordType=research_guideline / research_application / research_fund_record| STG
   RES -->|閫変細鍛樺彇鐢虫姤浜哄鍚� 宸ヤ綔鍗曚綅 鑱岀О 鑱旂郴鐢佃瘽| UMS
   RES -->|绔嬮」閫氱煡鍐� system_notice 鍏憡| SYS
+  RES -->|缁忚垂鎷ㄤ粯 1:1 鑷姩鐢熸垚 finance_reimbursement 鎶ラ攢鍗曞苟鎻愪氦瀹℃壒路璧版柊寤虹殑 yudao-module-finance-api| FIN
+  FIN -.->|鎶ラ攢瀹℃壒缁撴灉缁� BPM 浜嬩欢鍥炶皟 ResearchFundStatusListener 鍥炲啓璇鹃鎷ㄦ鍙拌处| RES
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="09-data-flow">
 flowchart LR
@@ -1122,7 +1126,7 @@
   RBM -->|submit 甯� id 涓� processDefinitionKey 璧� query| RBS
   RBS -.->|BPM 鐩戝惉鍣ㄧ粨鏋滃洖鍐� 閫氳繃20 椹冲洖35 鍙栨秷閫�鍥�0| RBM
   RBA -.->|涓婁紶涓庝繚瀛樺垎绂宦风鍦ㄤ笟鍔¤〃瀛樻枃浠跺湴鍧�| PDFARCH
-  FINNOTE[鐙珛妯″潡路閿�鍞噰璐摼鏉′换鎰忓崟鎹潎涓嶇敓鎴愭姤閿�鍗暵锋姤閿�鍗曚害涓嶅洖鍐欎换浣曞閮ㄥ崟鎹甝 -.-> RBM
+  FINNOTE[鐙珛妯″潡路閿�鍞噰璐摼鏉′换鎰忓崟鎹潎涓嶇敓鎴愭姤閿�鍗暵锋姤閿�鍗曚害涓嶅洖鍐欎换浣曞閮ㄥ崟鎹峰敮涓�渚嬪鏄棰樼粡璐规嫧浠榏 -.-> RBM
   subgraph S6 [鐙珛璇鹃绠$悊 research]
     RGL[璇鹃鎸囧崡 research_guideline] --> RAP[璇鹃鐢虫姤涔� research_application]
     RAP --> RRV[涓撳璇勫鏄庣粏 research_topic_review]
@@ -1139,10 +1143,13 @@
   RRV -.->|"鏄庣粏鍒犵┖鏃朵富鍗曟眹鎬绘竻涓� null"| RAP
   RAP -->|"publishNotice 鐢熸垚 system_notice 鍏憡骞跺洖鍐� noticeId路閲嶅鍙戝竷鎷︽埅"| SYS2[system_notice 绯荤粺鍏憡]
   RFR -->|"閲戦鏍¢獙 宸茬櫥璁� + 鏈 涓嶅緱瓒呭嚭 budgetAmount 鐢宠缁忚垂"| RAP
-  RFR -.->|"鍑瘉璧伴檮浠朵腑蹇� recordType=research_fund_record路琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃"| PDFARCH
+  RFR -.->|"鍑瘉璧伴檮浠朵腑蹇� recordType=research_fund_record路鍚屼竴鎵� blob 鍙岀粦 finance_reimbursement路琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃"| PDFARCH
   RAP -.->|"鐢虫姤闄勪欢 recordType=research_application"| PDFARCH
   RGL -.->|"鎸囧崡闄勪欢 recordType=research_guideline"| PDFARCH
-  RESNOTE[鐙珛妯″潡路涓�鏈熺粡璐规嫧浠樺彧鍦ㄦ湰妯″潡钀借褰暵蜂笌璐㈠姟妯″潡鏃犳暟鎹悓姝ヂ蜂簩鏈熷啀瀵规帴] -.-> RFR
+  RFR -->|"1:1 鐢熸垚鎶ラ攢鍗暵风粡 FinanceReimbursementApi 鏈湴 Bean 寤哄崟骞剁珛鍗� submit路鍥炲啓 reimbursement_id/reimbursement_no路鍙拌处缃� 15 鎶ラ攢瀹℃壒涓�"| RBM
+  RBM -->|"鎶ラ攢鍗曡繘鍏ュ悓涓�鏉� BPM 娴佺▼ finance_reimbursement_approve(璐㈠姟瀹℃牳 鈫� 璐㈠姟涓荤瀹℃壒)路businessKey=鎶ラ攢鍗� ID"| RBS
+  RBS -.->|"BPM 鐩戝惉鍣� ResearchFundStatusListener 鍥炲啓璇鹃鍙拌处 閫氳繃20 椹冲洖30(+椹冲洖鍘熷洜/鏃堕棿) 鎾ゅ洖0"| RFR
+  RESNOTE[涓�鏈熷凡瀵规帴璐㈠姟路璇鹃鍙拌处涓烘嫧娆惧彴璐β锋姤閿�鍗曚负璐㈠姟鍑鸿处鍑瘉路涓よ竟浠� reimbursement_id 杞叧鑱旀棤澶栭敭路璐㈠姟渚х洿鎺ュ垹鍗曚細鐣欎笅鎮┖ ID 鐢变笟鍔℃姤閿欏厹搴昡 -.-> RFR
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="10-business-object">
 erDiagram
@@ -1188,6 +1195,7 @@
   research_guideline ||--o{ research_application : "琚敵鎶ュ紩鐢�"
   research_application ||--o{ research_topic_review : "涓撳璇勫垎鏄庣粏"
   research_application ||--o{ research_fund_record : "缁忚垂鎷ㄤ粯璁板綍"
+  research_fund_record ||--|| finance_reimbursement : "1:1 鐢熸垚鍑鸿处鎶ラ攢鍗�(杞叧鑱� reimbursement_id)"
   ums_member ||--o{ research_application : "鐢虫姤浜�(杞叧鑱旀棤澶栭敭)"
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="11-ai-business-flow">
@@ -1235,7 +1243,7 @@
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="12-finance-flow">
 flowchart TD
-  U1[鎶ラ攢浜哄~鎶ユ姤閿�鍗暵蜂富琛�: 鎶ラ攢鍗曞彿(閫夊~) 鎶ラ攢鏍囬 鎶ラ攢鎬婚噾棰� 鐢宠鏃ユ湡 澶囨敞] --> U2[褰曞叆鎶ラ攢鏄庣粏 1..n 琛�: 璐圭敤绫诲瀷 鍙戠エ鍙风爜 鍙戠エ閲戦 鍙戠エ鏃ユ湡 寮�绁ㄦ柟 璐圭敤璇存槑]
+  U1["鎶ラ攢浜哄~鎶ユ姤閿�鍗暵蜂富琛�: 鎶ラ攢鍗曞彿(閫夊~) 鎶ラ攢鏍囬 鎶ラ攢鎬婚噾棰� 鐢宠鏃ユ湡 澶囨敞"] --> U2["褰曞叆鎶ラ攢鏄庣粏 1..n 琛�: 璐圭敤绫诲瀷 鍙戠エ鍙风爜 鍙戠エ閲戦 鍙戠エ鏃ユ湡 寮�绁ㄦ柟 璐圭敤璇存槑"]
   U2 --> U3[鍙戠エ闄勪欢: 鍥剧墖鎴� PDF 鍏堜紶 system storage-blob upload 鍙� blobId]
   U3 --> S1[淇濆瓨 create路涓昏〃涓庢槑缁嗕笌鍏ㄩ儴 blobIds 涓�娆℃�ф彁浜
   S1 --> G1["鎶ラ攢鍗曞彿锛氬彲鑷畾涔夛紱鐣欑┖(鍚函绌烘牸)鍒欑敱鍚庣鐢熸垚 BX + yyyyMMdd + 6浣嶆祦姘�(Redis路姣忔棩閲嶇疆)"]
@@ -1251,7 +1259,7 @@
   K3 -->|archive 褰掓。| K5[宸插綊妗� 40路缁堟�伮峰啓鍏� archiveTime]
   D1["浠呰崏绋� 0 鍙� delete路杩炲甫娓呯悊鏄庣粏涓庡彂绁ㄩ檮浠�"] -.-> K1
   E1["浠呰崏绋� 0 涓庡凡椹冲洖 35 鍙� update路鍏朵綑鐘舵�佸彧璇�"] -.-> K4
-  N1["鐙珛妯″潡路涓嶄笌鍏朵粬涓氬姟妯″潡浜х敓鍗曟嵁鎴栧瓧娈靛甫鍏�"] --- K1
+  N1["鐙珛妯″潡路涓庨攢鍞噰璐摼鏉′换浣曞崟鎹潎鏃犲叧鑱旓紱鍞竴渚嬪鏄璇鹃缁忚垂鎷ㄤ粯 1:1 鑷姩鐢熸垚(缁� yudao-module-finance-api)"] --- K1
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="13-ums-membership-flow">
 flowchart TD
@@ -1322,18 +1330,26 @@
   KA -->|椹冲洖| K5
   K5 -->|淇敼鍚庨噸鏂� submit| K2
   K4 -->|publishNotice 鍙戝竷绔嬮」閫氱煡| N1["system_notice 鍏憡路鏍囬銆庡叧浜庡叕甯冪珛椤硅棰樼殑閫氱煡銆徛锋鏂囧惈璇鹃鍚� 绔嬮」缂栧彿 绫诲埆 鐢虫姤浜� 鍗曚綅 璧勫姪閲戦路鍥炲啓 noticeId路閲嶅鍙戝竷琚嫤鎴�"]
-  K4 -->|鐧昏鎷ㄦ璁板綍 research_fund_record| F1[濉壒娆″悕绉� 鎷ㄤ粯閲戦 鎷ㄤ粯鏃ユ湡 鏀舵鍗曚綅 鎷ㄤ粯鐘舵�� 鍑瘉闄勪欢]
-  F1 -->|"閲戦鏍¢獙: 宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭鐢虫姤鍗曠敵璇风粡璐孤疯秴鍑烘椂鎶ュ嚭鏈 宸茬櫥璁� 鍚堣 棰勭畻鍥涢」鏁板��"| F2[寰呮嫧浠� 0]
-  F2 -->|"浠呭緟鎷ㄤ粯 0 鍙敼鍙垹"| F2
-  F2 -->|"鐘舵�佹敼涓哄凡鎷ㄤ粯鏃跺繀椤诲凡鏈夊嚟璇侀檮浠�"| F3[宸叉嫧浠� 20]
+  K4 -->|鐧昏鎷ㄦ璁板綍 research_fund_record| F1[濉壒娆″悕绉� 鎷ㄤ粯閲戦 鎷ㄤ粯鏃ユ湡 鏀舵鍗曚綅 澶囨敞路鍑瘉闄勪欢蹇呭~]
+  F1 -->|"閲戦鏍¢獙: 宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭鐢虫姤鍗曠敵璇风粡璐孤疯秴鍑烘椂鎶ュ嚭鏈 宸茬櫥璁� 鍚堣 棰勭畻鍥涢」鏁板��"| FGEN["鑷姩鐢熸垚 1:1 璐㈠姟鎶ラ攢鍗� finance_reimbursement(1 琛屾槑缁�: 璐圭敤绫诲瀷=鍏朵粬 鍙戠エ閲戦=鎷ㄤ粯閲戦 鍙戠エ鏃ユ湡=鎷ㄤ粯鏃ユ湡 璐圭敤璇存槑=璇鹃鍚�+鎵规)路闄勫悓涓�鎵瑰嚟璇伮风珛鍗虫彁浜� BPM路鍥炲啓鎶ラ攢鍗曞彿"]
+  FGEN -->|鍥炲啓鍙拌处鐘舵�亅 F3[鎶ラ攢瀹℃壒涓� 15]
+  F3 -->|"璐㈠姟瀹℃牳 Activity_finance_review"| FAPP[璐㈠姟涓荤瀹℃壒 Activity_finance_approve]
+  FAPP -->|BPM 瀹℃壒閫氳繃| F4[宸叉嫧浠� 20]
+  FAPP -->|BPM 瀹℃壒椹冲洖| F5["宸查┏鍥� 30路鍥炲啓椹冲洖鍘熷洜涓庨┏鍥炴椂闂�"]
+  F5 -->|"淇敼閲戦鎴栧嚟璇佸悗閲嶆柊鍙戣捣鎶ラ攢"| F3
+  FAPP -->|"璐㈠姟绔挙鍥炴垨鍙栨秷"| F2["寰呮嫧浠� 0路鍙紪杈戝彲鍒犻櫎"]
+  F2 -->|"浠呭緟鎷ㄤ粯 0 鍙敼鍙垹路鍒犻櫎鏃惰仈鍔ㄦ竻鐞嗚储鍔′晶鑽夌鎶ラ攢鍗�"| F2
+  F2 -->|"淇敼鍚庨噸鏂板彂璧锋姤閿�"| F3
   ATT1["闄勪欢 recordType = research_guideline"] -.-> G3
   ATT2["闄勪欢 recordType = research_application"] -.-> K1
-  ATT3["闄勪欢 recordType = research_fund_record"] -.-> F1
+  ATT3["闄勪欢 recordType = research_fund_record路鍚屼竴鎵� blob 鍙岀粦 finance_reimbursement(鎸� recordType+recordId 闅旂浜掍笉褰卞搷)"] -.-> F1
   ROL["瀹℃壒涓績鐪嬪崟: 娴佺▼瀹氫箟琛ㄥ崟绫诲瀷=鑷畾涔夎〃鍗暵峰垱寤鸿矾寰� /research/application/index 路 鏌ョ湅璺緞 /research/application/detail/approve/index.vue路鎸� businessKey 鍥炴樉鐢虫姤鍗�"] -.-> K3
   ROL2["瀹℃壒浜哄彇鍊�: 涓夎妭鐐瑰湪娴佺▼瀹氫箟鍐呴厤濂藉鎵规柟娉�(渚濇瀹℃壒)涓庡鎵逛汉绛栫暐路閮ㄧ讲鍚庣敱绠$悊鍛樺湪 BPM 娴佺▼璁捐鍣ㄦ寜瀛︿細瀹為檯缁勭粐璋冩暣路鎻愪氦鏃跺墠绔彧璁╅�夋祦绋嬩笉閫夊鎵逛汉"] -.-> K3
-  RES1["涓�鏈熻竟鐣�: 缁忚垂鎷ㄤ粯鍙湪鏈ā鍧楄惤鎷ㄦ璁板綍路涓庤储鍔℃ā鍧楁棤鏁版嵁鍚屾(涓嶅仛璺ㄦā鍧楀鎺�)"] -.-> F1
+  LIS2["鐩戝惉鍣� ResearchFundStatusListener(娴佺▼ key=finance_reimbursement_approve路businessKey=鎶ラ攢鍗� ID): 閫氳繃鈫掑彴璐﹀凡鎷ㄤ粯 20路椹冲洖鈫掑凡椹冲洖 30+鍘熷洜涓庢椂闂绰锋挙鍥�/鍙栨秷鈫掗��鍥炲緟鎷ㄤ粯 0路涓� finance 鑷繁鐨勭洃鍚櫒璁㈤槄鍚屼竴 key 骞惰瑙﹀彂"] -.-> F3
+  FINAPI["璺ㄦā鍧楄蛋鏂板缓鐨� yudao-module-finance-api(FinanceReimbursementApi路鏈湴 Bean 闈� HTTP): 鏃犲凡鍙戝竷鎶ラ攢瀹℃壒娴佺▼鏃跺厛瑙f瀽鍗虫姤閿櫬蜂笉寤哄崟路閬垮厤鐣欎笅瀛ゅ効鑽夌鎶ラ攢鍗�"] -.-> FGEN
+  RES1["涓�鏈熷凡瀵规帴璐㈠姟: 鎷ㄦ蹇呴』璧� finance_reimbursement 鎶ラ攢鍗曞嚭璐β疯棰樹晶鍙拌处=鎷ㄦ鍙拌处路璐㈠姟鎶ラ攢鍗�=鍑鸿处鍑瘉路涓よ竟浠� reimbursement_id 杞叧鑱�(鏃犲閿�)路璐㈠姟瀹℃壒缁撴灉鑷姩鍥炲啓鏈彴璐�"] -.-> F1
   RES2["浜屾湡鑼冨洿(鏈浘鏈鐩�): 缁撻」楠屾敹 缁撻」璇佷功 鎴愭灉褰掓。鐭ヨ瘑搴� 閲囩撼鎯呭喌涓庣ぞ浼氭晥鐩婃爣娉�"] -.-> K4
-  BOUND["鐙珛妯″潡 yudao-module-research路瀵� ums_member 涓鸿蒋鍏宠仈(鏃犲閿�)路浠呭鐢� BPM 瀹℃壒銆乻ystem 鍏憡涓庨檮浠朵腑蹇�"] --- K1
+  BOUND["鐙珛妯″潡 yudao-module-research路瀵� ums_member 涓鸿蒋鍏宠仈(鏃犲閿�)路瀵硅储鍔℃ā鍧楄蛋 -api 瀛愭ā鍧楁湰鍦拌皟鐢蜂粎澶嶇敤 BPM 瀹℃壒銆乻ystem 鍏憡涓庨檮浠朵腑蹇�"] --- K1
 </pre>
 
 <script type="module">

--
Gitblit v1.9.3