This commit is contained in:
2026-08-19 16:45:47 +08:00
parent a3b5c19b88
commit 53def198d3
14 changed files with 354 additions and 29 deletions
+1
View File
@@ -7,6 +7,7 @@
- [一期文档](一期/README.md):一期范围、开发进度和头程订单最小闭环。
- [二期文档](二期/README.md):预约取货、到仓收货、实测差异和指定库位闭环。
- [三期文档](三期/README.md):智能排柜、订舱、拖车、PDA 拣货、报关协同和国内出仓闭环。
- [四期文档](四期/README.md):国内出仓后的船节点定时查询、海外接柜、合作仓卸货入库、库存与库内操作,以及海外采购、本土卡车和本土散板;不包含海外仓出库业务。
- [独立任务协作登记](独立任务协作登记.md):只维护总控与用户可见独立任务的稳定 `task_id`、父子关系和职责范围,不记录动态进度或归档状态。
## 跨阶段参考
+3 -1
View File
@@ -2,6 +2,8 @@
三期以国内头程后程作业为范围,完成从排柜、订舱、拖车和仓内拣货,到装柜证据齐全并进入 `LOADED`/装柜完成的业务闭环。`DELIVERED`/派送完成由到达海外仓后的可信回传推进,不属于国内三期操作范围。
> 范围更正:三期只维护订舱和出仓前所需的船名航次、港口、ETD/ETA 等资料。柜子确认离开国内仓库后的 `CarrierScheduleQuery`、六家船公司查询、每 3 天/最多 3 次、来源/过期标识和后续定时船节点查询整体归四期,见 `../四期/README.md`。三期不再建设或验收这套查询。
## 当前主体模型与开工禁令
- 三期继续按业务单租户、“平台—客户”两级开发,客户之间严格隔离。Java 与接口中的业务 `tenant_id > 0` / `tenantId` 当前表示客户 ID;`tenant_id=0` 是平台身份、平台 RBAC 和平台公共仓库、快递公司、托盘、库位等公共资源技术作用域。客户往来单位、订单、文件和费用仍归属客户 `tenant_id>0`。
@@ -26,7 +28,7 @@
三期已进入分模块部署联调。已确认不新建独立出仓单,现有订单列表/详情承载主状态;支持一单多柜、一个柜拼多个订单,并采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。进入 `LOADED`/装柜完成前,订舱完成、拖车完成、报关放行回执、PDA 拣货完成及五类证据完整均为服务端硬门禁;`LOADED` 后错误统一线下人工处理,国内 Admin/PDA 不提供在线冲正或手工推进 `DELIVERED`。当前不能因子链路已通过而宣告整期完成,最终结论以真实 HTTP 全链路验收为准。
船期首版按船公司官网查询,每 3 天一次、最多 3 次,记录来源、查询/更新时间和过期标识。首批来源为美森、SML、ZIM、COSCO、EMC、合德;外部页面不可用时保留最近结果并标记过期。报关首版不做系统对接,全部由人工整理、线下提交和人工上传回执。仓库初始化角色包括操作员、拣货员、理货员,具体权限矩阵由 IAM 契约任务落表。
柜子出仓后的船公司/船节点查询已重新归入四期。三期报关首版不做系统对接,全部由人工整理、线下提交和人工上传回执。仓库初始化角色包括操作员、拣货员、理货员,具体权限矩阵由 IAM 契约任务落表。
P3-Q1~P3-Q13 均已确认;P3-Q4 采用 uni-app 开发并支持在线更新,Android 广播扫描已接入。P3-Q5 复用二期实时库存、当前位置和可用量接口,不扩展完整 WMS。
+22 -20
View File
@@ -7,6 +7,8 @@
> 2026-08-10 产品确认版:三期不新建独立出仓单;支持一单多柜、一个柜拼多个订单,采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。`LOADED` 硬门禁为订舱完成、拖车完成、报关放行回执、PDA 拣货完成和五类证据完整;`LOADED` 后错误线下人工处理。五类证据各至少 1 张有效照片,同类型多张追加,PDA 仅现场拍照,后台操作员和理货员可人工上传,照片无限期保留且客户不可见。
> 当前范围更正:原 `P3-PORT-01`、六家船公司官网查询及 `CarrierScheduleQuery` 是柜子确认离开国内仓库后的业务,整体重新归入四期。三期仅保存订舱与出仓前所需的船名航次、港口和 ETD/ETA 等资料,不建设或验收出仓后的定时节点查询。
> 主体模型与硬约束:三期只实现“平台—客户”两级,业务 `tenant_id > 0` / `tenantId` 当前表示客户 ID;`tenant_id=0` 是平台身份、平台 RBAC 和平台公共仓储资源技术作用域,客户往来单位、订单、文件和费用归属客户 `tenant_id>0`。禁止新增租户主表、租户选择器、客户所属租户配置、租户切换、租户级 RBAC 或租户级配置,禁止把现有 `tenant_id` 改义为上级租户 ID;历史类名、路径和字段继续兼容。
## 一、三期目标
@@ -22,7 +24,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
↓
客户上传报关资料 → 平台整理提交报关代理 → 上传回执供客户下载
↓
查询或维护预计开船、到港等港务/船期信息
维护订舱与出仓前所需的船名航次、港口和预计时间
↓
国内三期完成:`LOADED`/装柜完成
```
@@ -34,21 +36,21 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
| 原型动作 | 规划模块 | 开发任务 | 覆盖结果 |
|---|---|---|---|
| 1. 智能排柜 | 智能排柜 | P3-PLAN-01、P3-PLAN-02 | 已覆盖,按 110% 装载率上限和可配置税率排序实现 |
| 2. 订舱 | 订舱与港务/船期信息 | P3-BOOK-01 | 已覆盖 |
| 2. 订舱 | 订舱与出仓前船期资料 | P3-BOOK-01 | 已覆盖 |
| 3. 预约托车 | 预约拖车 | P3-TRUCK-01 | 已覆盖,统一使用“预约拖车” |
| 4. PDA 拣货 | PDA 拣货与复核 | P3-PICK-01、P3-PDA-01、P3-PDA-02 | 已覆盖 |
| 5. 拍货柜及铅封照上传 | 装柜及柜封证据 | P3-LOAD-01、P3-LOAD-02 | 已确认五类证据各至少 1 张有效照片、同类型可多张,锁码文本必填 |
| 6. 客户上传报关资料 | 报关资料协同 | P3-CUS-01 | 已覆盖 |
| 7. 整理给到报关代理报关 | 报关资料协同 | P3-CLEAR-01 | 已覆盖 |
| 8. 回执上传到系统供客户下载 | 报关回执与客户下载 | P3-CLEAR-01、P3-CUS-02 | 已覆盖,首版由授权人员人工上传放行回执 |
| 9. 查港务信息(预计开船、到港等) | 订舱与港务/船期信息 | P3-PORT-01、P3-CUS-02 | 已确认六家船公司官网来源,每 3 天查询一次、最多 3 次并标记过期 |
| 9. 出仓后查询港务/船节点 | 四期船节点定时查询 | 原 P3-PORT-01、P3-CUS-02 对应查询部分 | 已重新归入四期,不是三期动作或验收项 |
## 二、阶段边界
### 纳入三期
- 现有订单三期状态、订单-柜次关联、智能排柜建议、人工调整和版本确认。
- 订舱申请、舱位结果,以及船公司官网查询的预计开船、到港等船期信息;具体字段按来源适配层统一映射。
- 订舱申请、舱位结果,以及出仓前人工确认或业务录入的船名航次、港口、ETD/ETA 等资料快照。
- 预约拖车、车辆司机、到仓装柜和离仓记录。
- PDA 任务领取、扫码拣货、部分拣货、异常、复核和幂等提交。
- 装柜、柜号、铅封号及货柜/铅封照片证据。
@@ -63,14 +65,15 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
- GPS 实时跟车、电子铅封、称重设备、摄像头 OCR 和 IoT 自动采集。
- 自动报关、关税计算、退税、完整清关业务和自动单证识别。
- 海上运输、海外清关、目的港提柜、海外仓入库和末端派送。
- 柜子确认离开国内仓库后的 `CarrierScheduleQuery`、船公司查询、定时船节点和到港跟踪;整体归四期。
- 无人工确认的全自动排柜、自动订舱和不可逆业务操作。
## 三、参与角色与数据边界
| 角色 | 数据范围 | 主要操作 |
|---|---|---|
| 企业订单操作员 | 当前企业订单及关联柜次 | 上传/补充报关资料、查看订单后程和港务/船期进度、下载回执 |
| 平台运营 | 授权客户、订单和柜次 | 确认排柜、订舱、维护港务/船期信息和协调异常 |
| 企业订单操作员 | 当前企业订单及关联柜次 | 上传/补充报关资料、查看订舱与出仓前资料、下载回执 |
| 平台运营 | 授权客户、订单和柜次 | 确认排柜、订舱、维护出仓前船期资料和协调异常 |
| 仓库主管 | 被授权的平台收货仓 | 分配拣货任务、复核差异、确认装柜和出仓条件 |
| 仓库作业员 | 分配给本人或本仓的任务 | PDA 扫码、数量确认、异常上报和任务提交 |
| 操作员 | 授权仓库/订单/柜次 | 查看作业进度、人工上传装柜证据、协助处理异常 |
@@ -101,7 +104,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
- 拖车:待预约、已预约、车辆已到仓、装柜中、已离仓、改约、已取消。
- 拣货:待分配、待拣货、拣货中、待复核、已完成、异常挂起、已取消。
- 报关:资料待上传、资料待审核、待补件、待提交、已提交代理、回执待上传、回执已上传、已退回、已取消;有效放行回执是 `LOADED` 硬门禁,首版由授权人员人工上传。
- 港务/船期:待维护、已确认、信息变更、已开船;“已开船”属于三期之后的运输阶段,不是当前三期完成条件。
- 出仓前船期资料:待维护、已确认、信息变更;出仓后节点和“已开船”等运输事实归四期。
主状态由服务端根据已确认的必要子流程推进。客户端不得通过传任意目标状态跳过拣货复核、装柜证据或已配置的装柜完成门禁。
@@ -122,14 +125,13 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
- 建议排柜方案保留版本、规则版本、输入快照、操作者和前后差异,以支持追溯。
- 未确认方案不得生成正式拣货任务或执行不可逆状态变化。
### 3. 订舱与港务/船期信息
### 3. 订舱与出仓前船期资料
- 原型明确需要查询预计开船、到港等船期信息;首版按船公司官网查询,每 3 天一次、最多 3 次,并记录来源、查询时间、更新时间和过期标识。
- 三期只维护订舱和装柜/出仓交接所需的预计开船、到港等静态资料,不执行出仓后的船公司或船节点查询。
- 船公司/订舱代理、航线、订舱号、船名航次、起运港、目的港、截单、截关、截港、ETD 和 ETA 暂列为候选字段。
- 订舱失败、改船、甩柜、船期延误和取消暂列为候选异常场景,按业务确认结果实现。
- 首批船公司来源配置:美森 `https://www.matson.com/shipment-tracking.html`、SML `https://esvc.smlines.com/smline/CUP_HOM_3301.do?sessLocale=zh`、ZIM `https://www.zimchina.com/tools/track-a-shipment`、COSCO `https://elines.coscoshipping.com/ebusiness/`、EMC `https://www.evergreen-shipping.cn/servlet/TDB1_CargoTracking.do`、合德 `http://elines.hedehk.com/cargoDynamic`。外部查询失败不得覆盖最近有效结果,连续达到 3 次仍失败时标记信息过期。
- 客户查看预计开船、到港等信息时展示数据来源和最近更新时间,避免把过期结果显示为实时信息。
- 港务/船期查询作为独立适配层实现;平台可人工维护修正,并保留来源和变更审计,不承诺船公司正式 API 对接。
- 六家船公司来源、每 3 天/最多 3 次、最近有效结果和过期标识,以及对应适配层全部移至四期船节点查询维护。
- 三期页面展示的 ETD/ETA 必须明确为订舱或人工确认快照,不得伪装成出仓后的实时查询结果。
- 建议关键信息变更保留旧值、新值、原因,并向授权用户发送站内提醒。
### 4. 预约拖车
@@ -193,7 +195,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
| 排柜方案 | 经确认的规则版本、输入快照、柜次、货物分配、规则计算结果和确认记录 |
| 柜次 | 柜型、柜号、铅封号、装载顺序、重量、体积和关联订单 |
| 订舱记录 | 船公司/代理、订舱号、船名航次、港口、舱位和异常 |
| 港务/船期节点 | 经确认的信息字段、变更历史和来源;候选字段包括截单、截关、截港、ETD 和 ETA |
| 出仓前船期资料快照 | 经确认的订舱字段和变更历史;候选字段包括截单、截关、截港、ETD 和 ETA,不包含出仓后节点查询 |
| 拖车预约 | 服务商、车辆、司机、预约时间窗、到离仓节点和异常 |
| 拣货任务 | 柜次、货物明细、分配人、作业员、扫描、数量、差异和复核 |
| 装柜证据 | 柜号、铅封号、照片类型、文件、上传人、时间和可见范围 |
@@ -233,7 +235,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
- 最终保证身份、客户归属、仓库数据范围、权限、状态、门禁、幂等、并发和审计。
- 管理出仓、排柜、订舱、拖车、拣货、装柜、报关和时间线的事务边界。
- 文件上传校验类型、大小、内容和权限;使用不可预测标识和授权下载。
- 船期首版按六家船公司官网查询并记录来源、更新时间和过期标识;车队、海关仍只预留适配层,报关首版全部人工处理,不承诺正式系统对接。
- 三期服务端保存订舱与出仓前船期资料;六家船公司和定时船节点查询由四期负责。车队、海关仍只预留适配层,报关首版全部人工处理,不承诺正式系统对接。
## 八、建议里程碑
@@ -241,7 +243,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|---|---|---|
| P3-M0 规则与设备锁定 | 流程、角色、状态、排柜规则、PDA、文件和验收确认 | 二期到仓契约稳定 |
| P3-M1 订单与排柜 | 现有订单可进入待分柜,并按确认范围提供柜次建议、人工确认与追溯 | 排柜规则确认 |
| P3-M2 订舱与拖车 | 订舱、船期、拖车预约和异常处理可用 | 服务商与权限可用 |
| P3-M2 订舱与拖车 | 订舱、出仓前船期资料、拖车预约和异常处理可用 | 服务商与权限可用 |
| P3-M3 PDA 拣货 | 在线任务、持久化草稿、批量提交、差异、复核和幂等可用 | 服务端任务与库存契约可用 |
| P3-M4 装柜封柜 | 柜号、铅封和照片证据完整,门禁生效 | 文件能力与必传清单确认 |
| P3-M5 报关协同 | 客户上传、平台审核、补件、提交和回执下载闭环 | 报关资料清单确认 |
@@ -258,7 +260,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
| P3-PLAN-01 | 公共 | 排柜规则 | 按已确认规则实现输入、约束、偏好和冲突判断 | P0 | P3-BASE-02、P3-Q1 |
| P3-PLAN-02 | 后台 | 智能排柜 | 按已确认范围实现建议、人工确认和追溯 | P0 | P3-PLAN-01 |
| P3-BOOK-01 | 后台 | 订舱 | 订舱和经确认的船名航次、港口、变更及异常;订舱完成是 `LOADED` 门禁 | P0 | P3-DSP-01 |
| P3-PORT-01 | 后台/服务端 | 船期查询 | 按美森、SML、ZIM、COSCO、EMC、合德官网查询,每 3 天一次最多 3 次,记录来源/更新时间/过期标识并支持人工修正 | P0 | P3-BOOK-01 |
| 原 P3-PORT-01 | 后台/服务端 | 出仓后船节点查询 | 已重新归入四期,不作为三期交付或验收项;沿用现有 `CarrierScheduleQuery`,不得重复实现 | 四期 | P3-BOOK-01、确认国内出仓 |
| P3-TRUCK-01 | 后台 | 拖车预约 | 服务商、车辆司机、时间窗、到离仓和异常 | P0 | P3-DSP-01 |
| P3-PICK-01 | 公共 | 拣货任务 | 按排柜方案生成任务、明细、差异和复核规则 | P0 | P3-PLAN-02 |
| P3-PDA-01 | PDA | 在线扫码拣货 | 进入任务标记拣货中、扫描草稿、部分/跳拣异常原因和批量提交 | P0 | P3-PICK-01 |
@@ -267,7 +269,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
| P3-LOAD-02 | PDA/Admin/服务端 | 柜封拍照上传 | PDA 现场拍摄、Admin 人工上传、五类证据多图追加、真实文件上传、预览、失败重试、作废和提交 | P0 | P3-LOAD-01、文件能力可用 |
| P3-CUS-01 | 客户端 | 报关资料 | 清单、上传、补件、版本和进度查看 | P0 | 文件能力可用 |
| P3-CLEAR-01 | 后台 | 报关协同 | 人工审核、补件、线下提交代理、人工上传放行回执和版本审计 | P0 | P3-CUS-01 |
| P3-CUS-02 | 客户端 | 回执及港务信息 | 回执下载、预计开船/到港信息、数据来源、更新时间和变更时间线 | P0 | P3-PORT-01、P3-CLEAR-01 |
| P3-CUS-02 | 客户端 | 回执及出仓前船期资料 | 回执下载、订舱预计开船/到港快照和变更时间线;出仓后查询展示归四期 | P0 | P3-BOOK-01、P3-CLEAR-01 |
| P3-GATE-01 | 服务端 | 装柜完成门禁 | 校验订舱、拖车、报关放行回执、PDA 拣货、五类证据和锁码文本,幂等推进 `LOADED`;`LOADED` 后仅线下人工处理 | P0 | P3-PICK-01、P3-LOAD-01、P3-LOAD-02 |
| P3-OVERSEAS-01 | 服务端 | 海外仓派送完成回传 | 只接受海外仓可信回传,校验身份、签名、时间窗、防重放和幂等,推进 `DELIVERED` | P1/后续阶段 | 海外仓契约 |
| P3-NOTIFY-01 | 公共 | 通知异常 | 站内通知、阻塞、责任人、时限和失败补偿 | P1 | 核心流程完成 |
@@ -285,7 +287,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
- 未完成 PDA 拣货、缺少任意一张必传照片或锁码文本时不能进入 `LOADED`/装柜完成。
- 企业 A 无法查看、上传或下载企业 B 的报关资料和回执。
- 报关资料替换、退回、补件、提交和回执均能追溯到明确版本。
- 港务/船期查询结果展示来源和更新时间;变更保留历史并通知授权用户,旧信息不被无痕覆盖。
- 订舱与出仓前船期资料变更保留历史;出仓后船节点查询结果的来源、更新时间和过期验收归四期。
- 确认装柜完成的并发请求只产生一次状态变化和一次有效审计事件。
- 管理后台覆盖加载、空态、失败、无权限和数据冲突;PDA 覆盖弱网、前后台切换和硬件扫描。
- 三期验收基线为 `LOADED`/装柜完成;`DELIVERED`/派送完成只由海外仓回传推进,不属于国内三期验收条件。
@@ -304,7 +306,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
| P3-Q6 | 柜封照片有哪些必传角度和留存期限? | 已确认:五类各至少 1 张、同类型可多张追加、后台操作员/理货员可上传、拣货员仅 PDA 现场采集、错图作废、无限期保留、客户不可见 |
| P3-Q7 | 报关资料清单是否按国家、渠道和货物类型变化? | 已确认首版人工维护清单和版本,不接自动报关 |
| P3-Q8 | 报关代理如何接收资料和返回回执? | 已确认线下提交,授权人员人工上传回执 |
| P3-Q9 | 原型中的“港务信息”具体指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 已确认首版查询六家船公司官网,每 3 天一次最多 3 次,记录来源/更新时间/过期标识 |
| P3-Q9 | 原型中的“港务信息”具体指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 当前更正:三期只维护订舱与出仓前船期资料;六家船公司及出仓后节点查询整体归四期 |
| P3-Q10 | 进入装柜完成后发现错误如何处理? | 已确认线下人工处理,本期不提供在线冲正 |
| P3-Q11 | 九个动作中哪些是强制前置,哪些允许并行? | 已确认订舱、拖车、报关放行、PDA 拣货和五类证据为 `LOADED` 硬门禁;单柜次单作业员 |
| P3-Q12 | “报关回执”具体包含哪些类型,海关放行是否为国内出仓硬门禁? | 已确认有效放行回执为 `LOADED` 硬门禁,首版人工上传 |
@@ -313,7 +315,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
## 十二、建议实施顺序
1. 固化已确认业务规则,按 uni-app 在线更新安排推进 PDA 开发、发布和真机验收。
2. 统一订单、柜次、订舱、拖车、拣货、报关和港务/船期信息的稳定编码与关联契约。
2. 统一订单、柜次、订舱、拖车、拣货、报关和出仓前船期资料的稳定编码与关联契约;出仓后查询按四期衔接。
3. 先实现服务端权限、状态、门禁、幂等、并发和审计,再接各端页面。
4. 完成管理后台的出仓编排,再接 PDA 现场执行和客户资料协同。
5. 使用脱敏数据演练拼柜、一单多柜、未装数量生成子订单、错拣、补件和改船;`LOADED` 后不演练在线冲正。
+2 -2
View File
@@ -50,14 +50,14 @@
| P3-T01-PROTO-01 | T01 | 公共 | 原型盘点 | 盘点流程图、后台、企业客户端和 PDA 中与三期相关的页面及交互 | P0 | 已完成 | 100% | - | 待分配 | 2026-07-28 已完成首次盘点,来源为 `docs/悦` |
| P3-T03-PROTO-01 | T03 | 后台 | 订单三期编排原型 | 在现有订单列表/详情中设计柜次、子流程摘要、阻塞原因、时间线和操作入口 | P0 | 进行中 | 50% | P3-T01-PROTO-01、P3-Q11 | 待分配 | 不新建出仓单页面 |
| P3-T04-PROTO-01 | T04 | 后台 | 智能排柜原型核验 | 映射智能装柜的线路页签、筛选、智能锁定、订单分柜、拖放调整和集装箱详情 | P0 | 已完成 | 100% | P3-T01-PROTO-01 | 待分配 | 按 110% 装载率上限和可配置税率排序实现 |
| P3-T05-PROTO-01 | T05 | 后台 | 订舱港务原型核验 | 映射订舱列表、新增/详情、放舱、船名航次、港口和 ETD/ATD/ETA/ATA 字段 | P0 | 已完成 | 100% | P3-T01-PROTO-01 | 待分配 | 船期查询按六家船公司来源配置,每 3 天最多 3 次 |
| P3-T05-PROTO-01 | T05 | 后台 | 订舱与出仓前船期资料原型核验 | 映射订舱列表、新增/详情、放舱、船名航次、港口和 ETD/ATD/ETA/ATA 字段 | P0 | 已完成 | 100% | P3-T01-PROTO-01 | 待分配 | 出仓后的六家船公司及节点查询已重新归入四期 |
| P3-T06-PROTO-01 | T06 | 后台 | 拖车原型核验 | 映射拖车列表、新增表单、运输公司、司机、车头号、装箱日期、费用和附件 | P0 | 已完成 | 100% | P3-T01-PROTO-01 | 待分配 | 预约时间窗和到离仓节点仍需按三期流程补充 |
| P3-T07-PROTO-01 | T07 | 后台/PDA | 拣货原型核验 | 对照通用 WMS 出库拣货和现有 PDA 集装箱拣货,锁定可复用交互与真实接口缺口 | P0 | 已完成 | 100% | P3-T01-PROTO-01 | 待分配 | 已确认在线作业、进入即开始、持久化草稿和批量提交;真实任务、鉴权与契约仍需完成 |
| P3-T08-PROTO-01 | T08 | 后台 | 装柜证据原型核验 | 映射货柜列表、预装清单、装柜清单、柜号、单证、船期和装柜明细 | P0 | 已完成 | 100% | P3-T01-PROTO-01 | 待分配 | 后台参考较完整,但现场拍照上传原型缺失 |
| P3-T08-PROTO-02 | T08 | PDA | 装柜拍照原型 | 新增柜次确认、五类证据多图追加、锁码文本、预览、重试、作废和提交页面原型 | P0 | 待开始 | 0% | P3-Q6 | 待分配 | PDA 仅拍照、Admin 可上传、每类至少一张和错图作废已确认 |
| P3-T09-PROTO-01 | T09 | 后台 | 报关单证原型核验 | 映射报关单列表、单证管理、报关/清关/放行资料及装柜清单附件 | P0 | 已完成 | 100% | P3-T01-PROTO-01 | 待分配 | 客户上传和回执下载页面仍需新建 |
| P3-T10-PROTO-01 | T10 | 后台 | 装柜完成门禁原型 | 在现有订单详情设计门禁检查、阻塞原因和确认装柜完成交互 | P0 | 进行中 | 30% | P3-Q10~P3-Q12 | 待分配 | 不提供在线冲正,不需要独立门禁页面 |
| P3-T11-PROTO-01 | T11 | 客户端 | 客户端三期原型 | 新增装柜进度、报关资料上传/补件、回执下载和港务/船期页面原型 | P0 | 待开始 | 0% | P3-Q7~P3-Q9、P3-Q12 | 待分配 | 现有客户端原型未覆盖三期专用页面 |
| P3-T11-PROTO-01 | T11 | 客户端 | 客户端三期原型 | 新增装柜进度、报关资料上传/补件、回执下载和出仓前船期资料展示 | P0 | 待开始 | 0% | P3-Q7~P3-Q9、P3-Q12 | 待分配 | 出仓后船节点页面归四期 |
## 四、原型对照与开发影响
@@ -45,7 +45,7 @@
| 客户上传报关资料 | Client 无正式入口 | **未具备** | 无清单版本、上传、补件、进度和客户隔离契约 | P0 |
| 平台报关协同 | 仅有历史文档类型占位 | **未具备** | 无审核退回、补件、代理提交批次、文件版本冻结 | P0 |
| 回执上传/客户下载 | 无业务模型和页面 | **未具备** | 无回执类型、版本、可见范围、下载授权和门禁关联 | P0 |
| 港务/船期查询 | 订舱实体有 ETD/ETA、船名航次等字段 | 部分具备 | 无来源、更新时间和过期标识;无独立客户查询端 | P1 |
| 出仓后港务/船节点查询 | 订舱实体有 ETD/ETA、船名航次等字段 | 已重新归入四期 | 本历史审计发现的来源、更新时间、过期标识和客户查询端缺口由四期承接,不再作为三期闭环缺口 | 四期 |
| 装柜完成门禁 | 有 `LOADING -> LOADED`,但当前可无证据完成 | **未具备** | 未强制校验 PDA 拣货、5 张真实图片和锁码文本;无冲正 | P0 |
| 海外仓回传边界 | 有平台手工 `DELIVERED` 动作 | **契约冲突** | 国内端可手工推进派送完成;缺海外仓可信来源、签名、防重放、幂等和审计契约 | P0/跨阶段 |
| 客户三期可见性 | 订单详情有拣货/装柜少量只读摘要 | 严重不足 | 无柜次、报关、回执、船期变更时间线 | P0 |
+2 -2
View File
@@ -23,7 +23,7 @@
| P3-Q6 | 柜封照片有哪些必传类型、数量、采集方式、处理规则和留存期限? | 五类证据、角色和留存按确认版直接进入契约 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 空仓、半仓、满仓、锁仓、带锁码照五类各至少 1 张有效照片,同类型可无限追加;PDA 只能现场拍照;后台操作员和理货员可人工上传;拣货员只负责 PDA 现场采集,不开放后台人工上传;错图不硬删除,按原因、操作人、时间作废;带锁码照必须填写锁码文本;照片无限期保留,客户不可见照片和锁码 | 装柜、PDA 拍照、Admin 上传、文件存储、订单后程门禁 |
| P3-Q7 | 报关资料清单是否按国家、渠道和货物类型变化? | 清单配置化,并保存业务使用的清单版本 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 首版不对接海关或代理系统;按人工维护资料清单、收集/补件并保存版本,具体清单可配置 | 客户资料、报关审核、文件版本 |
| P3-Q8 | 报关代理如何接收资料并返回回执? | 首版系统内整理、线下提交,正式接口后续评估 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 全部人工处理:平台整理资料后线下交代理,授权人员人工上传代理回执;系统记录提交批次、回执版本和时间,不建设自动对接 | 报关协同、回执上传 |
| P3-Q9 | “港务信息”指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 先确认词义和字段;首版平台人工维护并审计 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10 | 首版聚焦船公司船期/货物跟踪查询;每 3 天查询一次,最多 3 次,记录查询时间、来源、更新时间和过期标识。首批来源:美森、SML、ZIM、COSCO、EMC、合德官网;失败后标记信息过期并保留最近结果 | 订舱、港务查询、客户展示 |
| P3-Q9 | “港务信息”指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 三期只维护订舱与出仓前船期资料 | 已重新归期 | 已确认 | 产品/业务 | 2026-08-19 | 柜子确认离开国内仓库后的船公司/货物跟踪查询、每 3 天最多 3 次、来源、更新时间和过期标识整体归四期;三期不建设或验收该查询 | 三期订舱资料、四期船节点查询 |
| P3-Q10 | 订单进入“装柜完成”后发现错误如何处理? | 仅保留线下人工处理和审计,不建设在线冲正 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | `LOADED` 后不提供在线冲正/回退入口,统一线下人工处理;系统保留原状态和审计记录,不由国内 Admin/PDA 推进 `DELIVERED` | 装柜完成门禁、权限、审计 |
| P3-Q11 | 九个动作中哪些是强制前置,哪些允许并行? | 统一门禁按已确认前置执行;PDA 单柜次单人作业 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10 | 订舱完成、拖车完成、报关资料完成且有放行回执、PDA 拣货完成及五类证据完整均为进入 `LOADED` 的强制门禁;PDA 单柜次单人作业,不做多人并行;进入任务即拣货中,提交时批量写入 | 全流程、状态机、PDA、页面进度 |
| P3-Q12 | 报关回执包含哪些类型,海关放行是否为装柜完成硬门禁? | 有效放行回执作为硬门禁,首版人工上传 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10 | 首版回执由人工上传;必须存在有效放行回执才能通过 `LOADED` 门禁。回执类型和版本可追溯,具体字段按人工业务单据映射 | 报关状态、装柜完成门禁、客户回执 |
@@ -53,7 +53,7 @@
| P3-D1 | 2026-08-08 | 三期不新建独立出仓单,现有订单列表承载全部主状态;柜次、订舱、拖车、拣货、证据和报关作为订单关联子对象 | 取消出仓单页面和数据模型规划,改为增强现有订单列表/详情及服务端统一编排 |
| P3-D2 | 2026-08-10 | 订单拆分采用“父订单→子订单→柜次”;已装载数量形成子订单,未装载数量自动生成后续子订单;支持一单多柜和多订单拼柜 | 后端必须保留父子订单、柜次、数量分摊和整体时间线;不得把未装载部分静默丢弃 |
| P3-D3 | 2026-08-10 | `LOADED` 的硬门禁包含订舱完成、拖车完成、报关放行回执、PDA 拣货完成和五类证据完整;`LOADED` 后错误线下人工处理 | 统一门禁服务负责校验,国内页面不提供在线冲正或 `DELIVERED` 操作 |
| P3-D4 | 2026-08-10 | 船期按船公司官网查询:每 3 天一次,最多 3 次,保存来源、更新时间和过期标识 | 首批船公司来源配置为美森、SML、ZIM、COSCO、EMC、合德;失败不覆盖最近有效结果 |
| P3-D4 | 2026-08-10;2026-08-19 更正归期 | 船公司官网查询:每 3 天一次、最多 3 次,保存来源、更新时间和过期标识 | 该能力及首批六家来源整体归四期,三期只保留订舱与出仓前船期资料 |
| P3-D5 | 2026-08-10 | 初始化仓库常用角色:操作员、拣货员、理货员;按最小权限授予拣货、证据上传和查看能力 | 角色初始化由 IAM/统一 SQL 任务实现,具体权限矩阵在技术契约评审中落表 |
## 四、建议确认顺序
+2 -2
View File
@@ -20,7 +20,7 @@
| P3-ADM-02 | 现有订单详情三期增强 | 柜次、任务、五类装柜照片、锁码、报关和时间线 | T03 订单三期编排与柜次 | 待原型 | P3-Q11 | 组合现有货柜和装柜清单能力,补统一编排区 |
| P3-ADM-03 | 智能排柜 | 生成建议、冲突、调整和确认 | T04 智能排柜 | 开发中 | P3-Q1、P3-Q2 | Admin `/container-loading/smart-loading` 已部署;真实完成态受 PDA 门禁阻断 |
| P3-ADM-04 | 订舱管理 | 订舱申请、结果、变更和异常 | T05 订舱与港务信息 | 已有参考原型 | P3-Q9、P3-Q11 | 已有订舱列表、新增和详情 |
| P3-ADM-05 | 港务/船期信息 | 查询系统信息、人工维护、来源和更新时间 | T05 订舱与港务信息 | 部分参考原型 | P3-Q9 | 订舱详情和货柜列表已有船期字段,缺独立查询口径 |
| P3-ADM-05 | 订舱与出仓前船期资料 | 人工维护船名航次、港口及预计时间快照 | T05 订舱资料 | 部分参考原型 | P3-Q9 | 出仓后的来源、更新时间和节点查询页面整体归四期 |
| P3-ADM-06 | 拖车预约 | 服务商、车辆司机、时间窗和节点 | T06 拖车预约 | 已有参考原型 | P3-Q3、P3-Q11 | 已有拖车列表和新增表单,需补预约及到离仓节点 |
| P3-ADM-07 | 拣货任务与复核 | 分配、进度、差异、复核和异常 | T07 PDA 拣货与复核 | 已阻塞 | P3-Q5 | 真实任务领取可用;PDA `pick` 仍返回 S0500,批量提交契约未实现 |
| P3-ADM-08 | 装柜证据复核 | 柜号、锁码文本、五类多图、Admin 上传、作废和复核 | T08 装柜及柜封证据 | 开发中 | P3-Q6 | 五类多图追加、作废和 Admin 上传已通过真实接口;终态复核受 PDA 阻断 |
@@ -35,7 +35,7 @@
| P3-CLI-02 | 现有订单详情三期增强 | 时间线、柜号、船期和允许公开的证据 | T11 客户端三期协同 | 待原型 | P3-Q6、P3-Q9 | 在现有订单详情补三期区块,不新建重复详情对象 |
| P3-CLI-03 | 报关资料上传 | 清单、上传、补件、版本和处理进度 | T09 报关资料与回执 | 待原型 | P3-Q7 | 文件规则确认后细化 |
| P3-CLI-04 | 报关回执下载 | 回执列表、类型、版本和授权下载 | T09 报关资料与回执 | 待原型 | P3-Q8、P3-Q12 | 区分客户可见回执 |
| P3-CLI-05 | 港务/船期信息 | 预计开船、到港、来源、更新时间和变更 | T11 客户端三期协同 | 待原型 | P3-Q9 | 不将过期信息展示为实时信息 |
| P3-CLI-05 | 出仓前船期资料 | 订舱预计开船、到港快照和变更 | T11 客户端三期协同 | 待原型 | P3-Q9 | 出仓后的实时节点、来源、更新时间和过期展示归四期 |
## 四、PDA
@@ -14,7 +14,7 @@
| 锁码门禁 | 缺少锁码照片或锁码文本为空时,完成装柜请求被拒绝 | `phase3-loading.mjs` |
| 统一装柜门禁 | 订舱未完成、拖车未完成、报关无有效放行回执、PDA 未完成或五类证据不完整时,真实 `LOADED` 请求均被拒绝 | `service-center-flow.mjs` / `phase3-loading.mjs` |
| 订单/柜次聚合 | 一单多柜、一个柜多订单、父子订单数量分摊及未装数量自动生成子订单可追溯 | `phase3-order-aggregate.mjs`(待补) |
| 船期查询 | 六家船公司来源、三日查询周期、最多三次、更新时间和过期标识真实可见 | `phase3-vessel-tracking.mjs`(待补) |
| 出仓后船节点查询 | 已重新归入四期,不属于三期验收 | 四期沿用现有 `CarrierScheduleQuery` 设计验收入口,不再补 `phase3-vessel-tracking.mjs` |
| 仓库角色 | 操作员、拣货员、理货员初始化、最小权限和跨客户隔离 | `phase3-role-contract.mjs`(待补) |
| 伪造与交叉归属 | 不存在 `fileId`、其他证据类型的 `fileId` 不能绑定 | `phase3-loading.mjs` |
+70
View File
@@ -0,0 +1,70 @@
# 四期范围与快速索引
## 已确认业务边界
- 一期、二期、三期覆盖国内头程仓内操作,三期完成装柜及国内出仓交接;柜子确认离开国内仓库后的节点查询不属于三期。
- 四期从柜子确认国内出仓后开始定时查询船节点,持续跟踪国内出仓、港口、开航及海运在途节点,直到目的港到达并为海外提柜提供依据;海外仓作业继续覆盖安排车辆提柜、运抵合作海外仓、卸货、入库、形成库存和库内操作。
- 四期止于海外仓库存和库内作业,不包含海外仓出库单、出库履约、海外派送或其他库存离仓业务。
- “尾程订单”属于本期已确认的订单管理范围,但不得据此把海外仓出库、派送履约或 `海外派送` 原型模块整体纳入四期。
- 历史文档中把高级 BI、开放平台、移动端或性能优化称为“四期”的内容不再作为当前四期范围依据。
## 功能快速路由
| 业务域 | 本期范围 | 原型入口 |
|---|---|---|
| 海外仓 | 尾程订单、入库单、换标单、托盘管理、箱号管理、产品库、库存管理;Admin 入口 `../../apps/admin-web/src/modules/overseas-warehouse/` | `../悦/货代SAAS平台后台/prototype-src/modules/03-overseas-warehouse.html` |
| 海外业务 | 本土散板、采购订单、本土卡车;Admin 入口 `../../apps/admin-web/src/modules/overseas-business/` | `../悦/货代SAAS平台后台/prototype-src/modules/07-overseas-business.html` |
| 头程仓库主数据 | 在现有仓库类型中增加“海外仓合作仓” | Admin `../../apps/admin-web/src/modules/warehouses/`;Backend `../../baiyue-firstleg/warehouse/` |
| 通用资料 | 海外仓报价、汇率管理、车辆列表;Admin 入口 `../../apps/admin-web/src/modules/overseas-master-data/` | `../悦/货代SAAS平台后台/prototype-src/modules/10-general.html` |
| 国内出仓后船节点 | 对已确认离开国内仓库的订舱/柜次定时查询船节点,保存最新节点和查询历史,并衔接目的港提柜 | Admin `../../apps/admin-web/src/modules/port-schedules/`、`ocean-bookings/` 及货柜详情;Backend `../../baiyue-firstleg/firstleg/src/main/java/com/baiyue/firstleg/portschedule/`、`../../baiyue-firstleg/integration-service/` |
## 原型页面定向索引
原型本地完整入口为 `../悦/货代SAAS平台后台/index.html`。页面任务优先读取下列命中模块和页面 ID,不先加载完整原型。
### 海外仓
- 尾程订单:`last-mile-orders`、`last-mile-order-detail`。
- 入库单:`fba-inbound-order`、`fba-inbound-order-detail`;入库和退货入库相关库存视图按任务联查 `overseas-inbound`、`fba-return-inbound`。
- 换标单:`fba-relabel-order`、`fba-relabel-order-detail`;换标库存视图按任务联查 `overseas-relabel`、`fba-return-relabel`。
- 托盘管理:`fba-pallet`、`fba-pallet-detail`。
- 箱号管理:`fba-carton`、`fba-carton-detail`。
- 产品库:`fba-product`、`fba-product-detail`。
- 库存管理:`fba-stock-management`、`overseas-location`、`inventory-overview`、`warehouse-stock`、`overseas-stock`、`warehouse-stock-detail`、`inventory-transactions`、`purchase-stock`、`purchase-stock-detail`、`fba-return-stock`。
### 海外业务
- 采购订单:`overseas-purchase`、`overseas-purchase-edit`、`overseas-purchase-detail`。
- 本土卡车:`overseas-truck`、`overseas-truck-add`、`overseas-truck-edit`。
- 本土散板:`overseas-looseboard`、`overseas-looseboard-add`、`overseas-looseboard-edit`。
- `domestic-*` 和 `legacy-*` 页面不是四期默认入口;只有实际流程明确复用时才联查。
### 仓库与通用资料
- 海外仓合作仓:优先核对 `gen-partner-warehouse`,并同步核对现有平台仓库类型、接口和初始化 SQL。
- 海外仓报价:`gen-overseas-quote`;涉及车队报价时再联查 `delivery-fleet-quote`。
- 汇率管理:`gen-exchange-rate`。
- 车辆列表与详情:`vehicle`、`vehicle-detail`。
## 明确排除
- 海外仓出库及退货出库:`overseas-outbound`、`fba-outbound-order`、`fba-outbound-order-detail`、`fba-return-outbound`。
- `prototype-src/modules/04-overseas-delivery.html` 中的海外派送、出库派车、自提和其他离仓履约页面。
- 未经后续确认的财务扩展、高级 BI、开放平台、移动端、完整海外 WMS 或四期之后的出库业务。
## 船节点定时查询边界
- 现有 `CarrierScheduleQuery` 查询任务及其查询尝试、历史、来源、过期标识和频率约束整体重新归入四期;不再把它列作三期港务/船期查询能力,也不得另建一套重复任务。
- 定时查询对象必须关联真实订舱、柜次以及可用的船司/船名航次或跟踪标识,不建立脱离业务单据的孤立轮询任务。
- Firstleg `portschedule/` 负责任务编排、业务关联、最新节点、节点历史、幂等和停止条件;`integration-service/` 只负责船司或轨迹供应商适配、限流、超时、重试和错误归一化,不保存业务主数据。
- 查询从确认柜子离开国内仓库后开始,到确认目的港到达并完成海外提柜衔接后停止;失败不能伪造成功节点,需保留来源、观测时间、最近成功时间和失败原因。
- 现有“每 3 天一次、窗口最多 3 次”、六家船公司来源、最近有效结果和过期标识是同一查询能力的既有约束,归四期继续核对;后续若调整自动轮询频率、供应商额度、退避或停止规则,应只修改四期契约和这套任务。
- 当前原型没有独立的“船节点定时查询”页面;涉及页面展示时从订舱、船期或货柜详情进入,不得为了匹配原型菜单把它归入海外派送。
## 系统边界与索引维护
- 海外仓合作仓是现有头程仓库主数据的类型扩展,需同步核对 Admin `warehouses`、Warehouse Service 的 DTO/Controller/OpenAPI/SQL 及实际消费者;不得因此把海外库存业务写入国内 Warehouse Service。
- 海外库存、库内作业和海外本土业务属于海外区域 API/服务边界。当前仓库没有明确实现入口时,以本文件和原型定位产品范围,不把它们临时塞入 `baiyue-firstleg/` 的国内服务。
- 船节点是头程海运在途事实与四期海外接柜之间的衔接能力,业务聚合继续由 Firstleg 持有;到港/可提柜结果通过明确契约或跨区域事件提供给海外区域,不复制第二套轮询任务。
- Admin、Client 仍使用统一账号体系,并按根 `AGENTS.md` 的双区域 API、海外 Token 和跨区域事件约定接入;业务页面不自行实现第二套登录。
- 新增实际代码模块、API、权限、OpenAPI 或数据库入口后,同步更新根 `AGENTS.md`、对应应用/服务 `AGENTS.md` 和本文件;不把排期、完成比例或临时任务状态写入快速索引。
+8
View File
@@ -133,6 +133,14 @@ node tests/verify-prototype-modules.cjs
精确页面 ID 清单以 `prototype-src/manifest.json` 为准,避免在本文件重复 169 个 ID 后产生双份维护。
### 四期原型边界
- 四期已确认范围与页面级索引先读 `../../四期/README.md`;本原型中的完整菜单不自动等于四期开发范围。
- 四期命中 `03-overseas-warehouse.html` 时只进入尾程订单、入库单、换标单、托盘、箱号、产品和库存相关页面;明确跳过 `overseas-outbound`、`fba-outbound-order`、`fba-outbound-order-detail`、`fba-return-outbound`。
- `04-overseas-delivery.html` 的海外派送和库存离仓履约不属于四期;不得因尾程订单已纳入就把该模块一并纳入。
- 四期海外业务读取 `07-overseas-business.html` 的海外采购、本土卡车和本土散板页面;通用资料只按任务读取 `gen-partner-warehouse`、`gen-overseas-quote`、`gen-exchange-rate`、`vehicle`、`vehicle-detail`,车队报价明确涉及时再读 `delivery-fleet-quote`。
- 柜子确认国内出仓后的现有 `CarrierScheduleQuery` 和船节点定时查询整体归四期,当前没有独立原型页面;界面任务按 `../../四期/README.md` 从订舱、船期或货柜详情定位,不得借用 `04-overseas-delivery.html` 作为实现入口。
## 共享文件快速索引
| 文件 | 内容 | 何时读取 |
+5
View File
@@ -23,6 +23,7 @@
| task_id | 展示名称 | 长期职责 |
|---|---|---|
| `01a01490-08e6-7b11-b16f-0085e232d04c` | 财务改造总控 | 冻结财务共享产品契约、状态机、OpenAPI、权限与数据库边界;协调四个财务专项并统一集成共享导航、权限 SQL、跨任务回归和验收结论 |
| `01a018cb-a435-7c61-91ca-4f3e484dca75` | 四期前端页面总控 | 负责四期 Admin 前端页面的统一规划、实现与集成:国内出仓后船节点查询、海外仓尾程订单/入库/换标/托盘/箱号/产品/库存、海外采购/本土卡车/本土散板、海外仓合作仓类型、海外仓报价/汇率/车辆;统一维护四期前端路由、导航、权限、原型还原和回归,不承接海外仓出库业务或后端实现 |
长期独立任务:
@@ -33,3 +34,7 @@
| `01a0149b-9a33-7373-af3a-b7ded4f2cbbb` | `01a01490-08e6-7b11-b16f-0085e232d04c` | 财务专项三:应收付款凭证 | 负责应收结算单付款凭证的上传、查看、校验、确认及其与正式收款记录的关系;上传主体与确认口径由财务总控冻结后实施 |
| `01a0149b-9bae-75d3-867e-f600d862122c` | `01a01490-08e6-7b11-b16f-0085e232d04c` | 财务专项四:应收款统计表 | 负责 CNY 应收款统计接口、指标勾稽、Admin 页面、打印和异步 Excel 导出;减免口径及渠道分类由财务总控冻结后实施 |
| `01a014d1-182e-7df1-90c0-b14463626152` | `01a01490-08e6-7b11-b16f-0085e232d04c` | 财务专项五:Admin供应商选择 | 只负责 Admin 入库费用与柜次费用的供应商选择、类别筛选、表单校验和前端测试;不修改 Finance/Firstleg 后端、共享 SQL、IAM 或 OpenAPI |
| `01a018d1-70cf-7c63-8ade-0bca11970566` | `01a018cb-a435-7c61-91ca-4f3e484dca75` | 四期专项一:海外仓入库与库存 | 负责 Admin 四期海外仓的尾程订单、入库单、换标单、托盘、箱号、产品库和库存管理正式页面、模块内路由片段、模块内前端契约与测试;明确排除海外仓出库、退货出库、海外派送和其他库存离仓业务,不修改共享导航、根路由或全局权限装配 |
| `01a018d1-7277-7230-8bd6-2cd5e92c078e` | `01a018cb-a435-7c61-91ca-4f3e484dca75` | 四期专项二:海外业务 | 负责 Admin 四期海外采购订单、本土卡车和本土散板正式页面、模块内路由片段、模块内前端契约与测试;不扩展海外派送,不修改共享导航、根路由或全局权限装配 |
| `01a018d1-7437-7432-867d-abf33b2d66aa` | `01a018cb-a435-7c61-91ca-4f3e484dca75` | 四期专项三:通用资料与合作仓 | 负责 Admin 四期海外仓合作仓类型、海外仓报价、汇率管理和车辆列表/详情正式页面及模块内契约与测试;仓库类型只扩展现有仓库主数据,不把海外库存写入国内 Warehouse 领域,不修改共享导航、根路由或全局权限装配 |
| `01a018d1-75cc-78a2-b026-27c69bdcc7ca` | `01a018cb-a435-7c61-91ca-4f3e484dca75` | 四期专项四:船节点前端承载 | 负责 Admin 现有订舱、船期和货柜详情中“确认国内出仓后至目的港到达”的 CarrierScheduleQuery 展示、历史、来源、时间和失败态前端承载及测试;不新建重复轮询任务、不归入海外派送,不修改共享导航、根路由或全局权限装配 |
+2
View File
@@ -44,6 +44,8 @@ Finance 全链路测试环境实跑报告为 `baiyue-firstleg/reports/finance-fu
详细设计材料:
- [财务业务操作流程图](财务全链路流程图.md)
- [财务业务全流程总览图(PNG)](财务业务全流程总览图.png)
- [财务来源接入现状](财务来源接入现状.md)
- [财务领域模型与数据字典](财务领域模型与数据字典.md)
- [Firstleg-Finance跨服务契约](Firstleg-Finance跨服务契约.md)
Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

+235
View File
@@ -0,0 +1,235 @@
# 财务业务操作流程图
> 版本:V2.0
> 更新日期:2026-08-19
> 阅读对象:业务、财务、产品和测试人员
![财务业务全流程总览](财务业务全流程总览图.png)
## 一、一眼看懂整个流程
```mermaid
flowchart LR
A[头程费用录入<br/>按入库单] --> C[客户应收应付<br/>财务复核费用]
B[柜子费用录入<br/>按柜次] --> C
C -->|应收费用| D[客户对账单]
C -->|应付费用| H[结算单应付]
D --> E[平台审核并出账]
E --> F[客户查看并确认]
E --> G[结算单应收]
G --> I[后台登记收款<br/>上传收款凭证]
H --> J[后台登记付款<br/>上传付款凭证]
I --> K[部分收款或全部收清]
J --> L[部分付款或全部付清]
K --> M[客户账户汇总]
K --> N[应收款统计表]
L --> M
```
业务人员只需要记住:
1. 费用先在“头程费用”或“柜子费用”中录入并审核。
2. 审核通过的费用自动进入“客户应收应付”,不再勾选“是否结算”。
3. 财务在“客户应收应付”再次复核:应收生成客户对账单,应付生成应付结算单。
4. 对账单出账后,客户可以在线确认;同时后台可以生成应收结算单并登记收款。
5. 收付款后,结算单和统计表自动更新已收、已付和未结余额。
## 二、头程费用录入流程
入口:入库单详情中的“费用明细”。费用分为系统自动计费和人工录入两种。
```mermaid
flowchart LR
A[打开入库单费用明细] --> B{费用来源}
B -->|系统自动计费| C[系统生成费用<br/>只查看,不提供人工编辑按钮]
B -->|人工录入| D[点击“新增费用”]
D --> E[保存后:待审核]
E --> F{可执行操作}
F -->|编辑| E
F -->|删除| X[费用删除,不进入财务]
F -->|审核| G[已审核并自动进入财务]
F -->|驳回| H[已驳回]
G -->|调整| I[生成新版本,重新待审核]
I --> E
G -->|作废| J[已作废,并同步撤销未结算来源]
```
| 当前状态 | 页面按钮 | 点击后的结果 |
|---|---|---|
| 系统自动计费 | 查看 | 系统生成并发布,人工不能修改 |
| 待审核 | 编辑、审核、驳回、更多→删除 | 编辑后仍待审核;审核后进入财务;驳回后停止流转;删除后不再保留 |
| 已审核 | 调整、作废 | 调整后产生新版本并重新待审核;作废后同步撤销未结算费用 |
| 已驳回 | 当前页面无继续操作按钮 | 暂停流转;如业务希望“驳回后修改再审”,当前页面还需要补按钮 |
| 已作废 | 无业务按钮 | 流程结束,历史仍可查询 |
应付费用在保存和审核时必须选择有效供应商;应收费用归属当前客户。
## 三、柜子费用录入流程
入口:柜次或装柜单详情中的“柜次费用”。
```mermaid
flowchart LR
A[打开柜次费用] --> B[点击“新增费用”]
B --> C[选择应收或应付<br/>填写费用项目、金额和日期]
C --> D[保存后:待审核]
D --> E{审核操作}
E -->|通过| F[已通过并自动进入财务]
E -->|驳回| G[已驳回]
F -->|调整| H[修改日期或金额<br/>重新待审核]
H --> D
F -->|作废| I[已作废并同步财务]
```
| 当前状态 | 页面按钮 | 点击后的结果 |
|---|---|---|
| 待审核 | 通过、驳回 | 通过后进入财务;驳回后停止流转 |
| 已通过且有效 | 调整、作废 | 调整后重新待审核;作废后同步撤销财务费用 |
| 已驳回 | 当前页面无继续操作按钮 | 暂停流转 |
| 已作废 | 无业务按钮 | 流程结束,历史仍可查询 |
柜次费用调整目前只允许修改业务日期和金额;方向、费用项目或供应商要变更时,应先作废再新增。
## 四、客户应收应付:财务复核流程
头程和柜子费用审核通过后,会自动出现在“财务管理 → 客户应收应付”。这里是财务人员的费用池,不是再次手工录入费用。
```mermaid
flowchart LR
A[业务费用进入财务<br/>状态:草稿] --> B[编辑]
B --> C[提交审核]
C --> D[待审核]
D -->|审核通过| E[审核通过,可生成单据]
D -->|审核驳回| F[已驳回]
F -->|编辑并提交| C
E -->|调整| A
E -->|作废| X[已作废]
E -->|应收| G[按截止日期或勾选<br/>生成对账单草稿]
E -->|应付| H[按同一供应商勾选<br/>生成应付结算单]
```
| 当前状态 | 行内按钮 | 下一步 |
|---|---|---|
| 草稿 | 详情、编辑、提交审核、作废 | 提交后变成待审核 |
| 待审核 | 详情、审核、作废 | 审核窗口选择“通过”或“驳回” |
| 已驳回 | 详情、编辑、提交审核、作废 | 修改后可再次提交 |
| 审核通过且未生成单据 | 详情、调整、作废 | 应收可生成对账单;应付可生成应付结算单 |
| 已生成单据 | 详情 | 金额被冻结,不能再编辑或重复生成 |
| 已作废 | 详情 | 不参与后续对账和结算 |
页面顶部还有两个应收操作:
- “按截止日期生成”:汇总该客户、该期间内所有符合条件且未出账的应收费用。
- “按勾选生成”:只汇总当前勾选的应收费用;底部实时显示已选笔数和应收合计。
## 五、客户对账单与客户确认
```mermaid
flowchart LR
A[生成对账单<br/>草稿] -->|提交| B[待审核]
B -->|通过| C[审核通过]
B -->|驳回| D[审核拒绝]
D -->|重开| A
C -->|出账| E[已出账]
E --> F[客户侧显示“待确认”]
F -->|客户点击“确认账单”| G[客户已确认]
E -->|后台点击“调整”| H[修改金额并保留记录]
H --> F
A -->|作废| X[已作废]
B -->|作废| X
C -->|作废| X
E -->|作废| X
X -->|重开| A
```
| 对账单状态 | 后台按钮 | 说明 |
|---|---|---|
| 草稿 | 详情、提交、作废 | 提交后等待财务审核 |
| 待审核 | 详情、通过、驳回、作废 | 通过后才允许出账 |
| 审核通过 | 详情、出账、作废 | 出账后客户才能看到待确认状态 |
| 已出账 | 详情、调整、作废 | 可生成应收结算单;调整后客户需重新确认 |
| 审核拒绝 | 详情、重开 | 重开后回到草稿 |
| 已作废 | 详情、重开 | 重开后重新走审核流程 |
客户侧只有一个写操作:对账单为“待确认”时显示“确认账单”。确认后记录确认人和确认时间;客户不能修改金额、登记收款或上传凭证。
## 六、结算单应收
```mermaid
flowchart LR
A[选择已出账对账单] -->|生成应收结算单| B[待收款]
B -->|收款并上传凭证| C{是否全部收清}
C -->|否| D[部分收款]
D -->|继续收款并上传凭证| C
C -->|是| E[已收清]
B -->|作废| F[已作废]
F -->|重开| B
```
| 当前状态 | 页面按钮 | 下一步 |
|---|---|---|
| 待收款 | 详情、收款、作废 | 登记收款时填写日期、金额、方式、流水号并上传凭证 |
| 部分收款 | 详情、收款 | 可继续多次收款,直到余额为零 |
| 已收清 | 详情 | 流程完成,不再显示收款按钮 |
| 已作废 | 详情、重开 | 重开后恢复待收款 |
列表和详情都会汇总“应收金额、已收金额、未收余额”;每次收款后自动更新。
## 七、结算单应付
```mermaid
flowchart LR
A[选择同一客户、同一供应商的<br/>已审核应付费用] -->|生成应付结算单| B[待付款]
B -->|付款并上传凭证| C{是否全部付清}
C -->|否| D[部分付款]
D -->|继续付款并上传凭证| C
C -->|是| E[已付清]
B -->|作废| F[已作废]
F -->|重开| B
```
| 当前状态 | 页面按钮 | 下一步 |
|---|---|---|
| 待付款 | 详情、付款、作废 | 登记付款时填写日期、金额、方式、流水号并上传付款凭证 |
| 部分付款 | 详情、付款 | 可继续多次付款,直到余额为零 |
| 已付清 | 详情 | 流程完成,不再显示付款按钮 |
| 已作废 | 详情、重开 | 重开后恢复待付款 |
同一张应付结算单只能包含同一供应商的费用,不能跨供应商付款,也不能超过剩余应付金额。
## 八、金额怎么汇总
```mermaid
flowchart TB
A[每一笔头程或柜次费用] --> B[客户应收应付费用池]
B -->|按客户 + 期间汇总应收| C[客户对账单总金额]
B -->|按客户 + 供应商汇总应付| D[应付结算单总金额]
C --> E[应收结算单]
E --> F[应收金额 - 已收金额 = 未收余额]
D --> G[应付金额 - 已付金额 = 未付余额]
F --> H[客户账户:往来总览]
G --> H
F --> I[应收款统计表<br/>按月份 + 客户汇总]
```
| 汇总页面 | 汇总方式 | 展示结果 |
|---|---|---|
| 客户应收应付 | 按筛选条件展示费用明细;勾选应收时实时合计 | 已选笔数、已选应收金额 |
| 客户对账单 | 按客户和业务期间汇总入选应收费用 | 总应收、已收、未收、费用明细数 |
| 结算单应收 | 汇总当前筛选结果和每张结算单 | 应收总额、已收、待收;单据内显示未收余额 |
| 结算单应付 | 汇总当前筛选结果和每张结算单 | 应付总额、已付、待付;单据内显示未付余额 |
| 客户账户 | 从费用、账单和收付款记录派生 | 客户整体往来情况,不是充值钱包 |
| 应收款统计表 | 按结算单生成月份和客户汇总正式应收 | 应收总额、已收合计、余额未收;支持打印和 Excel |
## 九、当前需要特别注意的页面现状
- 头程费用和柜次费用的“已驳回”状态目前没有返工按钮;业务若要求驳回后修改再提交,需要补齐页面操作。
- 结算单应收、应付当前是“生成后直接待收/待付”,页面没有独立的提交审核、审核通过按钮。
- 客户确认和收款是两条并行流程:客户尚未确认时,后台仍可按已出账对账单生成应收结算单。
- 所有费用都会结算,不再显示“是否结算”;作废、调整和已生成单据的冻结规则负责控制是否继续流转。
- 当前只处理人民币,不包含零头减免、外币折算、预收、多收或退款。