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

生产批次号规则 - 前端联调方案

涉及页面

  • 批次生产管理 - 新增批次(/mes/pro/batch 新增弹窗)
  • 批次生产管理 - 补录批次信息(临时批次码补录弹窗)
  • 批次生产管理 - 编辑批次

业务流程与数据带入

  1. 新增批次:批次号字段可由人工填写;留空时由后端按「当前年份 + 3 位流水」自动生成(如 2026001)。
  2. 预生成二维码 -> 补录批次信息:补录时同样支持人工填写批次号,留空则自动生成;生成后临时批次码仍保留用于扫码追溯。
  3. 编辑批次:已生成正式批次号的批次,批次号不再变化(修改加工单位不会重新生成批次号);仅历史临时批次(尚无正式批次号)在编辑时补生成。

API

方法 路径 说明
POST /mes/pro/batch/create 创建生产批次
PUT /mes/pro/batch/fill-info 补录生产批次业务信息
PUT /mes/pro/batch/update 更新生产批次

请求参数新增:

参数 类型 必填 说明
code String 否 批次号。不传或留空时由系统按「4 位年份 + 3 位流水」自动生成,如 2026001;传入时后端校验格式与唯一性

批次号格式规则:

规则 说明
长度 固定 7 位纯数字(年份 4 位 + 流水 3 位)
示例 2026001、2026002 …
年份范围 2000 ~ 2100
流水范围 001 ~ 999,超出后后端提示「本年度生产批次号已用尽」
唯一性 全库唯一,包含已逻辑删除记录;重复时返回错误

响应:

  • create:{ "code": 0, "data": 批次编号 }
  • fill-info / update:{ "code": 0, "data": true }

错误提示:

场景 提示
格式不正确 生产批次号格式不正确,应为年份+3位流水号,如 2026001
批次号重复 生产批次号【2026001】已存在
当年流水用尽 本年度生产批次号已用尽(001-999)

字段展示规则

字段 展示位置 说明
code 新增弹窗 可编辑输入框,非必填;占位提示「留空自动生成,如 2026001」
code 补录弹窗 可编辑输入框,非必填;留空自动生成
code 编辑/详情弹窗 只读展示,不支持修改
code 列表 按「批次号」列展示

业务规则说明

场景 规则
人工输入批次号 前端将用户输入值放入 code 字段提交;后端校验 7 位数字格式及唯一性
留空自动生成 不传或传空字符串;后端取当前年份已用最大流水 + 1,格式化为 3 位流水
编辑已有批次 后端保留原批次号,忽略请求中的 code 变更;修改加工单位不再重新生成批次号
临时批次补录 补录成功后才拥有正式批次号;补录前列表展示临时批次码
并发新增 批次号列存在数据库唯一索引,重复提交会返回重复提示

注意事项

  • 新增、补录弹窗的「批次号」已改为可人工输入(非必填,留空自动生成);编辑、详情弹窗为只读展示。
  • 前端未做格式强校验,以服务端返回的错误提示为准;如需即时校验,可按 ^\d{7}$ 且年份在 2000-2100、流水 ≥ 001 判断。
  • 批次号生成依赖服务端当前年份,前端不要自行拼接年份或流水号。
  • 编辑弹窗回显的 code 仅用于展示,提交时即使携带也不会改变已有批次号。
  • 已有历史批次号(旧的 PC 前缀/16 位随机码)继续保留,不受新规则影响;新规则仅作用于新生成或人工输入的批次号。