fix: 我的工作台 — 预设KPI编码更新+SQL查询条件修复

This commit is contained in:
Hermes CI Fix
2026-07-20 10:27:12 +08:00
parent 5d7873e05e
commit 5710b28730
+9 -7
View File
@@ -365,10 +365,10 @@ def my_dashboard(
# 角色预设KPI编码 # 角色预设KPI编码
ROLE_PRESET_KPIS = { ROLE_PRESET_KPIS = {
"ceo": ["F_REVENUE_001", "F_PROFIT_001", "F_COST_001", "C_CUST_001", "P_INV_001"], "ceo": ["F_REVENUE", "F_NET_PROFIT", "F_COST_RATIO", "C_REBATE_RATE", "P_DELIVERY", "F_FCF"],
"finance": ["F_REVENUE_001", "F_PROFIT_001", "F_COST_001", "F_CASH_001"], "finance": ["F_REVENUE", "F_NET_PROFIT", "F_COST_RATIO", "F_OP_CFLOW", "F_ROE"],
"business": ["C_CUST_001", "C_CUST_003", "F_REVENUE_001"], "business": ["C_REBATE_RATE", "C_NEW_CLIENTS", "F_REVENUE"],
"it": [], # IT没有固定预设 "it": [],
} }
preset_codes = ROLE_PRESET_KPIS.get(role, []) preset_codes = ROLE_PRESET_KPIS.get(role, [])
@@ -385,11 +385,13 @@ def my_dashboard(
# 补充角色预设KPI(去重) # 补充角色预设KPI(去重)
preset_kpis = [] preset_kpis = []
if preset_codes: if preset_codes:
preset_kpis = db.query(KPIDefinition).filter( q = db.query(KPIDefinition).filter(
KPIDefinition.kpi_code.in_(preset_codes), KPIDefinition.kpi_code.in_(preset_codes),
KPIDefinition.status == "active", 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 all_kpis = assigned_kpis + preset_kpis