diff --git a/国内货柜履约/货柜管理全链验收矩阵-2026-08-13.md b/国内货柜履约/货柜管理全链验收矩阵-2026-08-13.md index fb6a309..edcd568 100644 --- a/国内货柜履约/货柜管理全链验收矩阵-2026-08-13.md +++ b/国内货柜履约/货柜管理全链验收矩阵-2026-08-13.md @@ -28,7 +28,7 @@ | CT-D07 | 装柜清单进行中/已完成 | CT-D04 | 装载明细、数量、状态与预装来源一致 | 装柜清单列表/详情可点击 | 待契约 | | CT-D08 | PDA 领取、拣货、复核、异常摘要 | CT-D04 | overview 分别返回 `taskStatus`、`workflowStatus`、任务 ID、版本、计数、`photoCounts`、`photos`、`downloadPath` 和异常原因;逐照片代理下载成功 | PDA 可完成主流程;Admin 入口待回传 | 服务端已冻结;人工入口待定 | | CT-D09 | 报关/清关资料及有效回执 | CT-D06 | 目的港清关走货柜 `/clearance`;出口报关走 loading-list `/customs`;分别验证上传、完成和完成后替换锁定 | 报关协同入口待回传 | 服务端已冻结;人工入口待定 | -| CT-D10 | DO/PU 未齐、部分完成、全部完成 | 柜次与运输协同已建立 | `DELIVERY_ORDER`、`PICKUP_ORDER` 可独立查询、上传和鉴权下载,版本与幂等有效 | 柜次详情入口待回传 | 服务端已冻结;人工入口待定 | +| CT-D10 | DO 附件与 PU 码未填、部分完成、全部完成 | 柜次与运输协同已建立 | `DELIVERY_ORDER` 可独立查询、上传和鉴权下载;PU 资料通过 `/pickup-code` 保存 1–64 位数字字符串并保留前导零,均使用版本校验 | 货柜详情在“报关清关信息”一级区块内直接展示 DO 附件与 PU 码输入 | 已按最新确认收敛;待人工截图确认 | | CT-D11 | 正常、异常、取消异常 | 任意有效柜次及显式货柜版本 | 标记/取消使用版本和必填原因;overview 保留 `MARK`/`CANCEL` 全部历史 | 货柜详情入口待回传 | 服务端已冻结;人工入口待定 | | CT-D12 | 多节点运输轨迹与操作日志 | CT-D10 | overview 时间线含运输更新、异常和 PDA 事件,按发生时间升序 | 详情时间线入口待回传 | 服务端聚合已冻结;人工入口待定 | | CT-D13 | PDA 确认装柜并推进 `LOADED` | inbound `LOADING`、bridge、订舱 `RELEASED`、PDA 全拣和五类 ACTIVE 证据齐备;拖车允许缺失、未完成或存在多条 | PDA `complete` 的主事务不以拖车数量/状态为阻断;提交后才在独立事务 best-effort 同步唯一同柜有效拖车。零条直接跳过,一条可推进 `COMPLETED`,多条或拖车并发只隔离记录同步失败,task/plan/inbound 仍保持 `LOADED` | 订单/柜次详情显示完成且编辑锁定;拖车同步失败单独呈现 | `LANDED_STATIC`:OpenAPI、Service、提交后同步隔离与结算版本回归已冻结;待部署后 HTTP 复核 | @@ -131,16 +131,16 @@ | `container-overview` | `GET /api/platform/v1/containers/{id}/overview`;聚合 container、loadingPlanId、PDA 摘要、documents、exception/history、timeline | `platform:firstleg:container:list`;旧 `container:view` 已移除 | 已冻结 | | `pda-progress-exception-summary` | PDA `taskStatus/workflowStatus`、任务 ID/版本、明细计数、`photoCounts`、`photos`(含 fileId/status/downloadPath)及异常原因;照片下载为 `GET /api/platform/v1/containers/{id}/pda/photos/{fileId}/download` | 随 overview 查看权限;下载复核柜次、计划、入库单与文件归属 | 已冻结 | | `container-abnormal-history` | `POST/DELETE /api/platform/v1/containers/{id}/exception`;请求使用 overview 返回的 container.version、必填原因和幂等键 | `platform:firstleg:container:edit`;版本冲突 fail-closed | 已冻结 | -| `container-documents` | 通用查询、multipart 上传和受控文件下载仅支持 DO/PU;下载透传已校验 Content-Type,非法类型回退 `application/octet-stream`,并返回 UTF-8 文件名、`no-store` 和内容长度 | 查询/下载用 `platform:firstleg:container:list`,上传用 `platform:firstleg:container:edit`;旧 `container:view` 已移除;下载校验柜次、类型、文件 ID 及文件服务 tenant/business 归属 | 已冻结 | -| `do-pu` | `DELIVERY_ORDER`、`PICKUP_ORDER` 通用查询/上传/下载 | 同 `container-documents` | 已冻结 | +| `container-documents` | 通用查询、multipart 上传和受控文件下载仅支持 DO;下载透传已校验 Content-Type,非法类型回退 `application/octet-stream`,并返回 UTF-8 文件名、`no-store` 和内容长度 | 查询/下载用 `platform:firstleg:container:list`,上传用 `platform:firstleg:container:edit`;旧 `container:view` 已移除;下载校验柜次、类型、文件 ID 及文件服务 tenant/business 归属 | 已冻结 | +| `do-pu` | `DELIVERY_ORDER` 使用通用附件查询/上传/下载;PU 资料使用 `PUT /api/platform/v1/containers/{id}/pickup-code` 保存数字码 | `platform:firstleg:container:edit`;两者均使用服务端版本校验 | 已冻结 | | `transport-trajectory-log` | overview timeline 的事件类型、详情、操作者、发生时间;服务端升序 | 随 overview 查看权限 | 已冻结 | ### 最终安全分流 -1. overview 与通用 documents 只覆盖 `DELIVERY_ORDER`、`PICKUP_ORDER`,不得向通用路径传清关或报关类型。 +1. overview 的 documents 与通用文件接口只覆盖 `DELIVERY_ORDER`;PU 数字码位于 overview.container,不得向通用文件路径传 PU、清关或报关类型。 2. 目的港清关使用 `/api/platform/v1/containers/{id}/clearance` 及其专用上传、完成动作,权限为 `platform:firstleg:customs:manage`。 3. 出口报关使用 `/api/platform/v1/first-leg/loading-lists/{planId}/customs` 及其专用上传、完成动作;查询使用 `platform:firstleg:loading-list:list`,旧 `loading-list:view` 已移除,写入使用 `platform:firstleg:customs:manage`。 -4. 清关和出口报关分别验证完成态禁止替换,不能用 DO/PU 通用上传替代。 +4. 清关和出口报关分别验证完成态禁止替换,不能用 DO 通用上传或 PU 码入口替代。 5. 下载允许透传经校验的 Content-Type,非法值回退二进制类型;同时必须保留 UTF-8 文件名、`no-store`、内容长度及资源归属复核。 ## 自动化落地门禁 diff --git a/悦/货代SAAS平台后台/index.html b/悦/货代SAAS平台后台/index.html index 6dedae1..fe353f1 100644 --- a/悦/货代SAAS平台后台/index.html +++ b/悦/货代SAAS平台后台/index.html @@ -5,58 +5,9 @@ 货代SaaS平台 - 虫虫出海 - - - + + + @@ -2301,80 +1302,80 @@ body.dashboard-fullscreen .stat-card,body.dashboard-fullscreen .chart-card,body.