fix: 我的工作台 — 预设KPI编码更新+SQL查询条件修复
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user