PDA返修接口说明.md 8.3 KB

PDA 返修接口说明

模块:MesRepairController
前端参考:fxclient-web(返修工位 Web 客户端)
服务地址示例:http://127.0.0.1:8980
接口前缀:/js/a

范围说明: 本文档仅描述 返修工位 作业(扫码 → 查看信息 → 开始返修)。
产线不良处理(白名单、saveRepair 等)不在 PDA 返修模块范围内,返修单须由产线或其他途径事先创建。

PDA 统一返回 CommonResp(result / message / data);editRepair1 返回 JeeSite renderResult(result / message)。
建议统一使用 POST,Content-Type: application/x-www-form-urlencoded。
登录会话:请求中携带 __ajax=json、__sid={token}(与 fxclient-web 一致)。


业务说明

返修工位 PDA 负责处理 已存在 的返修单:

步骤 说明
扫码 扫描工件号,加载当前返修单及 SOP 方案
开始返修 填写返修人、时间,可选关联 SOP,状态变为「已返修 / 待质量确认」

前置条件: 工件须已通过产线不良处理或后台创建返修单;否则 getRepair 会提示需先进行不良处理。

工位号 fxOprno: 返修工位编号(如 fx001),由 PDA 本地配置,每次请求须传入。


状态流转(mes_repair.state)

state 含义 PDA 返修模块
1 待返修 可扫码,可执行「开始返修」
2 已返修 / 待质量确认 扫码后显示「等待检查」,本模块不再操作
3 已检查 流程结束
4 返修 NG 待处理 流程结束(NG)
【前置】产线/后台已创建返修单(state=1)
        ↓
【PDA 返修】getRepair 扫码
        ↓
【PDA 返修】editRepair1 开始返修(state→2)
        ↓
【其他模块】质量确认(不在本文档范围)

页面流程

① mesRepair/getRepair         扫工件码,加载返修单
        ↓ 并行(可选)
   mesRepair/cjjl             检查记录
   mesRepair/infoByRepair     工位结果
   mesRepair/sopList          修复方案列表
        ↓
② mesRepair/editRepair1       开始返修(state→2)

PDA 常量与路径对照

常量名(PDA 侧) 路径
GET_REPAIR /js/a/mes/mesRepair/getRepair
START_REPAIR /js/a/mes/mesRepair/editRepair1
GW_LIST /js/a/mes/mesRepair/infoByRepair
CHECK_RECORD /js/a/mes/mesRepair/cjjl
SOP_LIST /js/a/mes/mesRepair/sopList

一、扫码加载返修单

请求 URL: /js/a/mes/mesRepair/getRepair

请求方式: POST

参数:

参数名 必选 类型 说明
sn 是 string 工件号
fxOprno 是 string 返修工位编号,如 fx001

前置条件: 须已存在返修单;否则返回:

当前工件{oprno}工位需要先进行不良处理!

参数示例:

curl --location --request POST \
  'http://127.0.0.1:8980/js/a/mes/mesRepair/getRepair' \
  --data-urlencode 'sn=0476962607070001' \
  --data-urlencode 'fxOprno=fx001' \
  --data-urlencode '__ajax=json' \
  --data-urlencode '__sid=会话token'

返回示例(实测):

{
  "result": "true",
  "message": "成功",
  "data": {
    "isNewRecord": false,
    "id": "2074680482278412288",
    "createDate": "2026-07-08 18:22",
    "updateDate": "2026-07-08 18:22",
    "createBy": "system",
    "updateBy": "system",
    "sn": "0476962607070001",
    "fxOprno": "fx001",
    "title": "左右吊耳组件弧焊",
    "oprno": "OP050",
    "state": "1",
    "lineSn": "HEVXT",
    "remark": "",
    "result": "",
    "type": "2",
    "itemId": "2056991638449303552",
    "itemTitle": "焊渣、毛刺、划伤",
    "itemIntroduction": "手工打磨、除渣、去毛刺->气密",
    "returnOprno": "",
    "sopList": [],
    "imgList": []
  }
}

sopList 为空表示该返修单尚未关联 SOP;若 sops 字段有值,会返回已选方案详情,结构为 { id, title, imgList[] }。

