生产线扫码入库:支持袋码/托盘码/批次码 + 去掉设备编码 - 前端联调方案
涉及页面
- 生产线扫码入库(
src/views/mes/pro/scan-in/index.vue)
业务变更
- 去掉设备编码:扫码入库不再录入/展示设备编码,接口
deviceCode 改为非必填,前端不再传。
- 产线、库区、库位改为下拉选择:数据源为现有精简列表接口,不再手填编号。
- 等待扫码区增加"扫码类型"选择:袋码 / 托盘码 / 批次码三选一,扫码框随类型提交对应码值。
API
主接口:追溯码扫码入库
| 方法 |
路径 |
说明 |
| POST |
/mes/pro/scan-in/inbound |
追溯码扫码入库(袋码/托盘码/批次码) |
请求参数(本次变更):
| 参数 |
类型 |
必填 |
变更 |
说明 |
| scanType |
String |
否 |
新增 |
扫码类型:BAG 袋码 / PALLET 托盘码 / BATCH 批次码,不传默认 BAG |
| deviceCode |
String |
否 |
改为非必填 |
设备编码,前端不再传 |
| bagCode |
String |
是 |
语义扩展 |
扫码内容:袋码/托盘码/批次码的码值(含临时码) |
| eventId | String | 是 | - | 事件号(建议用 {scanType}-{时间戳} 保证唯一) |
| quantity | Number | 是 | - | 袋码场景传 1;托盘/批次场景后端忽略该值,按已装袋数/批次袋数计算 |
| lineCode | String | 否 | - | 产线编码(前端下拉选择) |
| locationId | Long | 是 | - | WIP 暂存库区编号(前端下拉选择) |
| areaId | Long | 是 | - | WIP 暂存库位编号(前端下拉选择) |
响应新增字段:
| 字段 |
类型 |
说明 |
| scanType |
String |
本次扫码类型(BAG/PALLET/BATCH) |
入库数量口径:
| scanType |
数量 |
说明 |
| BAG |
前端传 1 |
单袋入库 |
| PALLET |
托盘已装袋数 bag_count |
整托一次性入暂存库 |
| BATCH |
批次袋数 bag_quantity |
整批一次性入暂存库 |
入库去重: 袋码、托盘码、批次码均以各自 inbound_event_id 判断是否已入库,重复扫码返回对应"已入库"错误码,不会重复写入库存事务。
下拉数据源(复用现有接口,无新增)
| 用途 |
方法 |
路径 |
说明 |
| 产线 |
GET |
/mes/pro/line/simple-list |
返回启用产线 {id, code, name} |
| 库区 |
GET |
/mes/wm/warehouse-location/simple-list |
返回库区 {id, code, name};选库区后联动加载其下库位 |
| 库位 |
GET |
/mes/wm/warehouse-area/simple-list?locationId= |
返回库位 {id, code, name} |
数据带入说明
- 产线/库区/库位:下拉选择,页面
onMounted 一次性加载产线、库区;选择库区后按 locationId 联动加载库位。
- 扫码提交:
locationId、areaId、scanType、bagCode 一并带入入库接口;产线 lineCode 有值才传。
- 事件列表/看板:以
scanType 区分追溯码类型展示(历史无类型的数据默认显示"袋码")。
字段展示规则
| 字段 |
展示位置 |
说明 |
| 扫码类型 |
等待扫码区下拉 |
三选一:袋码/托盘码/批次码 |
| 生产产线 |
扫码卡配置区 + 状态卡 |
下拉选择,可清空 |
| WIP 暂存库区/库位 |
扫码卡配置区 + 状态卡 |
下拉选择,库位随库区联动禁用/启用 |
| 最近入库追溯码 |
统计卡 |
展示最新一条扫码内容 |
| 追溯码/类型/产线 |
最近扫码事件表 |
表格新增"类型"列,原"设备/产线"列改为"产线" |
| 最近扫码类型 |
状态卡 |
展示最新事件扫码类型 |
注意事项
- 后端需**执行 SQL 脚本**
sql/mysql/mes_pro_scan_event_scan_type.sql(mes_pro_scan_event 增加 scan_type 列,mes_pro_pallet 增加 inbound_event_id/inbound_time 列),再**重新编译并重启**。
- 重启前旧接口会忽略
scanType(按袋码处理),托盘/批次码扫码会返回"袋码不存在";前端类型下拉照常可选,功能降级为仅袋码。
- 产线/库区/库位下拉若接口 404(后端未重启),下拉为空,需先保障后端可用。
- 托盘、批次整托/整批入库会同步把其下未入库袋码标记为已入库,避免后续单袋扫码重复入库。