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

销售订单生产状态“已取消” - 前端联调方案

涉及页面

  • ERP 销售订单列表页
  • ERP 销售订单详情页

业务背景

生产计划(MPS)取消时,会同步更新来源销售订单的生产状态。此前取消后订单只会回到“未完成”,无法区分“从未生产”和“生产计划已取消”。现新增生产状态 2-已取消。

状态取值:

productionStatus 含义 触发时机
0 未完成 订单审核通过生成生产计划;或取消后重新审核生成了新的生产计划
1 已完成 生产完成事件(ProductionFinishedEvent)
2 已取消 来源生产计划被取消(ProductionCanceledEvent)

API

接口路径与参数无变化,仅响应字段 productionStatus 增加取值 2。

方法 路径 说明
GET /erp/sale-order/page 销售订单分页
GET /erp/sale-order/get 销售订单详情

响应字段:

字段 类型 说明
productionStatus Integer 生产状态:0-未完成,1-已完成,2-已取消
productionFinishTime DateTime 生产完成时间,仅 productionStatus=1 时有值

响应示例:

{
  "code": 0,
  "data": {
    "id": 1310,
    "no": "XSDD20261026000002",
    "needProduction": 1,
    "productionStatus": 2,
    "productionFinishTime": null
  }
}

字段展示规则

字段 展示位置 说明
productionStatus 列表“生产状态”列 非“无需生产”时按 0/1/2 分别展示未完成 / 已完成 / 已取消;建议“已取消”使用区别于“已完成”的醒目颜色
productionStatus 详情页“生产状态” 同上,仅在明细需要生产时展示
productionFinishTime 列表、详情 仅在 productionStatus=1 时展示,状态为 2 时不展示

查询筛选规则

列表筛选“生产状态”下拉需新增选项:

选项 传参
无需生产 needProduction=0(沿用现有特殊处理)
未完成 productionStatus=0
已完成 productionStatus=1
已取消 productionStatus=2

业务规则说明

场景 规则
取消生产计划 销售订单 productionStatus 置为 2,productionFinishTime 清空
取消后重新审核订单 系统检测到原生产计划已取消,会重新生成新的生产计划,并把订单 productionStatus 重置为 0
订单存在有效生产计划时再次审核 复用已有生产计划,不改变生产状态
一单多明细 生产状态为订单级;任一明细取消生产计划,整单显示“已取消”

注意事项

  • 订单状态 status(未审核/已审核/已作废)不受生产计划取消影响,仍保持“已审核”。
  • productionStatus=2 时订单仍可执行反审核、编辑,重新审核后会自动生成新生产计划。
  • 历史已取消的生产计划对应的订单不会追溯刷新,仍显示原状态;如需修正请单独处理存量数据。
  • 前端筛选下拉新增“已取消”后,历史上此前取消且状态已被置为 0 的订单仍会落在“未完成”筛选项下。