251 lines
16 KiB
Markdown
251 lines
16 KiB
Markdown
# REV004 / accountProcess 页面元素勾稽矩阵(2026-04-13)
|
||
|
||
## 目的
|
||
把 `accountProcess` 当前后端真实口径进一步整理成:
|
||
|
||
**页面元素 / 弹窗能力 -> 字段 -> 接口 -> 当前证据状态**
|
||
|
||
便于:
|
||
- 前端逐项对表
|
||
- UAT 做验收勾稽
|
||
- 后端明确哪些已被真实库证实,哪些仍属于页面编排层缺口
|
||
|
||
> 本表基于当前 `water-backend` 代码、Req/RespVO、已落地真实库 canary 测试结果整理。
|
||
|
||
---
|
||
|
||
## 证据状态说明
|
||
- **已真实库验证**:已有真实 PostgreSQL + Spring + MockMvc canary 覆盖
|
||
- **已代码确认**:可从当前 Controller/RespVO/Service 明确确认,但尚未单独做真实库断言
|
||
- **待补证据**:当前还缺更细粒度验证或 UI 编排验证
|
||
|
||
---
|
||
|
||
## 一、预存调整页
|
||
|
||
### A. 列表区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 列表记录主键 | `id` | `GET /prestorage-page` | 已真实库验证 | 提交后可回查 detail |
|
||
| 调整单号 | `adjustmentNo` | `GET /prestorage-page` | 已真实库验证 | 提交后 page 可见 |
|
||
| 客户ID | `custId` | `GET /prestorage-page` | 已代码确认 | Response VO 已定义 |
|
||
| 工单状态 | `workOrderStatus` | `GET /prestorage-page` | 已真实库验证 | 已验证提交后为 `2=已完成` |
|
||
| 调整类型 | `adjustmentType` | `GET /prestorage-page` | 已代码确认 | page/detail 都有 |
|
||
| 客户编号 | `custCode` | `GET /prestorage-page` | 已真实库验证 | `REV004_IT_SRC` 已验证 |
|
||
| 目标户号 | `targetCustCode` | `GET /prestorage-page` | 已代码确认 | 转账/转预存场景使用 |
|
||
| 客户名称 | `custName` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 客户地址 | `custAddress` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 调整余额 | `adjustAmount` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 期初余额 | `preBalance` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 期末余额 | `postBalance` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 调整原因 | `adjustReason` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 备注 | `remark` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 登记时间 | `createTime` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 登记人员 | `creatorName` | `GET /prestorage-page` | 已代码确认 | |
|
||
| 是否可撤销 | `canRevoke` | `GET /prestorage-page` | 已代码确认 | 撤销能力由状态推导 |
|
||
| 是否可查看附件 | `canViewAttachment` | `GET /prestorage-page` | 已代码确认 | |
|
||
|
||
### B. 统计区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 总条数 | `totalCount` | `GET /prestorage-stat` | 已真实库验证 | |
|
||
| 调整余额合计 | `totalAdjustAmount` | `GET /prestorage-stat` | 已代码确认 | |
|
||
| 期初余额合计 | `totalPreBalance` | `GET /prestorage-stat` | 已代码确认 | |
|
||
| 期末余额合计 | `totalPostBalance` | `GET /prestorage-stat` | 已代码确认 | |
|
||
| 预存转账数量 | `transferCount` | `GET /prestorage-stat` | 已真实库验证 | 已验证退款场景下为 0 |
|
||
| 预存退款数量 | `refundCount` | `GET /prestorage-stat` | 已真实库验证 | 已验证退款场景下为 1 |
|
||
|
||
### C. 提交弹窗
|
||
| 页面元素 | 入参/出参字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 源客户编号 | `custCode` | `POST /prestorage-submit` | 已真实库验证 | |
|
||
| 目标户号 | `targetCustCode` | `POST /prestorage-submit` | 已真实库验证 | 转账场景可用;退款场景未单独验证 |
|
||
| 退款金额 | `refundAmount` | `POST /prestorage-submit` | 已真实库验证 | |
|
||
| 转账金额 | `transferAmount` | `POST /prestorage-submit` | 已代码确认 | 未单独真实库验证 |
|
||
| 原因 | `applyReason` | `POST /prestorage-submit` | 已真实库验证 | |
|
||
| 备注 | `remark` | `POST /prestorage-submit` | 已真实库验证 | |
|
||
| 附件引用 | `attachmentRefs` | `POST /prestorage-submit` | 已代码确认 | 未单独真实库验证 |
|
||
| 调整单号回显 | `adjustmentNo` | `POST /prestorage-submit` 返回 | 已真实库验证 | |
|
||
| 结果状态 | `resultStatus` | `POST /prestorage-submit` 返回 | 已真实库验证 | `SUCCESS` |
|
||
| 回写状态 | `writeBackStatus` | `POST /prestorage-submit` 返回 | 已真实库验证 | `UPDATED` |
|
||
| 提示文案 | `msg/message` | `POST /prestorage-submit` 返回 | 已代码确认 | |
|
||
|
||
### D. 详情 / 附件 / 流程 / 撤销
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 详情对象类型 | `objectType` | `GET /prestorage-detail` | 已代码确认 | |
|
||
| 详情结果状态 | `resultStatus` | `GET /prestorage-detail` | 已真实库验证 | |
|
||
| 详情审批状态 | `approvalStatus` | `GET /prestorage-detail` | 已代码确认 | |
|
||
| 详情回写状态 | `writeBackStatus` | `GET /prestorage-detail` | 已真实库验证 | |
|
||
| 流程任务ID | `processInstanceId` | `GET /prestorage-detail` | 已代码确认 | |
|
||
| 附件引用 | `attachmentRefs` | `GET /prestorage-detail` | 已代码确认 | |
|
||
| 查看流程 | `processState/stages[]` | `GET /prestorage-process` | 已代码确认 | 预存页流程接口存在,未单独真实库验证 |
|
||
| 查看附件 | `ref/resolved/...` | `GET /prestorage-attachments` | 已代码确认 | 预存页附件接口存在,未单独真实库验证 |
|
||
| 撤销动作 | `actionType/resultStatus/writeBackStatus` | `POST /prestorage-revoke` | 已真实库验证 | 余额恢复已验证 |
|
||
|
||
---
|
||
|
||
## 二、已销调整页
|
||
|
||
### A. 列表区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 账单ID | `id` | `GET /sold-page` | 已真实库验证 | |
|
||
| 客户ID | `custId` | `GET /sold-page` | 已代码确认 | |
|
||
| 账务年月 | `accountMonth` | `GET /sold-page` | 已代码确认 | |
|
||
| 客户编号 | `custCode` | `GET /sold-page` | 已真实库验证 | |
|
||
| 客户名称 | `custName` | `GET /sold-page` | 已代码确认 | |
|
||
| 客户地址 | `custAddress` | `GET /sold-page` | 已代码确认 | |
|
||
| 用水性质 | `waterNature` | `GET /sold-page` | 已代码确认 | |
|
||
| 开账水量 | `billedWaterVolume` | `GET /sold-page` | 已代码确认 | |
|
||
| 实收金额 | `actualAmount` | `GET /sold-page` | 已真实库验证 | stat 已验证 80.00 |
|
||
| 开账金额 | `billedAmount` | `GET /sold-page` | 已代码确认 | |
|
||
| 违约金 | `penaltyAmount` | `GET /sold-page` | 已代码确认 | |
|
||
| 收费方式 | `collectionMethod` | `GET /sold-page` | 已代码确认 | |
|
||
| 收费员 | `collector` | `GET /sold-page` | 已代码确认 | |
|
||
| 收费日期 | `collectionDate` | `GET /sold-page` | 已代码确认 | |
|
||
| 是否可调整 | `canAdjust` | `GET /sold-page` | 已代码确认 | |
|
||
| 是否可批量撤销 | `canBatchRevoke` | `GET /sold-page` | 已真实库验证 | 提交后仍可撤销 |
|
||
|
||
### B. 统计区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 总条数 | `totalCount` | `GET /sold-stat` | 已真实库验证 | |
|
||
| 开账水量合计 | `totalBilledWaterVolume` | `GET /sold-stat` | 已代码确认 | |
|
||
| 实收金额合计 | `totalActualAmount` | `GET /sold-stat` | 已真实库验证 | 80.00 |
|
||
| 开账金额合计 | `totalBilledAmount` | `GET /sold-stat` | 已代码确认 | |
|
||
| 违约金合计 | `totalPenaltyAmount` | `GET /sold-stat` | 已代码确认 | |
|
||
|
||
### C. 提交 / 批量撤销
|
||
| 页面元素 | 入参/出参字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 营业账ID | `chargeId` | `POST /sold-submit` | 已真实库验证 | |
|
||
| 原因 | `applyReason` | `POST /sold-submit` | 已真实库验证 | |
|
||
| 是否红冲发票 | `redInvoice` | `POST /sold-submit` | 已代码确认 | |
|
||
| 备注 | `remark` | `POST /sold-submit` | 已真实库验证 | |
|
||
| 附件引用 | `attachmentRefs` | `POST /sold-submit` | 已代码确认 | |
|
||
| 调整单号 | `adjustmentNo` | `POST /sold-submit` 返回 | 已真实库验证 | |
|
||
| 结果状态 | `resultStatus` | `POST /sold-submit` 返回 | 已真实库验证 | `PENDING_APPROVAL` |
|
||
| 审批状态 | `approvalStatus` | `POST /sold-submit` 返回 | 已真实库验证 | `PENDING_APPROVAL` |
|
||
| 批量撤销入参 | `chargeIds[]` | `POST /sold-batch-revoke` | 已真实库验证 | 不是 `adjustmentNo[]` |
|
||
| 批量撤销结果 | `successCount/failCount/items[]` | `POST /sold-batch-revoke` | 已真实库验证 | |
|
||
|
||
---
|
||
|
||
## 三、未销调整页
|
||
|
||
### A. 列表区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 账单ID | `id` | `GET /unsold-page` | 已代码确认 | |
|
||
| 客户ID | `custId` | `GET /unsold-page` | 已代码确认 | |
|
||
| 客户编号 | `custCode` | `GET /unsold-page` | 已代码确认 | |
|
||
| 客户名称 | `custName` | `GET /unsold-page` | 已代码确认 | |
|
||
| 客户地址 | `custAddress` | `GET /unsold-page` | 已代码确认 | |
|
||
| 用水性质 | `waterType` | `GET /unsold-page` | 已代码确认 | |
|
||
| 账务年月 | `accountMonth` | `GET /unsold-page` | 已代码确认 | |
|
||
| 用水量 | `waterVolume` | `GET /unsold-page` | 已代码确认 | |
|
||
| 合计金额 | `totalAmount` | `GET /unsold-page` | 已代码确认 | |
|
||
| 账单金额 | `billAmount` | `GET /unsold-page` | 已代码确认 | |
|
||
| 违约金 | `penaltyAmount` | `GET /unsold-page` | 已代码确认 | |
|
||
| 用水费/污水/垃圾/资源税/超定额/季节性 | 对应费用字段 | `GET /unsold-page` | 已代码确认 | |
|
||
| 是否可调整 | `canAdjust` | `GET /unsold-page` | 已代码确认 | |
|
||
| 是否可分账 | `canSplit` | `GET /unsold-page` | 已代码确认 | |
|
||
| 是否可违约金减免 | `canLateFeeReduce` | `GET /unsold-page` | 已代码确认 | |
|
||
| 是否可价差调整 | `canPriceDiffAdjust` | `GET /unsold-page` | 已代码确认 | |
|
||
| 是否可呆坏账调整 | `canBadDebtAdjust` | `GET /unsold-page` | 已代码确认 | |
|
||
|
||
### B. 统计区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 用水量合计 | `sumWaterVolume` | `GET /unsold-stat` | 已代码确认 | |
|
||
| 合计金额 | `sumTotalAmount` | `GET /unsold-stat` | 已代码确认 | |
|
||
| 账单金额 | `sumBillAmount` | `GET /unsold-stat` | 已代码确认 | |
|
||
| 违约金 | `sumPenaltyAmount` | `GET /unsold-stat` | 已代码确认 | |
|
||
| 费用组成合计 | `sumWaterFee/...` | `GET /unsold-stat` | 已代码确认 | |
|
||
|
||
### C. 五类弹窗动作
|
||
| 弹窗 | 关键入参 | 返回口径 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 调整 | `chargeId/applyReason/remark/targetBillWater/targetExtendedAmount/targetBillAmount` | `adjustmentNo/resultStatus/writeBackStatus` | 已真实库验证 | AMOUNT happy path 已验证 |
|
||
| 分账 | `chargeId/applyReason/remark/splitCount` | `adjustmentNo/objectType/resultStatus=PENDING_APPROVAL` | 已真实库验证 | |
|
||
| 违约金减免 | `chargeId/applyReason/remark/lateFeeReduceAmount` | `adjustmentNo/objectType/resultStatus=PENDING_APPROVAL` | 已真实库验证 | |
|
||
| 价差调整 | `chargeId/applyReason/remark/priceDiffAmount` | `adjustmentNo/objectType/resultStatus=PENDING_APPROVAL` | 已真实库验证 | |
|
||
| 呆坏账 | `chargeId/applyReason/remark/badDebtAmount` | `adjustmentNo/objectType=result BAD_DEBT_RECORD / PENDING_APPROVAL` | 已真实库验证 | |
|
||
|
||
---
|
||
|
||
## 四、账务日志页
|
||
|
||
### A. 列表区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 日志ID | `id` | `GET /log-page` | 已代码确认 | |
|
||
| 调整单号 | `adjustmentNo` | `GET /log-page` | 已真实库验证 | |
|
||
| 账务年月 | `accountMonth` | `GET /log-page` | 已代码确认 | |
|
||
| 客户ID/编号/名称/地址 | `custId/custCode/custName/custAddress` | `GET /log-page` | 部分已真实库验证 | `custCode` 已验证 |
|
||
| 账务类型 | `accountTypeCode/accountType` | `GET /log-page` | 已代码确认 | |
|
||
| 处理方式 | `processMethodCode/processMethod` | `GET /log-page` | 已代码确认 | |
|
||
| 金额 | `amount` | `GET /log-page` | 已代码确认 | |
|
||
| 描述 | `description` | `GET /log-page` | 已代码确认 | |
|
||
| 登记人/处理人 | `registrant/handler` | `GET /log-page` | 已代码确认 | |
|
||
| 处理时间/创建时间 | `handleTime/createTime` | `GET /log-page` | 已代码确认 | |
|
||
| 页面状态 | `statusCode/status` | `GET /log-page` | 已真实库验证 | `SUCCESS` 场景已验证 |
|
||
| 目标户号 | `targetCustCode` | `GET /log-page` | 已代码确认 | |
|
||
| 原/新预存 | `originalPrestore/newPrestore` | `GET /log-page` | 已代码确认 | |
|
||
| 原/新账单 | `originalBill/newBill` | `GET /log-page` | 已代码确认 | |
|
||
| 原/新水量 | `originalWaterVolume/newWaterVolume` | `GET /log-page` | 已代码确认 | |
|
||
| 原/新违约金 | `originalPenalty/newPenalty` | `GET /log-page` | 已代码确认 | |
|
||
| 变化量 | `billChange/waterVolumeChange/penaltyChange` | `GET /log-page` | 已代码确认 | |
|
||
| 是否可撤销/退款/转预存 | `canRevoke/canRefund/canPrestore` | `GET /log-page` | 已代码确认 | |
|
||
|
||
### B. 统计区
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 总条数 | `totalCount` | `GET /log-stat` | 已真实库验证 | |
|
||
| 调整金额 | `totalAmount` | `GET /log-stat` | 已代码确认 | |
|
||
| 调整水量 | `totalWaterVolume` | `GET /log-stat` | 已代码确认 | |
|
||
| 已完成数量 | `completedCount` | `GET /log-stat` | 已真实库验证 | |
|
||
| 未完成数量 | `pendingCount` | `GET /log-stat` | 已真实库验证 | sold 提交后场景已间接证明 pending |
|
||
| 已撤销数量 | `cancelledCount` | `GET /log-stat` | 已代码确认 | |
|
||
|
||
### C. 详情 / 流程 / 附件
|
||
| 页面元素 | 后端字段 | 接口 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 详情调整单号 | `adjustmentNo` | `GET /log-detail` | 已真实库验证 | |
|
||
| 对象类型 | `objectType` | `GET /log-detail` | 已代码确认 | |
|
||
| 结果状态 | `resultStatus` | `GET /log-detail` | 已真实库验证 | |
|
||
| 审批状态 | `approvalStatus` | `GET /log-detail` | 已代码确认 | |
|
||
| 回写状态 | `writeBackStatus` | `GET /log-detail` | 已代码确认 | |
|
||
| 原交易流水号 | `originalTranSeq` | `GET /log-detail` | 已真实库验证 | |
|
||
| 原系统流水号 | `originalSysTranSeq` | `GET /log-detail` | 已代码确认 | |
|
||
| 附件引用 | `attachmentRefs[]` | `GET /log-detail` | 已真实库验证 | |
|
||
| 详情明细 | `details[]` | `GET /log-detail` | 已代码确认 | |
|
||
| 流程状态 | `processState` | `GET /log-process` | 已真实库验证 | |
|
||
| 流程阶段 | `stages[]` | `GET /log-process` | 已代码确认 | |
|
||
| 附件原始引用 | `ref` | `GET /log-attachments` | 已真实库验证 | |
|
||
| 附件解析状态 | `resolved` | `GET /log-attachments` | 已真实库验证 | |
|
||
| 附件元数据 | `id/name/link/size/extension` | `GET /log-attachments` | 已代码确认 | 当前 mock-ref 未解析为真实附件 |
|
||
|
||
### D. 日志页二次动作弹窗
|
||
| 弹窗 | 关键入参 | 返回口径 | 当前状态 | 说明 |
|
||
|---|---|---|---|---|
|
||
| 转退款 | `adjustmentNo/reasonCode/reason` | `adjustmentNo/objectType/resultStatus/writeBackStatus` | 已真实库验证 | 且 bank 后续流水已验证 |
|
||
| 转预存 | `adjustmentNo/targetCustCode/reason` | `adjustmentNo/resultStatus` | 已真实库验证 | 目标余额变化已验证 |
|
||
| 撤销 | `adjustmentNo/comment` | `actionType/resultStatus/writeBackStatus` | 已真实库验证 | 回滚账单状态/余额已验证 |
|
||
|
||
---
|
||
|
||
## 五、当前最适合前端/UAT对表的使用方式
|
||
1. **动作成功后的即时展示**:直接用 `AccountingAdjustRespVO / AccountingAdjustActionRespVO`
|
||
2. **页面列表展示**:按页面查各自 `*-page / *-stat`
|
||
3. **动作留痕与二次操作**:统一以 `log-*` 视角看 `adjustmentNo`
|
||
4. **已销批量撤销特别注意**:当前后端口径是 `chargeIds[]`,不是 `adjustmentNo[]`
|
||
|
||
---
|
||
|
||
## 六、仍待补的更细证据
|
||
- `unsold-page / unsold-stat` 的真实库回看断言还未单独补
|
||
- 预存页 `attachments/process` 还未像 log 页一样做完整真实库链路断言
|
||
- 页面元素到字典标签展示(例如名称 label 是否完全满足 UI 文案)还缺单独验收
|