feat: complete overseas customer and PDA workflows
This commit is contained in:
@@ -130,7 +130,7 @@ Assert-NotContains $testTaskRegistry '01a05b10-a5fc-7d51-8203-c671f3a823ad' '测
|
||||
Assert-NotContains $testTaskRegistry '6f874ec3-d3b2-49bd-8625-327f4d685f98' '测试登记开发 projectId'
|
||||
Assert-Contains $devTaskRegistry 'projectId `6f874ec3-d3b2-49bd-8625-327f4d685f98`' '开发登记保存项目'
|
||||
Assert-Contains $devTaskRegistry 'C:\Users\BY-OY\Desktop\code\chongchong-global-dev`' '开发登记工作目录'
|
||||
Assert-Contains $devTaskRegistry '`01a05b10-a5fc-7d51-8203-c671f3a823ad`' '开发环境五期总控'
|
||||
Assert-Contains $devTaskRegistry '`01a05b10-a5fc-7d51-8203-c671f3a823ad`' '开发环境全流程总控'
|
||||
Assert-NotContains $devTaskRegistry '01a0194a-259c-7171-8967-074731a27618' '开发登记测试总控'
|
||||
Assert-NotContains $devTaskRegistry 'c64729ff-6710-43c6-8ef2-d84e9666cc1e' '开发登记测试 projectId'
|
||||
$testTaskIds = @([regex]::Matches($testTaskRegistry, '(?m)^\|\s*`([0-9a-f-]{36})`\s*\|') | ForEach-Object { $_.Groups[1].Value })
|
||||
@@ -363,18 +363,23 @@ foreach ($pdaApplication in $pdaApplications) {
|
||||
}
|
||||
}
|
||||
|
||||
# 海外 PDA 当前开放真实拆柜收货与托盘管理;其余后端虽已存在,前端接入前必须保持禁用。
|
||||
# 海外 PDA 已开放拆柜收货、库内、换标和现场查询真实作业。
|
||||
$overseasWorkbenchPath = Join-Path $workspaceRoot 'apps/pda-overseas-uniapp/src/data/overseas-workbench.js'
|
||||
$overseasWorkbench = Read-RequiredText $overseasWorkbenchPath
|
||||
Assert-Matches $overseasWorkbench "(?s)name:\s*'拆柜收货'.{0,300}?available:\s*true" 'Overseas PDA 拆柜收货开关'
|
||||
Assert-Matches $overseasWorkbench "(?s)name:\s*'托盘管理'.{0,300}?available:\s*true.{0,200}?route:\s*'/pages/pallet/pallet'" 'Overseas PDA 托盘管理开关'
|
||||
foreach ($disabledOperation in @(
|
||||
'库存盘点', '商品移库',
|
||||
'换标收货', '换标执行', '换标复核',
|
||||
'库存查询', '库位查询', '托盘查询'
|
||||
foreach ($enabledOperation in @(
|
||||
@{ Name = '库存盘点'; Route = '/pages/stocktake/stocktake' },
|
||||
@{ Name = '商品移库'; Route = '/pages/move/move' },
|
||||
@{ Name = '换标收货'; Route = '/pages/relabel/relabel\?op=relabelReceive' },
|
||||
@{ Name = '换标执行'; Route = '/pages/relabel/relabel\?op=relabelExecute' },
|
||||
@{ Name = '换标复核'; Route = '/pages/relabel/relabel\?op=relabelReview' },
|
||||
@{ Name = '库存查询'; Route = '/pages/query/query\?op=inventoryQuery' },
|
||||
@{ Name = '库位查询'; Route = '/pages/query/query\?op=locationQuery' },
|
||||
@{ Name = '托盘查询'; Route = '/pages/query/query\?op=palletQuery' }
|
||||
)) {
|
||||
$disabledPattern = "(?s)name:\s*'$([regex]::Escape($disabledOperation))'.{0,300}?available:\s*false"
|
||||
Assert-Matches $overseasWorkbench $disabledPattern "Overseas PDA 禁用入口 $disabledOperation"
|
||||
$enabledPattern = "(?s)name:\s*'$([regex]::Escape($enabledOperation.Name))'.{0,300}?available:\s*true.{0,200}?route:\s*'$($enabledOperation.Route)'"
|
||||
Assert-Matches $overseasWorkbench $enabledPattern "Overseas PDA 开放入口 $($enabledOperation.Name)"
|
||||
}
|
||||
|
||||
# 文档声明为正式开放的 Client 海外仓页面必须仍是 active 路由。
|
||||
@@ -415,7 +420,7 @@ Assert-Contains $overseasCompose 'LASTLEG_SECURITY_SERVICE_URL' 'Lastleg 安全
|
||||
Assert-NotContains $serviceJenkinsfile "'overseas-security-service'" '独立海外安全服务构建入口'
|
||||
|
||||
# 高变化语义必须在最近指引与服务契约中保持一致。
|
||||
Assert-Contains $adminAgents '海外模块内部快速索引(四期/五期)' 'Admin 四五期范围边界'
|
||||
Assert-Contains $adminAgents '海外模块内部快速索引(海外仓全流程)' 'Admin 海外仓全流程范围'
|
||||
Assert-Contains $pdaAgents 'VITE_H5_API_BASE_URL' '国内 PDA H5 运行配置'
|
||||
Assert-Contains $overseasPdaAgents 'tests/app-icons.test.mjs' '海外 PDA 图标合同'
|
||||
Assert-Contains $backendAgents 'RestClientTraceInterceptor.java' '后端同步 Trace 入口'
|
||||
@@ -431,29 +436,29 @@ Assert-Contains $adminOceanBookingApi '/link-candidates' 'Admin 订舱关联候
|
||||
Assert-Contains $adminOceanBookingView "label: '订舱柜量'" 'Admin 订舱柜量文案'
|
||||
Assert-Contains $adminOceanBookingViewTest 'without detail N+1' 'Admin 订舱列表无详情扇出合同'
|
||||
|
||||
# 五期海外出库、派送、异常和回访必须从根路由贯通到 Admin 与 Lastleg;PDA 后端存在不等于设备端已挂载。
|
||||
# 海外出库、派送、异常和回访必须从根路由贯通到 Admin 与 Lastleg;PDA 后端存在不等于设备端已挂载。
|
||||
$adminOverseasRoutes = Read-RequiredText (Join-Path $workspaceRoot 'apps/admin-web/src/modules/overseas-warehouse/routes.ts')
|
||||
$lastlegAgents = Read-RequiredText (Join-Path $backendRoot 'lastleg-service/AGENTS.md')
|
||||
foreach ($phase5OverseasRoute in @(
|
||||
foreach ($overseasFulfillmentRoute in @(
|
||||
'overseas-warehouse/outbounds',
|
||||
'overseas-warehouse/delivery-orders',
|
||||
'overseas-warehouse/exception-orders',
|
||||
'overseas-warehouse/customer-visits'
|
||||
)) {
|
||||
Assert-Contains $adminOverseasRoutes "path: '$phase5OverseasRoute'" "Admin 五期正式路由 $phase5OverseasRoute"
|
||||
Assert-Contains $adminOverseasRoutes "path: '$overseasFulfillmentRoute'" "Admin 海外履约正式路由 $overseasFulfillmentRoute"
|
||||
}
|
||||
foreach ($phase5RootEntry in @(
|
||||
foreach ($overseasFulfillmentRootEntry in @(
|
||||
'OutboundsView.vue', 'DeliveryOrdersView.vue', 'ExceptionOrdersView.vue', 'CustomerVisitsView.vue'
|
||||
)) {
|
||||
Assert-Contains $rootAgents $phase5RootEntry '根正式五期业务路由'
|
||||
Assert-Contains $rootAgents $overseasFulfillmentRootEntry '根海外履约正式业务路由'
|
||||
}
|
||||
Assert-Contains $adminAgents '五期海外排车、出库与派送' 'Admin 五期出库派送入口'
|
||||
Assert-Contains $adminAgents '五期海外异常退回与客户回访' 'Admin 五期异常回访入口'
|
||||
Assert-Contains $backendAgents '五期海外排车执行、PDA 出库、派送与一件代发' '后端五期出库派送入口'
|
||||
Assert-Contains $backendAgents '五期一件代发 SKU/箱唛与暂扣跨区协同' '后端五期跨区协同入口'
|
||||
Assert-Contains $lastlegAgents '五期范围承接排车编辑/取消/发车' 'Lastleg 五期范围边界'
|
||||
Assert-Contains $overseasPdaAgents '五期排车拣货与发车' '海外 PDA 五期排车入口'
|
||||
Assert-Contains $overseasPdaAgents '五期普通/一件代发出库' '海外 PDA 五期出库入口'
|
||||
Assert-Contains $adminAgents '海外排车、出库与派送' 'Admin 海外出库派送入口'
|
||||
Assert-Contains $adminAgents '海外异常退回与客户回访' 'Admin 海外异常回访入口'
|
||||
Assert-Contains $backendAgents '海外排车执行、PDA 出库、派送与一件代发' '后端海外出库派送入口'
|
||||
Assert-Contains $backendAgents '一件代发 SKU/箱唛与暂扣跨区协同' '后端一件代发跨区协同入口'
|
||||
Assert-Contains $lastlegAgents '海外仓全流程连续覆盖' 'Lastleg 海外仓全流程范围'
|
||||
Assert-Contains $overseasPdaAgents '排车拣货与发车' '海外 PDA 排车入口'
|
||||
Assert-Contains $overseasPdaAgents '普通/一件代发出库' '海外 PDA 出库入口'
|
||||
|
||||
# Admin 仅对静态资源过期做一次受控恢复,不能吞掉普通路由错误或覆盖未保存编辑。
|
||||
$navigationRecovery = Read-RequiredText (Join-Path $workspaceRoot 'apps/admin-web/src/core/routing/navigationRecovery.ts')
|
||||
@@ -573,7 +578,7 @@ Assert-Contains $lastlegBusinessOpenApi '/api/platform/v1/last-leg/orders/contai
|
||||
Assert-Contains $lastlegBusinessOpenApi '/api/platform/v1/last-leg/inbound-plans/convert-container:' 'Lastleg 整柜计划转换契约'
|
||||
Assert-Contains $lastlegBusinessOpenApi 'sourceContainerBookingId' 'Lastleg 稳定来源柜身份'
|
||||
Assert-Contains $adminAgents '/orders/container-summaries' 'Admin 柜级摘要目标入口'
|
||||
Assert-Contains $rootAgents '只分页返回仍有入仓码待生成有效独立计划的柜' '根柜级计划待处理筛选'
|
||||
Assert-Contains $rootAgents '柜级入仓计划进度与转换' '根柜级计划入口'
|
||||
Assert-Contains $backendAgents '分页前排除全部入仓码均已生成有效独立计划的柜' '后端柜级计划待处理筛选'
|
||||
Assert-Contains $adminAgents '返回仍有待生成计划入仓码的柜' 'Admin 柜级计划待处理筛选'
|
||||
Assert-Contains $lastlegAgents '分页前排除全部入仓码均已生成有效独立计划的柜' 'Lastleg 柜级计划待处理筛选'
|
||||
@@ -888,11 +893,11 @@ $criticalPaths = @(
|
||||
'baiyue-firstleg/scripts/admin-test-env-modules/manual-pda-ready-contract.test.mjs',
|
||||
'baiyue-firstleg/scripts/admin-test-env-modules/manual-pda-batch-contract.test.mjs',
|
||||
'baiyue-firstleg/scripts/admin-test-env-modules/manual-loading-complete-contract.test.mjs',
|
||||
'docs/四期/船节点标准化契约.md',
|
||||
'docs/一期/一期头程订单闭环设计.md',
|
||||
'docs/二期/二期需求优化版-v2-测量计费入库主流程.md',
|
||||
'docs/海外仓业务/船节点标准化契约.md',
|
||||
'docs/订单与客户/订单与客户头程订单闭环设计.md',
|
||||
'docs/入库测量与计费/入库测量与计费需求优化版-v2-测量计费入库主流程.md',
|
||||
'docs/墨家设备测量上传接口说明-V3.md',
|
||||
'docs/三期/三期需求确认表.md',
|
||||
'docs/国内货柜履约/国内货柜履约需求确认表.md',
|
||||
'docs/统一订单主状态与操作契约.md',
|
||||
'docs/开发环境独立任务协作登记.md',
|
||||
'docs/独立任务协作登记.md',
|
||||
@@ -967,5 +972,5 @@ if ($failures.Count -gt 0) {
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "AGENTS 索引合同通过:$checked 项检查,覆盖快速表唯一性、部署单元、开发/测试任务登记隔离、前端模块、Client active 路由、客户中文批量下单、箱规算法与测量计费、全局智能装柜组分页、客户账单入仓码联查、导出退避任务重试、脚本目录治理、Finance 扩展 HTTP 模块、柜费跨客户原子分摊、海外五类费用跨区入池与直接已付隔离、企业联系信息与登录标识解耦、选填法人身份证独立上传、待审核订单状态优先、订单申报版本同步与渠道门禁、装柜证据内容哈希重放、业务编号与内部 ID 隔离、装柜清单生命周期与真实柜号后补、订舱级拖车与柜级证据、四/五期范围边界、四期柜级待处理计划筛选与范围漂移、仓库主档唯一权威、订舱候选与柜量语义、整柜出仓与船节点单调性、Gateway 覆盖、PDA 页面/运行配置/独立更新/语言预留/能力开关、人工分段验收链、Maven 模块、Lastleg 海外安全投影、同步 Trace、关键入口和排除目录。" -ForegroundColor Green
|
||||
Write-Host "AGENTS 索引合同通过:$checked 项检查,覆盖快速表唯一性、部署单元、开发/测试任务登记隔离、前端模块、Client active 路由、客户中文批量下单、箱规算法与测量计费、全局智能装柜组分页、客户账单入仓码联查、导出退避任务重试、脚本目录治理、Finance 扩展 HTTP 模块、柜费跨客户原子分摊、海外费用跨区入池与直接已付隔离、企业联系信息与登录标识解耦、选填法人身份证独立上传、待审核订单状态优先、订单申报版本同步与渠道门禁、装柜证据内容哈希重放、业务编号与内部 ID 隔离、装柜清单生命周期与真实柜号后补、订舱级拖车与柜级证据、海外仓全流程范围、柜级待处理计划筛选与范围漂移、仓库主档唯一权威、订舱候选与柜量语义、整柜出仓与船节点单调性、Gateway 覆盖、PDA 页面/运行配置/独立更新/语言预留/能力开关、人工分段验收链、Maven 模块、Lastleg 海外安全投影、同步 Trace、关键入口和排除目录。" -ForegroundColor Green
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user