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

基础参数与工序绑定 + 报工填写参数字段 - 前端联调方案

需求背景

  • 基础参数(工艺参数,菜单「工艺设计 → 基础参数」)原本无法与「工序」直接绑定。
  • 本次实现:**工序主数据可绑定基础参数**;任务无参数模板时,生成任务会按工序绑定的参数自动固化参数快照;**报工时必须填写绑定的参数字段**(必填参数强校验),报工详情/列表回显参数值。

涉及页面

  1. 工序设置页(mes/process-design/process/index)——新增「工艺参数」Tab,维护工序绑定的参数
  2. 基础参数页(mes/process-design/parameter/index)——新增「关联工序」入口,查看该参数被哪些工序使用
  3. 生产任务创建/自动排产——任务按工序绑定参数生成参数快照(无模板时)
  4. 生产报工新增/编辑——按任务参数记录渲染参数字段,必填参数校验
  5. 报工详情/列表——回显已填写的参数值

业务流程与数据带入

1. 工序设置页 → 「工艺参数」Tab → 勾选基础参数,设置是否必填/排序 → 保存到 mes_pro_process_param
2. 排产/手工建任务 → 任务的工序若未绑定参数模板,则从「工序绑定的参数」生成任务参数记录快照
   (参数来源优先级:工单工序绑定模板 → 路线工序绑定模板 → 工序主数据绑定参数 → 无参数记录)
3. 生产报工 → 按任务参数记录渲染参数字段(参数名 + 单位 + 必填星号)
4. 提交报工 → 必填参数为空则后端拒绝(报错「必填参数【xxx】未填写」)
5. 报工详情/列表 → 回显本次任务参数快照及已填写的参数值

API

一、工序-工艺参数绑定(新增)

方法 路径 说明
GET /admin-api/mes/pro/process-param/list-by-process 查询工序绑定的参数列表(带参数详情/单位)
POST /admin-api/mes/pro/process-param/update-bindings 全量覆盖保存工序绑定的参数
GET /admin-api/mes/pro/process-param/list-by-param 反查某基础参数被哪些工序绑定

权限:读 mes:pro-process:query;写 mes:pro-process:update(复用工序权限,无需新菜单)。

GET /list-by-process 请求参数:

参数 类型 必填 说明
processId Long 工序编号

响应:

{
  "code": 0,
  "data": [
    {
      "id": 9,
      "processId": 10,
      "processParamId": 7,
      "paramCode": "CS202607150004",
      "paramName": "测试参数_数值",
      "paramType": 1,
      "unitMeasureId": 1,
      "unitMeasureName": "吨",
      "required": true,
      "sort": 1,
      "remark": null
    }
  ]
}

POST /update-bindings 请求参数(全量覆盖):

参数 类型 必填 说明
processId Long 工序编号
items Array 绑定的参数列表(传空数组=清空绑定)
items[].processParamId Long 基础参数编号
items[].required Boolean 是否必填(可覆盖参数默认值)
items[].sort Integer 排序
items[].remark String 备注

GET /list-by-param 请求参数:

参数 类型 必填 说明
paramId Long 基础参数编号

响应: data 为工序列表(idcodename)。

二、任务参数记录(已有接口,行为增强)

任务创建/自动排产时,若任务无参数模板但工序绑定了参数,会生成一条 templateName=工序绑定参数templateId=null 的参数记录。

方法 路径 说明
GET /admin-api/mes/pro/work-order-param-record/page-by-work-order?taskId= 按任务查询参数记录(含明细快照)

明细快照新增字段:required(是否必填)。

三、生产报工(已有接口,增强)

方法 路径 说明
POST /admin-api/mes/pro/feedback/create 创建报工(提交 paramValues
PUT /admin-api/mes/pro/feedback/update 修改报工
GET /admin-api/mes/pro/feedback/get 报工详情(响应新增 paramValues
GET /admin-api/mes/pro/feedback/page 报工分页(响应新增 paramValues

请求参数新增(已存在):

参数 类型 必填 说明
paramValues Array 本次报工填写的参数值;任务无参数记录时不传
paramValues[].detailId Long 是(传入时) 任务参数记录明细编号(不是模板明细编号)
paramValues[].value String 条件必填 参数值(必填参数不能为空)

响应字段新增(报工详情/列表):

字段 类型 说明
paramValues Array 任务参数快照及已填写的值
paramValues[].detailId Long 任务参数记录明细编号
paramValues[].paramCode String 参数编码
paramValues[].paramName String 参数名称
paramValues[].paramType Integer 参数类型
paramValues[].unitMeasureName String 单位名称
paramValues[].paramValue String 参数值
paramValues[].required Boolean 是否必填

响应示例(报工详情):

{
  "code": 0,
  "data": {
    "id": 48,
    "code": "FB_TEST_39",
    "processId": 10,
    "paramValues": [
      { "detailId": 55, "paramCode": "CS202607150004", "paramName": "测试参数_数值", "paramType": 1, "unitMeasureName": "吨", "paramValue": "200", "required": true },
      { "detailId": 56, "paramCode": "CS202607100003", "paramName": "测试参数11", "paramType": 2, "unitMeasureName": "千克", "paramValue": "200", "required": false }
    ]
  }
}

字段展示规则

工序设置页「工艺参数」Tab

字段 展示位置 说明
参数编码/名称 Tab 表格 展示已绑定参数
参数类型 Tab 表格 字典:1=文本 2=数值 3=布尔 4=日期
单位 Tab 表格 计量单位名称
是否必填 Tab 表格(开关) 可覆盖参数默认值
排序 Tab 表格 数字排序
备注 Tab 表格 备注
操作 Tab 表格 新增行(选择基础参数)、删除行
保存 Tab 底部 全量覆盖保存(调用 update-bindings)

基础参数页「关联工序」

字段 展示位置 说明
工序编码/名称 弹窗/抽屉 该参数被绑定的工序列表(只读)

生产报工表单

字段 展示位置 说明
参数名称 表单行标签 从任务参数记录快照读取
单位 输入框后缀 如 ℃
必填 红色星号 required=true 时标记
参数值 输入框 按参数类型渲染输入控件
必填校验 提交时 必填参数为空,后端返回「必填参数【xxx】未填写」

业务规则说明

场景 规则
参数来源优先级 工单工序绑定模板 → 路线工序绑定模板 → 工序主数据绑定参数 → 无参数记录
无参数记录 任务正常生成、报工不要求参数值
有参数记录 报工按任务参数明细填写;必填参数(required=true)必须填写
快照机制 任务生成时固化参数快照(名称/类型/单位/必填),后续改工序绑定不影响历史任务
全量覆盖 工序绑定保存为全量覆盖;传空数组=清空绑定
删除基础参数 自动清理其工序绑定关系
报工回显 报工详情/列表回显任务参数快照及已填值,历史值不因后续变更改变

注意事项

  • paramValues[].detailId 是**任务参数记录明细编号**,不是模板明细编号;前端应先按任务参数记录接口取明细,再以其 id 提交。
  • 任务无模板但工序绑定了参数时,参数记录的 templateId=nulltemplateName=工序绑定参数,工单参数记录页按此展示。
  • 参数类型:1=文本 2=数值 3=布尔 4=日期,报工表单按类型渲染输入控件。
  • 报工提交时即使不填参数(paramValues 为空),后端也会校验必填参数,任务绑定了参数时必须填写。
  • 工序绑定参数接口的读写权限复用工序设置页权限(mes:pro-process:query/update)。
  • 前端页面路径与菜单:工序设置 mes/process-design/process/index、基础参数 mes/process-design/parameter/index