From 0baf470d2e61d61bccfeca6e554fdcca0787bf55 Mon Sep 17 00:00:00 2001 From: kkfluous Date: Thu, 2 Apr 2026 14:05:31 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=8C=89=E6=9C=88=E6=8B=86=E5=88=86Exc?= =?UTF-8?q?el=20+=20=E4=B8=9A=E5=8A=A1=E5=91=98/=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E7=BB=B4=E5=BA=A6=E5=B1=95=E7=A4=BA=E8=AE=BE=E8=AE=A1=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .../2026-04-02-monthly-excel-redesign.md | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 docs/superpowers/specs/2026-04-02-monthly-excel-redesign.md diff --git a/docs/superpowers/specs/2026-04-02-monthly-excel-redesign.md b/docs/superpowers/specs/2026-04-02-monthly-excel-redesign.md new file mode 100644 index 0000000..ada1d27 --- /dev/null +++ b/docs/superpowers/specs/2026-04-02-monthly-excel-redesign.md @@ -0,0 +1,113 @@ +# 按月拆分Excel + 业务员/车辆维度展示 + +## 目标 + +将现有的单文件Q1汇总拆分为每月独立的Excel文件,新增业务员维度和车辆维度sheet,让旁人通过任意维度清晰理解考核绩效发放的计算来源。 + +## 输出文件 + +``` +里程任务考核_1月核算.xlsx +里程任务考核_2月核算.xlsx +里程任务考核_3月核算.xlsx +``` + +## 每个文件的sheet结构 + +以2月为例(1月和3月结构类似,按月份调整列): + +### Sheet 1: 考核奖励规则 +与现有一致,每个文件都包含一份。 + +### Sheet 2: 里程明细X月 +与现有一致,逐条源数据记录,含达标判断和奖金计算。 + +### Sheet 3: X月计算过程 +与现有一致,每个(车牌号+销售经理)组一行,展示完整判断链。各类金额独立成列,支持SUM对账。 + +### Sheet 4: X月汇总 +与现有一致,分section展示各类发放,按销售人员和部门汇总。 + +### Sheet 5-16: 业务员_XXX(12个,每人一个) + +**头部汇总区(2行):** +- 业务员姓名、部门 +- 本月考核车辆数、本月发放总额 + +**主体:按车分组,每车包含:** + +车辆信息行: +- 车牌号、合同编号、客户名称、考核目标、月度目标里程、月奖励金额 + +本月考核数据行: +- 考核天数、应考核里程、实际里程、完成率、是否达标、本月奖金(天数折算) + +历史累计行(2月起): +- 1月应考核、1月实际(2月文件) +- 1月应考核、1月实际、2月应考核、2月实际(3月文件) +- 累计应完成、累计实际、累计完成率、累计是否达标 + +发放结果行: +- 发放类型(当月达标/结转/补发X月/累计补发X月) +- 发放金额 +- 奖金池状态:已发N期/共12期,剩余M期 + +车辆小计行: +- 该车本月发放合计 + +**尾部汇总:** +- 本月考核车辆合计、本月发放总额 + +**车辆范围:** 该业务员在1-X月(截至当前核算月)有考核记录的所有车辆。同车跨多人时,两人的sheet都显示。 + +### Sheet 17: 车辆考核追踪 + +全量492辆车,每车一行: + +基本信息: +- 车牌号、车架号、归属公司、车型、考核目标、月度奖励金额 + +各月数据(截至当前核算月): +- X月业务员、X月应考核、X月实际、X月达标 + +累计(2月起): +- 累计应完成、累计实际、累计达标 + +本月发放: +- 发放金额、发放给谁、发放类型 + +奖金池: +- 累计已发期数、累计已发金额、剩余可发期数 + +## 计算逻辑 + +不变,与V1.1.0完全一致: +1. 每条记录独立达标判断,奖金按天折算 +2. 按(车牌号+销售经理)分组做结转/累计/补发 +3. 结转:floor(多跑/月度目标)>=1 → 完整月奖金,占当月名额 +4. 补发:累计全部达标后补发未达标月份 +5. 累计补发当月:当月未达标+无结转+累计达标 + +## 文件间数据传递 + +- 1月文件:独立计算 +- 2月文件:需要1月源数据(读取1月xlsx),计算1+2月累计 +- 3月文件:需要1月和2月源数据,计算1-3月累计 + +每个文件独立生成,不依赖上一个文件的输出结果,而是从源数据重新计算。 + +## 修改范围 + +重构 `generate_q1_summary.py`: +- 主循环改为按月生成独立文件 +- 计算引擎不变,复用现有的分组/结转/补发/累计逻辑 +- 新增业务员sheet生成函数 +- 新增车辆考核追踪sheet生成函数 +- 现有的"车辆发放明细"和"车辆奖金池总览"合并到车辆考核追踪中 + +## 验证 + +- 每个文件的汇总金额与现有Q1汇总一致:1月21212.26, 2月21152.14, 3月56607.10 +- 业务员sheet各车小计之和 = 该人在汇总中的合计 +- 车辆追踪sheet的发放合计 = 当月汇总合计 +- 计算过程各列SUM = 汇总各section