2.0 KiB
子卷下线补充空架子实现计划
目标: 完成 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 -
新增子卷下线补空架 AGV 任务类型。
-
新增业务方法并由定时器记录日志后调用。
任务 2:实现点位分配和任务创建
文件:
-
修改:
nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessServiceImpl.java -
查询下线空位、装箱空载具、待检空载具和待检空位。
-
每个下线空位优先配装箱空载具,其次配待检空载具。
-
将剩余装箱空载具配到待检空位。
-
条件锁定两端点位并创建空架 AGV 任务。
任务 3:实现空架任务回调
文件:
-
创建:
nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/tasks/box/SubRollCallEmptyAgvTask.java -
完成时将目的点更新为空载具并解锁。
-
取消时解锁两端点位。
-
取货时将起点更新为空位、清空库存信息并解锁。
任务 4:验证
- 编译 LMS 服务及其依赖模块,确认 Maven 退出码为 0。
- 检查 Git 差异,确认只修改本功能相关文件且未覆盖用户改动。