From 90b3ad820eea45d021835197eac5bc3ad55b12ed Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 13 十月 2026 11:31:17 +0800
Subject: [PATCH] feat(finance): 新增财务核算模块及 ERP 统计接口

---
 docs/project-business/index.html |   99 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 91 insertions(+), 8 deletions(-)

diff --git a/docs/project-business/index.html b/docs/project-business/index.html
index f9036ad..82db651 100644
--- a/docs/project-business/index.html
+++ b/docs/project-business/index.html
@@ -111,6 +111,7 @@
   <a data-t="flow-quality"><span class="dot" style="background:var(--c-qc)"></span>璐ㄩ噺娴佺▼</a>
   <a data-t="flow-warehouse"><span class="dot" style="background:var(--c-wm)"></span>浠撳偍娴佺▼</a>
   <a data-t="flow-aftersales"><span class="dot" style="background:var(--c-as)"></span>鍞悗娴佺▼</a>
+  <a data-t="flow-finance"><span class="dot" style="background:var(--c-fin)"></span>浼氳鏍哥畻</a>
   <div class="group">缁撴瀯涓庢暟鎹�</div>
   <a data-t="relation"><span class="dot" style="background:var(--c-bpm)"></span>绯荤粺鍏崇郴</a>
   <a data-t="dataflow"><span class="dot" style="background:var(--c-fin)"></span>鏁版嵁娴�</a>
@@ -137,6 +138,7 @@
 <section class="page" id="flow-quality"></section>
 <section class="page" id="flow-warehouse"></section>
 <section class="page" id="flow-aftersales"></section>
+<section class="page" id="flow-finance"></section>
 <section class="page" id="relation">
   <h2 class="pt">绯荤粺鍏崇郴</h2>
   <p class="desc">妯″潡涔嬮棿鐨勮皟鐢ㄤ笌鏁版嵁渚濊禆锛氬疄绾�=鍗曟嵁/鏁版嵁娴佸悜锛岃櫄绾�=瀹℃壒鍥炶皟涓庤緟鍔╄兘鍔涖��</p>
@@ -201,9 +203,9 @@
     "frontend": "mom-pro2-before锛圴ue3 绠$悊鍚庡彴锛屽悓浠撳簱瀛樻斁锛屽彧璇诲弬鑰冿級"
   },
   "stats": {
-    "businessModules": 13,
-    "coreObjects": 48,
-    "documentFlows": 6,
+    "businessModules": 14,
+    "coreObjects": 53,
+    "documentFlows": 7,
     "approvalListeners": 13,
     "aiCapabilities": 8,
     "wmBillTypes": 15
@@ -323,7 +325,8 @@
     "MesWmSnDO 鏂板鐨� uuid 瀛楁鐢熸垚/娑堣垂閫昏緫鏈湪鏍稿績 Service 涓‘璁�",
     "杞鐢宠(hrm_regularize_application)銆佸煿璁瘉涔︾瓑浠呮湁 SQL 涓庤彍鍗曞垵濮嬪寲锛孞ava 渚� Service/Controller 鏈疄鐜�",
     "NCR 澶勭疆缁撴灉锛堣繑宸�/閫�璐э級鏈洖鍐欒Е鍙戞簮鍗曟嵁锛屼粎鍙拌处璁板綍",
-    "MPS 鐘舵�佹灇涓剧嫭绔嬬紪鍙�(0/1/2/3)锛屼笌閫氱敤鍗曟嵁甯搁噺(0/1/4/5)涓嶄竴鑷�"
+    "MPS 鐘舵�佹灇涓剧嫭绔嬬紪鍙�(0/1/2/3)锛屼笌閫氱敤鍗曟嵁甯搁噺(0/1/4/5)涓嶄竴鑷�",
+    "璐㈠姟绠$悊锛堜細璁℃牳绠楋級妯″潡 yudao-module-finance 浠g爜宸茶惤鍦帮紝浣嗏憼鑿滃崟/鏉冮檺鏈厤缃紙闇�鑷鍦ㄨ彍鍗曠鐞嗗缓 finance:* 鏉冮檺锛夆憽寤鸿〃涓庡瓧鍏歌剼鏈湭鍚屾杩� docs/sql/config_export_all_<鏃ユ湡>.sql 闃舵涓�锛屾寜鐜版湁鍚堝苟鑴氭湰鍒濆鍖栨柊搴撲細缂� fin_* 琛ㄤ笌 6 缁� finance_* 瀛楀吀銆愬緟纭銆�"
   ],
   "generatedAt": "2026-09-10",
   "analysisBasis": "鍩轰簬 dev_business 鍒嗘敮 87bf4a99 婧愮爜锛�6 缁勫苟琛屾簮鐮佽蛋璇伙紙MES 鐢熶骇璐ㄩ噺 / MES 浠撳偍 / ERP / CRM+SRM / 鍞悗+HRM / AI+BI+MDM+BPM+搴曞骇锛�"
