diff --git a/测试环境单机部署与配置契约.md b/测试环境单机部署与配置契约.md index b3b227e..c9dfe29 100644 --- a/测试环境单机部署与配置契约.md +++ b/测试环境单机部署与配置契约.md @@ -14,6 +14,94 @@ Jenkins `admin-web-test #653` SUCCESS,精确检出最终提交,耗时70.979 本次只发布Admin,未发布后端、Client或PDA,未执行SQL、业务数据重置、Nacos或账号权限写入;后续样式开发保持暂停。发布证据保存在Admin忽略目录 `.logs/admin-dialogs-release-20261020/` 的manifest、checks、Jenkins记录、runtime和verification文件中。 +## 排车整车作业 TEST 匹配切换(2026-10-20,完整流程待验收) + +10:34原C主流程HTTP后半链已通过:独立报告`reports/fleet-cross-DISPATCH20261020CAFTERLOAD3/report.json`实际129请求、24份完整库存快照、455/455断言通过、0失败/跳过、自有会话全部退出;原单`DS-96CED4927F8B457BB0CD30421E4AD49A`最终ACTIVE/DELIVERED版本11。两客户分别生成`OB-WH-20261020-074561`/`DL-WH-20261020-657474`与`OB-WH-20261020-657473`/`DL-WH-20261020-628994`,独立POD后持久汇总进入完成,库存不因安排/发车/签收/结案再扣减。原PDA原键发车重放成功、另一平台操作者复用原键A0403且全事实不变;结案不自动释放车司机,两项分别结束后验证旧释放键不能释放下一张空单的新占用,最后正式取消该零执行空单,closure为CARGO_COMPLETED_AND_RESOURCES_RELEASED。该455项只覆盖本次显式装车后续跑,前半链仍绑定原C及CRESUME2各自证据,不伪装成一次从头运行。TEST合成资料、非现场实物/非硬件验收标记仍保留;中事务注入回滚未在本次验证。另有配置预检失败未初始化任何HTTP报告,随后CAFTERLOAD2仅13条GET/登录退出、2库存快照,在派送预览NON_NULL省略字段被脚本误判时停止,无业务POST;修正为正式可省略空引用并保留真实对象拒绝后48/48直接合同通过,再以全新报告显式续原C,不删除或改写任何旧报告。当前将准备一张装车前、双客户双托零扫码的独立人工操作样本;页面及司机附件修复仍按实际独立门禁报告,不能将本次主链HTTP通过扩大为全部接口/四端视觉或人工验收通过。 + +10:27执行顺序校正:用户明确先跑通HTTP全链路后再人工走单,根已停止继续页面样式检查,保持原C装车后版本8,不重建/重审/重拣或再次装车。显式装车后续跑已准备,等待直接合同实际通过后才进入安排派送、发车、各客户POD及结案释放;尚不能声称后半程HTTP通过。新联合Node检查失败定位为direct模型A0403使用自造文案,生产helper按正式“该请求标识不属于当前操作员”严格核对正确;唯一测试写者正修fixture并经local-check排队。Admin详情误汇总其他动作Gate提示、车辆状态英文已在三文件修正并16/16定向通过;真实司机证照A0404已定位为MASTER文件属于司机四元组、当前排车代理误用本车四元组,三文件窄修复已交但未Maven、部署或HTTP复验。该修复仅可信MASTER冻结文件走司机当前/历史提供者,其余仍走原排车提供者,无类别重试、无权限放宽。当前目标优先级为真实HTTP,前后端已完成的显示修正暂不冒称线上修复。 + +10:03当前节点:原C续跑R2已实际执行两客户PDA拣货、原键拣货重放、未核平装车/发车拒绝、完整另一客户库存不变与已扫码改派拒绝;PDA装车确认成功,原主单现AFTER_LOADING/版本8、两箱已拣2/已发0,未安排派送。R2共62请求、287/288断言通过,唯一失败为脚本要求平台另一操作者成功重放PDA原键,而正式账本按当前主契约第94条返回A0403“该请求标识不属于当前操作员”,生产行为正确;不得削弱操作者隔离来凑测试通过。履约脚本改为原PDA主体原端重放成功、平台另一主体明确拒绝且主单/items/loading不变,helper41项+直接merged合同6项通过;跨客户脚本相同发车断言及显式装车后续跑入口正在分离文件修正。此前R1只发生7条明确响应,临时PDA创建因测试手机号重复A0409,未创建新身份或进入原单业务;R2复用现有授权TEST PDA账号的独立会话,写前即纳入密码/Token脱敏、只退出自有会话,不停用或改写既有账号。内置浏览器已真实登录Admin,确认车辆管理菜单无旧车次入口、五阶段及操作首列;尺寸与彩色页签截图仍待完整采集,不能仅凭DOM记视觉通过。 + +09:41新样本C(`reports/fleet-cross-DISPATCH20261020C/`)89请求、164/164断言通过,已完成两客户实收、候选及一张排车两级审核,原单`DS-96CED4927F8B457BB0CD30421E4AD49A`停在LOADING版本5、两箱零拣、无出库派送。后续停在验收脚本按小写随机车牌过滤、而正式车辆主档回读为大写,错误地报告0唯一资源;列表实际有唯一正确车辆/司机/仓库及`TR-523SC8QVHPQ37MFBNYWWCTS0E`。仅修脚本两文件,保留原marker、键及三ID/唯一绑定校验,直接合同34/34通过。原C所有89请求均RESPONSE且没有扫码或其后写入,原Create账本键唯一、历史版本0/两箱与当前版本5已只读核实;当前根通过独立报告`DISPATCH20261020CRESUME`显式续原单,不重建客户、货物、排车、车辆或审核。原报告不改写;新PDA采用独立身份后缀,原身份仍停用;准备钩子须回读原单/明细/唯一Fleet/两客户完整库存相符后才进入原正式后半链,仍保留TEST合成与未验证物理/硬件标记。 + +09:35修复收口:以实际运行a803为父,仅合入`DispatchSourceMapper`双边CHAR(128)、`DispatchService`合法空items快照及三份直接回归,精确候选`135ffa662de10c1af76183ceef73eb37de73899f`,无分支/工作树或真实索引修改。根统一local-check五类45/45通过、0失败/错误/跳过,含实际Mapper长编号/仓客隔离/同实托多客户与真实空单取消/原键重放SQL;Jenkins Lastleg #374 SUCCESS,镜像`lastleg-service:135ffa662de1`、镜像ID`sha256:90e0accd8fcf818c1aceef9110c47d2863330a9746a9c16a1ba71f2fd31a5564` healthy。原B完整候选只读回查成功,准确归属原客户/实托/来源版本,另一有效纽约仓候选为空;原空单失败取消键在数据库中0条命令、主单仍ACTIVE/版本0后,按原单原键原body显式复验取消成功,同键重放仅replayed标志变化,最终CANCELLED、零货量且自有会话退出。没有新增取消键或重建原单。相邻SQL只读审查未发现第三处确定混合仓类型比较;实际换标申请与退货库存箱两表的仓、客户列均unicode_ci,未为推测风险扩改。新C双客户TEST合成HTTP场景已通过local-check启动,尚未交付闭环结果。 + +09:29最新:候选查询修正精确提交`a8037fd97da65c6e843edbc32ebb26ad84870618`(以d761为父、仅Mapper/直接测试与TEST清点fixture/直接合同四文件),Jenkins Lastleg #373 SUCCESS并部署;运行镜像`lastleg-service:a8037fd97da6`、镜像ID`sha256:f5579ff10e7117f629df72d0aee3bce044044de9efaf8179f00d2e442a2dcea7` healthy。修正将混合仓库来源CASE及数字仓库转文字明确为CHAR(128),避免MySQL字符集比较冲突且保留完整仓库编号;实际MySQL窄查询及H2方言探测通过,新增长编号/归属SQL用例在直接Maven14项中全部通过、0跳过。先前无长度CHAR在H2截为一字符导致新增用例失败,已修正并重验,不隐去失败或冒称新全量通过。原B样本只读候选回读越过原查询后,在`DispatchSourceMapper.physicalPlans`再次S0500(requestId`6165a24b-a6b5-46d8-a2b0-6554b477c8d5`):库存仓VARCHAR unicode_ci与计划仓BIGINT转CHAR0900比较冲突。实际元数据已排除客户列冲突;双边CHAR(128)原SQL窄探针成功返回原B准确客户/托盘,最小Mapper修复与直接SQL回归进行中。09:18海外PDA新登录、任务列表读取、平台建单A0403拒绝和自有会话退出通过。 + +09:20独立空单真实HTTP已验证创建、同键原结果重放(仅replayed标记变化)、零数量与缺车辆司机提交审核A0400拒绝且单据不变。随后取消原单`DS-388042AC27824239ADAA65B08B29B9C6`失败S0500,requestId`85a0eb94-9ae2-47fa-9e6a-e99fe8a87b80`;日志明确`DispatchService.lockExecutionSources`对空items调用换标来源snapshot,触发“仓库和实托集合不能为空”。失败后只读原单仍ACTIVE、version0、空货且详情完全相同,未新键重试取消。内部执行者仅修DispatchService和两直接测试,四文件查询发布输入保持冻结。内置浏览器已能读取登录表单,但提交时控制桥仍超时;不能推断登录失败、产品缺陷或视觉验收完成。 + +用户本轮授权当前排车TEST部署、数据库操作、真实HTTP与内置浏览器验收;业务范围唯一见[排车列表统一作业改造契约](海外仓业务/排车列表统一作业改造契约.md)。主结构、Lastleg、Admin及海外PDA已完成匹配切换且健康,候选查询与空单取消已修复复验;当前剩余五阶段后半链及四端页面/PDA作业验收,最新状态见本节顶部记录。 + +10月20日用户进一步明确“测试直接删除掉数据都行,不需要搞什么备份”,已解决此前旧运输测试链删除重建的授权阻塞。08:49:20根核旧镜像后停止唯一Lastleg写入者;08:49:32同连接事务已删除固定339张旧排车、163份草稿及关联218张出库、269张派送和直属子记录,30表逐项COUNT与ROW_COUNT一致后COMMIT,没有备份或库存/资金SQL回拨。客户/仓库/车辆/司机主档、151条Fleet、无关87张出库/17张派送及实收、库存、资金事实保留。保留8条退回实收和旧来源指针属于历史测试证据,不能复用其已退役运输关联冒充本轮新来源。相关208条既有派送Outbox均为PUBLISHED,原财务来源/事件未改写。执行SQL SHA256 `6de759b0685f5fa1e9f011be0dede7cbcf0ab886d005422ff8dd4af28ec3fc6e`;私有回执为`dispatch-old-chain-delete-20261020.json/tsv`。 + +08:49:45七张已清空的运输表已按d761精确CREATE重建,保留八张新增表并核结构,Fleet两时间改可空、PDA来源四选一及出库真实归属字段/索引已执行。原DDL在全部永久语句完成后的字段校验因DECIMAL默认值0与引擎规范值0.000/0.0000展示差异停止,未重放DDL;仅将三个精确字段的预期scale规范化后,08:51:49独立只读post-validation全部通过,包括八表结构、所有POST约束和空七表、151/87/17保留数。原DDL及失败回执完整保留,执行SHA256 `e3ac535515075792cc2f82165505afa141805c44ae1621319c5c6f41ea0618bc`,最终postcheck SHA256 `80741563d07c0159e9bac02c24b86b4bad01e67a22e228c4ed475831ff0d7b9c`。永久托盘guard未删除或重建。 + +08:53 IAM最小授权已提交:仅为PLATFORM_ADMIN、WAREHOUSE_OPERATOR补六条新按钮关联;SERIALIZABLE事务锁定目录、角色、成员与主体版本,正式Auth内部撤销四个受影响主体会话明确成功后,同事务各推进一次持久permission_version再COMMIT。只读复核六关联唯一、四版本恰好+1、TALLY及两PDA岗位三按钮授权数0;未改成员、仓绑定或tenant版本。新登录快照和旧Access/Refresh拒绝仍待真实HTTP复验,不能以SQL授权推定通过。私有执行/复核回执为`dispatch-iam-grant-execution-20261020.json`与`dispatch-iam-grant-postcheck-20261020.json/tsv`。 + +Lastleg #372 SUCCESS,SOURCE_COMMIT精确d761、DEPLOY=true,复用#371同输入成功门禁并跳过重复测试执行,仍编译测试和打包;运行镜像`lastleg-service:d7616899d86a`,镜像ID`sha256:cdac2cf5b19fe6340ce815649c0df52db9065934ed604f82666d5b74284cf87b`,running/healthy。Admin收敛为27路径`1028b715abd4efc71df36aab76e05de37a4600f4`、固定标签`dispatch-admin-test-20261020-1028b715abd4`,仅在cbd849运行基线上包含已审排车/既有预约消费者与弹框依赖,不纳入其他在途模块;本地143项父组件相关检查、17项子组件检查通过,精确候选Jenkins #652 SUCCESS。运行镜像`admin-web-test:1028b715abd4`,镜像ID`sha256:75d68330bb3c7624021004b43e2b9bec81db9837b25ea729056adb01c52c6d81`,running/healthy;Job原始配置已原文恢复。首次`/build`明确400拒绝且确认无新队列/构建后,按现有CLIENT_WEB_URL参数使用正式参数化入口提交,没有重复构建。 + +海外H5已发布,包仅含85静态文件与3部署文件;输出聚合`12b04a4340d7d7daadf6c9e823ab96b6315240a7dd97e5ecda155490d0ba3e53`,镜像ID`sha256:57bdebdc2c428139962d59fb5ffa10c25561461ff400e62b0dec6e3bbc3d53c9`,running/healthy。容器85个资源、Nginx配置与HTTP首页逐SHA匹配,healthz通过,未发布国内H5或原生APK。首次上传因Groovy载荷常量限制未落地:只读确认远端发布目录不存在、上传0字节、无上下文或部署回执、旧容器未变后,分块传递修正并记录显式核对结果;没有盲目重放服务变更。最终状态见总控根`.codex-temp/dispatch-h5-static-deploy-state-20261020.json`。下文01:12等为切换前历史事实,不代表当前执行进度。 + +09:02起进入真实HTTP。新平台登录、原生空排车列表、公共有效海外接收仓及有地址FBA目的仓查询、匿名平台接口拒绝已通过。新样本A(`reports/fleet-cross-DISPATCH20261020A/`)32请求、51/52断言通过,停在验收fixture遗漏正式`cartons/count`:空托生成/绑定均明确成功,但草稿测量字段未被DTO接收;未入库、未建排车。已仅修直接fixture及其合同,补预报箱号/SKU数量、正式清点分托和测量回读,27/27合同及语法检查通过。旧样本保留,未自动续跑或删除。 + +修正后新样本B(`reports/fleet-cross-DISPATCH20261020B/`)47请求、79/80断言通过,已完成一名新客户来货的PDA清点、照片、真实接口入库、客户确认及完整库存凭据核对;停在候选GET的HTTP200+S0500,requestId `6f48401a-ec99-4c69-87e5-a6a8b265ea63`。定向服务日志定位`DispatchSourceRepository.availablePlans`→`DispatchCandidateMapper.wholeAvailable`,MySQL报`utf8mb4_bin/NONE`与`utf8mb4_0900_ai_ci/COERCIBLE`比较冲突。未创建排车或执行出库;该查询缺陷正在修复,五阶段闭环不得记通过。两轮自有临时PDA均已停用、已退出自有会话,未知写边界未触发。本轮明确使用TEST合成资料,现场实物测量和硬件验收均未通过;不能把合成托位输入称作现场证据。内置浏览器页面交互多次超时,当前未采纳新的1920页面或PDA作业截图,不能据此认定页面缺陷或视觉通过。 + +23:33已执行精确增量,仅新增八张空表:`ll_dispatch_draft_command`、`ll_dispatch_history`、`ll_dispatch_item_source`、`ll_physical_pallet_guard`、`ll_dispatch_physical_pallet_lock`、`ll_dispatch_command`、`ll_dispatch_delivery_arrangement`、`ll_delivery_facts_changed`。MySQL退出0、执行后逐表0行;没有修改旧表定义、删除旧运输记录或重放整库初始化。总控根`.codex-temp/dispatch-test-additive-eight-tables-r2-20261019.sql` SHA256 `f4026f604abc0620300136624f495fd1a9b6f55d126557221165baf91d8f6cdc`。首次USE在首张CREATE前被客户端拒绝,复查八表不存在后改为连接参数选库;失败与成功回执均保留在安全私有目录。 + +00:53完成权限目录准备:执行前确认5107065/66/67及其code均不存在、父5107064为有效排车列表;严格按已验证源种子新增`dispatch:create`、`dispatch:loading-complete`、`dispatch:depart`三项built-in BUTTON资源,MySQL退出0、插入3项,新资源的角色关联数0。总控根`.codex-temp/dispatch-test-additive-action-resources-20261020.sql` SHA256 `bf718bf796e9d32dd7ec21b4c66f7aee4fb2707a2e4cffabf9a99cfe4369affa`。本次未授予任何角色/账号权限,未改持久安全版本或撤销会话;源岗位矩阵、安全版本/会话处理及新登录后的后台/PDA隔离仍须在匹配切换阶段统一完成。 + +File提供者已于23:39发布:精确提交`a338d924c696ae07466cbb4da0ecc73e1fbb408c`,固定标签`dispatch-file-test-20261019-a338d924c696`,仅三个文件增加两类平台排车证据及合同/测试。Jenkins `baiyue-firstleg-file #153` SUCCESS;本地同输入File完整242项通过后CI跳过重复执行、仍编译测试源码并打包。23:43独立inspect与01:12六容器复查均为running/healthy,镜像`file:a338d924c696`、镜像ID`sha256:edce24d7e1d6a626adc09c667ecf94cdc8b9a2101b482491f1e3ab27995e57af`。新车辆/司机证据实际上传仍待新排车联调。 + +Lastleg最终精确候选`d7616899d86abb2e882c760e5c56d11b80f08a15`、固定标签`dispatch-core-test-20261020-d7616899d86a`,以实际运行源a563为父提交,346个路径。Jenkins `baiyue-firstleg-lastleg-service #371` **SUCCESS**,SOURCE_COMMIT精确匹配,DEPLOY=false、SKIP_TESTS=false,执行受限入口的`clean package`。JUnit实际3212例:3203通过、0失败/错误、9跳过;其中依赖134、Lastleg默认3027、后置SQL语义51(Dashboard15、Analytics36)。两组SQL均实际执行通过;Lastleg合计3078例,3069通过/9跳过。Job耗时1769452ms;测试仍为1GiB、单fork、按类隔离,无实际OOM。最终日志中的ExitOnOutOfMemoryError仅为镜像启动参数,未作为异常采纳。节点复查无Maven/Surefire残留,cgroup oom/oom_kill为0,未修改节点限额。 + +九项跳过均有JUnit原因:废弃MySQL专项1项、退货SKU MySQL专项2项、自营发布MySQL专项4项、自营候选MySQL专项1项、真实尾程事件消费专项1项,缺对应开关/环境条件;没有将其计为通过,也不以CI代替本批真实流程验收。此前#369为旧候选1GiB堆OOM、未部署;#370在默认阶段因一处转运夹具误配失败并未运行后置SQL。A/B独立确认只恢复运行版测试三行夹具,原50用例及归属拒绝断言保留;该类已在#371的精确候选中50/50通过。20个差异生产输入保留已发布版本,其余直接配对未见第二处同类偏差。 + +01:12独立运行复查:六个目标容器均running/healthy;Lastleg仍为`a563f6385714`,Admin仍为`cbd849444fc4`(#651),海外H5仍为`h5-627dfd32da39`,国内H5仍为`h5-20261005-642c1e231516`,并未由#371切换。Admin本批18文件候选`270cbc0780a7598ea2f95fb5a279077028b9de6b`仍以当前运行源cbd849为基线,未推送/部署、精确候选完整类型检查仍待CI。海外H5已构建及verify-h5通过;最终只读复算已记录127输入、23冻结文件与85产物均0漂移,产物无新增/缺失,尚未发布。源码及TEST Nacos模板的查询/候选开关均为true,有效运行值仍须在切换后通过真实HTTP确认。 + +01:17只读回查旧主单339、草稿163,仍为旧模型;既有冻结只读快照直接关联218出库、269派送,不能用默认值伪造新来源/审核/实测/Fleet事实。关于先备份再废弃旧运输链并重建相关结构的确认,已连续多轮未获用户答复;未执行删除、重建或主版本切换。浏览器已有Client登录与列表DOM证据,Client真实尺寸、截图、交互及网络观测仍待补验。完整目标尚未达到。 + +10月20日07:51收到用户提供的两个本地H5入口,浏览器页头确认5175为国内PDA、5176为海外PDA;两端登录页均完成390×848截图,图片保存在总控根`.codex-temp/dispatch-pda-login-20261020/`。当时只读检查发现两项目本地配置为非TEST代理,先停在登录前,未将本地入口视为跨环境授权。 + +用户随后明确允许切到TEST并重启后验收。07:58按安全私有目录`test-acceptance.env`中CHONGCHONG_ENV=test及统一API配置,仅更新两项目未提交的`.env.local`三个API/代理配置项,原文件备份在安全私有目录`pda-local-test-switch-20261020/`,未改业务源码、依赖或其他环境。两文件当前SHA256均为`83320e4076a4a11fcc0d92575236ddda3dc2c36a5b184eee7fc9f9a2814457ae`。HBuilderX两服务日志均记录`.env.local changed`及`server restarted`,端口仍5175/5176;只读探针及后续登录/列表请求的代理日志确认实际转发TEST。未终止HBuilderX或其他任务进程;首次配置解析因键名前缀校验失败,在任何文件写入前退出,随后使用实际CHONGCHONG前缀完成。 + +两端已使用指定TEST账号通过正常UI登录:国内工作台为义乌仓,进入拣货列表显示47项;海外工作台为洛杉矶仓,可进入“排车拣货与发车”列表。各首次列表入口的CDP网络事件均只有1个业务GET:国内`/gateway-api/platform/v1/first-leg/pda-loading/tasks/pending`、海外`/gateway-api/pda/v1/last-leg/dispatches`,无截断/剩余事件,无按行展开请求。本轮未领取任务、扫码、装车、发车、签收或新增业务记录。海外旧任务均显示“状态待核实”,不以列表可达证明新整车状态/作业通过;Lastleg主版本与旧链处置仍未执行,完整流程验收仍待匹配切换。 + +本地浏览器视口按390×848核对;海外工作台与排车列表原生截图均为390×848,目录为总控根`.codex-temp/dispatch-pda-test-ui-20261020/`,有效文件`overseas-workbench-native.jpg`、`overseas-dispatch-list-native.jpg`。国内列表DOM布局正常,原生截图被工具缩放为375×815;CDP大图捕获曾出现窄列/底部重复及非页面视图,均排除于验收证据,不能据此报页面缺陷或宣称国内精确截图通过。国内最终390×848像素截图仍待补验,业务布局及访问证据单独保留。临时视口/设备覆盖已恢复,无浏览器业务写入。两个入口及本地TEST切换已解决,不再作为缺失用户输入;剩余主要输入仍是旧运输链备份废弃重建确认。 + +08:05因海外H5记录输入包含本地环境文件,切换后不复用旧构建结论;已串行经local-check执行`npm.cmd run build:h5`及`node scripts/verify-h5.mjs`,均退出0。记录127输入仅本地环境文件相对旧快照变化;重建输出仍85文件、逐文件相对旧产物0差异,路径加原始内容聚合SHA256仍`12b04a4340d7d7daadf6c9e823ab96b6315240a7dd97e5ecda155490d0ba3e53`,新的输入聚合为`6a468168dd57b3c67dbf94a04513185f4e5d72c5d3a55f60e299c02896f891f4`。未发布H5。新证据为总控根`.codex-temp/dispatch-overseas-pda-h5-test-config-rebuild-20261020.json`。共同23文件另发现两个Admin当前文件相对冻结记录变化:`DispatchWorkflowDialog.vue`及`SmartDispatchDialog.vue`,涉及密度布局及请求恢复代码;本轮未改这些文件,不能将原23文件0漂移或原Admin候选适用性继续套用当前工作区。后续匹配发布须复核这些直接差异及其验证,不覆盖其他会话改动;H5自身127输入和85产物的验证与Admin集成验证分开记录。 + +原始证据均在用户指定安全私有目录及总控根`.codex-temp/`:`dispatch-lastleg-371-final-build-20261020.json`、`dispatch-lastleg-371-junit-20261020.json`、完整控制台、`dispatch-six-runtime-after-ci371-20261020.txt`、`dispatch-ci371-capacity-after-20261020.txt`、两个SQL执行回执、旧链计数及`dispatch-release-inputs-final-readonly-20261020.json`。本地完整工作区Lastleg3081例与此精确候选3078例是不同输入,分别保留,不能互相替代。 + +## 排车整车作业 Client 移除直接创建入口(2026-10-20) + +基于实际运行的Client #431、513bbe2仅纳入六个直接文件:移除创建派送按钮、路由、页面、创建API及权限展示/映射,并同步直接测试;查询、详情、签收资料与既有快递跟踪保留。精确提交`ba6599646fe2887d63e5d1980895d784caf1a080`,固定标签`dispatch-client-test-20261020-ba6599646fe2`;Jenkins `client-web-test #432` SUCCESS,精确检出、类型检查及构建通过,临时SCM配置已恢复且正文SHA256与发布前完全一致。独立inspect为running/healthy,镜像`client-web-test:ba6599646fe2`,镜像ID`sha256:21a5d754ce7f4ebaf9c4206c1fae798e5d99f9ddfdd3c86ac55a32f7843e09b6`。 + +公网HTML、入口、导航及派送列表/详情共五份资源SHA256与运行容器全部匹配,发布导航及列表无旧创建路由/组件。工作区此前同一输入Client629项及typecheck/build通过;不将该证据替代精确发布构建。浏览器确认已登录并到达派送列表路由;后续新开页面成功读取17条当前客户派送记录,DOM无创建按钮。已有页及视口读取、CDP、截图/交互观测连续超时,1920×1080视觉截图和真实请求次数仍待验;没有宣称四端验收通过。安全私有目录`dispatch-client-release-state-20261020.json`、控制台、runtime-after及public-verification保留原始证据。本次没有发布Lastleg或删除旧链;客户后端旧创建入口撤除须在匹配后端发布后另验403/404,前端移除不作为服务端安全结案。 + +## 说明改为信息图标悬停 TEST Admin 发布(2026-10-19) + +用户进一步确认不要展开说明破坏布局后,将本轮新增的展开入口统一改为 `InlineHelp.vue` 信息图标,放在原标题或操作行内,不增加独立说明行。鼠标移入或键盘聚焦后以浮层显示,移出后收起,允许移入浮层阅读;计费与出库趋势图例也统一使用该图标。上一版14处介绍删除继续生效,错误、权限、过期状态及业务阻断提示保留。已有包含选择和查看记录等交互的库存周转说明弹层保持原交互。 + +以实际运行的 Admin #650 为基线仅发布10个帮助组件、图标位置及直接测试文件,精确提交 `cbd849444fc4e292626dbabd09125a135be94daa`,固定标签 `admin-help-icon-20261019-cbd849444fc4`。Jenkins `admin-web-test #651` SUCCESS,精确检出、类型检查与构建通过,耗时62.247秒;镜像 `admin-web-test:cbd849444fc4`,镜像ID `sha256:dd356801c9d7904993d63dfce6e9a6620808445355cb5473588df1467159d31a`,running / healthy。Job临时配置恢复并核对原始SHA-256一致。 + +公网HTML、首页、货柜轨迹、公共帮助、订单与统计JS/CSS共7文件与容器SHA-256一致,已核对图标、hover/focus配置及原details展开结构移除;容器全部JS中的14句旧介绍仍不存在,首页错误及权限提示保留。健康、首页及尾程路由HTTP200,视觉仍待用户1920×1080、100%截图确认。 + +图标及相关消费者7文件75项回归全部通过,覆盖悬停显示、移出隐藏、键盘聚焦,以及原装柜、计费、预约、趋势图业务断言。另有首页及库存说明定向7项通过、26项因限定测试名称跳过。智能装柜、计费及趋势图的3个旧测试已改为验证浮层内容和图表自身渲染,补充提交 `81f7bdf6ed8cb67621d0827b0a6a471edc5348e1` 已推送固定标签 `admin-help-icon-tests-20261019-81f7bdf6ed8c`;仅测试断言变化,没有重复部署相同运行代码。 + +此前说明清理阶段全量415文件3507项中3503项通过、4项失败:测量审核2项对比断言、智能排车1项旧cargo源码断言,以及库存流水1项旧说明存在断言。库存旧说明断言已在本次发布中更新并定向验证通过;测量审核和排车相关在途代码未纳入本次发布,不将该轮全量标记为通过,也不把后续局部回归等同于最新工作区全量通过。 + +本轮只发布Admin,没有发布后端、Client或PDA,没有SQL、业务数据、Nacos或账号权限写入。证据位于 Admin `.logs/admin-hint-icon-20261019/` 的 `manifest.json`、`release-state.json`、`checks.json`、`test-followup.json`、Jenkins记录、`runtime-after.json` 及 `verification.json`。 + +## 常驻介绍精简与按需说明 TEST Admin 发布(2026-10-19) + +用户确认删除清单及剩余说明处理建议后,删除首页、货柜履约轨迹、订单称重、入库工作台、装柜清单、柜费用、客户、用户角色、费用项目、库存流水及船期日历共14处重复介绍,并移除对应占位或孤立样式。首页正常状态不显示介绍,错误与权限提示继续显示。车次、预约选货、预约排车和智能装柜使用默认折叠的公共 `InlineHelp.vue`;头程计费规则及出库趋势图例使用点击说明入口。库存周转已有的统计说明弹层保留;金额、权限、过期、操作阻断及箱号未核验等业务提示不删除。 + +以实际运行的 Admin #649 为基线仅纳入23个说明、共享帮助及直接测试文件,精确提交 `e7dc68473ea4e852479a9fe3c9e9b1233daf1d96`,已推送固定标签 `admin-hint-cleanup-20261019-e7dc68473ea4`;工作区其他测量弹框和排车改造未纳入本次发布。Jenkins `admin-web-test #650` SUCCESS,精确检出、类型检查与构建通过,耗时62.329秒;镜像 `admin-web-test:e7dc68473ea4`,镜像ID `sha256:40ae28d66c1ad3a2e0cfaabfebf34e57657ecd466b70b03cfe35935de150dc65`,running / healthy。临时Job配置已恢复并核对原始SHA-256一致。 + +公网HTML、首页、货柜轨迹、公共帮助、订单及统计JS/CSS共7文件与容器SHA-256一致;容器全部JS中14句已删除介绍均不存在,公网包含新帮助入口及首页错误、权限提示,健康、首页和尾程路由HTTP200。此版展开说明随后按用户反馈改为上节所述图标悬停;回归结果及剩余限制见上节,不把发布构建成功当作全量测试通过。 + +本次只发布Admin,没有发布后端、Client或PDA,没有SQL、业务数据、Nacos或账号权限写入。证据位于 Admin `.logs/admin-hint-removal-20261019/` 的 `changes.json`、`manifest.json`、`release-state.json`、Jenkins记录、`runtime-after.json` 及 `verification.json`;后续发布须从实际运行版本继续核对。 + ## 费用项目默认价格 TEST 发布与 HTTP 验证(2026-10-19) 用户授权将本轮费用功能发布至 TEST,并单独确认新增数据库字段。`baiyue_firstleg.fl_fee_item` 已新增可空的 `default_price DECIMAL(12,2)`,DDL 前后原有记录数均为165;没有重放空库基线、删除或重置记录。字段用于费用项目默认价格,入库与柜次选费时带入且允许人工修改;入库窗口重开刷新项目,柜次窗口仅接收最新有效请求,已有费用回显不被默认价格覆盖。 @@ -30,6 +118,14 @@ Admin 初始基于 #648 准备13文件的费用候选 `98bf56e87f26169033027abc3 本地费用相关84项、Admin全量414文件/3495项、类型检查和构建通过;发布补充Gateway、拓扑及部署恢复等32项离线合同通过。本轮未发布Client、PDA、Gateway或Nacos。证据位于 Admin `.logs/fee-default-release-20261019/` 的候选清单、数据库回执、两端Jenkins记录、运行镜像及静态资源验证、`http-verification.json`。后续发布须保留此处记录的实际运行功能,不能只按分支HEAD覆盖固定发布版本。 +## 尾程“入库 / 修改节点”TEST Admin 发布复核(2026-10-19) + +尾程订单行操作及顶部单票入库按钮已由“生成入库计划”改为“入库”;行操作与节点弹框标题已由“人工修改节点”改为“修改节点”。原权限、资格条件及业务调用保持。改动已提交于 `5c28cd7c79748d281f541c9dfe865d1c2327832e`,经合并提交 `7ff7c9914fa936501f1e9b44d207800367973596` 推送至 Admin `release/test`;核对时本地与远端分支一致,目标文件没有未提交修改。 + +用户要求提交、推送并部署测试时,实际Jenkins已完成 `admin-web-test #649`,SUCCESS,精确源码为上述 `7ff7c991`;本轮复核了该已有发布,没有重复触发构建或覆盖当前版本。流水线类型检查及构建通过,容器镜像 `admin-web-test:7ff7c9914fa9`,镜像ID `sha256:38db4e2c47e7d39425809dc59250da10dc7edd7a7f9f4864180f53559733a29d`,running / healthy。公网HTML及 `LastMileOrdersView-B7ZJAY7A.js` 与容器SHA-256一致;公网模块的行操作标签为“入库”“修改节点”,原“人工修改节点”文案已移除,健康入口HTTP200。此次复核确认实际运行版本已包含改动,不把分支提交状态单独作为已部署依据。 + +前一轮同一源码的5文件184项Admin定向检查通过;本轮未修改业务代码。视觉仍待用户刷新页面确认。没有发布后端、Client或PDA,没有执行SQL或修改业务数据。证据位于 Admin `.logs/admin-lastmile-labels-20261019/` 的 `jenkins-build.json`、`jenkins-console.txt`、`runtime.json` 及 `verification.json`。 + ## 列表操作文字间距减半 TEST Admin 发布(2026-10-19,已发布) 所有已接入公共文字行操作的列表统一收紧按钮横向内边距与组间距:每侧10px改为5px,组间距6px改为3px,相邻文字留白由26px改为13px;字号、高度、业务动作及页面列宽保持。公共规则位于 `adminTextActions.css` 与 `adminDensity.css`,对应密度合同同步更新;以 Admin #647 为基线仅发布3文件,精确提交 `786f0d6b75c70a06f930b929e6f4887db82a8a9f`,固定标签 `admin-action-spacing-20261019-786f0d6b75c7`,保留已发布的供应商入口、ECharts与测量差异红字。 @@ -2385,3 +2481,11 @@ Client #382(`a0736239e4ee4cd58b620dab912ffc0641360d9f`)正式页面在1920× - 修正 MyBatis 空值更新策略,使清空单号、切换取货方式能真实写入 NULL;补充真实 Repository/Mapper 与内存数据库事务回归。最终 Order CI 390 项测试通过;本地 Client 629 项测试、类型检查、生产构建及 5 项 Gateway 路由合同通过。最终新增持久化回归由固定提交的完整 CI 验证,本机重复检查排队后未再执行。 - 真实 HTTP:59 项业务检查全部通过,覆盖实际 Client payload 构造、填写/留空、修改/清空、空白和长度边界、切换方式、Admin 同客户回读、两种订单成功提交及提交后编辑拒绝;11 项公开页面与发布资源检查通过。保留本轮提交订单 `FL2112119763695644674、FL2112119766220615682`,验收会话已撤销。首次发现清空问题时创建的两张草稿保留,未执行清理。 - 本机私有环境目录证据:`firstleg-courier-release-status-20261019.json`、`firstleg-courier-http-report-20261019.json`、`firstleg-courier-frontend-http-report-20261019.json`;首轮失败证据保存在 `firstleg-courier-http-first-attempt-20261019.json`。自动 HTTP 不代替浏览器点击提交或视觉验收,1920×1080、100% 缩放仍待人工截图确认。 + + +## Admin 船期、整柜页签与尾程操作文案发布(2026-10-19) + +- Admin TEST 当前发布提交为 `7ff7c9914fa936501f1e9b44d207800367973596`,`admin-web-test #649` 精确检出该提交,类型检查、构建和部署成功,耗时 70.289 秒;Compose 确认 `admin-web-test Healthy`,容器与公网 `/healthz` 均通过。本轮只执行 Admin 发布,没有发布后端、修改环境配置或执行 SQL。 +- 本次页面核对范围:船期日历保留顶部“新增单个船次”,移除右侧当天重复新增;整柜业务的入库单、出库单、库存三个页签保留文字并去掉图标;尾程订单“生成入库计划”按钮改为“入库”,“人工修改节点”按钮及对应弹框标题改为“修改节点”。原操作、权限和提交逻辑保留。 +- 公网入口引用的三个页面 JS 与本次 Jenkins 构建产物文件名一致,HTTP 均为 200,并已检查上述按钮文案、重复入口与图标移除。证据保存在私有环境目录 `admin-style-test-release-20261019.json`。静态资源与健康检查不代替实际页面交互或视觉验收;人工视觉仍待 1920×1080、浏览器 100% 截图确认。 +- 本地网关路由合同 5 项通过。全量检查为 414 文件、3494 项通过、1 项订单状态文案断言失败;运行期间该状态文件被并行更新,当前源码与断言已一致,失败项及受影响页面定向复测 4 文件、83 项通过。该结果不标记为单次全量检查全部通过;精确发布提交的干净类型检查与构建已由 Jenkins 通过。 diff --git a/海外仓业务/排车列表前端原型核对.md b/海外仓业务/排车列表前端原型核对.md index 18d3399..a90eaaf 100644 --- a/海外仓业务/排车列表前端原型核对.md +++ b/海外仓业务/排车列表前端原型核对.md @@ -61,7 +61,7 @@ | 页签(建议图标) | 固定字段/列顺序 | 现有来源与缺口 | 消费要求 | | --- | --- | --- | --- | | 车辆信息 `🚚` | 车牌号、司机、联系电话、拖车公司名称、车辆状态 | `DispatchSummaryDto.vehiclePlate/driverName/driverPhone/carrierName/status`;当前 `status` 是排车状态,是否作为车辆显示状态须明确 | 返回主档或临时外配的真实显示快照和明确车辆状态文案;紧凑白底4–6组短字段,长车队名跨列。不拿内部主档ID或“待分配”示例代替缺失值。 | -| 排车信息 `📋` | 路线、发车时间、预计到达时间、FBA预约、车辆预约 | 已有route/departAt/estimatedArrivalAt/fbaAppointmentStatus/vehicleAppointmentStatus;整车多目的仓只有一个预约号/状态不足 | 路线由货物目的地真实事实生成,不手输演示“30托盘”;发车只显示实际时间。多目的仓预约需真实逐目的仓/批次事实或服务端明确整车摘要,不能显示一个仓已约即全车已约;冻结精确展示。 | +| 排车信息 `📋` | 路线、发车时间、预计到达时间、FBA预约 | 当前原生dispatchInfo提供路线、实际发车和逐批FBA预约;车辆预约字段及关联已按用户最新裁定移除 | 路线由货物目的地真实事实生成,不手输演示“30托盘”;发车只显示实际时间。多目的仓FBA预约按真实逐目的仓/批次事实展示,不能显示一个仓已约即全车已约。 | | 单据信息 `📝` | 排车单号、关联派送单、创建时间、更新时间、备注 | `DispatchDetailView.vue:93–101` 使用orderNos且缺updatedAt/remark;现有 `TransferDeliveryItem` 不含客户归属,详情没有deliveries | 返回所有真实派送业务号、对应客户+目的仓及状态供关联;多单号完整换行/明确链接,读取目标仍受各自权限;创建/更新时间与备注从服务端返回。关联订单不能代替关联派送单。 | | 关联订单明细 `📦` | 订单号、重量kg、托数、目的FBA仓、体积m³、集装箱号 | `DispatchItemDto` 无客户/containerNo,只有托级weight/volume及orderRefs;现有多订单循环重复累加整托载荷,containerNo恒空;bolLines有containerNo但不是订单级汇总映射 | 后端返回有客户归属的订单汇总行或足以准确归属的明细;同托多订单的重量/体积不可由浏览器猜分;未知显示“—”。只读通栏表,不为套规范新增操作列;订单业务号可完整展示,客户身份保留在模型,是否增显示列由总控决定,不自行改变S1六列。 | @@ -309,7 +309,7 @@ 可交总控集成;尚未提交、推送、部署、启动后端、写入测试数据/SQL或执行真实 HTTP。后端真实路由、权限、完整持久化和幂等并发链仍由总控统一验收;Admin/Client 人工1920×1080、100%截图与 PDA 真机扫码/安装仍待确认。本任务自查不冒充独立复核。 -## 当前可集成候选:既有批次版本与权限接线(2026-10-19 17:38) +## 历史候选:既有批次版本与权限接线(2026-10-19 17:38,已由下方车辆预约取消候选替代) 按总控本轮精确授权,仅解除原排车模型/API/wire、SmartDialog、Workflow ADD_CARGO和既有Work排车表单对此版本字段的冻结;不触及日历新增预约、planningApi、面板生产逻辑、公共密度、PDA、Java或Maven。修改前已核对公共Java实际签名:DispatchContracts.BatchAllocation(..., Long recordVersion)、BatchReference(..., Long recordVersion)都要求显式非负版本且零合法;BatchReference的自动DISPATCH引用使用其真实主单版本。该文件读取摘要为73b5b83fcd0155bf09b18c18b1bd6a5bbb0175221102a13101248f92ca84f641。预约Provider的Allocation随后也实际增加recordVersion;AppointmentWorkDispatchCandidates第43行已用appointment.version().longValue()返回权威版本,前端不从Result.version、显示约号或默认零补造字段。 @@ -359,3 +359,11 @@ apps/pda-overseas-uniapp/src/stores/fulfillment.js ``` 共享提供者仍在途,不能把上述前端离线证据当预约—排车端到端接通:17:38读取的DispatchAggregateService与DispatchDraftService候选构造仍分别在第158/265行传入空appointmentBatches;尤其Smart草稿逐托选择/恢复后需由真实Provider保留引用和版本,前端不能拿旧显示约号或旧候选补造。总控/主后端继续处理实际候选/草稿提供、数据库锁内批次版本、完整持久化和发车复验。尚未提交、推送、部署、执行真实HTTP或写环境数据。新增日历预约及车辆预约权威提供者不在本前端包。 + +## 当前候选:取消排车车辆预约及完整构建复验(2026-10-19 19:03) + +用户最新确认取消排车信息中的车辆预约字段及关联;FBA预约保留,详情仍严格为车辆信息、排车信息、单据信息、关联订单明细四个彩色图标页签。改动为API、模型、详情及直接样例/测试共8文件,精确清单与逐文件SHA在根`.codex-temp/dispatch-remove-vehicle-appointment-20261019.json`。总控已逐项核对8/8无漂移,聚合为`f256c5a71bc67ad146702a28d30d7da0579fc69bb4ea92642c7f47ea44835957`;4文件73项定向测试通过为前端执行证据。 + +完整类型检查先在2GB下OOM,启用节省内存选项仍OOM,均不计通过。用户随后明确授权本次完整检查临时使用4GB;总控经local-check执行`node --max-old-space-size=4096 --optimize-for-size ./node_modules/vue-tsc/bin/vue-tsc.js --noEmit --pretty false`,实际退出0(工具输出ef45f8)。随后恢复正常2GB限制,单独执行`pnpm exec vite build`,实际退出0,5135模块、Vite4.06s(工具输出79545d)。两步共同证明当前输入的完整类型检查与打包通过,没有排除测试、修改tsconfig或提高后续检查默认内存。上述结果不清除早前全量测试超时,也不代表真实页面、HTTP或PDA硬件验收。 + +日历新增预约仍归用户指定的其他对话,本批不接管。17:38候选的提供者缺失描述仅表示当时输入,当前公共字段/版本以最新主契约、Java和实际检查为准。 diff --git a/海外仓业务/排车列表接口与数据设计.md b/海外仓业务/排车列表接口与数据设计.md index 06a9101..53af8c7 100644 --- a/海外仓业务/排车列表接口与数据设计.md +++ b/海外仓业务/排车列表接口与数据设计.md @@ -39,7 +39,7 @@ ### 0.1 骨架修订:缺版本、既有预约、实载与草稿 -公开已有单/草稿写请求的recordVersion均改为Long并在record紧凑构造器拒绝null/负数,显式0合法;创建主单/草稿没有既有版本。不是仅依赖Controller @Valid或Jackson对primitive的默认0。Update.vehicleAppointment已收敛为`DispatchCommands.AppointmentReference(referenceNo,Long recordVersion)`,没有status/appointmentAt写字段,保存时必须读取权威已有预约并复验版本;读模型仍可显示实际确认状态/时间,本批不新建预约流程。没有关联提供者解锁时该写接线待总控分配,不能拼一个本地确认状态替代。 +公开已有单/草稿写请求的recordVersion均改为Long并在record紧凑构造器拒绝null/负数,显式0合法;创建主单/草稿没有既有版本。不是仅依赖Controller @Valid或Jackson对primitive的默认0。按最新用户裁定,排车不保留车辆预约字段、类型或关联;Update和DispatchInfo均无该属性,不输出空占位。FBA预约及真实批次继续按原权威核验,日历新增预约不在本批范围。 新增实际种子及端口见 `DispatchPlanningModels.java/DispatchPlanningPort.java`,源数据生产者已沿原方法核对,前端按下表接入;当前尚无新Controller映射或可调用运行端点,不以端点常量冒充实现。 @@ -121,10 +121,111 @@ 同托多来源不能用 `orderNo/orderRefs/inboundCode` 展示快照作为分摊依据。复用 `ll_dispatch_pda_pick_order` 的逐入仓/退回来源和真实箱数,不另造第二套逐箱库存模型;拣货前的容量/预约/候选读取真实库存组成,拣货后派送和费用读取不可变拣货来源。每条 pick 的客户必须等于对应 item 和真实来源客户。普通、退回入仓、`RELABEL`、`RETURN_RELABEL` 四类实际分支均保留;来源阶段不是客户端随意传入的业务状态。 -原来源锁 `ll_dispatch_pallet_lock` 保留真实客户与来源;实物托盘的全局唯一占用防止两个来源别名被分配两车,PLAN 与 RECEIVED 不能成为同一实物的两个有效锁。现有 `(customer_id,active_key)` 不足以单独证明实物全局排他,建议增加可空 `active_warehouse_pallet_id` 唯一索引,仍保留来源占用键;取消只释放属于当前主单的活动锁,不碰其他新单占用。 +原来源锁 `ll_dispatch_pallet_lock` 保留真实客户与完整逻辑来源键,引用独立物理占用 `ll_dispatch_physical_pallet_lock`。活动实托唯一键只属于物理层;逻辑层不保留 `active_warehouse_pallet_id` 空别名。同一拥有者的多个真实来源可共享一个实托,跨主单、跨草稿容器仍排他。物理拥有者是主单或原草稿容器,不以第一条来源或第一客户代表。释放逻辑来源后,只有本拥有者最后一条活动成员结束才释放物理占用;取消、到期与转换不能触碰后续新拥有者的占用。 + +#### 2.3.1 同实托多换标来源的共同读取合同 + +本批支持两张换标单合到同一实托后整托同车。物理托盘、实载重量体积和实际容量只计一次;客户、换标业务号、逻辑箱数、真实扫码与费用归属保留分行。既有整申请全部应排托盘规则保留,因此完整选货集合是“申请包含的全部应排托盘”与“实托包含的全部有效逻辑来源”共同形成的闭包。不得只依据页面当前筛选结果或托盘展示号拼组。 + +`DispatchPlanningModels` 的冻结参数顺序如下,无旧签名兼容构造器: + +```java +SelectionGroup(String groupKey, String groupVersion, + List sources, List pallets, + boolean complete, List blockReasons) +SelectionGroupSource(CargoSelection selection, String sourceKey, + String customerId, String customerName, String sourceBusinessType, + String sourceBusinessNo, long packages) +SelectionGroupPallet(Long warehousePalletId, String palletNo, + List sourceKeys, long packageCount) +Candidate(CargoSelection selection, String sourceKey, String sourceVersion, + String customerId, String customerName, String warehouseId, String warehouseCode, + String warehouseName, String orderNo, String inboundCode, String planNo, + String palletNo, String containerNo, Destination destination, long availablePackages, + BigDecimal suggestedWeightKg, BigDecimal suggestedVolumeCbm, String measurementSource, + List appointmentBatches, List blockReasons, + SelectionGroup selectionGroup) +``` + +`selectionGroup` 由服务端完整来源事实生成;缺失组、缺少组版本或 `complete=false` 都不构成完整可选证明。组版本绑定全部成员及来源版本、换标完工/确认轮次、实际位置和组成;不得用单条来源版本冒充组版本。页面选择组后,`Create/AddCargo.cargo[]` 仍显式提交组中全部逐来源选择;服务端在锁内重算闭包并核对精确集合。草稿 `DraftSelection.source` 请求形状保持,单次加入/移除命令由服务端原子处理完整组并返回全部成员,不由前端循环单来源命令凑组;容器布局与正式转换不得拆开同一完整组。 + +草稿解除、释放及纯租约动作使用原冻结实托集合先取得共同串行行,再读取逻辑成员及物理拥有者,避免与到期接管的物理→逻辑顺序交叉。来源事实变旧不妨碍合法拥有者释放原占用;这些动作不新增当前来源资格条件。选货、布局和转换仍先锁完整申请/订单,再取得共同实托锁。 + +`DispatchViews` 的冻结参数顺序如下: + +```java +PdaItem(Long dispatchItemId, String customerId, String customerName, String palletNo, + Destination destination, long scheduledPackages, long pickedPackages, + List positions, List returnCartons, + String sourceKey, String sourceBusinessType, String sourceBusinessNo) +OrderDetail(String customerId, String customerName, String orderNo, String inboundCode, + BigDecimal grossWeightKg, Integer palletCount, String destinationFbaWarehouse, + BigDecimal volumeCbm, String containerNo, String sourceKey, + String sourceBusinessType, String sourceBusinessNo) +``` + +来源业务号直接取真实 `sourceBusinessNo`,换标来源为对应换标申请号;普通来源无该业务号时保持空,由页面显示“—”。不得解析 `sourceKey` 或以内部 ID 回退。PDA 保留逐 `dispatchItemId` 的既有 `Pick` 形状,不改为整托一次多写;同托多来源必须辨明逻辑来源,所选位置的额度和不可变拣货归属按本来源核对。`CargoSelection` 形状不变。 + +`LoadingPreview.pallets` 按实际 `warehousePalletId` 一托一行,计划箱数、已拣箱数为该实托各逻辑来源合计。不得把同一整托重量体积复制给每条逻辑 `CargoLine`;逐来源没有真实测量时保持未知,不按箱数分摊。现有同实托目的地一致、整申请排车、退货箱隔离和重做轮次规则保持,不引入拆托卸货或第五个详情页签。 + +普通换标贡献须保留逐 `RelabelItem` 的原货源快照与实际绑定位置。`application.lastlegOrderId` 可为独立申请生成的换标履约单,不等于所有原货源订单。工作事实先按申请和 item 聚合再关联,通知箱数不冒充成功箱数,成功/异常结果和新旧箱唛保留。无真实 SKU 件数时不能从箱数推算件数。原生退货继续使用真实退货箱及已有转换事实,不能伪造普通库存位置或收货凭据。 + +新增物理占用与来源贡献表后,`scripts/fleet-trip-rollback-test-env.mjs` 的全字段数据库基线也是直接消费者,必须纳入新事实后才可继续声称完整回滚;当前已验收脚本版本保持独立冻结,不与来源模型实现同时修改。 PDA 每车一个平台作业 task,删除 task 的 customer 头部;pick 与 pick_order 继续每条真实客户。task 业务号沿正式编号生成器生成,不能继续 `DPDA + 内部ID` 展示。主流程操作/幂等归平台整车,不借客户表承载。 +#### 2.3.2 换标贡献提供者的内部Java合同 + +提供者入口为 `relabel/port/RelabelDispatchSourcePort.java`,实现分别位于 `relabel/service/RelabelDispatchSourceService.java`、`relabel/repository/RelabelDispatchSourceRepository.java`、`relabel/mapper/RelabelDispatchSourceMapper.java`,保持 Service → Repository → Mapper。dispatch 只消费公开port,不直读换标持久化实体。方法与嵌套record参数顺序如下: + +```java +Snapshot snapshot(String warehouseId, List warehousePalletIds); +void lockApplications(List relabelNos); +Snapshot lockedSnapshot(String warehouseId, List warehousePalletIds); + +UnitFact(Long id, String oldLabel, String newLabel, String result, Integer quantity) +Application(Long applicationId, String relabelNo, String customerId, + Long fulfillmentOrderId, String status, String fulfillmentStatus, + String deliveryMethod, String roundKey, + LocalDateTime updatedAt, LocalDateTime customerConfirmedAt) +BoundSource(Long applicationId, String relabelNo, Long itemId, + String customerId, String warehouseId, Long warehousePalletId, + Long inventoryPositionId, Long inventoryBalanceId, + Long sourceInventoryBalanceId, Long sourceInboundOrderId, + String sourceInboundOrderNo, String sourceInboundCode, + long notifiedPackageCount, long boundPackageCount, + Long productQuantity, String bindingBasisHash, List unitFacts) +Position(Long positionId, String customerId, Long inventoryBalanceId, + Long warehousePalletId, long availablePackages, long holdPackages, + long allocatedPackages, long pickedPackages, long receivingPackages, + long recordVersion) +Snapshot(List applications, List sources, + List positions, String compositionVersion, + boolean complete, List blockReasons) +``` + +`snapshot` 读取当前完整运输组成,不按页面筛选或排车资格隐藏关系。已作废 `CANCELLED` 申请保留在原业务历史中,不再扩展为当前运输来源;实际库存位置全部保留,残余HOLD无法由当前贡献解释时仍阻断。其他状态的资格由消费方判断。`lockApplications` 必须在调用方事务内按换标业务号稳定顺序一次锁齐。`lockedSnapshot` 重新读取已锁申请组成,不提前取得库存锁。dispatch 先计算闭包,固定申请全集→真实来源订单全集→共同 `ll_physical_pallet_guard` 实托串行行→组成重读→库存和运输占用顺序;发现新申请、订单或实托不得临时按发现顺序追加锁,整笔冲突重试。仓内组拆托入口使用同一共同串行点。 + +此port只提供换标及库存事实,不反查dispatch账本;`Snapshot.complete` 用于零扫码选货阶段。两申请共享position时,贡献总箱数须与该position真实HOLD共同核对,不能只逐item各自判断HOLD足够。实际扫码后仍读取原身份、轮次和逐件事实,但箱数以已冻结 `ll_dispatch_item_source` 减去不可变 `ll_dispatch_pda_pick_order` 已消费额度,再核对全实托剩余贡献与真实HOLD;不得将零扫码完整性或最初通知数当作当前剩余额度。 + +`ll_dispatch_item_source.relabel_round_key` 保存原提供者的真实作业轮次。原 `bindingBasisHash` 保留完整选货依据,但含库存数量、版本及申请生命周期,不用于要求正常扫码后摘要保持不变。执行锁内分别比较冻结轮次、申请/明细/客户、实际位置与余额、原货源、通知及商品件数和逐件事实;当前位置剩余HOLD按冻结贡献减已消费额度核对。PDA逐逻辑明细只显示本来源实际位置和剩余额度,同一position不向每个申请重复提供整仓位HOLD。 + +正常TRUCK客户确认到实际扫码前仍保持HOLD,通用AVAILABLE合拆托不能移动冻结仓位;实际扫码在单一事务连续RELEASE/ALLOCATE/PICK/SHIP,不形成已提交AVAILABLE窗口。转运关联换标走原RESERVED/WAIT_TRANSFER_OUTBOUND分支,退出普通RELABEL候选。公开库存release仍可能使事实改变,因此必须保留锁内聚合及版本校验,不能宣称HOLD全局不可改变。原生退货箱继续由原提供者提供,不被普通位置贡献替代。 + +#### 2.3.3 派送与费用消费的换标原货源快照 + +共同字段位于 `DispatchContracts`,冻结顺序为: + +```java +SourceOrigin(Long dispatchItemSourceId, Long relabelApplicationId, Long relabelItemId, + Long sourceInventoryBalanceId, Long sourceInboundOrderId, + String sourceInboundOrderNo, String sourceInboundCode, Long productQuantity) +``` + +`CargoLine` 保留原参数顺序,在末尾 `List batchAllocations` 后追加 `SourceOrigin sourceOrigin`。`SourceOrigin` 实际为上述八字段,不另加字段别名或旧签名构造器。普通换标的第四真实拣货来源必须链接冻结贡献,并由此带出原货源;其他分支保留原真实receipt/return凭据,`sourceOrigin`为空。`DepartureFacts`等外层形状不变。 + +`CargoLine.orderId` 仍是本条真实履约计数归属,不以原货源订单替换或把独立换标申请的履约单伪装成原货源。`SourceOrigin.productQuantity` 表示本次归属中有真实依据的件数,未知为空;不复制整个贡献或实托的总件数。出库、派送及费用快照保留这份不可变来源,用户界面显示原业务号而不回退内部ID。整托实载重量体积不复制到来源行。 + ### 2.4 主档与临时外配 推荐车辆、司机分别使用显式联合类型,支持一个选档案、另一个临时填写: @@ -167,7 +268,7 @@ MASTER 的状态、区域、能力、证照及占用由服务端主档复验; | `GET D`、`GET D/{dispatchNo}` | Query及统计见4.5;公开status/stage按第3节唯一定义,ListRow/Detail均带recordVersion | 保留路径,替换旧三阶段;平台customerId仅以真实item筛车,不改变主单归属 | | `GET D/candidates` | 按仓、来源类型、订单/目的仓过滤,返回真实 customer/sourceKey/availablePackages/sourceVersion/blockReasons | 保留路径,移除多客户 planIds 的单客户推断;有界批量读取 | | `POST D` | `Create { idempotencyKey, warehouseId, vehicle?, driver?, plannedDepartureAt?, estimatedArrivalAt?, remark?, cargo[], batchAllocations[] }` → CommandResult | 新入口;cargo为空建空单,非空同事务选货建车;没有customerId/tripNo字段;未取得服务端生成号时通过原POST同键恢复 | -| `PUT D/{dispatchNo}` | `Update { recordVersion,idempotencyKey,vehicle?,driver?,plannedDepartureAt?,estimatedArrivalAt?,vehicleAppointment?,remark? }` | 保留路径;关键字段修改触发审核失效;不接收 status 或实际时间 | +| `PUT D/{dispatchNo}` | `Update { recordVersion,idempotencyKey,vehicle?,driver?,plannedDepartureAt?,estimatedArrivalAt?,remark? }` | 保留路径;关键字段修改触发审核失效;不接收 status 或实际时间 | | `POST D/{dispatchNo}/items` | `AddCargo { recordVersion,idempotencyKey,cargo[],batchAllocations[] }` | 新入口;可继续在空单加货;批次分配提交最终完整快照,来源锁和保存原子 | | `POST D/{dispatchNo}/items/{itemId}/remove` | `{ recordVersion,idempotencyKey,reason? }` | 替换旧无版本 DELETE,保留删除历史与占用证据;不物理删除已执行事实 | | `POST D/{dispatchNo}/cancel` | `{ recordVersion,idempotencyKey,reason }` | 替换旧无版本 DELETE;取消前真实未拣货、无活动派送/出库;保留原取消历史及资金作废语义 | @@ -205,7 +306,7 @@ MASTER 的状态、区域、能力、证照及占用由服务端主档复验; ListRow 返回业务号、五阶段、审核和装车/派送摘要、车辆司机、起运仓、计划/实际发车、数量、版本及动作资格;不装载完整订单/附件集合。Detail补充: - `vehicleInfo { vehicleMode,vehicleId?,plate,driverMode,driverId?,driverName,driverPhone,carrierName,vehicleStatus? }`;临时车辆没有主档状态时显示“—”,不虚构启用状态。 -- `dispatchInfo { route,plannedDepartureAt,departedAt,estimatedArrivalAt,fbaAppointments[],vehicleAppointment }`。多目的仓不能只返回一个 FBA 约号;预约从有效批次读,保留未知与待复核,不用头部可编辑约号覆盖正式预约。 +- `dispatchInfo { route,plannedDepartureAt,departedAt,estimatedArrivalAt,fbaAppointments[],appointmentBatches[] }`。多目的仓不能只返回一个 FBA 约号;预约从有效批次读,保留未知与待复核,不用头部可编辑约号覆盖正式预约。 - `documents { dispatchNo,deliveries:[{customerId,deliveryNo,destinationKey,status}],createdAt,updatedAt,remark }`;完整返回业务单号,列表摘要批量读取。 - `orderDetails[]`:真实客户、订单号/入仓码、重量kg、托数、目的FBA仓、体积m³、集装箱号及来源键。按真实订单组成批量组装,不把同托全量重量/体积复制到每个订单;没有可信分摊则对应字段null。`containerNo`、updatedAt、remark、多派送单当前排车DTO缺失需补齐。 @@ -309,9 +410,9 @@ statistics { | 新操作 | 根以后实际需要的链 | 不能做的事 | | --- | --- | --- | | 装车前编辑/审核/资源变更 | 根→资源(涉及才取)→dispatch→binding;涉及批次/来源变更再按batchKey及真实来源ID锁,触及预建出库时先取出库/派送再取来源 | 不将审核前置查询直接解释为来源已锁;不在库存锁后改批次或派送 | -| PDA扫码 | 根→必要资源校验→dispatch→binding→task/item→真实来源订单升序→退回来源行(对应分支)→position→balance,库存命令和pick归属同事务 | 本链不请求outbound/delivery行锁,不写整车派送完成;否则会与签收的delivery→source相反 | -| 装车完成 | 根→必要资源→dispatch→binding→task/item;批次/装载快照按当前事实复验,读取既有pick/归属;若需要来源锁则按ID升序且不再申请delivery锁 | 不先造派送以满足装车门禁;不执行allocate/pick/ship | -| 安排/发车/关联出库取消 | 根→资源→dispatch→binding→整车安排行/命令检查→全部客户outbound(客户/ID排序)→全部delivery(客户/ID排序)→task/item(需锁才取)→相关预约批次→真实来源订单/转运/换标等来源行→费用来源/Outbox及DML | 所有需取得的delivery行必须在第一个来源订单锁之前取得;不在持来源锁后补锁另一张派送,不再扣库存;取消只适用已有未执行合法分支 | +| PDA扫码 | 根→必要资源校验→dispatch→binding→全部换标申请→真实来源订单升序→共同实托串行行→组成重读→task/item→退回来源行(对应分支)→position→balance,库存命令和pick归属同事务 | 本链不请求outbound/delivery行锁,不写整车派送完成;不得按当前item才逐个补取申请和订单 | +| 装车完成 | 根→必要资源→dispatch→binding→全部换标申请→真实来源订单升序→共同实托串行行→库存及冻结贡献复验;读取既有pick/归属与当前装载清单 | 不先造派送以满足装车门禁;不执行allocate/pick/ship,不再申请delivery锁 | +| 安排/发车/关联出库取消 | 根→资源→dispatch→binding→整车安排行/命令检查→全部客户outbound(客户/ID排序)→全部delivery(客户/ID排序)→task/item(需锁才取)→相关预约批次;涉及实托来源执行/释放时再按全部换标申请→真实来源订单升序→共同实托串行行→库存/运输占用及来源状态取得锁,最后费用来源/Outbox及DML | 所有需取得的delivery行必须在第一个来源锁之前取得;不在持来源锁后补锁另一张派送,不再扣库存;取消只适用已有未执行合法分支 | | 签收资料/来源完成证明 | 本delivery→来源订单升序(保持既有显式READ_COMMITTED链)→业务完成/Outbox/待汇总信号提交 | 不取得trip/dispatch/outbound行锁;来源证明只读历史证据,不以父锁替代跨趟来源序列化 | | 主流程汇总 | 新事务trip→dispatch(不请求资源锁)→普通读全部已提交本趟签收/异常事实→CAS主stage→acknowledge本信号→同事务提交 | 不调用SourceDeliveryCompletionQuery.proveAll、不锁来源/历史派送;资源不因汇总释放;失败阶段与ack同时回滚 | @@ -524,3 +625,35 @@ Fleet现继续按真主单收敛:`FleetDispatchGateway.Snapshot(dispatchId,dis 2026-10-19 17:39 IAM权限新输入串行验证:`mvn -pl iam -am '-Dtest=Phase5DeliveryPermissionSqlContractTest,Phase5DeliveryPermissionSqlExecutionTest,AuthorizationSnapshotServiceTest,IamOpenApiContractTest,OverseasPhase4PermissionSqlContractTest' '-Dsurefire.failIfNoSpecifiedTests=false' test`实际29/29(1+5+7+5+11)通过。源码与target/classes/db/lastleg-permissions.sql SHA-256均为9deef80d2bcf383918b5ad48a63bea893ced2d9a32528e33268c02e73bbd4f67。输出`.logs/dispatch-iam-retired-smart-tests.log`;报告`iam/target/surefire-reports/`。File49当前输入未变,本轮未重跑。 预约接线正在实施:已新增`DispatchAppointmentAllocations`按Provider实际record字段顺序逐字段映射(Provider版本在第3字段,公共DTO在末尾),一次合并当前保留分配+新请求版本预锁,缺失/负数/同批混版本拒绝;create/add与草稿全groups预锁位于来源锁前。仅将已保存DispatchItem的真实客户传给bindItems,touched增量保留他人。源码已增加Fleet全范围父级/全部资源预锁及主单排序锁、内部预约改量端口实现:原主版本/零真实扫码/BEFORE_LOADING、完整实物及原分配集合复验、稳定父键子命令恢复,移出不解绑/取消整车,主单/来源/审核/历史随父事务回滚。新测试与整体验证尚在补齐;候选真实批读仍待Provider实际薄签名后接入,不能将这些源码视为已编译通过或链路完成。旧DispatchService.preArrange及两个私有单客户创建实现已移除,不恢复Provider旧bind/requireReplay;BOL仍待从旧platformDetail读取切到整车投影,旧测试和残留DTO同步继续。 + +2026-10-19 18:13 当前源码收口:主候选已使用实际Provider candidateBatches有界批读,校验返回覆盖每个真实客户/计划实物;owned draft由外层校验,未将本操作者自己的占用误判为他人占用。BOL已从旧platformDetail改为DispatchBolReadService一致快照,整车SQL逐明细客户取原订单组成,按客户+实际目的地分组;退回实收/换标不套用原完整计划箱数。旧DispatchService单客户页/详情/创建/修改/取消及旧PDA公开扫码流程已移除,来源与原换标占用规则保留,未恢复旧Provider接口。 + +最近一次实际完整Maven展开1062生产源码及453测试源码:生产编译通过;测试阻断已收敛为移交原派送写者的DispatchRepairWorkflowTest旧调用。原预约两FBA测试由总控修复父命令键;Fleet直接消费者、取货负断言已按现行createPickup收口。新增主单原预约移货/父事务回滚/客户数量原分配校验/真实扫码守卫和BOL两客户/部分退回SQL测试尚待统一运行。旧增量输出曾因IDE更新显示Nothing to compile,不能据此认定完整测试编译或回归通过;最终仍用稳定源码重新构建。主单cancel已改为仅活动非CANCELLED出库阻断,保留历史单据和原版本、阶段、零真实扫码边界,实际回归待运行。 + +2026-10-19 18:24 本轮实际闭环证据:标准Maven完整`test-compile`实际重新编译1055个生产源码、454个测试源码并BUILD SUCCESS(此前移除6个本域旧DTO/实体/Mapper及原派送无生产调用Query;当前Mapper扫描为10模块/392 Mapper通过)。记录`.logs/dispatch-full-current-test-compile.log` SHA256=3852983b13e1182be8d22baeea4adaf774e4ddf57db11fe0354c0a900913d85f;旧客户头类class已核不存在,不用排除消费者的局部编译代替全服务编译。 + +行为回归先运行71类438项,实际423通过、8断言失败和7错误;随后按新输入只复跑修正项与新增直接消费者,9类69/69、8类90/90、3类16/16均BUILD SUCCESS。按每类最新结果去重共80类501项,0失败/0错误;这是分批组合覆盖,不宣称一次501项全绿Maven。机器可核摘要为`.logs/dispatch-final-evidence.json`,包含每份日志SHA256和每类最新来源日志。实际覆盖原预约分配/整票移货/父事务回滚、主单PDA双客户真实库存命令、装发/签收消费、来源发布并发、取消重排、归箱与异常来源、候选批读、BOL真实SQL、网关与资源附加能力。测试替身隔离的提供者和手工准备的已发运夹具不等同真实环境整链验收。File49及IAM29输入未变,仍引用先前实际通过结果,未重复计入501。 + +FleetAppointmentImpactMapper已使用唯一binding+真实item客户EXISTS(SHA256=36ae1dccaff96dcc49a8bc1a43ebaba18950b641440cf6bc5682ffa0e6911381);VehicleFulfillmentMapper也以真实item客户证明替代binding头客户(SHA256=79ec8f7a818c412931e81f7e2b6a5299cb4c8bf38939ca5f645a5a5d43d70761),车辆履约7项与权限/只读合同2项在90项中通过。其夹具为一张整车、两客户、一条车次绑定,并保留伪客户、原发车、换车及交接断言。 + +依赖门禁本轮先发现新增既有预约→整车公共端口7条精确类型引用未登记,已按获批接线加入reviewedClassDependencies(不加整个slice许可);随后总控接管该基线和反向越界检查,最终Node结果以总控交付后复跑为准。原fleet.pickup的Mapper/Repository/Service到WarehouseTransferOrder三条旧直接实体引用及fleet outgoing限制仍是开工前既存阻断,不在排车作业里放行。未执行部署、SQL、环境写入、真实HTTP/PDA或人工截图验收。 + +2026-10-19 18:26 总控冻结依赖输入后实际Node复跑13项:10通过、3失败;新增original appointment adapters use only the reviewed dispatch port types合同通过,包括未知消费者及主流程实现类型的反向拒绝。剩余失败仅由上述开工前取货三实体直接依赖及fleet outgoing限制触发,未放宽slice。日志`.logs/dispatch-lastleg-dependency-contract.log` SHA256=6a767619db627952ce59aaba5d4530413728d18a4c21928b61ca2f05008a6cff;501行为组合覆盖及编译证据摘要已同步依赖结果。最终Mapper合同为10模块/392个Mapper通过,受影响路径git diff --check通过。 + +2026-10-19 18:27 最终冻结输入的一次联合Maven已实际完成:80类501/501,0失败/0错误/0跳过,BUILD SUCCESS;日志`.logs/dispatch-final-joint-regression.log` SHA256=b56da123ceb74409530793c3de92467cac686b03d97eb4afc34febc1a4b83238。这次结果独立于前述分批组合,不用组合结果冒充单次通过。完整命令参数及源码/合同快照在`.logs/dispatch-final-inputs.json`(运行前后1519份文件逐项SHA一致,其中生产Java1055、测试Java454;归一化路径排序聚合3ff451e8b6e6774e53bbc62fba5b2fcd2b7098e129d490434468b3ef91594de9;快照文件SHA256=ae07cb978c639488c8de78b458e9c1995fe6e66bee1fcd4bb8e34a79a644ad12),摘要`.logs/dispatch-final-evidence.json`已追加finalJointRun,未排除任何测试编译消费者。 + +Gateway路由合同最终5/5通过(`.logs/dispatch-final-gateway-route.log`)。AGENTS索引第一次仅“海外PDA指引超过8000字符预算”失败,没有缺失路径;总控已交原前端写者精简该唯一指引,源码及本次501输入不受其文案变化影响,待新指引后单独复验。整体依赖门禁仍为10/13,不标为全通过;现有取货依赖是独立限制。行为已通过输入不再反复测试。 + +最新用户裁定取消排车车辆预约字段及关联:Create原本无该字段;本次从Update和DispatchInfo彻底删除vehicleAppointment及AppointmentReference/VehicleAppointment类型,Aggregate删除对应拒绝分支和固定null参数,无别名或空占位。车辆预约不再列为待接通依赖。FBA预约及批次保留,日历新增预约不变。此前单次501回归绑定删除字段前的输入;本次签名变更以新的全测试编译及直接消费回归为准,保留旧日志作为历史证据。 + +2026-10-19 18:38 按“取消车辆预约字段”新输入完成无排除test-compile,BUILD SUCCESS(`.logs/dispatch-without-vehicle-appointment-test-compile.log` SHA256=50cc293c71a64a8242ca6f5852875542d7a8ff822def7f012fae926dd9103071)。直接受影响5类25/25、0失败/错误/跳过,BUILD SUCCESS;日志`.logs/dispatch-without-vehicle-appointment-direct-tests.log` SHA256=dbadeab653c67610b8c2b09ac8cd9af8177c0d7decdb0b7ab7bd94f8748475f7,真实Update新增验证计划保存/原键恢复及详情JSON无车辆预约字段,并保留FBA展示。相对旧501快照恰好8份Java/合同/测试输入变化,新源码快照`.logs/dispatch-vehicle-appointment-removal-inputs.json`,聚合1607ea98c3f9a8fadf66541f95c70f33e4ebae55cb3823b3801d52d5196b0685;完整命令和变更列表见`.logs/dispatch-final-evidence.json`的新vehicleAppointmentRemovalVerification。不重跑未受影响库存、发车或派送501组合。 + +公共类型新SHA256:DispatchCommands.java=0553f0af5dbe31bb9d63701872540261398536f1925edfc3d7f309202aeeea56;DispatchViews.java=2c027f2516ee7a1a0a544e52aaa4a8be70b1439a0b94008223335d499ebf2ae9。两被移除嵌套类型的target/classes也已核不存在。新AGENTS长度已合格,但第二次索引仅缺两段固定文字“涉及业务行为变更时必须核对对应细则”“不得与国内 PDA 混用”;继续交原前端指引写者恢复,尚未记索引门禁通过。 + +Java候选交接边界:总控已核取消车辆预约后无排除test-compile及25项直接回归均BUILD SUCCESS。Java本域停止对未变输入重复检查;Maven写权仅供后续真实Java问题续接。此前501单次回归继续绑定旧字段输入,不冒充新协议501通过。总控继续统一AGENTS索引、前端及现行HTTP验收脚本消费者,未将它们标记为本Java域已完成。总控报告当前OpenAPI按源重生97 schemas、29平台+7PDA路径、649 refs和两SQL静态通过,无车辆预约字段;该重生输出及索引/脚本最终证据由总控持有。依赖门禁仍10/13,旧取货直接实体引用不豁免;无环境发布/真实HTTP/PDA/截图验收。 + +2026-10-19 C52路线事实修复:FleetTripService.updateDispatchCargo不再仅追加旧路线。起点与本车起运仓一致;按当前真实货物目的地和有效外接预订(CONFIRMED/RECEIVED/BOUND)目的地保留原站点相对顺序,删除没有任何有效支持的旧站,新货目的地追加。有效预订要求的站若原路线已缺失则整笔主单事务失败,不编造站名/地址。原计划容量、实载和理货快照继续随货物修改清空;车次更新增加原版本条件,和明细、来源占用、绑定货量、命令账本同事务回滚。直接提供者仅新增FleetBookingReservations.requiredRouteDestinations并复用到原requireRoute,未扩展其他业务或公共API。 + +实际检查经scripts/local-check.ps1单槽执行,未提高Maven默认1536MB/2处理器限制:无排除test-compile exit0/BUILD SUCCESS;5类33/33、0失败/错误/跳过/BUILD SUCCESS,其中FleetDispatchRoutePersistenceTest新7项涵盖多站末托移除、有效站原序/新站追加、同目的地多托保留、空车仅起点、三种有效预订保护与取消后去站、缺失必要站冲突、真实绑定写入失败后的主单/路线/占用/货量/账本回滚及同键重放。其余直接回归为DispatchAggregatePersistenceTest11、FleetTripPersistenceTest7、FleetReceiptCapacityTest5、FleetTripMatchedStopsTest3。Fixture复用真实服务/Mapper/H2事务,目录与选货权威仍是受控提供者,预订作为持久化输入;不宣称真实环境HTTP/库存或预订确认整链验收。 + +C52源码SHA256:FleetTripService.java=28eca09b87337b07a04955039a50c3c55805289955c24db75fe9df6fbf0b3bcc;FleetBookingReservations.java=84906c28ccaf94125a41c03a30c9df392400af74569ed26c2da8abd5c116144c;FleetDispatchRoutePersistenceTest.java=687248640255a40456f4197cab28dd32e8a16f97a833858fc868e171dcf2b62c。3路径聚合9fab733033d4fffaeb716b4cb2720dd72b26c14ece1b97d6bd6d2e30db502aa2(规范化路径Unicode顺序、path+空格+小写SHA、LF连接无尾LF)。命令/资源限制/3份源文件时间与哈希、5份JUnit XML摘要及用例名、Maven日志均在`.logs/dispatch-route-evidence.json`,SHA256=642624474f2d978247e5d02582dc4f4ced3a89000bf694091de0cb15a5fd892d。Wrapper日志`.logs/dispatch-route-test-compile.log`/`dispatch-route-regression.log`,原始子进程输出分别留在`dispatch-route-test-compile.maven.log`/`dispatch-route-regression.maven-tail.log`,后者完整保留5类结果及BUILD SUCCESS。33通过后生产和测试输入未再修改;没有重跑501/索引/无变化门禁,没有环境写入或部署。 diff --git a/海外仓业务/排车列表派送费用接口设计.md b/海外仓业务/排车列表派送费用接口设计.md index dbbd737..6c6ec04 100644 --- a/海外仓业务/排车列表派送费用接口设计.md +++ b/海外仓业务/排车列表派送费用接口设计.md @@ -577,7 +577,7 @@ lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/receiving/FbaReceiv ## 14. 第13节既有预约接线实施包(2026-10-19) -本轮授权后实际实现包为下列19个后端路径;主流程公共合同、Aggregate桥接和锁实现由主后端独占,根接走的旧查询3+1不在本包。File冻结;草稿仅解除DispatchDraftService候选/视图及其直接测试,生命周期、命令重放、到期修正保持。此处仅是实施交接,编译和回归仍由唯一Maven执行者确认,不将新增测试或静态检查记为通过结果。 +本轮授权后实际实现包为下列19个后端路径;总控随后只对`FbaAppointmentPersistenceTest`与`FbaReceivingPersistenceTest`补齐13处父命令键参数(部分移动直接断言原键`partial-confirm`),其余17文件保持交付输入,本节已更新两文件及聚合摘要;主流程公共合同、Aggregate桥接和锁实现由主后端独占,根接走的旧查询3+1不在本包。File冻结;草稿仅解除DispatchDraftService候选/视图及其直接测试,生命周期、命令重放、到期修正保持。此处仅是实施交接,编译和回归仍由唯一Maven执行者确认,不将新增测试或静态检查记为通过结果。 - 原Provider:`Allocation(planPalletId,batchKey,Long recordVersion,customerId,sourceKey,destinationKey,packageCount)`;`PhysicalItem(itemId,customerId,planPalletId,sourceStage,packages)`;`BatchReference(batchKey,batchNo,Long recordVersion,customerId,sources)`。版本显式必填,零合法;移除旧bind/requireReplay。批次预锁固定String键排序,一次锁齐,事务后续只能复用已经声明的集合。 - 候选实际入口:`Map candidateBatches(List)`;`CandidatePhysical(String customerId,Long planPalletId)`;`CandidateBatches(List appointmentBatches,List blockReasons,boolean occupied)`。最多1000个输入,整页两次本地SQL,来源去重后遵守原100票边界分块规范化;不逐候选循环batchContext。真实客户/计划托盘、BOOKING/ORDER、批次版本、目的地、跨车原分配余量与全来源有效实托占用共同决定结果。sources.packageCount由本托逐票实物和该批余量共同限定,零余量不伪装成可选项;缺失/陈旧归属返回阻断。occupied含本草稿自身,调用方仍按真实草稿身份核占用,不能直接阻断自己的已选来源。 @@ -596,7 +596,7 @@ mvn -pl lastleg-service -am '-Dtest=AppointmentWorkDispatchBindingTest,Appointme 车辆预约未定位权威提供者,现有拒绝门禁保持;未新增预约权威表、预约创建API或日历表单/面板。 -19路径聚合SHA256:`a1ebcebf57812efcab400b49f8681f596941e0a3864ea2f48d937991d604fdd7`。按JS默认localeCompare排序,使用`path + 空格 + 小写SHA256`以LF连接,末尾无换行、UTF-8无BOM: +19路径聚合SHA256:`70526153276ae4d8f5be3e211b5067ca3a8ae79a24eefe7b490df4b1486ad658`。按JS默认localeCompare排序,使用`path + 空格 + 小写SHA256`以LF连接,末尾无换行、UTF-8无BOM: ```text lastleg-service/src/main/java/com/baiyue/lastleg/appointmentwork/AppointmentWorkDispatchPort.java 33f2ec5f8a19eaa814a9f618dc7e91908dfb609174912a98224fb89be47cd653 lastleg-service/src/main/java/com/baiyue/lastleg/dispatch/service/DispatchDraftService.java 0330fe2f78484a0a744b4d5fbdb5471dd1ad1fbe5360af190040377419114d46 @@ -611,8 +611,8 @@ lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/work/FbaAppointment lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/work/FbaAppointmentTransportAdapter.java 4124e454ea63d6803cf1d82f5376a009806088ce8213f2d736759edf369f2c9c lastleg-service/src/test/java/com/baiyue/lastleg/dispatch/service/DispatchDraftPersistenceTest.java 846aa50bb8af260a16f806cb92686f155bf5c81d2dc607f94216965e66220e96 lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/service/AppointmentWorkPreArrangementPersistenceTest.java 8300008cda492a6be58542e1ec5e22409ebb2b22caec315b797a2c5dd83643a2 -lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/service/FbaAppointmentPersistenceTest.java dd31a3bad09797cc4c60cdaa199978deb1f217608b98590ecc823cfc932d0596 -lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/service/FbaReceivingPersistenceTest.java 0b33acb5ad56882f11746909167178d4e802c4d9e4d1885cd6f0ff35414836ed +lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/service/FbaAppointmentPersistenceTest.java 222cc71e3b24f7bbe25cc743fc964891f6d2c385e276744af59b45d5abe72d7c +lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/service/FbaReceivingPersistenceTest.java 504c79ab02cac49cbb5c4698959ace76d2c3970532bf9e3c372e64930f449407 lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/work/AppointmentWorkDispatchBindingTest.java df2b0e6a7f86f2678ae8c857a20016e1ce9a7ed2adf6870571e0577974212e61 lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/work/AppointmentWorkDispatchPersistenceTest.java 06b3fb5da55e373f874e6f700a699f60f5edd1c8d1a33498be2da3e154853f27 lastleg-service/src/test/java/com/baiyue/lastleg/inboundplan/work/FbaAppointmentExecutionAdapterTest.java 076198846409ee929853807d3e822c9cbf106bf26fb09a69def7bbe2d715774f diff --git a/海外仓业务/排车列表统一作业改造契约.md b/海外仓业务/排车列表统一作业改造契约.md index b37c0cb..e1ee894 100644 --- a/海外仓业务/排车列表统一作业改造契约.md +++ b/海外仓业务/排车列表统一作业改造契约.md @@ -16,7 +16,9 @@ 8. 同时支持先选同一起运仓的可排货物/托盘再生成排车单,以及先创建空排车单再添加货物;空单不能伪造货物、拣货、装车或发车事实。 9. 车辆和司机既可从已有档案选择,也允许临时填写外配车辆和司机;临时填写不伪造车辆或司机档案关联,不自行创建主档。 10. 后台确认装车完成必须以PDA真实拣货核平为前提。后台不提供替代PDA的拣货数量补录来绕过此条件;PDA和后台均可确认装车完成及实际发车的既有确认保持。 -11. 用户随后澄清本次“新增预约”是预约日历的功能需求,先与本批排车改造分开整理。本批不新增日历预约创建或独立约车流程;排车已有FBA预约、车辆预约字段及权威关联继续保留。此前确认的先保存后关联意见保留为日历需求输入,不作为本批扩大实现范围的授权。 +11. 用户随后澄清本次“新增预约”是预约日历的功能需求,先与本批排车改造分开整理。本批不新增日历预约创建或独立约车流程;排车保留已有FBA预约关联;用户随后对车辆预约权威来源问题答复“那就不要”,因此排车取消车辆预约字段、关联操作及公开协议,不再等待或新建该权威提供者。此前确认的先保存后关联意见保留为日历需求输入,不作为本批扩大实现范围的授权。 +12. 用户进一步明确“本批支持整托同车”:两张换标单已合到同一实托时,整托进入同一排车主单,物理托盘及容量只计一次,各换标单的箱数、客户及扫码归属分别保留。不得只装第一来源、借第一客户承载其他来源,或把同一实托拆成两张排车绕过排他占用;此确认取代该场景的待决定状态及仅作前置拦截的候选方案。 +13. 用户进一步确认:换标已由客户确认完成、关联出库单尚未扫码时,只取消本次出库安排,保留已完成的换标成果,退回待安排。不得将已确认换标申请一并作废;取消须清除本次有效出库关联,保持真实客户、原换标成果及重新安排资格。此规则不放开已扫码取消或新增回库流程,整车取消仍遵循既有阶段、版本和零扫码门禁。 ## 二 原型依据与详情四块 @@ -27,7 +29,7 @@ | 分区 | 截图字段或列 | 布局 | | --- | --- | --- | | 车辆信息 | 车牌号、司机、联系电话、拖车公司名称、车辆状态 | 第一个彩色图标页签;紧凑字段布局 | -| 排车信息 | 路线、发车时间、预计到达时间、FBA预约、车辆预约 | 第二个彩色图标页签;紧凑字段布局 | +| 排车信息 | 路线、发车时间、预计到达时间、FBA预约 | 第二个彩色图标页签;紧凑字段布局 | | 单据信息 | 排车单号、关联派送单、创建时间、更新时间、备注 | 第三个彩色图标页签;多单号完整展示 | | 关联订单明细 | 订单号、重量kg、托数、目的FBA仓、体积m³、集装箱号 | 第四个彩色图标页签;通栏只读表格 | @@ -105,6 +107,7 @@ | 实际装载核对 | 在确认装车弹框接入既有实载核对,有依据的实际数据自动带出,缺项再确认;保持PDA真实拣货核平前置 | 实载来源/字段/弹框及双端核验;不新增第五个详情页签,不代填拣货箱数 | | 零扫码变更 | 保留原排车单号,显式退回装车前,修改后两级审核重提 | 新审核轮次、权限和历史;已经扫码的退装/回库不在本批新增 | | 客户直接创建派送 | 本批整车安排仅由平台执行,客户继续查看自己的派送单,移除旧客户直接创建这类派送入口 | 派送后端移除对应Merchant创建写入口;前端任务按第九节更新Client直接消费者,保留本客户读取及合法资料操作 | +| 换标合托同车 | 同一实托可承载两张换标单的逻辑运输来源并整托同车;各来源真实箱数、客户及扫码归属保留,托盘和实际容量只计一次 | 同车内物理占用共享、跨车排他;候选、整托完整性、扫码归属、实际装载及派送/来源状态的直接契约须一致,不能只放开重复托盘校验 | 工程事项仍由总控负责:公开版本字段、请求摘要与业务摘要、真实库存扣减点、子单与来源锁序、签收持久提醒的写入和消费职责等不要求用户裁定技术细节。尚未核实的资源/预约提供者反向锁点必须在实现前补齐证据,不能用业务确认替代代码和并发验证。 @@ -140,6 +143,30 @@ - 主后端继续唯一维护上述草稿移交包以外的`dispatch/`、`fleet/trip/`和共享端口,补审核/装发、实际来源、PDA、Fleet一对一收敛及真实读写合同;不新增页面或业务规则。主后端保留唯一Maven执行权,按稳定输入覆盖File和派送用例。前端冻结后的只读差异核对已发现Long数量/附件大小字符串造成的真实阻断,总控仅解除其原有独占范围冻结以修正响应边界、直接消费者和真实wire回归;ID/版本继续无损,不改共享解析器、DataTable、导航或新增预约。 - 总控直接承担共享数据库基线、OpenAPI、权限及根入口收口,其他任务不写这些文件;File上述独占契约除外。索引/AGENTS最终统一维护,避免另建重复状态文档。 +### 换标同实托多来源的实施冻结 + +用户已确认本批支持整托同车。本次按真实物理托盘与逻辑运输来源分层:同一车内共享物理占用,来源分别保留客户、换标业务号、原货源与可拣贡献;跨车及跨草稿容器继续物理排他。只移除一条来源不得提前释放仍有其余来源的实托,取消、草稿失效/转换及零扫码重审沿同一完整集合执行,不通过第一条来源或FIFO推断其他来源。 + +候选由服务端返回完整选择组及组成版本,使用未被页面筛选截断的事实闭包,兼顾既有整申请规则;前端不按当前可见相同托盘码自行拼组。正式Create/AddCargo保留显式逐来源选择并在服务端复核全组;草稿单来源动作须服务端一次命令原子处理完整组,不能用前端循环多个写请求代替整组一致性。PDA保留逐明细精确扫码,展示明确换标业务号及该来源可拣位置/额度,全部逻辑来源核平后才允许装车;不新增整托一键多次扫码或自动补拣数量。 + +LoadingPreview及实际容量按每实托一行,逻辑箱数、来源状态与费用分别按真实归属保留。整托实测重量/体积不复制到每逻辑来源;业务份额只使用实际来源证据,缺少证据保持未知,不按箱数推件数或平均分摊重量。主流程先产出字段级公共骨架及唯一接口设计,前端以实际Java记录对齐;来源贡献的仓库生产者/移动触点及精确DDL由主流程提出,总控核对现有写者后逐文件分配。共享SQL/OpenAPI仍由总控集成,Maven仍由主流程唯一执行;此前普通流程通过结果不覆盖本次新增模型。 + +来源贡献的直接验证按主流程明确释放的有限边界并行:派送专项唯一新增`lastleg-service/src/test/java/com/baiyue/lastleg/dispatch/service/DispatchItemSourcePersistenceTest.java`,验证冻结贡献、逐明细/客户/位置消费、已消费额度、HOLD合计及事务回滚;该文件移交前主流程确认未创建、未写入。`DispatchItemSourceService`、Repository、Mapper、Entity及公共port仍由主流程唯一维护,派送专项不并修生产;提供者受控输入的组件测试不能代替真实provider与主流程的组合回归,Maven仍只由主流程执行。 + +### 实托组成冻结的共同串行点 + +当前运输组成须排除已由既有换标作废事务结束的申请历史,不沿其旧明细指针扩展实托闭包;真实库存位置仍完整保留,残余HOLD没有当前来源贡献解释时继续阻断。活跃、尚未取得排车资格的申请仍参加完整性核对。普通纯SKU的既有履约资格和库存生命周期保持原规则。 + +草稿纯释放和续租入口(UNSELECT、RELEASE、CREATE_CONTAINER、REMOVE_CONTAINER)须先按原草稿冻结实托集合取得共同Serial,再读取逻辑和物理占用,并在等待后复核原租约;不重新要求当前来源业务资格。SELECT、SNAPSHOT及CONVERT继续遵循既有资源、申请、订单到Serial的完整锁序,不把Serial提前到来源锁之前。到期接管与原草稿动作共享该串行点,不能分别采用逻辑成员到物理占用、物理占用到逻辑成员的相反锁序。 + +主流程已提出且总控冻结窄协议:`inventory/port/PhysicalPalletSerialPort.java`仅提供`void lock(List warehousePalletIds)`。永久表`ll_physical_pallet_guard`仅有真实全局`warehouse_pallet_id`主键与首次`created_at DATETIME(3)`,没有客户、状态、TTL或运输owner。调用方事务内对去重升序实托执行保留原时间的主键upsert及逐行FOR UPDATE,空目标也取得同一串行点;未关联实托的计划不伪造ID。 + +原有资源/主单父锁之后,预读完整源目标组成,稳定取得全部申请、真实订单,再取得全部实托串行行,重读组成,最后库存及运输claim。新增申请、订单或实托必须整笔冲突,不能持锁后追加无序集合。仓内移动、原托保留、return/unbound都覆盖普通库存、原生退货及空目标;不得给仓内作业新增暂扣资格限制。退货远端physical.apply须置于门禁之后,原业务失败补偿在共同串行锁仍持有时完成。 + +本有限包文件分配:既有B专项唯一新增inventory下上述port、`service/PhysicalPalletSerialService.java`、`repository/PhysicalPalletSerialRepository.java`、`mapper/PhysicalPalletSerialMapper.java`和对应真实Mapper/H2持久化测试,不修改排车/草稿消费者。主流程A唯一接入正式排车与草稿,并仍唯一维护公共排车模型及执行Maven。既有内部`native_fleet_script`唯一修改`palletops/service/PdaPalletOperationService.java`、其原直接测试,按必要最小范围修改本域Repository/Mapper及新增`PdaPalletDispatchFreezePersistenceTest.java`,不写inventory共同实现或dispatch/relabel提供者。SQL两基线与初始化合同总控唯一维护。各包先读取最近指引,交付准确SHA与未验证项;不得增加HTTP、状态协议或迁移。 + +草稿后续接线按主流程明确交接再次细分:B唯一维护`DispatchDraftService.java`、`DispatchDraftRepository.java`、`DispatchDraftClaimMapper.java`、`DispatchDraftPersistenceTest.java`四文件,A确认当前未写且暂停这四文件;A保留完整来源解析、正式主流程、PDA及公共模型。B以`selectionGroup(warehouse, selection)`读取完整组,以`lockDraftSources(warehouse, 全部组成员)`锁定并复核,选择、解除、布局、释放、到期与转换不得拆开同一完整组;按物理实托共享claim并只计一次容量,按逻辑来源保留真实客户及箱数。源版本与组成必须服务端核验,不增加前端循环写或公开协议别名。永久串行点的草稿接入由该B四文件包消费A来源锁方法,覆盖上段原先由A统一接draft的安排,其他边界不变。`DispatchItemSourcePersistenceTest.java`仍B唯一维护,按A明确新增`relabel_round_key VARCHAR(128) NOT NULL`同步手写建表并保持原16场景;SQL仍根维护。 + ### 既有预约接线的本轮授权 2026-10-19用户明确批准按《排车列表派送费用接口设计》第13节接线,新增预约不动。本段覆盖下列既有消费者的此前只读限制,不接管日历新增预约或建立车辆预约权威表。 @@ -148,10 +175,18 @@ - 主后端继续唯一维护`dispatch/port/`和主流程,给既有批次候选引用、分配补权威`recordVersion`(0合法、缺失及同批混版本拒绝),提供版本化的窄内部原预约变更命令;负责创建、加货以及草稿全批转换在来源锁之前预锁完整批次集合。另取得`ExceptionOrderService`及其直接测试的最小适配权,仅修正新共享PDA任务接口消费并保留明细/扫码/订单按真实客户隔离,不新增异常功能。 - 前端只在原排车模型/API/wire/弹框、三个已授权既有Work排车表单及直接测试内,按实际Java合同透传批次版本;原冻结候选仅对此接线解除冻结,其他部分保持。不得猜版本、补0或改日历新增预约、面板、planningApi及公共密度文件。 - 批次分配采用本次触及明细的增量替换,保留其他客户与未变明细的原分配,并以整车有效总量复核。统一锁序为全部父trip/资源/dispatch及必要的全部客户outbound、delivery,再全部既有批次、来源及实物/库存占用,协调guard在业务锁与变更之后;不能形成来源→批次反序。原命令身份、两级审核失效、主版本、零真实扫码、完整实物及整事务回滚规则不变,不补回退役Fleet绑定/移货别名。 -- 车辆预约仍须明确原权威记录、版本和归属提供者。当前未定位到该提供者时保持显式门禁,不能用FBA批次、外接预订或旧手填状态替代;此授权不包含新的车辆预约表、创建API或日历业务。 +- 用户最新明确取消排车的车辆预约:删除页面展示/输入、Update引用字段、详情字段、对应公开类型和拒绝占位分支,FBA预约不变;不保留旧字段别名或空字段,也不新增车辆预约表、创建API或日历业务。此前“保留权威关联、未定位时拒绝”的安排被本次裁定替代。 共享SQL、OpenAPI、权限仍由总控集成,Maven仍由主后端唯一执行;不增加任务、不部署、不执行环境SQL或真实业务写入。 +本轮收口为减少串行等待,总控独占适配四个实际旧查询消费者:`exceptionorder/mapper/ReturnCartonStockReceiptMapper`、`inventory/mapper/ReturnStockReceiptMapper`、`delivery/mapper/DeliverySourceEvidenceMapper`、根`mapper/CustomerOrderProgressMapper`,并补齐同一旧任务客户头引用的`delivery/mapper/DeliveryOperationMapper.returnReceipts`,及直接查询测试`CustomerOrderProgressMapperTest`、`DeliverySourceEvidenceMapperTest`、`SharedDispatchReturnQueryTest`。仅消除已退出的主单/任务客户头、旧状态及发车列依赖,保留真实明细/扫码/订单/派送客户隔离与原数量规则;派送任务不并写移交的查询Mapper。原前端写者同步`CapacityInquiryTable`、`CapacityInquiryDialog`两处同一外接入车API的当前新建权限,保留其他三项独立权限。派送任务另独占`ReturnCartonReturnPersistenceTest`及主后端随后明确释放的`DispatchRepairWorkflowTest`的新模型夹具和构造器适配,主后端不并写该文件;现有归箱、逐SKU恢复、幂等、客户隔离、回滚和真实结案断言保留。总控另精确接手已交付19文件包内`FbaAppointmentPersistenceTest`、`FbaReceivingPersistenceTest`的transport.apply父命令键测试签名收敛,派送任务不并写这两个测试;其他17文件保持冻结。总控另唯一维护`DeliveryTransferService`及其直接测试:PDA解析改用真实整车Repository并保留绑定仓,取消出库不再被整车自动创建的唯一Fleet关系误阻断;ACTIVE/装车前/零真实扫码发运、子单未执行与费用门禁保留。本轮总控还收敛实际旧模型的直接查询消费者:`DispatchFeeCargoMapper`及`DispatchFeeCargoMapperTest`、`PlatformDispatchOutboundContractTest`;无生产调用的`DispatchCargoSourceQuery`删除,原真实来源断言转到现行FleetAdapter。另由总控唯一修改`LastlegOrderMapper.findDispatchStatuses`、`InventoryCommandMapper.shipmentSources`、`InboundPlanQueryMapper.SCHEDULED_DISPATCH`、`AppointmentImpactRelationMapper.dispatches`及四份直接查询测试;仅调整共享头身份/阶段,明细客户、真实库存命令、仓库及取消边界继续核验,不改预约创建。`FleetAppointmentImpactMapper`由主后端单写同一模型的绑定查询,双方不并写。没有新增异常、库存、外接或预约业务。 + +### 本轮测试环境实施授权补充 + +用户随后明确授权总控部署测试环境、操作测试数据库、调用真实HTTP,并使用内置浏览器登录验收样式、交互及请求量;Admin/Client按1920×1080,国内/海外PDA按390×848。此前仅离线检查、默认不部署和由用户截图的限制在此精确范围内由新授权取代。目标仍为本契约所属TEST项目及当前排车改造,不接管日历新增预约,不操作开发或生产环境。总控统一协调发布、SQL及环境写入,先核对匹配源码、结构、权限和现有运行版本,执行后按实际证据维护环境主契约;部署成功、HTTP通过和浏览器验收分别记录。 + +本轮换标出库取消修正的唯一实现者为总控内部`native_capacity_consumers`,只写`DeliveryTransferService.java`、`DeliveryCancellationRepository.java`及`ReturnOutboundClosureTest.java`;覆盖原生箱及普通仓托,保留原配送方式、已确认成果及库存事实,TRUCK退回待排车,其他方式退回待独立安排。不把非TRUCK来源改成TRUCK、不重跑换标完工确认或新增旧独立出库安排API。非TRUCK再次独立安排入口的接线尚不属于本次取消修正,不以取消持久化成功推定再次安排已完成。后端其他写者冻结这三文件,Maven仍由主后端统一执行。 + ## 十 日历新增预约的范围分离 用户澄清“新增预约”应放在预约日历,并指定由对话 `01a15231-2507-7802-8015-34b01f5eb2c4` 处理,明确本总控不用接管。三个排车任务不修改预约日历的新增预约表单、权威预约模型或预约新建API,也不承担其设计和矩阵;本批只处理整车改造确实影响的既有预约读取/关联消费者,有限接线写权见第九节,不自行接管新增预约或跨对话派工。 diff --git a/独立任务协作登记.md b/独立任务协作登记.md index 8950e65..1526a97 100644 --- a/独立任务协作登记.md +++ b/独立任务协作登记.md @@ -2,6 +2,10 @@ ## 2026-10-19 排车列表统一作业改造 +2026-10-20 10:27总控当前安排:用户要求先HTTP全链路再人工走单,停止进一步样式验收。原C已装车后v8,根唯一准备显式AFTER_LOADING续跑,不重建或重做前半程;实际环境节点以[部署主契约](测试环境单机部署与配置契约.md)顶部为准。复用三个既有内部执行者:capacity唯一写跨客户脚本及direct合同2文件,修正测试模型A0403文案并以唯一85488等待共享检查槽;fleet已冻结证照读取Java及测试3文件,现只读检查后半程DTO,不跑环境;fulfillment已交详情展示3文件、16/16通过并冻结。根负责原单HTTP、共享文档、后续精确集成及发布,未新建用户可见任务。下方09:45的80263及LOADING v5属于此前检查点,不是当前状态。 + +2026-10-20 09:45总控接续:已按用户“测试可删除、不要备份”完成固定旧运输链清理和原生结构匹配;实际环境事实只维护在[测试环境单机部署与配置契约](测试环境单机部署与配置契约.md)。两处仓库字符比较及空单取消已由既有内部执行者交付、根集成135ffa662de10c1af76183ceef73eb37de73899f、45项通过并在TEST #374部署,原样本复验成功;无新建用户可见任务,根仍唯一发布和SQL/HTTP写者。新C两客户样本已到LOADING v5,验收脚本车牌大小写错误两文件经34项通过,单独精确对象689bd219ff015cee62b2e480b7b2a7c0522b4380(未另部署业务服务)。原C显式续跑驱动`.codex-temp/dispatch-cross-c-explicit-continuation-20261020.mjs`已排local-check,执行句柄80263,等待另一Admin全量检查释放共享槽;未启动则不得将其记为后半链已执行。新报告DISPATCH20261020CRESUME、原C报告和原命令全部保留,禁止从头重放。日历新增预约仍排除,页面控制超时单独列未验收,不以CI或静态审查关闭视觉节点。 + 用户明确当前对话 `01a15230-a9d6-7503-a8a9-d70691df49e5` 为本批总控并要求先定义规则再下发。旧三个排车对话已归档,本轮消息未送达,保持归档状态;用户随后明确新建三个独立任务。所属TEST项目 `c64729ff-6710-43c6-8ef2-d84e9666cc1e`、host local、cwd `C:/Users/BY-OY/Desktop/code/chongchong-global` 已核对。用户已确认四个彩色图标详情页签、两种建单方式、允许临时填写外配车辆司机、PDA拣货核平后后台才能确认装车完成。新建任务如下,依后端工作量采用两个后端和一个Admin/PDA联合前端任务;首批仅做技术准备,共同接口冻结并由总控明确解锁前不修改生产代码。本批业务和文件边界唯一见[排车列表统一作业改造契约](海外仓业务/排车列表统一作业改造契约.md)。 | task_id | 对话 | 本批稳定职责 | @@ -58,6 +62,144 @@ File三文件实际哈希已逐项匹配交付,12个新增用例交主后端 2026-10-19 17:32接线检查点:两侧薄合同已实际落地并由总控核对SHA,公共DispatchContracts为`73b5b83f…ca84f641`、窄DispatchAppointmentAmendmentPort为`45aca62f…7887b238`、原AppointmentWorkDispatchPort为`81107e69…717a784b`。两个公共批次DTO版本在末尾、Provider版本在中间,已向双方明确逐字段映射;版本必填、0合法,不增加HTTP入口。前端已据真实公共DTO接续,B开始从真实明细/分配读取客户并实现保留旧分配的增量。总控已将公共批次版本同步OpenAPI,4份相关OpenAPI的重复键/653引用/退役路径/版本规则及两份12表静态结构通过;Fleet已移除8个退役操作且保留附加能力入口,实际网关路由合同5/5通过。Fleet旧未用schemas及最新响应类型仍待最终提供者清单,不记完整契约收口。原22前端候选仅为此次版本消费解除相应冻结,包含DispatchWorkflowDialog ADD_CARGO直接调用;没有再次申请同一已授权范围。各本域实现和全服务编译/联合行为回归仍未完成。 +2026-10-19 17:56提速交付:用户要求加快,总控已亲自完成四处旧查询及三份直接测试,精确归属见主契约第九节,7文件清单`.codex-temp/dispatch-root-query-manifest.json`SHA`8269869d…9332e2d`;移除共享主单/任务客户头依赖,客户进度使用ACTIVE和真实五阶段/发车时间,原数量、明细/扫码/订单客户过滤保留。仅静态差异检查通过,3类测试交唯一执行者;新H2回仓查询测试将MySQL BINARY转等价VARBINARY,独立探测同值相等、大小写/尾空格不等,未冒称MySQL环境执行。派送接线19路径已正式交付,总控逐项及聚合复算`a1ebcebf…d604fdd7`匹配并交主后端8类直接回归;候选批读/草稿投影不再只是待定接口,运行结果仍待验证。前端版本及外接入口包报告183项/typecheck/build通过,完整26文件候选待总控复核。主后端新报告全量1060生产源码编译通过,452测试源码编译现卡FleetTripPersistenceTest的旧Preparation类;主后端继续主夹具,已将独立ReturnCartonReturnPersistenceTest交派送任务并行适配,保留原业务断言、不恢复旧协议。根7文件独立复核交原前端只读执行,未新增任务。退役smart权限源码/种子已删除,当前统一逐VALUES记录统计为454权限/618关联且静态唯一/外键通过,之前按INSERT行数得到的计数已废止;新5类IAM29/29为主后端报告,根还需核对实际报告和种子哈希。无部署、环境SQL或真实验收。 + +2026-10-19 18:04收口:总控补齐第五处旧查询`DeliveryOperationMapper.returnReceipts`,只移除共享任务客户头条件,真实明细客户条件保留;根查询清单现为8文件,原7文件独立只读复核无确定缺陷,新查询由归箱6用例覆盖待唯一Maven执行。派送任务已交付并冻结`ReturnCartonReturnPersistenceTest`新模型夹具,原6业务用例保留,SHA`d7e37c99…267d8cdce`。主后端随后展开6个旧测试阻断,已精确将其释放的`DispatchRepairWorkflowTest`交原派送任务单文件适配,主后端处理其余5类,不并写;保留取消回滚、混托来源/费用及退货来源断言。总控已实际核对新IAM五类29/29及源/target种子SHA一致,关闭该离线权限包。主后端仍在全服务测试编译和BOL/旧测试消费者收口;最新前端26文件摘要与交付不符,前端正在只读定位PDA fulfillment.js交付后变化,尚不接受新摘要或宣告原检查覆盖当前输入。既有预约19文件已核对稳定,不再等待新增业务批准;无部署、环境SQL或真实验收。 + +2026-10-19 18:10提速:最新1062生产源码完整编译通过后,主后端继续Fleet类测试阻断,派送任务并行保留修复工作流断言;总控直接完成两个已授权FBA持久测试13处transport.apply父命令键签名收敛并冻结,19文件包逐项及新聚合`70526153…86ad658`实核匹配,等待主后端唯一完整编译/直接回归。总控同步Fleet实际无客户头响应,删除已退出入口的Prepare/Create/BindingCommand/Review孤立schemas,保留capacity-plan复用的ConfirmLoad;4份OpenAPI651引用/重复键及两份SQL12表静态检查通过。前端摘要差异查明仅PDA货物废弃SKU的quantityUnit合入及行尾变化,其余25文件一致,待静态核定其与排车链隔离后按当前输入更新摘要;未恢复或覆盖他人变更。以上仍非全链通过或部署验收。 + +2026-10-19 18:11收口:总控完成并冻结`DeliveryTransferService`及直接测试两文件(SHA`126e3852…f57b4a`/`1088520d…15d27e`):PDA两处解析读取无客户头整车,直接扫码同仓成功/异仓404回归补齐;取消出库删除旧requireUnbound,保留原阶段、真实执行及费用守卫。主后端已修整车取消只阻断有效出库,CANCELLED历史保留且不误阻断,并加入回归;上述新输入均等待唯一完整编译/运行,尚无全链通过结论。派送任务继续原修复工作流native适配,不并写服务;总控此前两个FBA测试已交付,不再是编译等待。 + +2026-10-19 18:19并包:派送任务最后工作流测试7方法/9场景已交,根实核SHA`9cf2fa9e…d35ec5`,保留混托3+2、排除他客99、运费60、原箱来源、取消重排等当前断言。根费用来源SQL去任务头客户,来源回归改实际FleetAdapter,删除无生产消费者旧Query;直接消费者清单SHA`8e6691d5…95f8b98`。另收敛订单/计划排车状态、原预约影响、库存SHIP来源4查询及4测试(SHA`3ba52b3b…d71b6cf`),均保持真实明细/pick客户、仓和命令身份,不改预约创建。Fleet影响绑定SQL仍归主后端唯一维护;所有根/B输入已冻结交唯一Maven干净编译与直接回归。总控实际日志已核一轮完整454测试源码编译成功,但新输入仍须重编译。前端当前26摘要`8cb5db64…238fda`已根复算,唯一差异为独立废弃SKU字段及行尾,排车函数未变化,原相关检查只按未变化输入复用。无部署或真实验收。 + +2026-10-19 18:25验证收口:根实际核两份日志,修正/原生查询69项和费用来源/出库/Fleet查询90项均0失败0错误并BUILD SUCCESS;这不是最终联合回归通过。统一438项先前暴露的来源发布、签收并发、取消工作流3类本地原生夹具已由派送任务修复并交回,根逐项核SHA匹配,唯一Maven继续实跑。根审阅依赖基线中两个FBA适配器到公共port的7条精确引用,并补反向合同及当前维护入口;没有增加slice通用许可,旧pickup三处Entity违规仍列既存门禁阻断,不在本批重做取货业务。所有业务范围仍按现行主契约;日历新增预约未接管,无部署、SQL或真实验收。 + +2026-10-19 最终联合回归收口:当前冻结输入下单次80类501项全部通过,无失败/错误/跳过,日志`dispatch-final-joint-regression.log`SHA`b56da123…b83238`。根独立逐项复核1519份输入与聚合`3ff451e8…594de9`一致,当前无漂移;不再把之前分批组合覆盖作为最终单次证明。Gateway合同5/5通过。依赖13项中10通过、3失败仅由开工前pickup实体边触发,新公共port和反向越界检查通过,没有加宽许可。AGENTS索引唯一新失败为海外PDA指引超8000字符,原前端任务正在单文件精简,完成后唯一执行者复验。车辆预约仍有真实未接通限制:Create无该字段,Update非空关联被拒绝,详情输出null,未定位权威提供者且本批不新建日历/预约权威;不得报为全字段打通。环境SQL、部署、真实HTTP、1920页面及PDA硬件验收均未执行,不把本地代码/离线验证通过等同最终验收。 + +2026-10-19 用户最新裁定:对排车车辆预约权威来源问题答“那就不要”,总控已确认取消排车车辆预约字段及关联,FBA预约和四页签保持,新增预约日历仍不接管。主后端独占移除公共Update/DispatchInfo字段及相关类型和服务占位;原前端删除直接展示/输入与测试;派送后端只读核直接构造引用,若主后端释放测试再精确移交;总控已同步主契约和OpenAPI。前轮501/501及1519快照只证明裁定前输入,变更后须重做直接受影响编译/检查,不冒称旧结果覆盖新协议。用户询问增加独立对话,总控判断当前共同接口收口不适合继续加写者,复用现有三任务,不新建对话。 + +2026-10-19 车辆预约取消后复验:后端公共字段/类型及服务占位已移除,全服务test-compile和25项直接回归实际通过;总控按现行Java重生97公开schemas,29平台/7PDA路径及649引用、重复键、版本阶段、两SQL静态检查通过。前端8文件删除和73项定向测试已交,Admin完整构建在vue-tsc触及2GB堆上限退出134,Vite尚未执行,不能记typecheck/build通过。PDA指引长度已合格,但两固定语义索引句还需原写者恢复,后端无须空等,由总控接索引复验。 + +现行验收脚本仍使用已退役公开调用,按真实直接消费者收敛:原派送任务单写phase4-overseas-dispatch及grouped-dispatch-acceptance各脚本/合同4文件;总控在本对话内用一次性内部并行执行者分别单写phase5-overseas-fulfillment和fleet-trip-fulfillment各脚本/合同4文件,不新增用户可见独立对话。禁止执行真实HTTP/SQL/造数,只有离线合同;保持marker、身份仓和原命令证据,不借旧样本或伪造实载。真实LoadingPreview缺托位等实测时须等本轮真实测量,不能沿旧脚本用常数假定实际载荷。脚本写权不延伸到Java/新日历/其他在途业务;其他直接消费者发现后只报精确触点再分配。 + +2026-10-19 18:55收尾并行:总控已实际执行Fleet/phase5两个脚本合同共78项全部通过,并独立复核4文件哈希与冻结交付相同;AGENTS索引1181项通过,前一检查点的长度/固定语义句阻断已关闭,主后端无须继续等待。原派送任务报告phase4与grouped两合同共15项通过,待总控核对最终文件及证据。继续复用原两个内部执行者,各自唯一修改phase5-root-fulfillment脚本/合同、fleet-test-env-acceptance入口/直接合同,收敛已发现的直接消费者;不新增用户可见对话或改动已冻结helper。原前端任务仅诊断Admin完整类型检查2GB内存不足,不提高内存限制、不改生产配置、不重复盲跑。总控保留共享集成、实际证据核对和最终报告;后端501项为删车辆预约字段前输入,最新删字段后25项与完整test-compile独立报告,不能相互冒替。真实HTTP、部署和人工页面/PDA验收仍未执行。 + +2026-10-19 19:05实质复验:用户明确授权本次Admin完整类型检查临时4GB,总控经local-check执行完整vue-tsc(无文件排除、无配置修改)实际退出0,随后正常2GB下Vite构建退出0、5135模块、4.06秒;该授权仅覆盖这一次类型检查,已使用。最新车辆预约删除8文件逐SHA核对无漂移,详情四页签和FBA保留。原生脚本当前离线实跑分别为Fleet/phase5合同79/79、财务/合并合同16/16、phase4/grouped/root合同57/57、保留占位/在途交接合同44/44;这些是各自具体输入的本地脚本证据,不代表真实HTTP。总控修复实际LoadingPallet的Jackson Long箱数字符串读取,保留数量安全边界及长ID/版本。流程合同发现服务端updateDispatchCargo只追加站点、移除最后一托仍留旧目的地,已交原主后端按有效货物/预订和原站序最小修复及真实回归;不是增加业务范围。原派送专项接续费用覆盖与外接同主单加货的4个直接脚本/合同,FULL与PARTIAL保留正向覆盖,必须使用不同本轮实物,不允许已扫码后取消复用。独立Fleet专项入口及其余已发现直接消费者尚未全部接通,不能报脚本全量完成;日历新增预约仍不处理。3项既存pickup依赖失败、环境SQL/部署/真实HTTP和人工页面/PDA验收仍分别保留未通过/未执行状态。 + +2026-10-19 19:11跟踪:总控实际读取路线修复日志,完整test-compile退出0,5类33项全部通过,含新FleetDispatchRoutePersistenceTest 7项;最终源码/测试快照待原后端交付核对,不把旧501结果扩展到本次新输入。脚本实测Long字符串零箱数在资源准备/两审/装车/空排车取消中的严格零比较已修,实际三合同122/122通过;随后补原生写命令空成功/缺业务体判未知并停写,phase5与root两合同96/96通过,各结果按实际输入分别保留,不拼成单次全套。两个内部执行者接续跨客户一主单共享fixture/验收4文件,以及混柜/换标两个原生留存入口(必要精准合同),仍不改日历新增预约、不执行环境操作;原费用专项4文件及根Fleet专项入口顺序仍待集成。用户询问剩余时长,总控按当前工作量估代码及离线收尾1–2小时,部署与人工验收另算;估计不是验收承诺,不因时间到达标记完成。 + +2026-10-19 19:28集成检查点:路线修复3源码/4日志逐哈希与交付相符,33项及完整测试编译正式接收;跨客户一主单4文件逐哈希相符、35项实际通过;自有/外接共用主单成本消费者改为原生发车回执与真实实测托位,成本38项通过,主入口成本预期定向1项通过(不是整个入口通过);费用/外接4文件逐哈希相符、根实跑35项通过;混柜/换标两个留存入口及精准合同3文件逐哈希相符、语法和7项通过,README登记合同4项通过。前述均为各自具体冻结输入的离线证据,不合并冒称单次全套或真实HTTP。 + +剩余写权继续分离:原派送专项仅改显式return-redispatch原生消费者及合同2文件;内部执行者分别独占Fleet专项入口/直接测试2文件、通用TEST换标生产者/新合同2文件、正式单票海外阶段/直接测试2文件,不创建用户可见任务。容量池和UI4文件已交付冻结,根接灰度组化时间的直接测试,并修复容量脚本同作用域重复声明;四文件组合检查因容量语法及仍在写入的Fleet入口import中断,未执行场景,待上游冻结后重验,不计通过。根只接共享文档、直接灰度测试、成本2文件及证据;检查仍经全局单槽,当前有其他已知任务占用,按实际句柄等待,不抢锁。换标两申请合到同一实托后分别建车的物理冲突已交原后端只读核对,不擅自拆托、放宽占用或改变业务规则。真实测量缺项、既存pickup3项依赖、部署/SQL/HTTP及人工页面/PDA验收仍独立记录。 + +2026-10-19 19:41集成检查点:全局检查槽释放,容量脚本语法复核实际退出0。Fleet入口、容量池TEST/UI及灰度直接合同、正式单票海外阶段、通用换标生产者与保留来源、显式退回合同九文件组合实际227项,226通过、1项容量编排静态断言仍匹配旧局部变量名;修正该断言后所属21项全部通过,未把两次运行冒称同次227全绿。原退回专项两文件已交付冻结,57项为专项自身结果,根组合已覆盖其合同。正式单票实测文件通道和通用换标生产者均已纳入根此次实际组合;共享实托换标仍待用户业务选择,不推定完整场景支持。 + +同路线成本入口确认另一个真实接线依赖:其两张WAREHOUSE_TRANSFER货物与同主单外接不属于费用覆盖专用FULL/PARTIAL,不能伪造费用用例满足helper。原派送专项接续仅外接helper及直接合同两文件,最小支持显式普通原生安排模式,真实加货/复审/PDA实拣/实测装车/客户目的地及外接约定报价校验均保留;普通模式与原费用覆盖模式明确二选一,逐组费用有据、不复制猜测金额。内部同路线消费者等待正式签名后接线,两文件写权保持;原后端继续只读定位当前发车真实晚期锁点,为回滚脚本设计提供依据。未新增用户可见任务、未扩展日历或环境权限,未宣称部署或真实页面/PDA完成。 + +2026-10-19 19:50收口进展:跨客户入口及夹具4文件交付逐SHA匹配,根实际运行入口/fixture/acceptance三合同55/55通过;明确CROSS_CUSTOMER、CAPACITY_POOL、SAME_ROUTE_COST三个当前用途,返回必须为所选本轮注册proof同一对象并匹配marker、dispatchNo、tripNo,严禁不同专项互借成功结果结案。夹具支持Jackson数量字符串并拒绝空值/布尔/非规范及超安全整数,context.checkpoint及HTTP写前fsync/未知结果停写已接入。根已在容量池caller明确CAPACITY_POOL并补主单编号,成本入口由唯一执行者接SAME_ROUTE_COST;这些直接调用点待上游外接helper冻结后组合复核。原79/16项临时证据快照已明确标记历史,新55项和当前输入及TAP哈希追加到原证据文件,不冒称单次全套通过。 + +根已补正式单票实测文件通道、TEST换标生产者显式来源/合托前置限制/实测证据,以及跨客户和同路线两业务分摊的文档;登记合同实际4/4、三个已冻结生产入口语法退出0,后续文档小修最终门禁统一复核。原后端独占回滚脚本及直接测试2文件,按第二客户转仓晚期UPDATE定位、真实等待事务会话超时和完整数据库前后快照重写,不改生产Java。原派送专项独占外接helper及合同2文件,内部只读审查已从真实DTO/Service确认报价摘要、cargo目的地、费用字段和混合自有/外接同组规则一致,结果限当时暂态候选,冻结后再验证。另一个Admin任务占用全局检查槽,根跨客户两个语法检查已排队,保留原执行句柄等待,不抢锁、不重启其他任务。未部署、未执行环境SQL/HTTP,合托换标业务选择仍待用户。 + +2026-10-19 19:53用户明确“本批支持整托同车”:两张换标单合到同一实托后共用一张原生排车,托盘/容量只计一次,换标单各自箱数、客户和扫码归属保留。主契约第一、八节已同步,此前待业务选择状态结束,不能把该场景仅前置拒绝当最终交付。主流程后端先完成当前回滚脚本2文件并冻结,再接原有dispatch/fleet来源模型职责,先交精确生产/测试/公共DTO及直接消费者清单供总控冻结;不允许仅解除去重、按第一来源/客户承载或不分来源FIFO凑通过。原派送任务继续当前外接helper2文件,不并改公共port;原前端任务复用为只读准备,定向列同托多逻辑来源的候选选择、容量去重、PDA扫码歧义和必要接口/测试触点,正式合同冻结后再精确解锁。四彩色图标页签、日历排除边界和环境操作门禁保持;未创建新任务、未追加环境权限。 + +2026-10-19 20:01联合检查:共享槽已释放,原28228/60575两个跨客户语法句柄均终态退出0;外接NATIVE、同路线成本入口及其合同三个语法检查退出0。根逐项匹配外接2文件和成本2文件交付SHA后,实际串行运行16个相关合同文件(含费用覆盖、普通外接、同路线成本、跨客户入口/fixture/验收、容量池TEST/UI及GRAY、Fleet入口/成本/显式退回、正式单票、换标生产者和保留来源),426/426通过、0失败,TAP为后端`.codex-temp/dispatch-native-final-consumers.tap`。该结果覆盖当前已冻结的直接消费者组合,不代表脚本全量、共享实托新模型或环境验收通过。 + +合托模型只读准备已形成方向:服务端完整来源集合及组成版本;物理占用与逐客户逻辑来源占用分离;逐dispatchItemId精确拣货不新增整托一键多写;LoadingPreview每实托一行。前端精确触点已交主流程,仍冻结待字段级合同。提供者事实已核实:换标专用绑定逐item更新实际position,application/customer/绑定箱数/sourceInbound快照仍保留;实际新旧唛与成功数量须按app+item先聚合,不能把独立application.lastlegOrderId当全部原货源或从箱数推件数。通用混合仓位后续无归属部分移动仅凭余额不能还原应用份额,方案不得退回FIFO推断。B仅只读核对下游守恒:当前物理托数去重、逻辑箱数累加;来源重量体积无证据保持未知,禁止把整托实测复制到每来源。主流程继续字段级DTO/贡献/SQL草案,根等待精确DDL后同步两个初始化基线;未执行环境操作。 + +2026-10-19 20:07模型边界冻结:根已实际读取回滚脚本/真实Schema对应反例,独立运行rollback+cross外层两个合同63/63通过,2文件SHA为`fdc042d2b8abd5a08b7f99a0221402475bcddaa25d5da071e6c5f972a72b052f`及`73d3992390a8e1dff24d261344215ec42c3eee56fb3d0cc18b885ce20cf03e8b`;原专项83项为其不同命令范围,未混称根同次结果。README已按目标转仓晚期UPDATE、等待会话超时及全字段基线同步;新增合托表后取证表集合必须更新,当前结果不是新模型完成证明。 + +主流程给出精确SelectionGroup/Source/Pallet与Candidate.selectionGroup、PdaItem/OrderDetail来源业务号草案,根已技术同意并要求立即产出原port公共骨架及其唯一设计记录;核对实际记录后解锁前端并行,不能等主流程全部实现再开始。Pick/CargoSelection形状保持;组版本绑定完整组成、完工轮次、位置及来源版本,草稿动作服务端一次原子处理全组,Create/AddCargo逐来源显式提交并重算完整闭包。本条只冻结公开骨架和分层原则;来源贡献保存/后续移动的生产者精确触点、内部port及DDL仍待主流程字段级方案,总控再按已有写者分配。B的派送只读终稿及仓库提供者事实已交主流程,禁止复制整托实测到逻辑来源或以换标申请生成的尾程单冒充全部原货源。环境权限未变化。 + +2026-10-19 20:27共享实托实施检查点:三个既有任务均active。总控已逐字段及SHA核对实际SelectionGroup/Candidate/PdaItem/OrderDetail公开记录,前端已据此开始完整组选择、组成版本阻断及PDA同托/同箱唛明确选源;其新输入检查仍排队,旧73项/typecheck/build不扩展为新输入通过。派送专项已交付真实`RelabelDispatchSourcePort`骨架,SHA为`af771fd474faf6c411543b077c646479e6368b98ab3cab875c4cd6c0b3b24978`,总控核对三个方法及全部record参数与冻结合同一致后通知主流程接线;该专项独占新port/service/repository/mapper及持久化测试五文件,主流程不并写。来源提供者实现、完整闭包及锁内真实HOLD聚合仍在进行,不以骨架推定实现完成。 + +总控已同步模块和海外统一空库基线:新增物理实托占用、不可变换标来源贡献两表,逻辑占用改引用物理占用,PDA归属新增真实来源贡献引用并保持四选一,整车明细按来源键唯一;海外实际表数为227。初始化/容量Schema及两份五表定义一致性合同实际26/26通过,日志为`baiyue-firstleg/.codex-temp/dispatch-physical-schema.tap`;未执行环境SQL。两份公开OpenAPI已据实际Java记录同步100个类型和29平台/7PDA路径,正式文档校验及新模型组合回归尚未完成。回滚脚本两文件已由主流程移交原内部执行者,补齐新两表全字段及零行覆盖、物理owner/link和普通来源四选一取证,当前语法检查仍在原session16553排队;原63项结果属于此前输入。主流程新物理占用10个真实Mapper/事务用例已写入,原Maven session49123等待共享名额;不因排队重建检查或抢占其他任务。当前瓶颈为来源提供者到主流程的真实行为集成及共享检查队列;代码/离线回归估计3–4小时,部署与真实页面/PDA验收另计。四页签、已确认整托同车、日历排除及环境权限边界未变化。 + +2026-10-19 20:34实质复验:回滚两文件语法检查实际exit0,原内部写者定向合同62/62通过、零跳过;总控逐SHA确认两文件及被测模块DDL匹配,新增两表完整取证已接收,未据此宣称真实故障注入或HTTP通过。总控接口只读校验实际exit0,覆盖86个公开Java记录的568字段、336个可达本地引用及3份关联文档,重复键、来源组必需字段、五阶段和已删除车辆预约字段均检查;平台实际为30路径(29个本批维护路径加既有BOL打印),PDA7路径。首次本地校验将合法BOL遗漏于路径计数,核对真实QueryController后修正校验,生产路径未因计数而删除。该结果是字段/引用合同验证,未安装Swagger依赖、不冒称正式Swagger或运行时验收。 + +主流程物理占用定向Maven已运行但测试编译失败:新DispatchPhysicalClaimPersistenceTest两处泛型tx.execute结果直接传assertThat导致重载歧义,10用例尚未执行;总控已交唯一写者按明确类型变量最小修复。前端报告新输入Admin7文件140项、PDA履约35项及业务标识4项通过,完整类型/构建仍待,不把旧完整门禁扩大复用。换标提供者Service/Repository/Mapper已落盘,专项继续H2真实持久化/锁测试;原换标producer两文件由原内部作者接续NEW/MERGE同组一次Create及原键重放、每来源归属/一实托实测证据,不扩展该入口到审核装发,也不并写留存consumer。独立只读审查同步检查物理占用基础;所有实现写权保持唯一,不新增用户可见任务或环境权限。 + +2026-10-19 20:38独立审查发现正常链阻断:来源提供者以任务reviewedAt作为作业轮次,但正式客户确认会重写该时间;PALLET_BIND/SKU_SCAN仍保存确认前的INITIAL或返工作业轮次,造成正常已完工来源箱数归零且组成被判不完整。总控实际核对provider与RelabelApplicationService确认代码后,仅解除来源专项原5文件中的实际实现及直接测试冻结,要求按真实作业历史/返工边界识别并增加客户确认前后回归;port签名保持,原PDA/客户确认生产者不修改。冻结旧5文件哈希已匹配、12个测试仅为源码数量,不能记执行通过。主流程已通知继续按稳定port接线,待修复新候选后统一运行来源测试;物理基础独立只读审查未发现确定问题,草稿完整生命周期、来源集成及MySQL真实锁行为仍未证明。 + +前端新一轮完整类型检查在默认2GB下达到堆上限退出134,未通过;本批此前一次4GB例外已消耗,未再次提高内存、删测试或排除源码,也不重复同一OOM检查。前端继续Vite/PDA资源构建并交冻结候选,总控待稳定输入统一收口完整类型门禁,不能以定向140项或旧全量结果替代。当前阻断均已明确负责人,不增加日历业务或环境操作。 + +2026-10-19 20:51联合收口:来源专项已仅修Service及测试,改由真实COMPLETE.roundKey、PALLET_BIND/SKU_SCAN.round及返工归档边界识别作业轮次;新Service SHA `949ea59036d710af0cc0b81848a77e17da0da3de049e44124a36be141ee81fe0`、测试SHA `e745fe1da80ecdd1093fdb875f8e545b147558c0e1d256ee4edce81b2110a648`经根匹配,其余三文件不变。14个测试声明已交唯一Maven写者,尚无运行通过结论。独立前端审查另发现PDA将sourceBusinessNo无条件必填,实际普通入仓/退回来源该展示字段合法为空,导致无法选源;根已核对实际toItem、PDA查询及页面guard并交前端原范围修复,按真实RELABEL_ORDER类型校验换标业务号,其他来源仍要求真实sourceKey。新增普通wire/精确位置提交回归及Admin组字段可空语义一并核对,不能造业务编号或恢复旧别名。 + +共享换标producer两文件已按完整选择组一次Create和原键重放收敛,NEW/MERGE共用主单并保留各自来源,SPLIT原闭包保留,实测按唯一实托校验;原作者32/32及两次语法exit0,根匹配SHA `3cf7c8bdd6bbad471fc9ab2401895f1ee38cce25d34bd7604861dfa3ab23d450`/`bfbb872c7648abe15ece27dbdd927ad65469e3759baac7ebd4ed364011275a95`,README已同步,不再以所有共享托前置拒绝当交付。既有留存consumer仍只继续SPLIT,真实共享组装发全链没有因此宣告通过。 + +根完整运行脚本门禁:83个scripts根测试文件加131个Admin模块合同,共214文件,2204 tests、2199 pass、5 fail、0 skipped。首次子进程输出绕过PowerShell重定向,故针对同5项未解决失败再以Node reporter destination捕获,数量一致,完整TAP在`baiyue-firstleg/.codex-temp/dispatch-script-full-contracts-results.tap`。精确失败位置为phase3-producer-chain-contract:698、database-schema-alignment-migrations-contract:113、java-quality-summary:64、synchronous-dependency-contract:106及114;已交内部只读逐项归因,不直接判为既存无关或豁免,不改断言换绿。主流程另已产出SourceOrigin八字段及CargoLine尾字段,根核对Java SHA `5086523d9df7c7d00840d391e9608b1685e4edb71d19154b1608339afe7421e2`后,派送专项接其原delivery/financefee直接消费及测试构造点,前端接原CargoLine类型/wire,根接OpenAPI;公共Java主流程单写,SQL根单写。PDA逐来源位置贡献和草稿完整生命周期仍待主链证明。当前没有部署、环境SQL或真实HTTP。 + +2026-10-19 21:08新输入检查:根实际读取物理占用修正Maven日志及JUnit XML,10/10、零失败/错误/跳过,源码五文件哈希与主流程报告逐项相符,主生产类时间早于测试编译及报告;该结果仅证明物理基础。来源14项与派送/费用15项组合实际29项,27通过、1失败、1错误;两处经B定位均在测试:移走明细后原实托闭包仍可有效,须另读新实托验证旧绑定失效(不是reviewedAt轮次规则错误);重设Spy成功桩时when触发旧失败桩,改doAnswer,保留真实CAS/回滚/溯源断言。两测试新SHA `93e662367224e61850b0e57b29eb9e6d68e5ae4edc09e5c109c0bdb9cbc883ce`及`b989d8db720bd10aa4c928297ed387486353a06922d043d298b234bbc3c26b29`经根匹配并已交唯一Maven写者复验,生产未因追绿改动。 + +SourceOrigin公开文档已按实际Java重新同步101个typed schemas,根本地校验87记录、577字段、337可达引用、3份相关spec实际exit0,29维护平台路径外保留既有BOL,PDA7;不是正式Swagger或真实HTTP验收。根完成本批证据网关REQUEST/READ_WRITE/MIXED同步事实,语法通过,13项依赖合同11过/2失败;剩余明确为另3个预约Feign及2个废弃/领星HTTP未登记,不把已登记本批网关再列缺口。质量文档库存按实际扫描100份同步基线并显式纳入dispatch-evidence/fleet-preparation,3/3通过,未重生或改写旧覆盖率和SpotBugs结果。全214文件旧2199/2204结果保持原范围,未拼接冒称新全量全绿;phase3排版500字符断言、迁移目录版本及上述跨域metadata缺口仍保留未通过。 + +前端报告修正后Admin8文件147项通过、PDA43项通过,23源码快照及Vite/App资源构建仍待最终交付,完整类型检查仍为2GB OOM未通过。主流程另明确释放新增`DispatchItemSourcePersistenceTest.java`给既有B专项,根已下发并同步主契约;生产四文件与公共port仍A独占,B仅写该一测试,Maven仍A唯一执行。A并行完成来源闭包/草稿/PDA精确额度;目标托向已排车实托追加成员的palletops风险由根只读核对最小修复边界,尚未新增其写权,不把在途假设当已修复。所有环境操作门禁和日历排除范围保持。 + +2026-10-19 21:19本轮类型门禁:用户明确授权“6G,直接干”,根通过local-check实际使用6144MB执行完整Admin vue-tsc,包含源码和测试、不改项目配置,退出2且未再OOM。诊断仅在SailingCalendarView.test.ts第152、154、185行,共3处字段或MessageBoxData类型不符;不能标记完整门禁通过。执行前1022输入快照与执行后比较发现其他在途业务DomesticContainersView.test.ts、SailingCalendarView.vue,随后同一日历测试文件也变化,证据保留在根`.codex-temp/dispatch-final-typecheck-6gb-result.json`与原始输出;不将其冒称稳定全项目结论。排车23文件逐SHA仍一致,聚合6b31b6c02acfc616c0b5a4d2bfec6e9f11706cb27bc5c18fb8af39cbf7cf018f,Admin147/PDA43及Vite、App资源编译证据已接收,完整类型门禁独立保留未过。 + +B新增DispatchItemSourcePersistenceTest.java已冻结16用例,SHA 7da5553596458350d8a796421cb15b355306288375cfa8197daa1ba6c09e3e1c经根核对,已交A唯一Maven窗口;受控port的真实Mapper/H2组件测试不能代替完整provider组合。根另安排既有内部代理只读审查该测试,不授生产写权。palletops已确认目标已排车实托仍可被另一申请追加的顺序缺口,空目标/不相交来源并发还需共同串行点;A负责冻结最小port/DDL协议,仓内调用文件在协议冻结前仍只读,不以简单计数或单次重读宣称并发闭合。以上未新增对话、部署、环境SQL、真实HTTP或接管日历新增预约。 + +2026-10-19 21:22并行收口:A已提出最小共同串行点,总控按主契约冻结`ll_physical_pallet_guard`两字段及`PhysicalPalletSerialPort.lock(List)`,无第三owner、状态、TTL、HTTP或迁移。B独占inventory port/service/repository/mapper与真实持久化测试五文件;A独占dispatch/draft消费;既有内部native_fleet_script独占PdaPalletOperationService/Mapper、现有ServiceTest、新本域Repository及真实冻结PersistenceTest五文件,三个仓内分支统一门禁及原补偿;总控独占模块/海外统一SQL、初始化合同和说明,新增永久guard后海外空库表数228(国内227不变),六表定义同步校验已排队。原内部回滚脚本写者接续两文件23表完整快照,不改既有relabel生产者冻结包。B已交16用例经独立只读复核无已证实签名/Mapper问题,仍待A运行,受控provider及直接准备pick账本的边界继续保留。未新增用户可见任务或环境操作。 + +2026-10-19 21:30交付复核:B永久实托串行port/service/repository/mapper及12项真实Mapper/H2事务测试已落盘,根逐SHA匹配并独立只读审查,无确定生产锁或签名缺陷;两项并发测试仅在SQL前释放latch并等待Future超时,尚不能排除线程未进入数据库,已仅解冻该新测试要求真实数据库等待观测,不放宽协议、生产四文件仍冻结,Maven待A统一运行。根自己的结构门禁已实际exit0,TAP 27 tests/27 pass/0 fail/0 skip,覆盖两份SQL的永久两字段guard、六表一致性和容量约束;海外228表、国内227。该证据不表示环境SQL或业务链已通过。草稿完整组仍待接入,根已向A请求明确释放准确草稿文件给原B以继续并行;确认前保持单写者,不重复派工或并写。 + +2026-10-19 21:34持续复核:回滚脚本两文件已按新永久guard补齐23表,根读取范围、COUNT与全字段快照、普通来源空贡献及四来源XOR断言,逐SHA匹配脚本b71320d1918cea7e63779499ac3c0f2c0eeca4ad8547f47e14fa3ac1946f42d0及测试da00e939817fcc26cf5cf54d104894fe081329c556dc083e0deaa6807039be46;作者报告75/75合同与两语法exit0,根读取共享检查Last result同一精确标签exit0,不重复运行。B共同锁12测试已改为真实H2会话guard写语句与BLOCKER_ID关系,根实际读取关键代码并匹配新SHA 444bd8d361f4d90fbdaf1e4d1d205906b5452096670f57bd3459906716e36c7e,仍待A运行;生产四文件不变。仓内caller五文件已落盘尚未冻结,根发现TransactionTemplate默认隔离级别会使MySQL RR中的组成重读沿用旧快照,已交原唯一写者明确RC并补底层默认RR反例,不以H2默认RC或清Mapper缓存代替该证明。环境门禁及日历排除范围保持。 + +2026-10-19 21:49本轮检查点:根实际读取`.logs/dispatch-source-serial-persistence.maven.log`及六份JUnit XML,提供者14、派送/费用15、冻结来源16、永久串行12合计57/57,零失败/错误/跳过,实际重新编译1072生产与460测试源码并BUILD SUCCESS;444/7da测试SHA匹配。其后A已增执行时轮次/来源复核,生产发生变化,57不覆盖后续输入。A明确释放草稿Service/Repository/ClaimMapper/PersistenceTest四文件并停止写入,总控补读此前被最后快照遮住的中间交接确认后立即派B;主契约已同步,B另维护原ItemSource测试的真实轮次列。B缺物理占用整托移容器与全token/operator续期Service桥接已精确交A,禁止B跨层绕过。 + +根同步`relabel_round_key VARCHAR(128) NOT NULL`两SQL、初始化合同及说明后,实际经local-check运行结构/容量/23表回滚三文件,TAP 102/102、0失败/跳过,输入SHA在根证据清单的roundGuardSchemaRollback102。共享public Java仍5086523d9df7c7d00840d391e9608b1685e4edb71d19154b1608339afe7421e2,前端23文件逐SHA仍零漂移,未重复资源构建。新Mapper注册合同正在原session23482等待共享检查位,未启动或记通过。 + +仓内caller实际表结构复核发现计划托盘不存在warehouse_pallet_id,原写者已改真实pallet_no+父仓+客户/plan分配链,新真实表结构测试补不同仓同码;根已逐SHA匹配。继续逐入口核对又确认普通assemble/disassemble/swap/unbind因relabelMutation为空会跳过共同锁,普通AVAILABLE来源可向已排同目的仓目标追加,故同一五文件包已再次解冻给原唯一写者,需将generic分支也纳入原完整组成/RC重读/运输claim与锁内补偿;不增加页面、接口或资格。此包等待新冻结指纹,不把旧10项未运行用例当修后结论。A其后一次清理编译撞到B草稿在途方法,测试未执行,已要求等输入稳定后统一运行;不把WIP编译失败判为业务回归。环境SQL、真实HTTP、部署及页面/真机验收均仍未执行。 + +2026-10-19 22:11收口检查点:根实际读取`dispatch-merged-stable-integrated.maven.log`,本轮176项为165通过、2失败、9错误,未判整体通过。数值事实规范化、旧夹具缺列及断言修正后,`dispatch-merged-source-normalization.maven.log`的40项为37通过、3错误;其余3项为H2测试DDL不支持MySQL布尔求和CHECK,改等价CASE并保留四来源唯一约束后,根实际读取`dispatch-merged-main-caller-corrected.maven.log`,新真实提供者整托主链10及仓内caller旧单元20合计30/30,零失败/错误/跳过,BUILD SUCCESS。该主链覆盖同/跨客户合托、各来源扫码与一次SHIP、回滚重试、取消重排和一托容量,不替代真实HTTP、全部五阶段环境验收或页面/设备验收。 + +草稿20、物理claim/桥接13及仓内caller持久化20在176项批次中实际通过;来源17及主流程11、PDA读取1、整申请2在后续40项批次实际通过,分别保留输入边界,不混加成一次全绿。普通计划真实表结构新用例22:08因H2同schema约束名冲突失败,交A仅修测试DDL等价命名;A明确释放的`DispatchRepairWorkflowTest.java`已交B唯一修正旧装配和旧物理列夹具,原B五文件继续冻结,A保留唯一Maven执行权。 + +根Mapper门禁原session23482已实际exit0:10个持久化模块、396个Mapper注册通过,不再记排队。用户本次6GB完整Admin类型检查已实际终止exit2且无OOM,三项诊断均在`SailingCalendarView.test.ts`;排车23文件逐SHA未漂移,但检查期间其他域三文件变化,故不能宣称当前全应用门禁通过。排车147项Admin、43项PDA及资源构建证据仍单列;不改日历、不重复使用一次性内存例外,不提交、部署或写环境。 + +22:14结构事实校正:此前“计划托盘不存在warehouse_pallet_id”只读取了CREATE块,结论不完整;模块lastleg.sql第809行的有效guarded ALTER会补该列,第827行起还会补分配箱数等字段。根已要求A按最终初始化结构和真实收货状态修普通计划用例、保留生产冻结,不以H2缺列夹具反向改业务模型。新增只读复核交既有内部审查者,仅核对四个主链生产Service的完整来源、扫码额度与原货源归属,不并写、不另开Maven。 + +22:17内部主链只读审查结束,无可确证新生产缺陷;根逐SHA复核四Service与主链测试均匹配,指纹及范围写入根临时证据清单mainSourceReadonlyReview。核对覆盖完整闭包与锁后重读、逐来源客户/原货源和额度、原命令重放、扫码库存与归属同事务、确认装车不再SHIP;外部车队/测量仍受控、测试未由审查者运行,不能据此关闭运行验收。 + +22:21直接消费者收口:caller原作者已仅修Mapper与持久化测试两文件,以真实warehouse_pallet_id取计划来源,保留父仓/客户/plan/allocation/line隔离;测试改从完整最终初始化提列,原20方法保留并新增1项,覆盖同码异实托/异仓/未绑定排除及展示码不同不漏真实绑定。根实际匹配960bb9/a8ef7e;旧20通过不覆盖新输入,21项待A唯一Maven。B仅修DispatchRepairWorkflowTest的真实provider/Serial、新占用与换标事实,保留9项业务断言,并按最终真实计划写customer101和physical501;根匹配最终4a4d01,已交A,不再等待其他实现写者。其余包冻结;共享检查位当前被另一个Admin检查进程64760占用,根实际Get-Process确认存活,不抢占或绕过限流。 + +22:32草稿最后锁序包已冻结:B仅两文件,根匹配Service a2682e、Test35b7c4,原20加4参数化真实H2 guard SQL/阻塞会话场景共24;等待后复核租约,旧动作回滚及新owner不释放的断言已读,尚未Maven,A已获最终输入。根确认唯一手工构造器直接消费者已同步,主契约补纯释放/租约锁序边界。普通计划完整最终初始化用例实际1/1、BUILD SUCCESS,日志dispatch-plan-final-initialization.maven.log已核对。 + +根实际离线全量83根文件加131模块合同共214文件,2218项中2214通过、4失败,Node测试输入未漂移。原shell重定向未保存原生控制台的完整TAP,首次仅采纳实际终止计数,不以不完整文件证明精确失败归属;已用Node reporter-destination排队session8791保存完整报告,不启动其他重复检查。当前共享执行位仍由其他Admin检查47088占用,根实际进程存活;A完整Lastleg模块检查等待最后包/执行位,未判通过。前端补核对确认最新23文件未跑完整Admin Vitest,历史11超时不作当前通过;Client601/type/build仅旧交付文字、暂无独立原始日志。已让原C准备默认资源下必要离线检查,暂不入队,待根通知后运行,避免挤占后端;不重复使用本次6GB例外、不改超时追绿、不动日历新增预约。 + +2026-10-19 22:57收口检查点:完整Lastleg运行22:44:52已终止,3075项为3056通过、6失败、4错误、9跳过;草稿24、整托主链11、冻结来源17、仓内持久化21/单元20、Repair9、provider14在该输入实际通过,整体未通过。A负责BrowserApiBoundary/DispatchService/ReturnCandidate三个旧测试,内部唯一接四个旧预约/转运直接测试;其中A先前已改的Repartition/Pagination两文件在派工交叉时被内部读到漂移,内部未写即停,A明确释放后才继续,现四文件66071b/b9196d/5fbe3b/787e78已冻并根核对。没有恢复头客户、旧状态或新建预约。 + +只读证实客户确认前合法作废会真实RELEASE库存但保留旧item/position指针,旧provider再次引入该CANCELLED历史会误挡新排车。B仅Repo+ProviderTest两文件修复,根匹配Repo12b957、Test最终6eb43b(SKU方式NULL,16项待Maven),保留全部真实位置及残余HOLD阻断、不扩修纯SKU完成/HOLD生命周期。Root主契约同步边界。所有本轮修正已冻结,A已获明确通知立即按受影响类入队并编译全部测试源,不再等待未证实疑点,不重复整轮已知旧失败。 + +独立旧换标出库取消另有真实业务冲突:出库取消要求READY_FOR_OUTBOUND,却调用被申请状态机禁止的CANCELLED;原测试mock掩盖该矛盾。相关ReturnOutboundClosureTest及生产保持冻结,根已发异步业务选择“只取消出库安排、保留换标回待安排(推荐)/本批暂不处理旧入口”,待用户回复,不伪造来源取消通过。该问题与确认前合法作废历史过滤分开。 + +前端必要补验已终止:Admin418文件3541项中3540通过、1失败(adminDensity对ContainerLastLegFeesPanel缺density-action),这两个外域文件运行中漂移,本批23文件零漂移,故不判当前完整Admin通过;Client629/629、typecheck、build均exit0,三个检查同一661ac51a输入前后不变,原始报告在根`.codex-temp/dispatch-current-full-gates-20261019T144504659Z/report.json`。根已实际读取原始诊断、计数及SHA。完整离线脚本214文件2218中2214通过、4失败,完整TAP已保存并核准失败为phase3正则、历史迁移版本、预约Feign及Lingxing/Discard HTTP元数据;原shell重定向不完整文件不作完整TAP证据。根清单已记录各自边界,原6GB类型检查仍exit2/日历3诊断,不借其他进程标签判通过。环境SQL、提交、部署、真实HTTP和页面/真机验收均未执行。 + +2026-10-19 用户追加确认及授权:已确认换标、关联出库尚未扫码时,只取消本次出库安排,保留换标成果,退回待安排。内部`native_capacity_consumers`独占`DeliveryTransferService.java`、`DeliveryCancellationRepository.java`、`ReturnOutboundClosureTest.java`,原非TRUCK方式不改成TRUCK、不伪造换标再次确认;真实取消/清关联/回滚验证交A执行。最新65输入定向111项为110通过、1失败;根查明Repartition夹具allocation引用item11/physical12却插入item1/physicalNULL,仅把夹具改为真实11/12,新SHA f2f717,生产联接及原禁止拆分/并发断言不改,待统一复验。用户同时更新目标,明确授权当前排车TEST部署、操作测试数据库、真实HTTP与内置浏览器验收,Admin/Client1920×1080、两PDA390×848。总控统一环境写入和发布;现有独立任务不自行触发。此前“未获环境授权”限制已被本次明确授权替代,实际部署/HTTP/视觉仍待执行,不以授权当完成。日历新增预约不接管,开发/生产环境不操作。 + +2026-10-20 00:06收尾检查点:换标取消按用户确认保留成果/回待安排已完成,三个生产与直接测试文件冻结;最终定向94/94通过,Lastleg完整3081项为3072通过、0失败/错误、9条件跳过,1706输入核验零漂移。File完整242/242通过,286唯一输入无漂移;海外PDA本轮H5构建及verify-h5退出0,85产物、127输入及23冻结文件无漂移。以上仅各自本地输入证据,真实版本与HTTP仍单列环境主契约。 + +总控已执行获授权的八张新增空表及File三文件发布,详见环境主契约;未删除旧链。339旧排车、163草稿及关联218出库/269派送的备份废弃重建仍待用户明确处置答复,不能用默认审核/来源/实测补齐旧模型。CI #369单fork1GiB堆OOM,未部署;A只读核对最小生命周期修正,不增加并发或任意扩大内存,根检查真实代理cgroup容量。根依据实际Lastleg a563而非初始SCM e067组装d891候选,B独立核验346路径及已发布修复保留。C交付Client实际运行513b之上的六文件最小移除提案,根已核对并推送ba659固定标签,Client #432已排队;只是发布准备,未判运行成功。共享SQL/环境/根文档仍由根唯一执行,日历新增预约不接管。 + +2026-10-20 00:17发布检查点:Client #432精确ba659成功、容器健康、五公网资源与容器一致,临时Job配置完整恢复;真实DOM交互/CDP连续超时,仅确认登录和到达列表路由,不判视觉或请求量通过。A只改并冻结Lastleg POM一处reuseForks=false(0f2312),根基于已审d891组装8898、347路径并推固定标签,#370完整测试执行中、DEPLOY=false;代理无残留fork/cgroup OOM,只调整测试生命周期,未增堆/并发。旧链处置问题仍待答复,主版本、Admin与海外PDA保持未切换。 + +2026-10-20 00:31收尾检查点:本机CI资源/流水线三文件实际31/31通过、exit0,session68393已终止,没有残留本批本机重型检查。CI370的唯一当前断言失败确认为转运旧运行生产与当前在途测试夹具误配;A/B独立逐blob核对后只恢复候选测试到a563 d6823085,保留50用例及原ownership拒绝,当前工作区不动。B对20个差异生产输入和316个已纳入Java/MJS的直接配对未发现第二处同类偏差。根推送d761固定标签(346路径),队列8257待370结束后完整验证、不部署;旧轮继续收集其余失败,不能将局部通过当全量成功。Client新开页DOM读取17条、无创建按钮;尺寸、截图及网络观察工具仍超时,视觉/请求量待验。旧测试运输链处置仍未获答复,没有删除或结构切换。 + +2026-10-20 00:39 CI检查点:#370已终止FAILURE,496份类结果为依赖134加Lastleg默认3027、合计3161项,1失败/0错误/9跳过,无OOM;默认阶段失败导致后置SQL语义两类未执行,未声称全部断言完成。只有已定位并在下一候选恢复的转运夹具。原队列8257已转为#371并运行,精确d761、完整测试、不部署;134项当前通过不是整轮通过。根继续跟踪该明确运行句柄,不重启/重复派工。浏览器Page.getLayoutMetrics在正确读取本次CDP说明并设置1.5秒命令期限后仍工具超时,真实尺寸/截图/网络仍待验;新问题仅索取两PDA TEST H5入口,现有配置只找到API地址,未借用历史会话或猜域名。旧链处置确认仍未答复,无额外环境写入。 + +2026-10-20 00:53权限准备检查点:根只读核实当前IAM三个新增动作资源缺失,父列表有效;按既有本轮TEST非破坏性数据库授权及已验证源种子,只新增5107065/66/67三个目录资源,未改岗位关联/账号/安全版本/会话,回查新资源关联授权0。实际回执与切换待办只列环境主契约。CI371当前1176项无失败/错误,根实际从控制台提取确认转运原50项全过,修正候选问题已复验;完整CI及后置SQL语义仍执行中。两项缺失输入保持:旧运输测试链处置答复与两PDA TEST H5地址。 + +2026-10-20 01:20收口及阻塞审计:#371精确d761已SUCCESS、clean package、完整执行、未部署;JUnit3212=3203通过+9跳过、0失败/错误,Lastleg3027默认+51后置SQL合计3078,依赖134。原夹具50/50已复验,9跳过原因及不同本地输入计数只维护环境主契约,不冒充真实HTTP/四端验收。节点无残留Maven/Surefire、cgroup OOM0,所有本批检查句柄已终止;A200/B157/C120均idle,无新派工。六容器健康且Lastleg/Admin/两PDA仍旧运行版本,Admin源基线未变;海外H5127记录输入/23冻结文件/85产物复算0漂移,未发布。 + +同一旧运输链备份废弃重建确认已连续至少三轮未答复,01:17主单/草稿仍339/163;PDA TEST H5地址请求亦未答复。根未把通用数据库授权当作该删除/重建确认,未执行旧链处置或匹配主版本切换。可独立推进的候选及验证均已收齐,当前剩余端到端推进依赖用户输入,满足目标blocked审计;完整目标不标complete,收到所需输入后按实际状态继续,不重启已成功CI或接管日历新增预约。 + +2026-10-20 07:51输入补齐:用户提供两个本地PDA H5入口,根只读打开后确认5175国内、5176海外,两端登录前390×848截图完成。环境与验收证据仅维护环境主契约;未登录、改配置、重启、发布或执行业务写入。发现本地配置指向非TEST代理,已询问是否切换本地服务后继续,未把本地入口当作跨环境授权;旧链备份废弃重建确认仍未答复。三个既有任务不重复唤醒或派工,主版本切换与完整作业验收仍未完成。 + +2026-10-20 08:05本地PDA接通:按用户明确同意,仅切换两项目未提交本地API配置;HBuilderX自动重启,实际代理日志确认为TEST,两端正常UI登录及只读任务列表入口完成,各首次入口1个业务GET。有效截图及工具缩放限制只维护环境主契约;未领取/扫码或改任务状态。入口与本地环境切换不再待答复;旧链备份废弃重建仍未获确认,未推进主结构/Lastleg/Admin/海外H5匹配发布,不将本轮入口验收视为五阶段验收完成。无新派工或源码写权变化。 + +同轮海外H5配置输入变化已由根经local-check重建并校验,均退出0,85产物相对原构建不变,未发布。共同冻结文件复查发现两个Admin弹框当前输入变化,后续集成须按新输入复核,未覆盖或自行收回其他写入者文件;完整指纹和适用限制仅维护环境主契约。 + +2026-10-20 08:26用户明确旧运输TEST数据直接删除、不需要备份,原删除重建授权阻塞已解除。根为唯一SQL/发布执行者;复用内部代理分别只读审核当前Admin两弹框变更、旧运输关系闭包和实际运行发布基线,均不写环境、不改其他会话文件、不创建独立任务。根08:25只读预检主单/草稿等计数未变化,尚未删除/切换。当前阶段转为清理方案闭包与匹配发布准备,后续由根统一执行并验收,不再重复询问是否备份。 + ## 2026-10-18 预约演示问题交接与原总控退出 用户明确指定既有对话 `01a14f36-9fae-7dc0-90e6-1d3c54d22de6`(Bug 处理-1)处理 D1674 演示中的三个问题:保存预约后页面 A0409、查看原排车单后事项弹窗未关闭、继续安排本批车辆提示操作资格已变化;并明确 `01a13df2-c639-7560-a3e2-30bc23a579b3`(预约)不再担任总控。原对话已将操作指南、四张用户截图路径、已有诊断和保护边界发送给指定对话,停止开发调度、修改与部署。下方历史预约总控身份不再代表当前授权;本次不指定新的全局总控、不新建长期专项。