docs(admin): align fee-item and measurement guides with current contracts

按现行 OpenAPI 与计费规则修正两处业务偏差,并统一重复规则的维护位置。

- 费用项目:feeCode 允许编辑(OpenAPI 仅约束格式与长度),删除“编码不可变”表述;defaultPrice 改为“带入初值、允许人工修改”,明确为空与 0 的语义及不追改已有费用
- 入库测量:区分平台链路(PlatformInboundMeasurementController -> InboundMeasurementService/MeasurementSubmissionService)与设备上报(MojiaMeasurementOpenApiService)
- 箱规算法与 actualMeasurementRows 口径不再在模块指引重复正文,改为指向详细索引
This commit is contained in:
2026-10-20 13:41:28 +08:00
parent b34626bd4b
commit 3879a47673
3 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -16,7 +16,7 @@
## 关键边界
- 客户固定四档箱规,默认计算方式为 `ADD/MULTIPLY`;不要在调用方重写算法或补默认档位。
- 客户固定四档箱规与默认算法(`ADD/MULTIPLY`)的正式规则见详细索引同名节;本模块只提供数据入口,不在调用方重写算法或补默认档位。
- 新建客户时的箱规与权重系数初始化由 IAM 建档流程触发(`iam/` 的初始化服务 + Firstleg 内部接口),本模块只提供查询与保存入口。
- 尺寸单位固定为厘米,体积由服务端计算;页面与调用方不自行换算。
- 改类型或字段时同步检查 `../inbounds/`、`../customers/` 两个消费方与 Firstleg 合同测试。
+5 -5
View File
@@ -4,20 +4,20 @@
- 本文件适用于 `src/modules/fee-items/`,代码路径相对本目录;应用公共规则见 `../../../AGENTS.md`。
- 只有一个页面 `pages/FeeItemsView.vue`(路由 `master-data/fee-items`,挂在系统主数据下)和一个接口文件 `api/platformFeeItems.ts`;弹框实现与页面同目录。
- 后端只查 `firstleg/` 的费用项目与价格簿入口;客户作用域价格归 `../fba-pricing/`,不要混。
- 后端只查 `firstleg/controller/PlatformFeeItemController.java` 与 `openapi/fee-item-v1.yaml`;客户专属价格簿归 `../fba-pricing/`,两者不是同一概念。
## 页面与入口
| 目标 | 页面/入口 | API 与后端 |
|---|---|---|
| 费用项目列表、启停与排序 | `pages/FeeItemsView.vue`;`master-data/fee-items` | `api/platformFeeItems.ts`;`firstleg/controller/PlatformFeeItemController.java` |
| 新增/编辑费用项目弹框 | `pages/FeeItemsView.vue` 内弹框 | `api/platformFeeItems.ts` |
| 默认价格与计费科目 | 列表“默认价格”列 | `api/platformFeeItems.ts`;服务端仍是价格权威 |
| 新增/编辑费用项目弹框 | `pages/FeeItemsView.vue` 内弹框 | `api/platformFeeItems.ts` 的 `FeeItemSaveRequest`(`feeCode` 可改) |
| 默认价格(CNY,可空)与类别/贸易范围 | 列表与新增/编辑弹框 | `api/platformFeeItems.ts`;带价与校验规则见详细索引 |
## 关键边界
- 费用项目编码与类型是不可变标识,改名不影响历史账单;不要用名称推断科目。
- 默认价格只是新建费用时的初值,实际计费以服务端价格簿为准,页面不参与金额计算。
- `feeCode` 允许在编辑时修改,OpenAPI 只约束 `^[A-Za-z0-9_-]+$` 与 50 字符;不要新增“编码不可变”的前端禁用、改名拦截或唯一性推断,以服务端校验为准。
- `defaultPrice` 只是带入初值:仅当用户主动选择该项目时带入(入库同时带单价与金额、柜次带金额),**均允许人工修改**;为空表示不自动带价,`0` 表示明确的零元。修改或清空默认价不追改已有费用;打开已有费用、切换供应商或保存业务费用时不重新套用默认价,也不改变审核、发布与结算流程。
- 停用费用项目不回溯已出账费用;历史账单继续显示原项目名称快照。
- 供应商类别仅对需要供应商的费用类型有效,留空表示任意启用供应商,不由前端补默认值。
+3 -3
View File
@@ -11,7 +11,7 @@
| 目标 | 页面/子域入口 | API 与后端 |
|---|---|---|
| 订单测量列表与工作区 | `pages/InboundMeasurementsView.vue`、`components/InboundWorkflowWorkspace.vue`;`inbounds/measurements` | `measurement/api.ts`;`firstleg/service/InboundMeasurementService.java` |
| 测量弹框、测量面板、尺寸策略与证据图 | `measurement/InboundMeasurementDialog.vue`(组合壳)、`measurement/InboundMeasurementPanel.vue`(数据与操作)、`measurement/components/MeasurementEvidenceThumbnail.vue` | 实际请求在 `measurement/InboundMeasurementPanel.vue` → `measurement/api.ts`;弹框只组合面板与 OCR 面板,不直接调接口;`firstleg/service/MojiaMeasurementOpenApiService.java` |
| 测量弹框、测量面板、尺寸策略与证据图 | `measurement/InboundMeasurementDialog.vue`(组合壳)、`measurement/InboundMeasurementPanel.vue`(数据与操作)、`measurement/components/MeasurementEvidenceThumbnail.vue` | 实际请求在 `measurement/InboundMeasurementPanel.vue` → `measurement/api.ts` → 平台链路 `firstleg/controller/PlatformInboundMeasurementController.java` → `firstleg/service/InboundMeasurementService.java`、`MeasurementSubmissionService.java`;设备上报是另一条链路(`MojiaMeasurementOpenApiService`),不要混;弹框只组合面板与 OCR 面板,不直接调接口 |
| 测量数据审核 | `pages/MeasurementReviewsView.vue`、`review/MeasurementReviewPanel.vue`;`inbounds/measurement-reviews` | `review/api.ts`;`firstleg/service/MeasurementReviewService.java`、`firstleg/service/InitialInboundPricingService.java` |
| 称重图片、OCR 与库位槽状态 | `weight/components/WeightOcrPanel.vue`、`weight/components/WeightImageThumbnail.vue` | `weight/api/weightOcr.ts`;`firstleg/service/MeasurementLocationOccupationService.java`、`firstleg/service/MeasurementSubmissionService.java` |
| 入库单列表、摘要与历史 | `pages/InboundOrdersView.vue`、`core/InboundSummaryPanel.vue`、`core/InboundHistoryPanel.vue`;`inbounds` | `core/api.ts`、`core/types.ts`;`firstleg/service/InboundOrderQueryService.java` |
@@ -20,8 +20,8 @@
## 关键边界
- 客户固定四档箱规,默认计算方式为 `ADD/MULTIPLY`;保存后以外箱尺寸、体积重和计费基数只认服务端返回值,页面不独立重算。
- 费用确认的实际箱数、毛重和体积优先汇总当前 `actualMeasurementRows`,不得用可能滞后的工作区顶层合计覆盖明细。
- 客户四档箱规与默认算法(`ADD/MULTIPLY`)的规则正文在详细索引维护;本模块只按 `../dimension-config/` 消费,保存后以外箱尺寸、体积重和计费基数只认服务端返回值,页面不独立重算。
- 费用确认的实际箱数、毛重和体积取值口径以详细索引“入库、测量”节(`actualMeasurementRows`)为准,本文件不复制该规则。
- 称重卡片只展示服务端 `locationCode/slotStatus/sharedOverflow`,不渲染或推导整票预留引导;删除图片须提示该槽位仍归本票保留,不按图片下标推导托盘或库位。
- 人工定价仅 FBA、已有实际测量且价格未命中时开放,客户已确认费用禁止改价;`MANUAL_QUOTE` 不伪造价格簿关联。
- 扣货与解除、凭证下载走 `../unified-orders/` 与 `../inbounds/` 的正式入口,本模块不另建凭证链路。