# 子卷下线补充空架子实现计划 **目标:** 完成 `autoSubRollDownCallEmptyJob` 的空架 AGV 任务自动创建及点位状态回调。 **架构:** 复用现有点位查询和条件锁 Mapper;业务 Service 在事务内按优先级配对并创建任务;独立 AGV 回调类维护起点、目的点状态;Job 仅负责调度。 **技术栈:** Java 17、Spring Boot、MyBatis、XXL-JOB、任务模块 API。 --- ### 任务 1:增加空架任务类型和业务入口 **文件:** - 修改:`nl-module-lms/nl-module-lms-api/src/main/java/cn/code/nl/module/lms/enums/PackageTaskTypeEnum.java` - 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessService.java` - 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/job/box/BoxAutoJob.java` - [x] 新增子卷下线补空架 AGV 任务类型。 - [x] 新增业务方法并由定时器记录日志后调用。 ### 任务 2:实现点位分配和任务创建 **文件:** - 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessServiceImpl.java` - [x] 查询下线空位、装箱空载具、待检空载具和待检空位。 - [x] 每个下线空位优先配装箱空载具,其次配待检空载具。 - [x] 将剩余装箱空载具配到待检空位。 - [x] 条件锁定两端点位并创建空架 AGV 任务。 ### 任务 3:实现空架任务回调 **文件:** - 创建:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/tasks/box/SubRollCallEmptyAgvTask.java` - [x] 完成时将目的点更新为空载具并解锁。 - [x] 取消时解锁两端点位。 - [x] 取货时将起点更新为空位、清空库存信息并解锁。 ### 任务 4:验证 - [x] 编译 LMS 服务及其依赖模块,确认 Maven 退出码为 0。 - [x] 检查 Git 差异,确认只修改本功能相关文件且未覆盖用户改动。