编辑 | blame | 历史 | 原始文档

一袋一码模块:新增产线维护 + 批次恢复品种关联 - 前端联调方案

本文档为变更说明,取代 mes_bag_code_module_decouple.md 中"移除品种、产线手填"的部分。
袋码赋码、托盘码管理两个页面本次**无任何变化**。

功能概述

  1. 产线维护(新增页面):维护产线主数据(编码、名称、状态、备注),供生产批次下拉选择。
  2. 批次恢复品种关联:批次重新关联 MDM 物料(品种),表单用物料选择器选择。
  3. 批次产线改为下拉选择:批次表单不再手填产线编码/名称,改为从产线维护数据中选择。
  4. 批次号规则恢复:前缀(PC) + 日期(yyyyMMdd) + 产线编码 + 品种编码 + 流水号。

涉及页面

  • 一袋一码管理 → 产线维护(新增页面:列表 + 新增/编辑/详情弹窗)
  • 一袋一码管理 → 批次生产管理(表单与列表改造)

菜单已初始化:产线维护菜单挂在「一袋一码管理」下第一位(路由 /bagcode/line,组件 mes/pro/line/index),按钮权限 mes:pro-line:query/create/update/delete/export

API:产线维护(权限前缀 mes:pro-line

方法 路径 说明 权限
POST /mes/pro/line/create 创建产线 mes:pro-line:create
PUT /mes/pro/line/update 更新产线 mes:pro-line:update
DELETE /mes/pro/line/delete 删除产线 mes:pro-line:delete
GET /mes/pro/line/get 产线详情 mes:pro-line:query
GET /mes/pro/line/page 产线分页 mes:pro-line:query
GET /mes/pro/line/simple-list 产线精简列表(仅启用,供下拉) 无(登录即可)
GET /mes/pro/line/export-excel 导出产线 Excel mes:pro-line:export

创建/更新请求参数(POST /create、PUT /update)

参数 类型 必填 说明
id Long 更新时必填 编号
code String 产线编码(参与批次号生成,建议 ≤ 8 位)
name String 产线名称
status Integer 状态(字典 common_status:0 启用/1 停用)
remark String 备注

分页查询参数(GET /page)

code(模糊)、name(模糊)、status、createTime[](创建时间范围)、pageNo/pageSize。

响应字段

字段 类型 说明
id Long 编号
code String 产线编码
name String 产线名称
status Integer 状态(字典 common_status)
remark String 备注
createTime String 创建时间

simple-list 返回相同结构(仅 id/code/name/remark 有值),且只包含启用状态的产线。

批次接口变更(/mes/pro/batch/*)

接口路径与权限均不变,仅请求/响应字段调整。

创建/更新请求参数变化

变化 参数 类型 必填 说明
新增 itemId Long 品种(产品物料)编号,选 MDM 物料
新增 lineId Long 产线编号,选产线维护数据
移除 lineCode / lineName 不再接收,由后端按 lineId 自动回填

其余参数不变:produceDate(必填)、planQuantity、ownerUserId(必填)、remark、workers(必填,至少 1 条)。

响应字段新增

字段 类型 说明
itemId Long 品种编号
itemCode / itemName / itemSpecification String 品种编码/名称/规格(后端拼接,展示最新主数据)
lineId Long 产线编号

lineCode / lineName 仍返回(冗余快照,历史批次不受产线改名影响)。

分页查询参数新增

itemId(品种编号,精确)、lineId(产线编号,精确);原 code/lineCode/lineName/ownerUserId/status/produceDate/createTime 不变。

业务流程与数据带入

  1. 先维护产线:一袋一码管理 → 产线维护 → 新增产线(编码 + 名称 + 状态启用)。
  2. 新增批次:选品种(物料选择器)→ 选产线(仅展示启用的产线)→ 选生产日期、责任人 → 配置生产人员(至少 1 人)。保存后批次号自动生成 = PC + 日期 + 产线编码 + 品种编码 + 流水号。
  3. 编辑批次:变更品种或产线会**自动重新生成批次号**;产线未变更时,即使该产线已被停用,仍可编辑其他字段。
  4. 生成袋码/托盘码:流程不变(选批次 + 数量),批次下拉仅展示批次号。

接口调用时序

时机 调用 说明
批次表单打开 GET /mes/pro/line/simple-list 产线下拉选项(仅启用)
批次表单打开 物料选择器内部查询 品种选择(现有 MdItemSelect 组件)
批次列表/详情渲染 无需额外调用 品种编码/名称/规格由后端拼接返回
产线维护页 /mes/pro/line/page、create、update、delete 常规 CRUD

字段展示规则

字段 展示位置 说明
产线编码/名称/状态/备注 产线维护列表、表单 状态用字典 common_status
品种(编码+名称) 批次列表 后端拼接字段 itemCode/itemName
品种 itemId 批次表单(物料选择器) 必填
产线 lineId 批次表单(产线下拉) 必填,仅启用产线可选
产线编码/名称 批次列表、详情 冗余快照列,只读

业务规则说明

场景 规则
产线编码/名称唯一 创建、更新时校验,重复报错
产线删除 已被生产批次引用的产线不允许删除
产线停用 停用后新批次不可选(下拉不展示),已生成的历史批次不受影响
批次号生成 前缀 PC + 日期(yyyyMMdd) + 产线编码 + 品种编码 + 流水号(3位按日循环)
批次号重新生成 编辑批次时品种或产线变化即重新生成
袋码/托盘码 规则不变(袋码 = 批次号 + "-" + 4位序号;托盘码 = 批次号 + "-P" + 2位序号)

注意事项

  • 产线维护页面已在数据库初始化菜单,前端需新增页面文件(组件路径 mes/pro/line/index,组件名 MesProLine)。
  • 批次表单提交体变为 { itemId, lineId, produceDate, planQuantity, ownerUserId, remark, workers },**不要再传 lineCode/lineName**。
  • 产线下拉务必调用 simple-list(仅启用产线),不要调用 page 接口。
  • 品种的编码/名称/规格**不要**存入批次表单,仅传 itemId,展示以批次列表/详情接口返回的拼接字段为准。
  • 袋码列表、托盘码列表、扫码追溯页面**不展示品种信息**(品种只关联到批次层)。
  • 状态字典统一为 common_status(0 启用/1 停用),无需新增字典。