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:
Hermes CI Fix
2026-08-27 17:26:38 +08:00
parent e82a6af59c
commit 3c64dc767e
2 changed files with 19 additions and 1 deletions
+10
View File
@@ -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