fix: 工作台KPI级别判断支持反向指标 — 费用率/渠补率/应收天数等'越低越好'指标不再误判green
- my_dashboard的level判断原为actual/target比例法(≥0.9=green) - 反向指标(费用率24.9%/目标20%)被误判为green,实际应red - 新增REVERSE_INDICATORS集合:F_COST_RATIO/C_REBATE_RATE/F_AR_DAYS/F_REBATE_RATE/F_FACTORY_REBATE_RATE/F_COST_CONTROL_RATE - 反向指标逻辑:实际≤目标=绿,≤目标*1.1=黄,否则红
This commit is contained in:
@@ -417,8 +417,18 @@ def my_dashboard(
|
||||
target = k.target_value
|
||||
level = "gray"
|
||||
if actual is not None and target:
|
||||
ratio = actual / target
|
||||
level = "green" if ratio >= 0.9 else ("yellow" if ratio >= 0.7 else "red")
|
||||
# 反向指标(越低越好):费用率/渠补率/应收天数/返利率/成本率
|
||||
REVERSE_INDICATORS = {
|
||||
"F_COST_RATIO", "C_REBATE_RATE", "F_AR_DAYS",
|
||||
"F_REBATE_RATE", "F_FACTORY_REBATE_RATE", "F_COST_CONTROL_RATE",
|
||||
}
|
||||
if k.kpi_code in REVERSE_INDICATORS:
|
||||
# 反向:实际≤目标=绿;实际≤目标*1.1=黄;否则红
|
||||
level = "green" if actual <= target else (
|
||||
"yellow" if actual <= target * 1.1 else "red")
|
||||
else:
|
||||
ratio = actual / target
|
||||
level = "green" if ratio >= 0.9 else ("yellow" if ratio >= 0.7 else "red")
|
||||
|
||||
kpi_list.append({
|
||||
"id": k.id,
|
||||
|
||||
Reference in New Issue
Block a user