Files
huachuang/docs/superpowers/plans/2026-08-12-auto-send-sub-roll-task.md
2026-08-18 18:44:13 +08:00

43 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 子卷下线送待检区任务实现计划
> **面向 AI 代理的工作者:** 在当前功能分支按步骤实现并逐项验证。
**目标:** 完成子卷下线点与待检区点位的并发安全配对和锁定,并由定时任务触发。
**架构:** Mapper XML 提供稳定排序查询和条件更新;业务 Service 在事务内完成点位抢锁、配对及无目的点时的起点释放Job 仅调用业务入口。任务创建暂保留明确的 TODO。
**技术栈:** Java 17、Spring Boot、MyBatis、MySQL、XXL-JOB。
---
### 任务 1实现点位查询和锁操作
**文件:**
- 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/dal/mysql/packagepoint/PackagePointMapper.java`
- 修改:`nl-module-lms/nl-module-lms-server/src/main/resources/mapper/packagepoint/PackagePointMapper.xml`
- [ ] 声明可用点位查询、条件加锁、解锁 Mapper 方法。
- [ ] 在 XML 中按点位类型、状态、锁状态和删除标记查询,并稳定排序。
- [ ] 条件加锁仅允许 `lock_status = '0'` 更新为 `'1'`
### 任务 2实现业务配对并接入 Job
**文件:**
- 修改:`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/service/packagepoint/PackageBoxBusinessServiceImpl.java`
- 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/job/box/BoxAutoJob.java`
- [ ] 在 Service 接口增加自动创建子卷送检任务入口。
- [ ] 在事务中查询起点和目的点,逐一条件抢锁并配对。
- [ ] 目的点不足时释放未配对起点,配对成功后调用任务模块创建运输任务。
- [ ] Job 调用 Service 业务入口。
### 任务 3同步表结构并验证
**文件:**
- 修改:`sql/mysql/lms_package_point.sql`
- [ ] 在建表脚本补充非空且默认未锁定的 `lock_status` 字段。
- [ ] 编译 `nl-module-lms-server` 及其依赖模块,要求 Maven 退出码为 0。
- [ ] 检查 Git 差异,确认没有覆盖用户已有修改。