Files
FT546MWS/doc/algorithm-migration/IMPLEMENTATION_PLAN.md
2026-07-24 08:51:42 +08:00

29 lines
1.8 KiB
Markdown

# FT546 B Algorithm WMS Integration Plan
## Goal
Move the verified Java B algorithm into FT546MWS while keeping WMS as the owner of business transactions and keeping the existing WCS, shuttle, and lift execution policy unchanged.
## Global Constraints
- Inbound fills a dense lane from inner to outer positions.
- Outbound removes a dense lane from outer to inner positions.
- A lane with a pending outbound task cannot accept inbound.
- A deep exact-tray request executes `MOVE_OUT -> OUTBOUND -> RESTORE`.
- Buffer or floor-lock contention returns `WAITING`; it must not fall back or reject the business task.
- Only inbound with no legal space may be rejected.
- Project outbound matches project number only and defaults to whole-tray outbound.
- Production starts in `SHADOW`; `ACTIVE` requires data diagnostics, concurrency checks, and operator approval.
## Tasks
1. [Complete] Persist and advance deep outbound workflows, creating only the next executable WMS job.
2. [Complete] Connect move/outbound completion callbacks from WCS and whole-tray confirmation from PDA.
3. [Complete] Replace whole-warehouse refresh on each request with dirty-lane incremental refresh.
4. [Complete] Complete SQL Server install, diagnostics, uninstall, configuration, and operator documentation.
5. [Complete] Run focused tests, the algorithm suite, the WMS suite, a full Maven build, and final review.
## Transaction Boundary
The algorithm produces a plan. A Spring transaction in `ruoyi-admin` validates live WMS rows, persists the workflow and space locks, and creates one executable `mydo_job` row. WCS continues consuming the existing job table. Each completion callback advances at most one workflow step. The algorithm repository is constructed with the same WMS `PlatformTransactionManager` and `DataSource`; startup rejects a mismatched transaction manager.