This commit is contained in:
2026-10-20 10:35:59 +08:00
parent 2f8d59c871
commit c33ed689d7
6 changed files with 438 additions and 16 deletions
@@ -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<CandidatePhysical,CandidateBatches> candidateBatches(List<CandidatePhysical>)`;`CandidatePhysical(String customerId,Long planPalletId)`;`CandidateBatches(List<BatchReference> appointmentBatches,List<String> 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