From ede43b5030bb920ed0d244eac30af54474e6e222 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Wed, 9 Sep 2026 20:53:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 入库测量与计费/入库测量与计费V2需求确认清单.md | 2 +- 统一订单主状态与操作契约.md | 3 ++- 财务管理/README.md | 10 +++++----- 财务管理/财务对账结算P1闭环.md | 6 ++++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/入库测量与计费/入库测量与计费V2需求确认清单.md b/入库测量与计费/入库测量与计费V2需求确认清单.md index 56c1c52..1b3996e 100644 --- a/入库测量与计费/入库测量与计费V2需求确认清单.md +++ b/入库测量与计费/入库测量与计费V2需求确认清单.md @@ -7,7 +7,7 @@ > 技术状态(2026-08-04):任务 `019fc6f9-8dcf-74e1-bc68-d42f15d7802a` 已完成核心正常主链路开发和真实 API 回归。以下“产品确认状态”仍由产品/业务负责人填写,技术完成不自动等同于产品确认。 -> 订单衔接规则更新(2026-08-07,已确认):客户草稿不生成入仓码;客户提交进入待审核时立即生成并固定唯一入仓码。平台审核不以选择承运商为前置条件;审核通过后才创建可进入测量流程的正式入库单,并沿用提交时生成的入仓码。承运商可在后续履约或计费前补充。 +> 订单衔接规则更新(2026-09-09,当前对话确认):客户草稿不生成入仓码;客户提交进入待审核时立即生成并固定唯一入仓码,同时准备同号预入库单。货物已到国内仓时可在订单审核前先收货、称重、保存箱规并提交测量数据,但订单仍保持待审核,测量审核通过、计费、分柜和装柜必须等待订单审核通过;审核后沿用同一入仓单和已采集数据。承运商可在后续履约或计费前补充。 > 主体模型:入库测量与计费只实现“平台—客户”两级;业务数据的 `tenant_id>0` 是客户隔离兼容字段,平台公共仓储资源归属 `tenant_id=0`。下表历史“资源租户”均指公共主数据技术归属,不代表真实租户。 diff --git a/统一订单主状态与操作契约.md b/统一订单主状态与操作契约.md index a968167..0d3ddba 100644 --- a/统一订单主状态与操作契约.md +++ b/统一订单主状态与操作契约.md @@ -8,7 +8,7 @@ | 编码 | 文案 | 说明 | |---|---|---| -| `PENDING_REVIEW` | 待审核 | 客户已提交订单,等待平台审核 | +| `PENDING_REVIEW` | 待审核 | 客户已提交订单,等待平台审核;货物已到国内仓时可先收货、称重和测量 | | `WAIT_MEASURE` | 待测量数据 | 审核通过后,测量数据尚未更新完成 | | `WAIT_SPLIT` | 待分柜 | 订单进入分柜处理,尚未完成有效分柜方案 | | `LOADING` | 装柜中 | 预装清单已确认,正在拣货、装柜和补充证据 | @@ -38,6 +38,7 @@ ## 三、门禁与修改规则 - `WAIT_MEASURE -> WAIT_SPLIT` 必须满足入库测量与计费测量、审核和费用确认契约;客户确认和差异沟通不单独增加主状态,也不替代服务端门禁。 +- `PENDING_REVIEW` 的订单提交后即准备同一入仓码对应的预入库单。仓库可提前保存并提交称重、箱规和测量证据;订单主状态与下一动作仍固定为 `PENDING_REVIEW / APPROVE_ORDER`。订单审核通过后沿用原入库单和已采集数据,未通过前禁止测量审核通过、计费、分柜和装柜。 - `LOADING -> LOADED` 必须由服务端校验订舱完成、拖车完成、有效放行回执、PDA 拣货完成、五类证据各至少一张有效照片及锁码文本;任何一项缺失都不得推进。 - 本版本不新增异常、驳回、阻塞、取消等主状态。异常说明、差异说明和补充资料作为子状态、备注、附件或自定义节点保存。 - `LOADED` 前的业务资料可在权限和状态规则内修改;修改资料不自动回退主状态。`LOADED` 后错误统一线下人工处理,国内系统不提供在线冲正。 diff --git a/财务管理/README.md b/财务管理/README.md index b3d01f0..075cbc0 100644 --- a/财务管理/README.md +++ b/财务管理/README.md @@ -8,8 +8,8 @@ 客户选择固定或自定义金额,查看后台配置的微信/支付宝静态收款码,付款后上传 JPG/PNG 截图形成待审核申请。平台在客户账户明细顶部审核或驳回,也可手工充值、扣款和设置客户授信额度;每次变动写不可变账户流水。新账户授信额度读取 `baiyue.finance.wallet.default-credit-limit`,默认 `0.00`,平台设置的客户额度随后独立持久化。Finance 还提供仅服务令牌可访问、按业务类型和业务单号幂等的冻结、结算和释放接口,供一件代发等模块接入。审核、账户更新、流水、冻结记录和幂等结果在 Finance 单事务内完成,文件内容仍归 File 服务。接口契约见 [客户资金账户 OpenAPI](openapi/finance-wallet-v1.yaml)。 -> 盘点日期:2026-08-10 -> 当前状态:F0/F1 已有 Finance 服务、数据库、权限、Admin/Client 页面和基础接口;订单与客户 11 个 P0 operation 的目标契约已冻结,本地实现验收按独立 G1-G4 证据矩阵均为 `PASS`;真实 MySQL、测试环境 HTTP 冒烟和领导页面验收仍需单独执行 +> 盘点日期:2026-09-09 +> 当前状态:费用入池 P0 与对账结算 P1 已完成测试环境部署及真实 HTTP 全链验收;最终报告为 `baiyue-firstleg/reports/admin-test-env-acceptance-20260909103401.json`,1518/1518 通过。领导页面人工截图仍按独立验收规则执行 > 盘点范围:入库计费现状、平台后台财务原型、Admin/Client/Firstleg 当前实现 > 结论口径:本文区分“代码已实现”“原型展示”和“建议范围”;原型功能不自动成为开发范围。 @@ -21,11 +21,11 @@ - Finance 以 `sourceSystem + sourceType + sourceFeeId + sourceVersion` 唯一入池;重复事件幂等,同版本不同哈希拒绝,已进入有效账单或结算单的来源禁止替换/作废。 - 海外仓服务费只强制客户、海外仓和业务编号;入仓记录/入仓码按真实业务选填,月租、仓租等无入仓码费用仍可入池。 -当前本地实现包含柜级分摊 API/Admin 录入、海外费用来源 API、跨区事件、Finance 通用消费入口及数据库脚本。测试环境真实 HTTP、数据库迁移实跑和页面截图仍须部署后单独验收。 +当前实现包含柜级分摊 API/Admin 录入、海外费用来源 API、跨区事件、Finance 通用消费入口及数据库脚本,并已完成测试环境数据库和真实 HTTP 验收。页面人工截图仍按独立验收规则执行。 -## 测试环境部署状态(2026-08-12) +## 历史测试环境部署状态(2026-08-12,已解除) -Finance 全链路测试环境实跑报告为 `baiyue-firstleg/reports/finance-full-acceptance-20260812.json`:共 430 项,411 项通过,19 项失败。当前结论是 `DEPLOYMENT_BLOCKED`,不是脚本契约测试失败,也不是验收通过;19 个失败项继续以 deployment blocker 和 coverage gap 原样保留,禁止通过模拟数据或修改报告伪造通过。 +当时的 Finance 全链路测试环境实跑报告为 `baiyue-firstleg/reports/finance-full-acceptance-20260812.json`:共 430 项,411 项通过,19 项失败,当时结论为 `DEPLOYMENT_BLOCKED`。这些阻断已在后续版本解除,当前结论以 P0/P1 闭环文档和 2026-09-09 最终报告为准。 当前主要部署阻断: diff --git a/财务管理/财务对账结算P1闭环.md b/财务管理/财务对账结算P1闭环.md index 98e59bd..35ac473 100644 --- a/财务管理/财务对账结算P1闭环.md +++ b/财务管理/财务对账结算P1闭环.md @@ -57,11 +57,11 @@ AR/AP 结算单支持出单、部分收付、全额收付、未发生收付时 ## 6. P1 验收证据 -测试环境全链报告:`baiyue-firstleg/reports/admin-test-env-acceptance-20260909093845.json`。 +测试环境最终全链报告:`baiyue-firstleg/reports/admin-test-env-acceptance-20260909103401.json`。 | 验收项 | 结果 | |---|---| -| 真实 HTTP 全链 | 1516/1516,通过;901 个真实请求,10 个模块 | +| 真实 HTTP 全链 | 1518/1518,通过;902 个真实请求,10 个模块 | | 来源类型 | KG 自动运费、CBM 自动运费、单票人工应收/应付、柜级公共费用、海外 `DIRECT_PAID` | | 对账单 | 按勾选/日期生成、幂等、驳回重开、审核出账、客户确认、调整、作废 | | 结算 | 3 张 AR、1 张 AP;部分/全额收付、超额拒绝、作废重开 | @@ -80,5 +80,7 @@ P1 没有发现 Finance 单据状态机或金额处理缺陷。发现并修正 - 不包税自动计费先从真实入库单读取 `businessType`,再通过正式 API 检查或创建匹配的客户计费规则。 - CBM 测量样本使用真实体积重高于实重的数据,确保验证实际 `VOLUME_CBM` 路径。 - 柜级费用使用独立的第六票测量订单,避免已发送费用的冻结规则阻断装柜关系变化。 +- 装柜完成前冻结托盘标签会锁定并写入标签快照,因此该命令使用可写事务,避免只读事务导致真实装柜完成失败。 +- 自动费用造数只选择已配置内部编号且被 ACTIVE 价格簿覆盖的 FBA 仓;测试环境 `ABE3` 已通过正式仓库接口补齐内部编号。 这些修正只增强验收数据和证据,不绕过生产权限、状态机、幂等、服务边界或数据库约束。