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:
107
.claude_plans/quirky-gathering-flame.md
Normal file
107
.claude_plans/quirky-gathering-flame.md
Normal 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/` — 所有 VO(EnergyBillVO, EnergyBillDetailVO, BillPreviewVO, BillStatisticsVO, BillAdjustmentVO)
|
||||
- `modules/energy/entity/bill/query/BillQuery.java`
|
||||
- `modules/energy/entity/bill/req/` — 所有 Req(BillGenerateReq, 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. 审核+扣费流程不受影响
|
||||
Reference in New Issue
Block a user