feat: 战略目标vs预算差异可见化 — 目标与预算允许不同但差异可解释
需求: 战略目标(管理团队愿景) vs 预算(财务按实际分析) 允许不同
增强:
- 后端 deviation-report 返回 strategic_target/target_gap_pct/target_gap_level
- 预算执行表加'战略目标'+'目标差异'列(±10%黄/±20%红⚠️提示'需说明原因')
- 战略预算编制KPI树加'战略目标'列(编制时可见对比)
- 实测: F_REVENUE 战略1200 vs 预算173.86 差异-85.5%(high) 红提示
口径说明: 差异基于当前target_monthly/预算值, 目标口径校准另行处理
This commit is contained in:
@@ -400,6 +400,16 @@ def get_deviation_report(
|
||||
item["kpi_name"] = kpi.kpi_name
|
||||
item["dimension"] = kpi.dimension
|
||||
item["unit"] = kpi.unit or ""
|
||||
# 战略目标 vs 预算差异(2026-08-27: 战略=愿景/预算=计划, 允许不同但差异可见可解释)
|
||||
target = kpi.target_monthly or kpi.target_value
|
||||
item["strategic_target"] = target
|
||||
if item.get("budget_value") is not None and target:
|
||||
gap = round((item["budget_value"] - target) / target * 100, 1)
|
||||
item["target_gap_pct"] = gap
|
||||
item["target_gap_level"] = "high" if abs(gap) > 20 else ("medium" if abs(gap) > 10 else "ok")
|
||||
else:
|
||||
item["target_gap_pct"] = None
|
||||
item["target_gap_level"] = "none"
|
||||
items.append(item)
|
||||
summary["total_kpis"] += 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user