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

生产工作台 - 工作站待完成数量联调方案

涉及页面

  • 生产工作台(/mes/workbench)→「选择工作站」弹窗

需求说明

工作站卡片需要展示该工作站的**待完成数量**,口径与工作台左侧「工单列表」(待报工台账)一致:

  • 任务状态为进行中:草稿(0)、生产中(1)、部分完成(2)、已停工(9)
  • 且仍有待报工量:排产数量 - 已生产数量 > 0
  • 卡片显示的是满足上述条件的**任务条数**,不是数量总和

API

方法 路径 说明
GET /mes/pro/task/pending-count-by-workstation 按工作站统计待报工任务条数

请求参数: 无

响应字段:

字段 类型 说明
data Map<Long, Long> 工作站编号 → 待报工任务条数;无待办的工作站不返回

响应示例:

{
  "code": 0,
  "data": {
    "9": 1,
    "10": 1,
    "11": 1,
    "12": 1,
    "13": 1,
    "14": 1,
    "15": 1
  },
  "msg": ""
}

权限: mes:pro-task:query(与待报工台账接口一致,工作台页面已具备该权限)

接口调用时序

  1. 打开「选择工作站」弹窗
  2. 并行请求:
  • GET /mes/md-workstation/page?pageNo=1&pageSize=200 获取工作站列表
  • GET /mes/pro/task/pending-count-by-workstation 获取各工作站待办数
  1. 卡片渲染时用 工作站 id 查询映射,未命中显示 0

字段展示规则

字段 展示位置 说明
待完成数量 卡片名称右侧徽标 有任务时橙色徽标"待完成 N";N=0 时灰色徽标"待完成 0"
待完成数量 徽标 hover 提示 "该工作站待报工任务数:N"

业务规则说明

场景 规则
统计口径 与「待报工台账」完全一致,避免卡片数量与左侧工单列表对不上
统计接口失败 隐藏全部徽标,不影响工作站列表加载与选择(统计为辅助信息)
工作站暂无待办 显示灰色"待完成 0",保持卡片布局一致
数量含义 任务条数;同一工作站多条任务时按条累加,不合并为数量合计

注意事项

  • 统计接口返回的 Map key 是字符串形式的工作站编号,前端按 String(工作站id) 取值
  • 弹窗每次打开都会重新请求统计,报工后重新打开即可看到最新数量
  • 该接口返回全量工作站统计,数据量很小(每工作站一行),无需按工作站 id 过滤
  • 若后续需要"待完成数量总和"(剩余可报工量合计),可复用同一查询增加 SUM(quantity - produced_quantity) 字段,无需新增接口

后端改动

文件 改动
MesProTaskMapper 新增 selectPendingFeedbackCountByWorkstation(),按 workstation_id 分组统计
MesProTaskService / Impl 新增 getPendingFeedbackCountByWorkstation(),返回 Map
MesProTaskController 新增 GET /pending-count-by-workstation 接口

前端改动

文件 改动
src/api/mes/pro/task/index.ts 新增 getPendingFeedbackCountByWorkstation()
src/views/mes/workbench/components/WorkstationSelectDialog.vue 并行加载统计,卡片名称行增加待完成徽标