Files
huachuang/docs/superpowers/plans/2026-08-06-shipping-area-task.md
2026-08-07 13:48:56 +08:00

66 lines
3.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.

# 发货区 AGV 任务实现计划
> **面向 AI 代理的工作者:** 必需子技能:使用 superpowers:subagent-driven-development推荐或 superpowers:executing-plans 逐任务实现此计划。步骤使用复选框(`- [ ]`)语法来跟踪进度。
**目标:** 接收 AGV 对接位和木箱号,根据木箱最近未删除出库单分配发货区点位并创建、下发搬运任务。
**架构:** ACS Controller 接收请求ShippingAreaService 负责出库单关联、同单同排选位、条件抢占和任务生命周期WmsPointMapper XML 负责候选排及点位更新ShipAreaTask 只转发完成和取消回调。
**技术栈:** Java 17、Spring Boot、MyBatis XML、MySQL、现有 TransportTaskApi。
---
### 任务 1请求响应与出库单关联查询
**文件:**
- 创建:`controller/acs/vo/AcsShippingApplyReqVO.java`
- 创建:`controller/acs/vo/AcsShippingApplyRespVO.java`
- 修改:`IostorinvDisMapper.java``IostorinvDisMapper.xml`
- [ ] 请求定义必填 `deviceCode``boxNo`;响应返回任务、木箱、点位和出库单信息。
- [ ] Mapper 按木箱号关联主表,只筛选 `deleted = 0`,按创建时间和主键倒序返回最近一张。
- [ ] 查询无结果时由 Service 抛出明确业务异常。
### 任务 2发货点持久化与并发抢占
**文件:**
- 创建:`dal/dataobject/point/WmsPointDO.java`
- 创建:`dal/dataobject/point/ShippingPointRowCandidate.java`
- 创建:`dal/mysql/point/WmsPointMapper.java`
- 创建:`resources/mapper/point/WmsPointMapper.xml`
- [ ] 同单候选排只按 `row_num` 分组,识别已到位木箱、已创建任务和 `B{billId}` 临时预占。
- [ ] 空排要求该 `row_num` 下所有点位的载具和任务均为空。
- [ ] 排内按 `col_num, point_code` 选择空闲点位。
- [ ] 条件更新预占点位,创建任务后绑定任务 ID。
- [ ] 完成写木箱号和数量并清任务;取消只清任务。
- [ ] `xmllint --noout WmsPointMapper.xml` 退出码为 0。
### 任务 3领域服务和任务创建
**文件:**
- 创建:`service/shippingarea/ShippingAreaService.java`
- 创建:`service/shippingarea/ShippingAreaServiceImpl.java`
- [ ] 查询木箱最近出库单。
- [ ] 先遍历同单排,再遍历空排,条件抢占点位。
- [ ] 创建任务,起点为设备号、终点为点位,`bizId` 为出库单 ID`handleCode``SHIPAREATASK`
- [ ] 将预占码替换为任务 ID 后下发。
- [ ] 完成和取消按任务 ID 精确更新一个点位。
### 任务 4ACS 接口和任务回调
**文件:**
- 修改:`controller/acs/CallTaskController.java`
- 创建:`task/ShipAreaTask.java`
- [ ] 增加 `POST /acs/call/shipping/apply`,使用 `@PermitAll` 和参数校验。
- [ ] `ShipAreaTask` 完成、取消事件转发到 ShippingAreaService。
### 任务 5验证
- [ ] 检查无新增注解 SQL。
- [ ] 校验 Mapper XML 和 `git diff --check`
- [ ] 编译 WMS Server 及依赖模块,预期 `BUILD SUCCESS`
- [ ] 核对 `row_num` 分组、`col_num` 排序、同单优先、空排回退和任务回调闭环。