feat(javaTest): reconstruct historical business parent tasks

This commit is contained in:
zgw
2026-08-07 14:02:38 +08:00
parent 1fd45f4f69
commit 93ef274b63
13 changed files with 664 additions and 21 deletions

View File

@@ -257,7 +257,7 @@ public final class HistoricalBusinessTaskAssembler {
"dataset, compiled map and channel fronts are required");
}
List<HistoricalQueueRecord> ordered = stableOrder(dataset.getRecords());
Map<BusinessTaskKey, List<HistoricalQueueRecord>> groups = groupBusinessRows(ordered);
Map<String, List<HistoricalQueueRecord>> groups = groupBusinessRows(ordered);
return buildAssembly(dataset.getRecords(), groups, compiled, fronts);
}
@@ -267,7 +267,7 @@ public final class HistoricalBusinessTaskAssembler {
}
```
Use `task_no + cargo_pick_site + cargo_place_site` as the business grouping key, sort groups by earliest `create_date/task_no`, and create IDs as `BUSINESS@<taskNo>#<stableSequence>`. Keep every raw GUID/snapshot row as `HistoricalTaskSnapshotEvidence`. Resolve physical endpoints from `cargo_pick_site/cargo_place_site`, not historical queue `start_site/end_site`.
Use `task_no` as the parent grouping key, sort groups by earliest `create_date/task_no`, and create IDs as `BUSINESS@<taskNo>#<stableSequence>`. Keep every raw GUID/snapshot row as `HistoricalTaskSnapshotEvidence`. Resolve the parent business type, priority, and physical endpoints only from rows whose `default02` is `1/2/7`; `default02=4/8` rows are pickup/floor-transfer evidence and their intermediate endpoints must not overwrite the parent. This distinction is required by fixture task `50089`, whose transfer target differs from its final outbound target.
- [ ] **Step 4: Preserve raw compatibility explicitly**