chore: 添加输入输出文件 + .claude记忆和计划

输入文件:
- 租赁任务考核_2026年{1,2,3}月.xlsx (考核源数据)
- {1,2}月.xlsx (客户盈亏表)
- 车辆里程考核与奖金发放规则(V.1.2).docx

输出文件:
- 里程任务考核_{1,2,3}月核算.xlsx (月度核算结果)
- 里程任务考核_Q1汇总.xlsx (含车辆台账)
- 3月客户盈亏表(待填写).xlsx (模版)

.claude_memory: 项目记忆(规则/偏好/架构/测试车辆)
.claude_plans: 历次计划文件

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
kkfluous
2026-04-07 14:09:24 +08:00
parent da487c41d4
commit 573f8397a6
32 changed files with 3491 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
# 简化账单架构 — 删除3张bill表
## Context
当前能源模块有3层架构原始记录 → energy_bill_detail(统一明细) → 3张bill表(按费用类型拆分的账单)。
实际业务中扣费发生在审核通过创建 bill_detail 时(立即扣),不需要月度账单汇总。
ETC 和电费的 bill 服务是未实现的 stub`throw UnsupportedOperationException`),氢费 bill 服务虽然实现了但当前阶段不需要账单汇总、站方确认、提交财务等功能。
简化为:原始记录 → 审核 → energy_bill_detail终态表直接扣费。billing 页面直接查 bill_detail 按 feeType 过滤。
## 改动范围
### 删除文件(~30个
**Controller (3):**
- `modules/energy/controller/EnergyBillController.java`
- `modules/etc/controller/EtcBillController.java`
- `modules/electricity/controller/ElectricityBillController.java`
**Service (4-6):**
- `modules/energy/service/IEnergyBillService.java` + `impl/EnergyBillServiceImpl.java`
- `modules/etc/service/IEtcBillService.java` + `impl/EtcBillServiceImpl.java`(如存在)
- `modules/electricity/service/IElectricityBillService.java` + `impl/ElectricityBillServiceImpl.java`(如存在)
- `modules/energy/service/IBillAdjustmentService.java` + `impl/BillAdjustmentServiceImpl.java`(如存在)
**Mapper (3-4):**
- `modules/energy/mapper/EnergyHydrogenBillMapper.java`
- `modules/energy/mapper/EnergyBillAdjustmentMapper.java`(如存在)
- `modules/etc/mapper/EnergyEtcBillMapper.java`
- `modules/electricity/mapper/EnergyElectricityBillMapper.java`
**Entity PO (4):**
- `modules/energy/entity/bill/po/EnergyHydrogenBill.java`
- `modules/energy/entity/bill/po/EnergyBillAdjustment.java`(如存在)
- `modules/etc/entity/bill/po/EnergyEtcBill.java`
- `modules/electricity/entity/bill/po/EnergyElectricityBill.java`
**Entity VO/Query/Req整个 bill 子包):**
- `modules/energy/entity/bill/vo/` — 所有 VOEnergyBillVO, EnergyBillDetailVO, BillPreviewVO, BillStatisticsVO, BillAdjustmentVO
- `modules/energy/entity/bill/query/BillQuery.java`
- `modules/energy/entity/bill/req/` — 所有 ReqBillGenerateReq, BillReviewReq, AddAdjustmentReq
- `modules/etc/entity/bill/vo/EtcBillVO.java`
- `modules/etc/entity/bill/req/EtcBillGenerateReq.java`
- `modules/electricity/entity/bill/vo/ElectricityBillVO.java`
- `modules/electricity/entity/bill/req/ElectricityBillGenerateReq.java`
**State Machine如存在:**
- `modules/energy/statemachine/BillStatusMachine.java`
**Finance 相关(仅删 bill 部分):**
- `modules/energy/service/finance/model/BillSubmitRequest.java`
- FinanceService 接口中的 `submitBill` 方法需移除
### 修改文件
| 文件 | 改动 |
|---|---|
| `entity/billdetail/po/EnergyBillDetail.java` | 删除 `billId` 字段 |
| `entity/billdetail/vo/EnergyBillDetailVO.java` | 删除 `billId` 字段 |
| `service/impl/EnergyBillDetailServiceImpl.java` | toVO 中删除 `.billId()` |
| `entity/detail/po/EnergyHydrogenDetail.java` | 删除 `billId` 字段 |
| `entity/detail/vo/EnergyDetailVO.java` | 删除 `billId` 字段 |
| `entity/account/po/EnergyAccountTransaction.java` | 删除 `relatedBillId` 字段 |
| `entity/account/vo/TransactionVO.java` | 删除 `relatedBillId` 字段 |
| `service/impl/EnergyAccountTransactionServiceImpl.java` | toVO 中删除 `.relatedBillId()` |
| `service/finance/FinanceService.java` | 删除 `submitBill` 方法签名 |
| `service/finance/LocalFinanceServiceImpl.java` | 删除 `submitBill` 实现 |
### SQL 迁移
新建 `db/energy/V3__drop_bill_rollup_tables.sql`:
```sql
DROP TABLE IF EXISTS energy_bill_adjustment;
DROP TABLE IF EXISTS energy_hydrogen_bill;
DROP TABLE IF EXISTS energy_etc_bill;
DROP TABLE IF EXISTS energy_electricity_bill;
ALTER TABLE energy_bill_detail DROP COLUMN IF EXISTS bill_id;
ALTER TABLE energy_hydrogen_detail DROP COLUMN IF EXISTS bill_id;
ALTER TABLE etc_toll_record DROP COLUMN IF EXISTS bill_id;
ALTER TABLE energy_account_transaction DROP COLUMN IF EXISTS related_bill_id;
```
## 执行顺序
1. **删除所有 bill 相关 Java 文件**
2. **修改 8 个文件**(删除 billId/relatedBillId 字段引用)
3. **编译验证**(确保无断裂引用)
4. **提交并推送**
5. **部署后执行 SQL 迁移**
## 不动的部分
- energy_bill_detail 表 + Controller + Service核心保留
- 所有原始记录表和相关代码station/etc/electricity 模块的 record 部分)
- 事件系统和监听器
- 审核流程RawRecordReviewServiceImpl
- 扣款服务DeductionService
- 前端(用户自行调整 API 路径)
## 验证
1. 编译通过:`mvn compile` 无错误
2. 直接访问 `GET http://localhost:8702/energy/bill-detail/page?feeType=1` 返回数据
3. 原有的 `/energy/bill/page``/etc/bill/page``/electricity/bill/page` 返回 404已删除
4. 审核+扣费流程不受影响