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

114 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 按月拆分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