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

工艺路线工序产出归属 - 前端联调方案

涉及页面

  • 工艺路线 - 工序与产出页签 - 工序新增/编辑弹窗(process-form.vue)
  • 工艺路线 - 启用前检查(route-configurator.vue)
  • 生产工单 - 新增/编辑弹窗 - 工序列表(受归属过滤影响,无需新增字段)
  • 生产任务 - 自动生成任务(产出物料按归属带入)

业务流程与数据带入

  1. 工艺路线工序的产出物料新增「归属」概念:
  • 归属为空 = 多产品通用(该路线下所有产品都会产出该物料,适合同线共用的半成品);
  • 归属为某个产品 = 产品专属(只有生产该产品时才会产出)。
  1. 选择产出物料时默认归属到物料自身;多产品共用的半成品需手动改为「通用」。
  2. 下单(新建工单)时,按工单产品过滤工艺路线工序产出:只带入「通用」产出和「该产品专属」产出。
  3. 自动生成任务时,任务产出物料同样按归属过滤,优先取过滤后的第一个产出;没有产出时取工单成品。
  4. 末道工序的成品产出必须归属到自身产品(不能为「通用」),否则启用路线时会报错。

API

方法 路径 说明
POST /mes/pro/route-process/create 新增工序(请求新增 outputs)
PUT /mes/pro/route-process/update 修改工序(请求新增 outputs)
GET /mes/pro/route-process/get 工序详情(响应新增 outputs)
GET /mes/pro/route-process/list-by-route 按路线获取工序(响应新增 outputs)
GET /mes/pro/route-process/list-by-product 按产品获取工序(产出已按归属过滤)

请求参数新增(create / update):

参数 类型 必填 说明
outputs Array 否 产出物料归属配置,传入后优先于 outputItemIds
outputs[].itemId Long 是 产出物料编号,必须是本路线绑定的产品
outputs[].productId Long 否 归属产品编号;不传或传空表示多产品通用
outputs[].sort Integer 否 排序,不传按数组顺序
outputs[].remark String 否 备注

兼容说明:仍可只传 outputItemIds(老页面/工艺设计页),后端会自动判定归属——产出是路线绑定产品时归属到自身,否则视为通用。

响应字段新增(get / list-by-route / list-by-product):

字段 类型 说明
outputs Array 产出归属列表
outputs[].id Long 归属记录编号
outputs[].routeProcessId Long 工序编号
outputs[].productId Long 归属产品编号,空表示通用
outputs[].productName String 归属产品名称
outputs[].itemId Long 产出物料编号
outputs[].itemCode String 产出物料编码
outputs[].itemName String 产出物料名称
outputs[].sort Integer 排序
outputs[].remark String 备注

响应示例:

{
  "code": 0,
  "data": {
    "id": 123,
    "processName": "包装入库",
    "outputs": [
      {
        "productId": 201,
        "productName": "油浸式配电变压器",
        "itemId": 201,
        "itemName": "油浸式配电变压器",
        "sort": 1
      },
      {
        "productId": null,
        "productName": null,
        "itemId": 300,
        "itemName": "通用包装箱",
        "sort": 2
      }
    ]
  }
}

字段展示规则

字段 展示位置 说明
outputs 工序新增/编辑弹窗「本工序产出」 每行两个下拉:产出物料、归属;提供「添加产出」「删除」
归属下拉 工序新增/编辑弹窗 选项为「通用(所有产品)」+ 路线产品列表
产出物料下拉 工序新增/编辑弹窗 选项限定为路线绑定的产品
outputs 工序列表「本工序产出」列 展示为「物料名(归属产品名)」或「物料名(通用)」

业务规则说明

场景 规则
选择产出物料 默认归属到物料自身,可手动改为「通用」
多产品共用半成品 归属选择「通用」,所有产品下单时都会带入该产出
产品专属产出 归属选择对应产品,只有该产品的工单/任务会带入
末道工序成品 每个成品必须归属到自身产品,不能使用「通用」
存量数据 原 output_item_id 自动拆分:是路线产品的归属到自身,否则视为通用
只传 outputItemIds 后端自动按「路线产品→专属、其它→通用」判定归属
产出聚合字段 output_item_id 仍保留并自动聚合,供任务、物料需求等旧逻辑使用

注意事项

  • 归属产品下拉的选项就是当前工艺路线绑定的产品列表,未绑定产品不能作为归属。
  • 产出物料必须属于路线绑定产品,否则启用路线时会报「产出未绑定到当前工艺路线」。
  • 同一道工序可以同时存在通用产出和多个产品专属产出。
  • 工序产出归属保存后,已创建的工单工序快照不受影响(快照在下单时按当时的归属过滤)。
  • 工艺路线启用时,末道工序若存在「通用」成品产出会校验失败,需要在工序编辑中改为产品专属。