Files
mileage-bonus/docs/superpowers/specs/2026-04-02-monthly-excel-redesign.md
2026-04-02 14:05:31 +08:00

3.7 KiB
Raw Blame History

按月拆分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: 业务员_XXX12个每人一个

头部汇总区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