feat:子卷质检不合格
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# 子卷下线送待检区任务设计
|
||||
|
||||
## 目标
|
||||
|
||||
定时扫描未锁定的子卷下线点,为每个点位分配一个未锁定的待检区点位,并在后续创建运输任务前锁定起点和目的点。
|
||||
|
||||
## 点位筛选
|
||||
|
||||
- 起点:`point_type = '1'`、`point_status = '3'`、`lock_status = '0'`、`deleted = 0`。
|
||||
- 目的点:`point_type = '2'`、`point_status = '1'`、`lock_status = '0'`、`deleted = 0`。
|
||||
- 两类点位均按 `sort_seq`、`point_id` 升序处理,保证分配顺序稳定。
|
||||
|
||||
## 并发与事务
|
||||
|
||||
业务方法在一个数据库事务中运行。点位加锁使用带原状态条件的更新:仅当 `lock_status = '0'` 时更新为 `'1'`,并以更新行数判断是否抢锁成功。
|
||||
|
||||
每个起点先尝试抢锁,再依次尝试目的点。目的点抢锁失败时继续尝试下一个;没有目的点可用时,将本次已抢到的起点恢复为未锁定并结束本轮扫描。运行期间发生异常时由事务回滚本轮全部数据库修改。
|
||||
|
||||
## 任务创建
|
||||
|
||||
起点和目的点都锁定成功后,通过 `TransportTaskApi.createTransportTask` 创建运输任务。任务归属为 LMS,业务类型为 `SUB_ROLL_DOWN`,业务标识及物料编码使用子卷号,取放货点使用起点和目的点编码,回调处理器为 `subRollDownAgvTask`。任务创建失败时抛出异常,使点位锁随当前事务回滚。
|
||||
|
||||
## 调用边界
|
||||
|
||||
`BoxAutoJob` 只负责日志和调用 `PackageBoxBusinessService`。点位查询、配对、条件加锁和必要的解锁均由 `PackageBoxBusinessServiceImpl` 组织,数据库语句集中在 `PackagePointMapper.xml`。
|
||||
@@ -0,0 +1,28 @@
|
||||
# 子卷下线补充空架子设计
|
||||
|
||||
## 目标
|
||||
|
||||
定时扫描装箱区域点位,为子卷下线空位优先补充装箱点空载具;装箱点不足时使用待检点空载具补充;下线点无剩余空位后,将装箱点剩余空载具转运到待检点空位。
|
||||
|
||||
## 分配顺序
|
||||
|
||||
1. 目的点为未锁定的下线点空位,起点优先选择未锁定的装箱点空载具。
|
||||
2. 当前下线点无法取得装箱点空载具时,改用未锁定的待检点空载具。
|
||||
3. 下线点候选处理完后,将剩余的装箱点空载具与待检点空位配对。
|
||||
4. 各类候选点均沿用 `sort_seq`、`point_id` 升序,保证任务创建顺序稳定。
|
||||
|
||||
## 并发与任务创建
|
||||
|
||||
每次配对先条件锁定目的点,再按优先级条件锁定起点。锁定和释放都同时校验候选查询时的点位状态,避免查询与更新之间的空档窗口内状态已变化却仍然更新成功。抢锁失败时继续尝试下一候选点;没有可用起点时释放已锁定的目的点。起点和目的点均锁定后,通过 `TransportTaskApi` 创建 AGV 运输任务,回调处理器为 `subRollCallEmptyAgvTask`。业务方法运行在事务中,任务创建异常时回滚点位锁。
|
||||
|
||||
空架任务以载具号作为业务标识和载具编码,不设置物料编码。任务类型新增为子卷下线补空架 AGV 任务。
|
||||
|
||||
## 回调状态
|
||||
|
||||
- 取货完成:起点改为空位、清空载具和容器信息并解锁。
|
||||
- 任务完成:目的点改为空载具、写入载具号、清空容器信息并解锁。
|
||||
- 任务取消:起点和目的点仅解锁,保留原有库存状态。
|
||||
|
||||
## 调用边界
|
||||
|
||||
`BoxAutoJob` 只记录开始/结束日志并调用 `PackageBoxBusinessService`。点位筛选、抢锁、分配和任务创建均放在 `PackageBoxBusinessServiceImpl`;任务状态回写放在 `SubRollCallEmptyAgvTask`。
|
||||
@@ -0,0 +1,41 @@
|
||||
# 装箱区信息看板设计规格
|
||||
|
||||
## 目标
|
||||
|
||||
创建一个无需接口和构建工具即可直接打开的独立 HTML Demo。页面延续 `index4.html` 的点位信息、搜索定位、缩放拖动和右键复制功能,并采用 `rollInfoDashboard.html` 的深色科技大屏视觉。
|
||||
|
||||
## 页面结构
|
||||
|
||||
- 固定 1920 × 1080 设计舞台,随浏览器窗口等比缩放。
|
||||
- 顶部包含品牌标识、看板标题、当前日期时间和演示数据标识。
|
||||
- 第二行包含总点位、占用、空闲、超时、占用率五项 KPI。
|
||||
- 工具条包含状态图例、卷号搜索、超时阈值、地图缩放比例和复位按钮。
|
||||
- 主体左侧为平面布置图,右侧为装箱队列和当前选中点位详情。
|
||||
|
||||
## 平面布局
|
||||
|
||||
- 北区为一排 6 个暂存点位:`ZJXX_01` 至 `ZJXX_06`。
|
||||
- 中区为 7 排 6 列待检点位:`DJQ_01` 至 `DJQ_42`,按从上到下、从左到右顺序编号。
|
||||
- 南区第一排为装箱区 1:`ZXQ_01` 至 `ZXQ_08`,右侧为 `ZXDJW_01`。
|
||||
- 南区第二排为装箱区 2:`ZXQ_09` 至 `ZXQ_16`,右侧为 `ZXDJW_02`。
|
||||
- 区域间和点位组之间使用白色发光线表示 AGV 通道,配合方向箭头表达行驶路径。
|
||||
|
||||
## 点位数据与状态
|
||||
|
||||
每个点位使用确定性的本地模拟数据,展示点位编码、点位名称、库存状态、卷号、箱号、进入时间和停留时长。状态包含空闲、空载具、有子卷、合格品和管制品;超过用户设置阈值的占用点位显示红色超时效果。
|
||||
|
||||
## 交互
|
||||
|
||||
- 输入完整或部分卷号后定位并高亮匹配点位。
|
||||
- 鼠标滚轮缩放地图,按住左键拖动,双击或点击复位按钮恢复适配视图。
|
||||
- 单击点位更新右侧详情。
|
||||
- 右键点位弹出菜单,可复制卷号或箱号;不可用的复制项禁用。
|
||||
- 超时阈值和缩放比例即时更新,并保存在浏览器本地。
|
||||
|
||||
## 验证标准
|
||||
|
||||
- HTML 可直接打开且不访问任何 API 或外部资源。
|
||||
- 页面包含 6 个北区点位、42 个中区点位、16 个装箱区点位和 2 个装箱等待位,共 66 个点位。
|
||||
- 1920 × 1080 下无主体溢出,缩小窗口时保持等比展示。
|
||||
- 搜索、选中、缩放、拖动、复位和右键菜单可以正常使用。
|
||||
|
||||
Reference in New Issue
Block a user