From 5710b28730c86308225872290b3ef188f94fa30a Mon Sep 17 00:00:00 2001 From: Hermes CI Fix Date: Mon, 20 Jul 2026 10:27:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=88=91=E7=9A=84=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E5=8F=B0=20=E2=80=94=20=E9=A2=84=E8=AE=BEKPI=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E6=9B=B4=E6=96=B0+SQL=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/api/dashboard.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/backend/app/api/dashboard.py b/backend/app/api/dashboard.py index 66cc89b5..233be174 100644 --- a/backend/app/api/dashboard.py +++ b/backend/app/api/dashboard.py @@ -365,10 +365,10 @@ def my_dashboard( # 角色预设KPI编码 ROLE_PRESET_KPIS = { - "ceo": ["F_REVENUE_001", "F_PROFIT_001", "F_COST_001", "C_CUST_001", "P_INV_001"], - "finance": ["F_REVENUE_001", "F_PROFIT_001", "F_COST_001", "F_CASH_001"], - "business": ["C_CUST_001", "C_CUST_003", "F_REVENUE_001"], - "it": [], # IT没有固定预设 + "ceo": ["F_REVENUE", "F_NET_PROFIT", "F_COST_RATIO", "C_REBATE_RATE", "P_DELIVERY", "F_FCF"], + "finance": ["F_REVENUE", "F_NET_PROFIT", "F_COST_RATIO", "F_OP_CFLOW", "F_ROE"], + "business": ["C_REBATE_RATE", "C_NEW_CLIENTS", "F_REVENUE"], + "it": [], } preset_codes = ROLE_PRESET_KPIS.get(role, []) @@ -385,11 +385,13 @@ def my_dashboard( # 补充角色预设KPI(去重) preset_kpis = [] if preset_codes: - preset_kpis = db.query(KPIDefinition).filter( + q = db.query(KPIDefinition).filter( KPIDefinition.kpi_code.in_(preset_codes), KPIDefinition.status == "active", - ~KPIDefinition.id.in_(assigned_ids) if assigned_ids else True, - ).all() + ) + if assigned_ids: + q = q.filter(~KPIDefinition.id.in_(assigned_ids)) + preset_kpis = q.all() all_kpis = assigned_kpis + preset_kpis