@@ -362,6 +365,14 @@
      "roles": ["閲囪喘鍛�", "閿�鍞憳", "鍑虹撼", "浼氳"],
      "upstream": ["CRM(鍚堝悓)", "SRM(瀹氭爣)", "涓绘暟鎹�"], "downstream": ["鐢熶骇(MPS)", "浠撳偍(鏀跺彂)"],
      "coreTables": ["erp_purchase_request", "erp_purchase_order", "erp_purchase_invoice", "erp_finance_payment", "erp_sale_order", "erp_finance_receipt", "erp_account"]},
+    {"key": "finance", "name": "璐㈠姟绠$悊锛堜細璁℃牳绠楋級", "color": "#3ec9a7", "tag": "FIN", "flow": "finance",
+     "positioning": "鐙珛鏍哥畻妯″潡锛氫細璁℃牳绠� + 璧勪骇鏍哥畻 + 璐㈠姟鎶ヨ〃鐪嬫澘锛堜笌 ERP 杩涢攢瀛樿储鍔″崟鎹垎绂伙紝yudao-module-finance锛�",
+     "problem": "杩涢攢瀛樺彧绠″崟鎹笉绠¤处锛岀己灏戜細璁$鐩�/鍑瘉/璐︾翱涓庤祫浜ф姌鏃ф憡閿�娌夋穩锛屾棤娉曞嚭璐﹁〃涓庤祫浜у噣鍊�",
+     "features": ["浼氳绉戠洰鏍�(绾�68鏉′竴绾х鐩瀛惵峰彲寤轰笅绾�)", "璁拌处鍑瘉(瀛楀彿鑷姩鐢熸垚路鍒嗗綍鍊熻捶骞宠 鍓嶅悗绔弻閲嶆牎楠�)", "鍑瘉鐘舵�佹満 鏈繃璐�0鈫掕繃璐�10/浣滃簾20锛屽凡杩囪处涓嶅彲鏀�", "鎬昏处鎸夋湡闂撮�愭湀姹囨��", "鏄庣粏璐﹂�愭潯鍒嗗綍骞剁粨杞綑棰�", "鍥哄畾璧勪骇+璁℃彁鎶樻棫", "鏃犲舰璧勪骇+璁℃彁鎽婇攢", "浼氳鏍哥畻鐪嬫澘(鏀舵敮/璧勪骇/鍑瘉/鏈堝害瓒嬪娍)", "闄勪欢璧扮郴缁熼檮浠朵腑蹇� recordType=fin_voucher"],
+     "objects": ["浼氳绉戠洰", "璁拌处鍑瘉", "鍑瘉鍒嗗綍", "鍥哄畾璧勪骇", "鏃犲舰璧勪骇"],
+     "roles": ["浼氳", "璐㈠姟涓荤", "璧勪骇浼氳", "绠$悊灞�"],
+     "upstream": ["杩涢攢瀛�(ERP 宸插鏍告敹璐�/浠樻/璐攢鍗曟嵁)"], "downstream": ["璐㈠姟鎶ヨ〃鐪嬫澘", "BI 绠$悊椹鹃┒鑸�"],
+     "coreTables": ["fin_account_subject", "fin_voucher", "fin_voucher_entry", "fin_fixed_asset", "fin_intangible_asset"]},
     {"key": "pro", "name": "鐢熶骇绠$悊", "color": "#e0b34f", "tag": "MES-PRO", "flow": "production",
      "positioning": "鐢熶骇鎵ц鏍稿績锛氳鍒�-宸ュ崟-浠诲姟-鎶ュ伐",
      "problem": "璁㈠崟鍒拌溅闂存墽琛岀殑閫愬眰鎷嗚В涓庤繃绋嬪彲鎺�",
@@ -462,6 +473,11 @@
     {"name": "閲囪喘鏉ョエ", "module": "杩涢攢瀛�", "table": "erp_purchase_invoice", "doc": "FPD缂栧彿锛孉I OCR 棰勫~锛岀疮璁♀墹璁㈠崟鎬讳环锛屼粯娆惧崟鐨勫墠缃�", "upstream": ["閲囪喘璁㈠崟"], "downstream": ["浠樻鍗�"], "keywords": "鏉ョエ 鍙戠エ 閲囪喘鍙戠エ"},
     {"name": "浠樻鍗�", "module": "璐㈠姟", "table": "erp_finance_payment", "doc": "FKD缂栧彿锛屽繀椤诲叧鑱旀潵绁�+闄勪欢锛岀疮璁♀墹鏉ョエ閲戦锛孊PM 瀹℃壒", "upstream": ["閲囪喘鏉ョエ"], "downstream": ["缁撶畻璐︽埛"], "keywords": "浠樻 搴斾粯 payment"},
     {"name": "鏀舵鍗�", "module": "璐㈠姟", "table": "erp_finance_receipt", "doc": "SKD缂栧彿锛屽叧鑱� CRM 瀹㈡埛鏍¢獙锛屾棤 BPM(鎵嬪姩瀹℃牳)", "upstream": ["閿�鍞�(寮卞叧鑱�)"], "downstream": ["缁撶畻璐︽埛"], "keywords": "鏀舵 搴旀敹 receipt"},
+    {"name": "浼氳绉戠洰", "module": "浼氳鏍哥畻", "table": "fin_account_subject", "doc": "绉戠洰鏍戯紝parent_id 鑷叧鑱旓紱绉戠洰绫诲瀷1璧勪骇2璐熷��3鏉冪泭4鎴愭湰5鎹熺泭锛屼綑棰濇柟鍚�1鍊�2璐凤紝鐘舵��0鍚敤1绂佺敤锛涜处琛ㄤ笌鍒嗗綍缁熶竴鎸� subject_code 鍙栨暟", "upstream": ["浼氳绉戠洰绉嶅瓙绾�68鏉′竴绾х鐩�"], "downstream": ["璁拌处鍑瘉鍒嗗綍", "鎬昏处", "鏄庣粏璐�"], "keywords": "浼氳绉戠洰 绉戠洰 subject account 璧勪骇绫� 璐熷�虹被 鎹熺泭绫�"},
+    {"name": "璁拌处鍑瘉", "module": "浼氳鏍哥畻", "table": "fin_voucher", "doc": "鍑瘉瀛楀彿鍙暀绌虹敱鍚庣鑷姩鐢熸垚锛涚姸鎬� 鏈繃璐�0/宸茶繃璐�10/宸蹭綔搴�20锛涘凡杩囪处涓嶅彲鏀癸紝鏈繃璐︿笌宸茶繃璐﹀潎鍙綔搴燂紝鏈繃璐︿笌宸蹭綔搴熷彲鍒犻櫎锛涢檮浠舵寜 recordType=fin_voucher 鎸傜郴缁熼檮浠朵腑蹇�", "upstream": ["浼氳绉戠洰"], "downstream": ["鎬昏处", "鏄庣粏璐�", "璐㈠姟鎶ヨ〃鐪嬫澘"], "keywords": "璁拌处鍑瘉 鍑瘉 voucher 杩囪处 浣滃簾 鍊熻捶骞宠 "},
+    {"name": "鍑瘉鍒嗗綍", "module": "浼氳鏍哥畻", "table": "fin_voucher_entry", "doc": "鍑瘉涓嬮�愯鍒嗗綍锛氱鐩紪鐮�+鍊�/璐烽噾棰�+杈呭姪鏍哥畻(1瀹㈡埛2渚涘簲鍟�3閮ㄩ棬4鍛樺伐5椤圭洰)锛涗竴琛屼笉鍙�熻捶鍚屾椂澶т簬0锛屽叏琛ㄥ�熻捶鍚堣蹇呴』鐩哥瓑涓斿ぇ浜�0", "upstream": ["璁拌处鍑瘉", "浼氳绉戠洰"], "downstream": ["鎬昏处", "鏄庣粏璐�"], "keywords": "鍑瘉鍒嗗綍 鍒嗗綍 entry 鍊熸柟 璐锋柟 杈呭姪鏍哥畻"},
+    {"name": "鍥哄畾璧勪骇", "module": "浼氳鏍哥畻", "table": "fin_fixed_asset", "doc": "璧勪骇鍗$墖锛岀姸鎬� 1鍦ㄧ敤/2闂茬疆/3缁翠慨涓�/4宸叉姤搴燂紱鏈堟姌鏃ч=(鍘熷�济�(1-娈嬪�肩巼))梅(骞撮檺脳12)锛岀疮璁℃姌鏃т笌鍑�鍊肩敱璁℃彁绱姞锛屼笉鎺ユ敹鍓嶇浼犲��", "upstream": [], "downstream": ["璐㈠姟鎶ヨ〃鐪嬫澘", "鎬昏处"], "keywords": "鍥哄畾璧勪骇 鎶樻棫 璧勪骇鍗$墖 fixed asset 娈嬪�肩巼"},
+    {"name": "鏃犲舰璧勪骇", "module": "浼氳鏍哥畻", "table": "fin_intangible_asset", "doc": "鏃犲舰璧勪骇鍗$墖(璇佷功缂栧彿/鏈夋晥鏈�)锛岀姸鎬� 1鍦ㄧ敤/2宸插け鏁�/3宸叉憡閿�瀹岋紱鏈堟憡閿�棰�=(鍘熷�济�(1-娈嬪�肩巼))梅(鎽婇攢骞撮檺脳12)锛岀疮璁℃憡閿�涓庡噣鍊肩敱璁℃彁绱姞", "upstream": [], "downstream": ["璐㈠姟鎶ヨ〃鐪嬫澘", "鎬昏处"], "keywords": "鏃犲舰璧勪骇 鎽婇攢 杞欢钁椾綔鏉� 涓撳埄 intangible 鏈夋晥鏈�"},
     {"name": "閿�鍞鍗�", "module": "杩涢攢瀛�", "table": "erp_sale_order", "doc": "XSDD缂栧彿锛孊PM 瀹℃壒锛岄渶鐢熶骇琛岃嚜鍔ㄥ缓 MPS锛屽嚭搴撶姸鎬�:鏈�0宸查鐣�1閮ㄥ垎2鍏ㄩ儴3锛岀敓浜у畬鎴愪簨浠跺洖鍐�", "upstream": ["鍚堝悓"], "downstream": ["MPS", "鍙戣揣閫氱煡", "閿�鍞嚭搴�", "鍞悗宸ュ崟"], "keywords": "閿�鍞鍗� sale"},
     {"name": "涓荤敓浜ц鍒�", "module": "鐢熶骇", "table": "mes_pro_mps", "doc": "MPS璁″垝锛岃崏绋�0鈫掑凡涓嬪彂1鈫掑畬鎴�2/鍙栨秷3锛屽彲鍚堝苟涓嬪彂", "upstream": ["閿�鍞鍗�"], "downstream": ["鐢熶骇宸ュ崟"], "keywords": "MPS 涓昏鍒� 鐢熶骇璁″垝"},
     {"name": "鐢熶骇宸ュ崟", "module": "鐢熶骇", "table": "mes_pro_work_order", "doc": "鑽夌0鈫掑凡纭1鈫掑畬鎴�2/鍙栨秷3锛岀‘璁ゆ椂鎸夊伐鑹鸿矾绾跨敓鎴愪换鍔★紝鏈�鍚庝竴閬撳伐搴忔姤宸ュ洖鍐欏凡鐢熶骇鏁伴噺", "upstream": ["MPS"], "downstream": ["鐢熶骇浠诲姟", "棰嗘枡", "瀹屽伐鍏ュ簱"], "keywords": "宸ュ崟 鐢熶骇宸ュ崟 work order"},
@@ -549,6 +565,15 @@
        {"stage": "鍒ゅ畾", "action": "闂鍒ゅ畾: 涓�鑸�/缁翠慨/閫�璐э紝涓ラ噸搴� 0-3", "roles": ["鍞悗宸ョ▼甯�"]},
        {"stage": "缁翠慨", "action": "鐜板満/杩斿巶/杩滅▼缁翠慨锛岃垂鐢ㄤ笌缁撴灉璁板綍锛屽畬鎴愯仈鍔ㄥ伐鍗曞畬缁�", "roles": ["缁翠慨宸ョ▼甯�"]},
        {"stage": "閫�璐�", "action": "閫�璐х敵璇峰鏍糕啋鑷姩寤� MES 閿�鍞��璐у崟(RQC)鈫掕川妫�/鍏ュ簱鍥炶皟鈫掗��娆惧洖璋冣啋鍏抽棴", "roles": ["鍞悗", "璐ㄦ", "璐㈠姟"]}]},
