diff --git a/海外仓业务/README.md b/海外仓业务/README.md index b0f73aa..2069b77 100644 --- a/海外仓业务/README.md +++ b/海外仓业务/README.md @@ -80,6 +80,9 @@ - 海外库存、库内作业和海外本土业务已有明确服务入口:`gateway-overseas/` 是海外 API 网关,`lastleg-service/` 拥有尾程订单、入仓计划、换标、库存业务、采购和本土卡车;国内 `warehouse-service` 是仓库主数据唯一权威,`warehouse-overseas-service/` 只拥有库位、托盘及资源锁并引用国内 `warehouseId`。不得把海外库存业务塞入国内 `firstleg/` 或 `warehouse/`。 - 国内装柜完成事件只在海外生成 `PENDING_ASSIGNMENT` 尾程订单、冻结快照和 `FIRST_LEG` 在途库存,不自动生成入仓计划。平台通过 `GET /api/platform/v1/last-leg/orders/container-summaries` 按稳定 `sourceContainerBookingId` 服务端聚合全柜订单、入仓码、计划数、未操作数和 `allPlansReady`,在分页前排除全部入仓码均已生成有效独立计划的柜,仅返回仍有入仓码待生成计划的柜;详情 `/{sourceContainerBookingId}` 返回柜内全部订单与计划且不受订单分页截断。`plannedArrivalAt` 只来自装柜完成事件 `estimatedWarehouseArrivalAt` 冻结到 Lastleg `ll_order.estimated_warehouse_at` 的计划到仓事实,不得使用创建时间、预计到港或当前时间替代,并按该时间升序、空值最后排序。确认后调用 `POST /api/platform/v1/last-leg/inbound-plans/convert-container`;服务端一次锁定整柜、每票独立生成一个计划,整批原子且幂等。转换成功才将尾程订单推进为 `INBOUND_PLANNED`,并把库存余额的来源入仓码展示快照替换为各自 `planNo`。 - 尾程订单的 `inboundCode` 只保存并展示真实来源入仓码;换标申请、本土散板等没有入仓关系的海外本土业务保持为空,由页面显示 `—`,不得用换标单号、本土散板单号或内部 ID 冒充入仓码。 +- 平台可按单票尾程订单填写完整入库计划(入库仓、预计到仓日期、入仓码、托数、托盘类型、分配/合托/加急和备注),写入时校验订单版本、客户归属、仓库主档和幂等键;暂扣也只作用于该票,暂扣期间该票不得进入排车或出库计划,同柜其他订单不受影响。 +- 尾程订单人工节点固定为国内报关完成、预计/实际开船、预计到港、国外清关完成、实际到港等待卸船、预约提柜和卸柜八行完整快照。第一次保存后该订单永久使用 `MANUAL` 来源,读取和页面展示不得再回退柜级节点,也不得反向修改货柜船节点。 +- 目的港码头拖车归 Firstleg 货柜聚合:平台从 Warehouse `ACTIVE + TRUCKING` 供应商中选择车队,依次记录预约提柜、实际提柜和实际还柜;实际提柜/还柜同时复用标准船节点服务写入 `PICKED_UP`/`EMPTY_RETURNED`。海外卸柜完成后由服务端以 `unloadingCompletedAt + 72h` 计算还柜截止时间和超时天/小时,Admin 只展示服务端预警,不在浏览器重复计算。 - 船节点是头程海运在途事实与海外接柜之间的衔接能力,业务聚合继续由 Firstleg 持有;到港/可提柜结果通过明确契约或跨区域事件提供给海外区域,不复制第二套轮询任务。 - Admin、Client 仍使用统一账号体系,并按根 `AGENTS.md` 的双区域 API、海外 Token 和跨区域事件约定接入;业务页面不自行实现第二套登录。 - 海外仓 PDA 使用独立 `apps/pda-overseas-uniapp/` 工程和发布身份,但账号仍由国内 Auth 唯一签发;真实作业请求必须经海外 Gateway 的显式 PDA 路由。工作台只展示已注册并启用的现场作业,其他业务通过 Admin/Client 完成,不以某个终端是否承载全部操作判断端到端流程是否完成。 diff --git a/独立任务协作登记.md b/独立任务协作登记.md index 25918bd..9d2a382 100644 --- a/独立任务协作登记.md +++ b/独立任务协作登记.md @@ -30,13 +30,36 @@ | task_id | project_id | 展示名称 | 长期职责 | |---|---|---|---| -| `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 【测试总控】海外接柜仓 | 冻结客户默认洛杉矶接柜仓、整柜级修改、状态锁定和跨端展示契约,协调本表四个专项完成实现与本地门禁;不部署、不执行真实 HTTP 写请求或测试数据库写入。 | +| `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 测试环境全流程总控 | 接收测试环境端到端全流程问题,冻结当前验收节点与跨端契约,协调已登记专项完成源码修复、定向测试和构建;数据库、真实 HTTP 写请求、Jenkins 与部署仍须用户当前轮明确授权。 | +| `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外接柜仓总控 | 冻结客户默认洛杉矶接柜仓、整柜级修改、状态锁定和跨端展示契约,协调本表四个专项完成实现与本地门禁;不部署、不执行真实 HTTP 写请求或测试数据库写入。 | 长期专项: | task_id | parent_task_id | project_id | 展示名称 | 唯一长期职责 | |---|---|---|---|---| -| `01a07a84-b3cb-7511-934a-72074fa29c22` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 【测试专项】海外接柜后端 | `baiyue-firstleg/lastleg-service/` 海外接柜仓默认分配、整柜原子修改、状态锁定、PDA 服务端校验、OpenAPI、模块 SQL 与测试;不修改其他服务或前端。 | -| `01a07a84-b5f8-7f12-801e-8f62465173e7` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 【测试专项】海外接柜Admin | `apps/admin-web/` 海外整柜接柜仓展示、柜级修改交互、API 适配、权限消费、测试与构建;不修改 Client、PDA、后端或 SQL。 | -| `01a07a84-b7e8-7e51-95df-e548a79a72b9` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 【测试专项】海外接柜Client | `apps/client-web/` 客户订单中海外接柜仓只读展示、API/types、权限与客户隔离、测试与构建;不修改 Admin、PDA、后端或 SQL。 | -| `01a07a84-b9f6-7d43-8c77-ec34d1a108f5` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 【测试专项】海外接柜PDA | `apps/pda-overseas-uniapp/` 海外接柜仓展示、已分配仓校验、错误态、恢复、测试与构建;不修改 Admin、Client、后端或 SQL。 | +| `01a07bb1-7a75-7933-b67f-75bcbafd7491` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外出库后端 | `baiyue-firstleg/lastleg-service/` 海外仓出库后端:出库单创建、列表、详情、取消,与排车转派送、PDA 拣货、出库及发车门禁相关的服务端实现、OpenAPI、模块 SQL 和测试;不修改前端、其他服务或统一 SQL,跨域契约由所属总控协调。 | +| `01a07a84-b3cb-7511-934a-72074fa29c22` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外接柜后端 | `baiyue-firstleg/lastleg-service/` 海外接柜仓默认分配、整柜原子修改、状态锁定、PDA 服务端校验、OpenAPI、模块 SQL 与测试;不修改其他服务或前端。 | +| `01a07a84-b5f8-7f12-801e-8f62465173e7` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外接柜Admin前端 | `apps/admin-web/` 海外整柜接柜仓展示、柜级修改交互、API 适配、权限消费、测试与构建;不修改 Client、PDA、后端或 SQL。 | +| `01a07a84-b7e8-7e51-95df-e548a79a72b9` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外接柜Client前端 | `apps/client-web/` 客户订单中海外接柜仓只读展示、API/types、权限与客户隔离、测试与构建;不修改 Admin、PDA、后端或 SQL。 | +| `01a07a84-b9f6-7d43-8c77-ec34d1a108f5` | `01a046ea-cfc4-73a1-85f0-c69c714bff22` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外接柜PDA前端 | `apps/pda-overseas-uniapp/` 海外接柜仓展示、已分配仓校验、错误态、恢复、测试与构建;不修改 Admin、Client、后端或 SQL。 | +| `01a06549-e9e0-7ea1-a83c-bb97010e2400` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | Admin全局前端 | `apps/admin-web/` 除尾程订单与入仓计划、海外接柜仓之外的平台管理页面、路由、API、权限消费、测试与构建;不修改 Client、PDA、后端或 SQL。 | +| `01a0426d-2b01-7062-bc72-398c9060c7a3` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | Admin尾程入仓前端 | `apps/admin-web/src/modules/overseas-warehouse/` 的尾程订单、柜级摘要、入仓计划、FBA 预约及其 API、类型、测试与构建;海外接柜仓仍由登记专项负责,不修改其他前端、后端或 SQL。 | +| `01a066b3-218b-7952-b8b7-311af4b44aed` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | Client全流程前端 | `apps/client-web/` 全部客户工作台页面、路由、API、权限消费、测试与构建;海外接柜仓只读展示仍由登记专项负责,不修改 Admin、PDA、后端或 SQL。 | +| `01a041ba-52d5-71f1-b8f5-c5ff0f5166bb` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 国内PDA前端 | `apps/pda-uniapp/` 全部国内现场作业、扫码、恢复、真实 API 适配、测试与构建;不修改海外 PDA、Admin、Client、后端或 SQL。 | +| `01a03382-e812-7ea2-a992-cea04650efaf` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外PDA前端 | `apps/pda-overseas-uniapp/` 除海外接柜仓展示与已分配仓校验之外的海外现场作业、扫码、恢复、真实 API 适配、测试与构建;不修改其他前端、后端或 SQL。 | +| `01a046ea-d2c0-78e1-8c05-a3462fe67ead` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 认证权限审计后端 | `baiyue-firstleg/auth/`、`iam/`、`audit-service/` 及必要 `common-security/` 的账号、授权快照、RBAC、通知与审计接口、OpenAPI、模块 SQL 和测试;不修改业务服务、前端或统一 SQL。 | +| `01a046ea-d4ea-7ad0-8819-b6b3266b5252` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | Order订单域后端 | `baiyue-firstleg/order/` 的订单主数据、批量导入、统一订单聚合、状态动作、内部 DTO、OpenAPI、模块 SQL 和测试;不修改 Firstleg、IAM、前端或统一 SQL。 | +| `01a046ea-d6c2-7bd0-9955-967a2ac34a67` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 国内仓储主数据后端 | `baiyue-firstleg/warehouse/` 的仓库主档、供应商、国内整柜、库位、托盘、资源预留、OpenAPI、模块 SQL 和测试;不修改海外资源服务、前端或统一 SQL。 | +| `01a04124-c8fe-7f52-99d9-c1d6e28b70cd` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 头程入库测量后端 | `baiyue-firstleg/firstleg/` 的入库、箱码箱唛、称重测量、库位占用、测量审核与扣货基础门禁、模块 OpenAPI/SQL 和测试;不修改计价、装柜、Order、前端或统一 SQL。 | +| `01a046ea-d88d-79e0-8e52-ec3b58592e6a` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 头程价格费用后端 | `baiyue-firstleg/firstleg/` 的尺寸策略、FBA 报价、计价、费用确认和申报渠道变更计价校验、模块 OpenAPI/SQL 与测试;不修改 Finance 主账、装柜、前端或统一 SQL。 | +| `01a04148-6f68-7393-868d-c095d0e92026` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 装柜主链路后端 | `baiyue-firstleg/firstleg/` 的分柜、同柜不可拆组、智能排柜、预装计划、柜次、装柜历史与服务端门禁、模块 OpenAPI/SQL 和测试;不修改 PDA 适配、柜运报关、前端或统一 SQL。 | +| `01a06a6d-66f5-77f1-a0ab-f0383a2d5b7e` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 装柜PDA后端 | `baiyue-firstleg/firstleg/` 的国内 PDA 拣货、装柜证据、任务启动完成、幂等上传与资源结算服务端实现、模块 OpenAPI/SQL 和测试;不修改装柜编排、前端或统一 SQL。 | +| `01a046ea-da69-72c0-af09-8d38fefadf4f` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 头程柜运报关后端 | `baiyue-firstleg/firstleg/` 的订舱、放舱、拖车、整柜报关、国内出仓及相关文件引用、模块 OpenAPI/SQL 和测试;不修改船节点集成、装柜编排、前端或统一 SQL。 | +| `01a01e56-c30b-7513-be9e-03262a387696` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 船节点集成后端 | `baiyue-firstleg/firstleg/portschedule/`、`integration-service/` 的船司查询、标准节点、异常与查询历史及其接口、事件、模块 SQL 和测试;公共跨区网关与事件基础设施由对应专项负责。 | +| `01a046ea-dc58-7393-bac9-8d2ef218bfb6` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 文件打印后端 | `baiyue-firstleg/file/`、`print/` 的文件类别、上传下载、业务归属、模板与打印接口、OpenAPI、模块 SQL 和测试;业务状态与文件可见性由所属业务专项负责,不修改前端或统一 SQL。 | +| `01a0426d-2d39-7d20-bfe0-e1bf084e3343` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 尾程计划后端 | `baiyue-firstleg/lastleg-service/` 的尾程订单、柜级摘要、入仓计划转换、计划查询和 FBA 预约后端实现、OpenAPI、模块 SQL 与测试;海外接柜仓校验和出库后端仍由现有登记专项负责。 | +| `01a03d00-fab2-76d3-a96c-b689bac67a40` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外PDA收货入库后端 | `baiyue-firstleg/lastleg-service/` 的海外 PDA 柜号认领、拆柜照片、扫码实收、托盘绑定、完成入库、库存入账编排及卸柜完成事件、OpenAPI、模块 SQL、权限和测试;入仓计划生成归尾程计划,接柜仓分配归海外接柜,库位托盘资源能力归海外资源专项,不修改前端或统一 SQL。 | +| `01a01e56-bc99-7170-a180-7b6e9f25fc9a` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外资源与本土业务后端 | `baiyue-firstleg/warehouse-overseas-service/` 及 `lastleg-service/` 的库存、库位、托盘、换标、转运、废弃、退货、采购、本土卡车、本土散板和海外主数据接口、OpenAPI、模块 SQL 与测试;不修改接柜、出库、派送专项或前端。 | +| `01a05720-1940-7fd2-96b7-38a4a51f98b9` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | Finance财务后端 | `baiyue-firstleg/finance/` 的客户资金账户、费用池、应收应付、账单、收付款、核销、凭证代理、国内外费用来源、OpenAPI、模块 SQL 和测试;不修改上游业务状态机、前端或统一 SQL。 | +| `01a07be1-f0ab-7ec1-9dba-7d0adef3ca9e` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 海外派送与客户服务后端 | `baiyue-firstleg/lastleg-service/` 的派送、一件代发、异常退回和客户回访接口、OpenAPI、模块 SQL、权限强制与测试;不修改接柜、入仓计划、海外资源、本土业务、出库排车、前端或统一 SQL。 | +| `01a07be1-f533-7fb1-9bee-6a6ff779a5d8` | `01a05b10-a5fc-7d51-8203-c671f3a823ad` | `c64729ff-6710-43c6-8ef2-d84e9666cc1e` | 跨区域网关与事件后端 | `baiyue-firstleg/gateway-overseas/`、`event-bridge-service/`、`common-event-contract/` 的跨区域认证投影、服务身份、Outbox/Inbox、公共事件契约、模块 SQL 和测试;不修改船司业务转换、业务服务私有状态机、前端或统一 SQL。 |