# 按月拆分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