+    {"id": "finance", "name": "浼氳鏍哥畻娴佺▼", "mermaid": "mermaid/12-finance-flow.mmd", "color": "#3ec9a7",
+     "summary": "鐙珛鏍哥畻妯″潡 yudao-module-finance锛氫細璁$鐩缓璐� 鈫� 璁拌处鍑瘉褰曞叆(鍊熻捶骞宠 鏍¢獙) 鈫� 杩囪处 鈫� 鎬昏处/鏄庣粏璐� 鈫� 璧勪骇璁℃彁鎶樻棫涓庢憡閿� 鈫� 璐㈠姟鎶ヨ〃鐪嬫澘鍙栨暟 ERP 宸插鏍稿崟鎹��",
+     "steps": [
+       {"stage": "寤鸿处", "action": "缁存姢浼氳绉戠洰 tree(subjectCode 鍞竴锛屽彲寤轰笅绾�)锛岄娆″彲瀵煎叆绾� 68 鏉′竴绾х鐩瀛�", "roles": ["浼氳"]},
+       {"stage": "璁拌处", "action": "褰曞叆鍑瘉(瀛楀彿鐣欑┖鑷姩鐢熸垚)+鍒嗗綍锛屽垎褰曢�愯閫夌鐩苟濉��/璐凤紱鏍¢獙鑷冲皯涓�琛屻�佸�熻捶閮戒笉寰楀悓鏃跺ぇ浜�0銆佸悎璁$浉绛変笖澶т簬0", "roles": ["浼氳"]},
+       {"stage": "杩囪处", "action": "鏈繃璐�0 鈫� post 杩囪处 鈫� 宸茶繃璐�10(涓嶅彲鍐嶄慨鏀�)锛涙湭杩囪处0 鎴� 宸茶繃璐�10 鍧囧彲 cancel 浣滃簾 鈫� 宸蹭綔搴�20", "roles": ["浼氳", "璐㈠姟涓荤"]},
+       {"stage": "鏌ヨ处", "action": "鎬昏处鎸夋湡闂撮�愭湀姹囨�汇�佹槑缁嗚处閫愭潯鍒嗗綍骞剁粨杞綑棰濓紝涓よ�呭彧缁熻宸茶繃璐�10鐨勫嚟璇侊紝骞舵敮鎸佸鍑�", "roles": ["浼氳", "璐㈠姟涓荤"]},
+       {"stage": "璧勪骇", "action": "鍥哄畾璧勪骇(1鍦ㄧ敤/2闂茬疆/3缁翠慨涓�/4宸叉姤搴�)涓庢棤褰㈣祫浜�(1鍦ㄧ敤/2宸插け鏁�/3宸叉憡閿�瀹�)璁℃彁锛氫紶 ids 鎸夐�変腑璁℃彁锛宨ds 涓虹┖瀵瑰叏閮ㄦ湭鎶ュ簾/鏈け鏁堣祫浜ц鎻愪竴涓湀", "roles": ["璧勪骇浼氳"]},
+       {"stage": "鎶ヨ〃", "action": "鐪嬫澘姹囨�昏祫浜т笌鍑瘉鏃剁偣鏁� + 缁� ErpFinanceStatisticsApi 鍙� ERP 宸插鏍告敹璐т粯娆句笌璐攢閲戦锛岃緭鍑烘湀搴︽敹鏀秼鍔�", "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": [
@@ -578,7 +603,7 @@
     {"role": "璐ㄦ鍛�", "modules": ["MES-QC"], "operations": ["IQC/IPQC/OQC/RQC 妫�楠�", "NCR 璇勫澶勭疆"], "data": ["mes_qc_*"], "scope": "inspectorUserId 褰掑睘"},
     {"role": "璁惧鍛�/缁翠慨宸�", "modules": ["MES-DV"], "operations": ["鐐规淇濆吇", "缁翠慨宸ュ崟", "宸ヨ棰嗙敤"], "data": ["mes_dv_*", "mes_tm_*"], "scope": "chargeUserId 褰掑睘"},
     {"role": "瀹㈡湇/鍞悗宸ョ▼甯�", "modules": ["鍞悗"], "operations": ["宸ュ崟鍙楃悊娲惧伐", "缁翠慨", "閫�璐х敵璇�"], "data": ["after_sale_*"], "scope": "琛岀骇鏁版嵁鏉冮檺鍥涜鍥撅細鎴戣礋璐�/鎴戝弬涓�/涓嬪睘璐熻矗/鍏ㄩ儴(aftersales:view-all)"},
-    {"role": "璐㈠姟", "modules": ["ERP", "CRM"], "operations": ["鏀舵鍗�", "浠樻鍗�", "寮�绁ㄥ鏍�", "缁撶畻璐︽埛"], "data": ["erp_finance_*", "crm_invoice", "crm_receivable"], "scope": "financeUserId 褰掑睘"},
+    {"role": "璐㈠姟", "modules": ["ERP", "CRM", "FIN"], "operations": ["鏀舵鍗�", "浠樻鍗�", "寮�绁ㄥ鏍�", "缁撶畻璐︽埛", "浼氳绉戠洰缁存姢", "璁拌处鍑瘉褰曞叆涓庤繃璐�/浣滃簾", "鎬昏处涓庢槑缁嗚处鏌ヨ", "鍥哄畾璧勪骇鎶樻棫璁℃彁", "鏃犲舰璧勪骇鎽婇攢璁℃彁", "浼氳鏍哥畻鐪嬫澘"], "data": ["erp_finance_*", "crm_invoice", "crm_receivable", "fin_account_subject", "fin_voucher", "fin_voucher_entry", "fin_fixed_asset", "fin_intangible_asset"], "scope": "financeUserId 褰掑睘锛涜储鍔℃牳绠楁ā鍧楁寜 finance:* 鎺ュ彛鏉冮檺 + system_menu 鎺堟潈锛屾殏鏃犳暟鎹潈闄愬瓧娈�"},
     {"role": "HR", "modules": ["HRM"], "operations": ["鍛樺伐妗f鍏ヨ浆璋冪", "鑰冨嫟瑙勫垯鎺掔彮", "钖叕鏍哥畻鍙戞斁", "绂昏亴浜ゆ帴"], "data": ["hrm_*"], "scope": "閮ㄩ棬鑼冨洿 dataScope"},
     {"role": "绠$悊灞�", "modules": ["BI"], "operations": ["鏌ョ湅閲囪喘閿�鍞�/浠撳簱/鐢熶骇璁惧/璐ㄩ噺/浜哄姏浜斿ぇ涓婚澶у睆"], "data": ["bi_dashboard"], "scope": "鍙"}
   ]
@@ -614,6 +639,14 @@
       浠樻鍗�
       鏀舵鍗�
       缁撶畻璐︽埛
+    璐㈠姟绠$悊 浼氳鏍哥畻 FIN
+      浼氳绉戠洰鏍�
+      璁拌处鍑瘉涓庡垎褰�
+      鍑瘉杩囪处涓庝綔搴�
+      鎬昏处涓庢槑缁嗚处
+      鍥哄畾璧勪骇涓庢姌鏃�
+      鏃犲舰璧勪骇涓庢憡閿�
+      璐㈠姟鎶ヨ〃鐪嬫澘
     鐢熶骇绠$悊 MES
       涓荤敓浜ц鍒� MPS
       鐢熶骇宸ュ崟
@@ -910,6 +943,7 @@
   ERP -->|閿�鍞鍗曞鎵圭敓鎴怣PS| MES
   MES -->|鍏ュ簱鍑哄簱鍥炲啓鍗曟嵁杩涘害| ERP
   MES -->|ProductionFinishedEvent| ERP
+  ERP -->|ErpFinanceStatisticsApi.getMonthlyStatistics路鍙彇宸插鏍� status=20 鐨勬敹娆句粯娆句笌璐攢閲戦| FIN[璐㈠姟鏍哥畻 FIN 绉戠洰路鍑瘉路鎬昏处鏄庣粏璐β疯祫浜ф姌鏃ф憡閿�路鎶ヨ〃鐪嬫澘]
   MES -->|閫�璐ц川妫�鍏ュ簱鍥炶皟| AS[鍞悗宸ュ崟缁翠慨閫�璐
   CRM -->|瀹㈡埛涓绘暟鎹畖 AS
   HRM[HRM 鍛樺伐鍏ヨ浆璋冪浜ゆ帴鑰冨嫟钖叕] -.->|expandUserIds 鏁版嵁鍙鎬ф墿灞暵锋帴鍙e凡灏辩华寰呭悇妯″潡鎺ュ叆| CRM
@@ -927,9 +961,11 @@
   ERP --> BI
   CRM --> BI
   HRM --> BI
+  FIN --> BI
   SYS[绯荤粺搴曞骇 璁よ瘉路RBAC路瀛楀吀路闄勪欢涓績路瀹氭椂浠诲姟] --- MDM
   SYS --- MES
   STG[闄勪欢涓績 storage-blob+attachment 鍏ㄦā鍧楃粺涓�鎸傞檮浠禲 --- ERP
+  FIN -.->|鍑瘉闄勪欢 recordType=fin_voucher| STG
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="09-data-flow">
 flowchart LR
@@ -958,6 +994,19 @@
     RC[鏀舵鍗昡
     PI[閲囪喘鏉ョエ] --> PA[浠樻鍗昡
   end
+  subgraph S5 [璐㈠姟鏍哥畻 FIN 鐙珛妯″潡]
+    FA[浼氳绉戠洰 fin_account_subject] --> FV[璁拌处鍑瘉 fin_voucher]
+    FV --> FE[鍑瘉鍒嗗綍 fin_voucher_entry]
+    FE -->|鍊熻捶骞宠 鏍¢獙路涓嶅钩琛℃垨鍚堣涓�0鍒欐嫤涓媩 FVPOST{鍑瘉杩囪处}
+    FVPOST -->|宸茶繃璐�10| GL[鎬昏处路鎸夋湡闂撮�愭湀姹囨�籡
+    FVPOST -->|宸茶繃璐�10| DL[鏄庣粏璐β烽�愭潯鍒嗗綍骞剁粨杞綑棰漖
+    GL --> FDASH[浼氳鏍哥畻鐪嬫澘]
+    DL --> FDASH
+    FIX[鍥哄畾璧勪骇路1鍦ㄧ敤2闂茬疆3缁翠慨涓�4宸叉姤搴焆 -->|璁℃彁鎶樻棫路浼爄ds鎸夐�変腑 绌篿ds鍏ㄩ噺| FDEP[绱鎶樻棫涓庡噣鍊糫
+    FINT[鏃犲舰璧勪骇路1鍦ㄧ敤2宸插け鏁�3宸叉憡閿�瀹宂 -->|璁℃彁鎽婇攢路浼爄ds鎸夐�変腑 绌篿ds鍏ㄩ噺| FAMR[绱鎽婇攢涓庡噣鍊糫
+    FDEP --> FDASH
+    FAMR --> FDASH
+  end
   CT -->|generateSaleOrder 甯﹀叆瀹㈡埛浜у搧鎶樻墸瀹氶噾路鍥炲啓orderId| SO
   SO -->|瀹℃壒閫氳繃甯﹀叆 saleOrderId 琛孖D 鏁伴噺 瀹㈡埛 浜ゆ湡| MP
   PO -->|纭鏀惰揣甯﹀叆璁㈠崟琛岀墿鏂欎緵搴斿晢鏁伴噺| AN
@@ -971,6 +1020,11 @@
   IV -->|鍥炴寮哄埗鍏堝紑绁▅ RK
   RC -->|鍏宠仈CRM瀹㈡埛鏍¢獙| CU
   PA -->|鍏宠仈鏉ョエ涓庝緵搴斿晢| PI
+  RC -->|宸插鏍告敹娆惧崟閲戦 ErpFinanceStatisticsApi| FDASH
+  PA -->|宸插鏍镐粯娆惧崟閲戦 ErpFinanceStatisticsApi| FDASH
+  SO -->|宸插鏍搁攢鍞鍗曢噾棰� ErpFinanceStatisticsApi| FDASH
+  PO -->|宸插鏍搁噰璐鍗曢噾棰� ErpFinanceStatisticsApi| FDASH
+  FV -.->|鍑瘉闄勪欢 recordType=fin_voucher| PDFARCH
   subgraph S4 [鏅鸿兘璐ㄦ鎶ュ憡 qcreport]
     RPT[鎶ュ憡妯℃澘] --> RPTV[妯℃澘鐗堟湰]
     RPTVSAVE[璁捐鍣ㄤ繚瀛� create 鎴� update] -->|鍐欏叆渚ч椄闂� 瑙勫垯101_006 鐢诲竷瀹夊叏101_009 涓嶅悎鏍间笉钀藉簱| RPTV
@@ -1044,6 +1098,9 @@
   hrm_employee ||--o| hrm_user_handover : "绂昏亴浜ゆ帴鏄犲皠"
   qc_report_template ||--o{ qc_report_template_version : "澶氱増鏈�"
   qc_report_template_version ||--o{ qc_report_instance : "鍐荤粨鍑轰欢鐗堟湰"
+  fin_account_subject |o--o{ fin_voucher_entry : "鍒嗗綍鎸� subject_code 瀵瑰簲绉戠洰"
+  fin_voucher ||--o{ fin_voucher_entry : "鍑瘉鍚垎褰�"
+  %% fin_fixed_asset 鍥哄畾璧勪骇涓� fin_intangible_asset 鏃犲舰璧勪骇涓虹嫭绔嬭祫浜у崱鐗囷紝闈犺祫浜х紪鍙疯嚜绠$悊锛屾棤澶栭敭鍏宠仈锛屾晠涓嶄笂 ER
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="11-ai-business-flow">
 flowchart TD
@@ -1088,6 +1145,32 @@
   MODE[妯″瀷灞�:閫氫箟鍗冮棶涓轰富路棰勭暀DeepSeek/OpenAI/Ollama鏈疄鐜癩 --- O2
   NOTE[鍏ㄩ」鐩棤Function Calling路AI鍙緭鍑虹粨鏋勫寲JSON鐢变笟鍔′晶瑙f瀽] --- J2
 </pre>
+<pre style="display:none" class="mmd-src" data-mmd="12-finance-flow">
+flowchart TD
+  A[浼氳绉戠洰 fin_account_subject路涓�绾х鐩瀛愮害68鏉 -->|寤轰笅绾х鐩� parent_id| B[绉戠洰鏍懧穕ist 缁勮 children]
+  B -->|绉戠洰鍙栧�肩敤 subjectCode 鑰岄潪 id| C[璁拌处鍑瘉 fin_voucher路鐣欑┖鍒欒嚜鍔ㄧ敓鎴愬瓧鍙穄
+  C --> D[鍑瘉鍒嗗綍 fin_voucher_entry路閫愯绉戠洰+鍊�/璐�+杈呭姪鏍哥畻]
+  D -->|鍓嶇鏍¢獙路鍚庣澶嶆牳| E{鍊熻捶骞宠 鏍¢獙}
+  E -->|涓嶅钩琛℃垨鍚堣涓�0| E1[鎷︿笅路鎻愮ず鍑洪敊琛屼笌鍊熻捶宸]
+  E -->|骞宠 | F[淇濆瓨路鏈繃璐�0]
+  F -->|鍙紪杈� 鍙繃璐� 鍙綔搴� 鍙垹闄 F
+  F -->|杩囪处 post| G[宸茶繃璐�10路涓嶅彲鍐嶄慨鏀筣
+  F -->|浣滃簾 cancel| H[宸蹭綔搴�20]
+  G -->|浣滃簾 cancel| H
+  H -->|鍒犻櫎 delete| X[鍒犻櫎]
+  G -->|鍙粺璁″凡杩囪处鍑瘉鏄庣粏| I[鎬昏处 finance/ledger/general路鎸夋湡闂撮�愭湀姹囨�籡
+  G -->|鍙粺璁″凡杩囪处鍑瘉鏄庣粏| J[鏄庣粏璐� finance/ledger/detail路閫愭潯鍒嗗綍骞剁粨杞綑棰漖
+  I --> K[璐㈠姟鎶ヨ〃 / 浼氳鏍哥畻鐪嬫澘]
+  J --> K
+  L[鍥哄畾璧勪骇 fin_fixed_asset路鐘舵�� 1鍦ㄧ敤 2闂茬疆 3缁翠慨涓� 4宸叉姤搴焆 -->|璁℃彁鎶樻棫 depreciate路绌篿ds=鍏ㄩ噺| M[绱鎶樻棫閫掑路鍑�鍊�=鍘熷��-绱鎶樻棫]
+  N[鏃犲舰璧勪骇 fin_intangible_asset路鐘舵�� 1鍦ㄧ敤 2宸插け鏁� 3宸叉憡閿�瀹宂 -->|璁℃彁鎽婇攢 amortize路绌篿ds=鍏ㄩ噺| O[绱鎽婇攢閫掑路鍑�鍊�=鍘熷��-绱鎽婇攢]
+  M --> K
+  O --> K
+  P[ERP 宸插鏍稿崟鎹� status=20 鏀舵鍗� 浠樻鍗� 閿�鍞鍗� 閲囪喘璁㈠崟] -->|ErpFinanceStatisticsApi.getMonthlyStatistics 鎸夋湀| K
+  K -.->|绉戠洰鏁� 鍑瘉鏁� 鏈繃璐� 宸茶繃璐� 宸蹭綔搴� 璧勪骇鍑�鍊� 鏈堝害瓒嬪娍| Q[鐪嬫澘鍗$墖+鏈堝害瓒嬪娍鍥綸
+  V[闄勪欢涓績 recordType=fin_voucher] --- C
+  V -.->|涓嶈惤 file_url 鍒梶 C
+</pre>
 
 <script type="module">
 const DATA = {};
@@ -1107,7 +1190,7 @@
 const mmdSrc = {};
 document.querySelectorAll('pre.mmd-src').forEach(p=>{ mmdSrc[p.dataset.mmd]=p.textContent.trim(); });
 
-const flowColor = {sales:'var(--c-sale)',purchase:'var(--c-erp)',production:'var(--c-prod)',quality:'var(--c-qc)',warehouse:'var(--c-wm)',aftersales:'var(--c-as)',ai:'var(--c-ai)'};
+const flowColor = {sales:'var(--c-sale)',purchase:'var(--c-erp)',production:'var(--c-prod)',quality:'var(--c-qc)',warehouse:'var(--c-wm)',aftersales:'var(--c-as)',finance:'var(--c-fin)',ai:'var(--c-ai)'};
 
 async function boot(){
   DATA.business = await loadJson('business');
@@ -1144,8 +1227,8 @@
   </div>
   <h3 class="sec">涓氬姟妯″潡</h3>
   <div class="grid cards">`;
-  const targets = {crm:'flow-sales',erp:'flow-purchase',pro:'flow-production',wm:'flow-warehouse',qc:'flow-quality',aftersales:'flow-aftersales',ai:'ai',srm:'flow-purchase',mdm:'objects',dv:'objects',hrm:'objects',bpm:'relation'};
-  const accs = {mdm:'var(--c-base)',crm:'var(--c-sale)',srm:'var(--c-sup)',erp:'var(--c-erp)',pro:'var(--c-prod)',wm:'var(--c-wm)',qc:'var(--c-qc)',dv:'var(--c-dv)',aftersales:'var(--c-as)',hrm:'var(--c-hrm)',bpm:'var(--c-bpm)',ai:'var(--c-ai)'};
+  const targets = {crm:'flow-sales',erp:'flow-purchase',pro:'flow-production',wm:'flow-warehouse',qc:'flow-quality',aftersales:'flow-aftersales',ai:'ai',srm:'flow-purchase',mdm:'objects',dv:'objects',hrm:'objects',bpm:'relation',finance:'flow-finance'};
+  const accs = {mdm:'var(--c-base)',crm:'var(--c-sale)',srm:'var(--c-sup)',erp:'var(--c-erp)',pro:'var(--c-prod)',wm:'var(--c-wm)',qc:'var(--c-qc)',dv:'var(--c-dv)',aftersales:'var(--c-as)',hrm:'var(--c-hrm)',bpm:'var(--c-bpm)',ai:'var(--c-ai)',finance:'var(--c-fin)'};
   DATA.modules.modules.forEach(m=>{
     html += `<div class="card" style="--acc:${accs[m.key]||'#2c5cff'}" data-goto="${targets[m.key]||'panorama'}">
       <h3>${esc(m.name)}<span class="tag">${esc(m.tag)}</span></h3>

--
Gitblit v1.9.3