wip(strategy-map): V1+V3 合版 + v2/v3 口径(完备度/C1 hold/57 归档组)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
"""口径判据数据包(战略地图数据完备度等,只读常量)。"""
|
||||
@@ -0,0 +1,72 @@
|
||||
"""战略地图数据完备度 · 口径定义(唯一真源引用,勿改判据/分母)
|
||||
|
||||
口径 ID : CMA-CALIBER-MAP-COMPLETENESS-20261018 v1.0
|
||||
定义件 : /srv/hermes/mailbox/project/pending-tasks/_reports/
|
||||
caliber-strategy-map-completeness-20261018.md
|
||||
裁定 : ASK-20261018-15 / 任总 2026-10-18T23:07:11「放行14和15」
|
||||
|
||||
本模块只放**判据数据**(23-KPI 挂接关系 + 来源指纹),不存任何汇总数:
|
||||
覆盖率一律由 API 运行时对库内 `map_objectives` / `kpi_definitions` 现算。
|
||||
口径变更 = 重新立 ASK 并改本文件 + 定义件,禁止就地改分母。
|
||||
"""
|
||||
|
||||
CALIBER_ID = "CMA-CALIBER-MAP-COMPLETENESS-20261018"
|
||||
CALIBER_VERSION = "1.0"
|
||||
|
||||
# 主口径:仅已发布地图 65(三年战略规划 2027-2029)
|
||||
PRIMARY_MAP_ID = 65
|
||||
PRIMARY_CALIBER = "map65_23kpi_cover"
|
||||
PRIMARY_LABEL = "地图65·已发布·判据=被23KPI集挂接"
|
||||
FOOTNOTE_CALIBER = "map_all_kpi_attached"
|
||||
FOOTNOTE_LABEL = "全量4图·含归档图·判据=有KPI挂接"
|
||||
KPI_CALIBER = "active_kpi_rows"
|
||||
KPI_LABEL = "KPI 行(active·按行)"
|
||||
|
||||
# 来源指纹(定义件 §5,任何人可复现)
|
||||
SOURCE_FILES = {
|
||||
"map-objectives-dump.csv":
|
||||
"3896963ee7aff0492073f9b61491a10b10f3b131484e1f1006655d2c2f9bda78",
|
||||
"a2-linkage-23kpi.csv":
|
||||
"4494313269938663a197fabecaee644a4f4c66c84a02b725527c07e917f63971",
|
||||
"active-kpi-118.csv":
|
||||
"e37dcd699a06a18d5de9aa5b543b7a48b6d7d12c3e4c440f21186ea870cda1c1",
|
||||
}
|
||||
|
||||
# 被 23-KPI 集挂接的战略目标(objective_id -> (map_id, name))
|
||||
# 来源 a2-linkage-23kpi.csv「挂接类型非空」逐行,26 条(全量 4 图)。
|
||||
LINKED_OBJECTIVES = {
|
||||
1020: (53, "营收增长"),
|
||||
1022: (53, "客户拓展"),
|
||||
1024: (53, "运营效率"),
|
||||
1025: (53, "数字化能力"),
|
||||
1021: (53, "成本与现金流"),
|
||||
1023: (53, "客户亲密"),
|
||||
20888: (57, "营收目标"),
|
||||
20889: (57, "建立渠道分级体系"),
|
||||
21013: (61, "营收目标"),
|
||||
21014: (61, "保障现金流安全"),
|
||||
21016: (61, "产品领先"),
|
||||
22556: (65, "营业收入"),
|
||||
22562: (65, "高贡献线收入占比"),
|
||||
22566: (65, "组合决策机制(负贡献四线退出转投)"),
|
||||
22571: (65, "贡献率思维全员培训"),
|
||||
22557: (65, "营业利润"),
|
||||
22563: (65, "重点客户回款率"),
|
||||
22567: (65, "月度经营闭环"),
|
||||
22572: (65, "渠道经理「选品+算账」能力认证"),
|
||||
22558: (65, "边际贡献率 CM"),
|
||||
22568: (65, "库存去化"),
|
||||
22573: (65, "CMA 月度经营驾驶舱"),
|
||||
22559: (65, "现金周转期 CCC"),
|
||||
22565: (65, "客户集中度"),
|
||||
22574: (65, "贡献率/CCC/净现金入考核与激励"),
|
||||
22570: (65, "数据地基(清脏+改瓶+智享通直连)"),
|
||||
}
|
||||
|
||||
# 分层标签(UI 用,与前端 LAYER_CONFIG 一致)
|
||||
LAYER_LABELS = {
|
||||
"finance": "财务",
|
||||
"customer": "客户",
|
||||
"process": "内部流程",
|
||||
"learning": "学习成长",
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
"""战略地图 · 收入口径(revenue caliber)状态 —— 单一事实源
|
||||
|
||||
口径来源:改造单 `project-20261018-cma-strategy-map-ux-revamp-fullstack` 增量 v2 §4。
|
||||
截至本文件落地(2026-10-18T23:00),A1 收入口径**尚未闭合**:
|
||||
- 业务称谓「代理」≠ 会计判定(总额法 total / 净额法 net / 混合 mixed 未裁);
|
||||
- 财务净额件与项目侧「三问」总额判定并存,正由 A1 补充单裁决。
|
||||
|
||||
因此本模块只声明**状态**与**业务线维度**,不存任何金额:
|
||||
- 接口照常返回 `revenue_caliber` 与分业务位(amount=None + status=pending);
|
||||
- 前端不得写死任一方法,不得把两块合并成一个「营业收入」;
|
||||
- 口径闭合后只改本文件(status/caliber/decided_by/closed_at),并回填金额取数逻辑,
|
||||
不需要改前端。
|
||||
|
||||
铁律:未闭合前,页面与接口都**不得**输出单一汇总收入数。
|
||||
"""
|
||||
|
||||
# 口径状态:unclosed / closed
|
||||
STATUS = "unclosed"
|
||||
CALIBER = None # closed 时取 "total" / "net" / "mixed"
|
||||
CALIBER_LABEL = "口径待定"
|
||||
DECIDED_BY = None # closed 时填裁决单/ASK 编号
|
||||
CLOSED_AT = None # ISO 时间
|
||||
REASON = (
|
||||
"A1 收入口径尚未闭合(截至 2026-10-18T23:00):业务称谓「代理」≠ 会计判定,"
|
||||
"总额法/净额法/混合法并存,待 A1 补充单裁决"
|
||||
)
|
||||
|
||||
# 分业务(不得合并;amount 由 closed 后的取数逻辑回填)
|
||||
BUSINESS_LINES = [
|
||||
{"key": "liquor_agency", "label": "酒类代销"},
|
||||
{"key": "it_self", "label": "IT自营"},
|
||||
]
|
||||
|
||||
|
||||
def snapshot(entity_id: int) -> dict:
|
||||
"""返回对外口径快照(无金额;未闭合时 amount 一律 None)。"""
|
||||
return {
|
||||
"entity_id": entity_id,
|
||||
"status": STATUS,
|
||||
"caliber": CALIBER,
|
||||
"caliber_label": CALIBER_LABEL,
|
||||
"caliber_options": [
|
||||
{"key": "total", "label": "总额法"},
|
||||
{"key": "net", "label": "净额法"},
|
||||
{"key": "mixed", "label": "混合法"},
|
||||
],
|
||||
"decided_by": DECIDED_BY,
|
||||
"closed_at": CLOSED_AT,
|
||||
"reason": REASON,
|
||||
"businesses": [
|
||||
{
|
||||
"key": b["key"],
|
||||
"label": b["label"],
|
||||
"amount": None,
|
||||
"unit": "万元",
|
||||
"status": "pending",
|
||||
"missing_reason": "收入口径未闭合" if STATUS != "closed" else None,
|
||||
}
|
||||
for b in BUSINESS_LINES
|
||||
],
|
||||
"allow_single_total": STATUS == "closed",
|
||||
"note": "未闭合前不显示单一汇总数;分业务分列,不合并为「营业收入」",
|
||||
}
|
||||
Reference in New Issue
Block a user