返回字段说明:

字段 说明
id 返修记录 ID,开始返修 editRepair1 时传此值(不是工件号 sn)
sn 工件号
fxOprno 返修工位编号
oprno 责任工位
lineSn 产线编号
state 当前状态,见上文状态表;1 时可开始返修
title 责任工位名称(服务端按产线工序查询)
itemTitle 返修原因
itemIntroduction 返工动作介绍
type 返工类型
sopList 已关联 SOP 列表;无关联时为空数组 []
sops 已选 SOP ID(逗号分隔);无值时可能不返回
imgList 不良照片列表;getRepair 通常为空,需详情时另查
createDate / updateDate 等 JeeSite 实体公共字段,可忽略

界面步骤映射(与 fxclient-web 一致):

data.state 界面显示
1 等待返修(可点「开始返修」)
2 等待检查
3 已检查(result:1=OK,2=NG)

二、辅助信息(可选)

扫码后可并行调用,用于展示工位历史、检查记录、SOP 方案。

2.1 工位结果列表

请求 URL: /js/a/mes/mesRepair/infoByRepair

参数名 必选 说明
sn 是 工件号
oprno 是 责任工位

返回: data.lists[] — 生产记录(craft 首位为 1 或 5 的项),含 craft、title、content。

2.2 检查记录

请求 URL: /js/a/mes/mesRepair/cjjl

参数: 同工位结果列表

返回: data.lists 为质量检查对象,含 mesRepairItemsList[](问题清单)。

2.3 修复方案(SOP)列表

请求 URL: /js/a/mes/mesRepair/sopList

参数: 无必填

返回: data.lists[] — { id, title, remark, imgList[] }


三、开始返修

请求 URL: /js/a/mes/mesRepair/editRepair1

请求方式: POST

参数:

参数名 必选 说明
id 是 返修记录 ID(来自 getRepair 的 data.id)
state 是 固定传 2
fxBy 是 返修人工号
fxDate 是 返修时间,格式 yyyy-MM-dd HH:mm:ss
sops 否 所选 SOP ID,逗号分隔

业务规则:

  • 返修单 state 须为 1(待返修)
  • 成功后 state 变为 2(已返修 / 待质量确认)

参数示例:

curl --location --request POST \
  'http://127.0.0.1:8980/js/a/mes/mesRepair/editRepair1' \
  --data-urlencode 'id=1999999999999999991' \
  --data-urlencode 'state=2' \
  --data-urlencode 'fxBy=工号' \
  --data-urlencode 'fxDate=2026-07-07 17:00:00' \
  --data-urlencode 'sops=sopId1,sopId2' \
  --data-urlencode '__ajax=json' \
  --data-urlencode '__sid=会话token'

返回:

{
  "result": "true",
  "message": "修改成功!"
}

注意: 本接口无 data 字段;不要与 getRepair 混淆。id 必须传返修记录主键(getRepair 返回的 data.id),不能传工件号 sn。


四、PDA 集成建议

1. 本地配置 fxOprno(返修工位号)
2. 扫描工件 sn → 调 getRepair
3. 展示返修原因、SOP 列表(可选调 sopList / cjjl / infoByRepair)
4. 用户确认后点「开始返修」→ 调 editRepair1(传 id、fxBy、fxDate、可选 sops)
5. state=2 后提示「等待质量确认」,本模块流程结束

注意:

  • fxOprno 由 PDA 本地配置,不要写死为工件责任工位 oprno
  • 仅 state=1 时允许调用 editRepair1
  • 质量确认由其他模块处理,不在本文档范围

五、相关源码

说明 路径
返修记录接口 src/main/java/com/jeesite/modules/mes/web/MesRepairController.java
fxclient 调用示例 fxclient-web/src/apps/home/api.js

六、与 fxclient-web 接口对照

fxclient-web 方法 后端路径 PDA 是否必需
getRepair mesRepair/getRepair 必需
editRepair1 mesRepair/editRepair1 必需
getGwList mesRepair/infoByRepair 可选
getcjll mesRepair/cjjl 可选
getSopList mesRepair/sopList 可选