# PDA 开班点检接口说明 > 模块:`MesProcessCheckRecordController` > 服务地址示例:`http://127.0.0.1:8980` > 返回格式:`CommonResp`(`result` / `message` / `data`) > 说明:工位客户端不再做开班点检,请在 PDA「开班点检」模块完成。点检模板绑定在父工位,PDA 选择子工位提交。 --- ## 1. 线体查看接口 ##### 请求URL - ` /js/a/mes/mesProcessCheckRecord/pdaQueryLineSn ` ##### 请求方式 - POST ##### 参数 |参数名|必选|类型|说明| |:----|:---|:-----|-----| |无|—|—|无需业务参数,返回全部启用中的线体| ##### 参数示例 ``` curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesProcessCheckRecord/pdaQueryLineSn' ``` ##### 返回示例 ``` 成功 { "result": "true", "message": "成功", "data": [ { "lineSn": "HEVXT", "title": "HEV箱体线" }, { "lineSn": "LB", "title": "铝板线" } ] } ``` ##### 返回字段说明 |字段路径|类型|中文说明| |:----|:-----|-----| |result|string|业务成功 `"true"` / 失败 `"false"`| |message|string|提示信息| |data[].lineSn|string|线体编号| |data[].title|string|线体名称| --- ## 2. 工位查看接口(只显示子工位) ##### 请求URL - ` /js/a/mes/mesProcessCheckRecord/pdaQueryOprno ` ##### 请求方式 - POST ##### 参数 |参数名|必选|类型|说明| |:----|:---|:-----|-----| |lineSn|是|string|线体编号,来自接口 1| ##### 参数示例 ``` curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesProcessCheckRecord/pdaQueryOprno?lineSn=HEVXT' ``` ##### 返回示例 ``` 成功 { "result": "true", "message": "成功", "data": [ { "id": "1700000000000000001", "lineSn": "HEVXT", "oprno": "OP010A", "title": "上料" }, { "id": "1700000000000000002", "lineSn": "HEVXT", "oprno": "OP010B", "title": "上料" } ] } ``` ##### 返回字段说明 |字段路径|类型|中文说明| |:----|:-----|-----| |result|string|业务成功 `"true"` / 失败 `"false"`| |message|string|提示信息,参数为空时为 `"参数错误"`| |data[].id|string|子工位 ID| |data[].lineSn|string|线体编号| |data[].oprno|string|子工位号,如 `OP010A`| |data[].title|string|工位名称| --- ## 3. 开班点检项接口 ##### 请求URL - ` /js/a/mes/mesProcessCheckRecord/pdaCheckItems ` ##### 请求方式 - POST ##### 参数 |参数名|必选|类型|说明| |:----|:---|:-----|-----| |lineSn|是|string|线体编号| |oprno|是|string|子工位号,如 `OP010A`| |ucode|是|string|用户账号,也可用 `userCode`| ##### 参数示例 ``` curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesProcessCheckRecord/pdaCheckItems?lineSn=HEVXT&oprno=OP010A&ucode=user01' ``` ##### 返回示例 ``` 成功 { "result": "true", "message": "成功", "data": { "lineSn": "HEVXT", "oprno": "OP010A", "ucode": "user01", "checked": false, "list": [ { "id": "1773335248913350656", "title": "设备外观是否完好", "type": "1", "input": "1", "inputName": "选择框", "minValue": null, "maxValue": null, "sort": 10 }, { "id": "1773335302935986176", "title": "气压值", "type": "1", "input": "2", "inputName": "输入框", "minValue": "0.4", "maxValue": "0.6", "sort": 20 } ] } } ``` ``` 无点检项 { "result": "true", "message": "该工位未设置点检项", "data": { "lineSn": "HEVXT", "oprno": "OP010A", "ucode": "user01", "checked": true, "list": [] } } ``` ##### 返回字段说明 |字段路径|类型|中文说明| |:----|:-----|-----| |result|string|业务成功 `"true"` / 失败 `"false"`| |message|string|提示信息;工位不存在时为 `"工位信息不存在!"`| |data.lineSn|string|线体编号| |data.oprno|string|子工位号| |data.ucode|string|用户账号| |data.checked|boolean|当前班次是否已点检(或无需点检)| |data.list[].id|string|点检项 ID,提交时回传| |data.list[].title|string|点检项名称| |data.list[].type|string|点检类型,默认 `"1"` 点检内容| |data.list[].input|string|输入类型:`1`=选择框,`2`=输入框| |data.list[].inputName|string|输入类型中文:`选择框` / `输入框`| |data.list[].minValue|string|输入框最小值,选择框为 `null`| |data.list[].maxValue|string|输入框最大值,选择框为 `null`| |data.list[].sort|number|排序| ##### 业务说明 1. 选择框:PDA 展示勾选,提交 `content` 为 `true` / `false`(或 `OK` / `1` / `是` / `合格`)。 2. 输入框:PDA 展示填数,提交实测值;有上下限时按范围判定 OK/NG。 3. 点检项取自该子工位对应父工位上的模板。 --- ## 4. 开班点检提交接口 ##### 请求URL - ` /js/a/mes/mesProcessCheckRecord/pdaCheckSubmit ` ##### 请求方式 - POST(`application/x-www-form-urlencoded`,与 GP12 `mesProductGp12/submit` 相同) ##### 参数 |参数名|必选|类型|说明| |:----|:---|:-----|-----| |lineSn|是|string|线体编号| |oprno|是|string|子工位号| |ucode|是|string|用户账号,也可用 `userCode`、`createBy`| |checkList|是|string|点检结果 JSON 数组,见下方结构| |mesProcessCheckRecordItemsList[i].mesProcessCheckRecordItems_image|是|string|第 i 项已上传图片的文件 ID,多个逗号分隔。也可写在 checkList 的 `mesProcessCheckRecordItems_image` 字段里| **checkList JSON 结构:** |字段名|必选|类型|说明| |:----|:---|:-----|-----| |id|是|string|点检项 ID,也可用 `checkId`| |content|是|string|选择框:`true`/`false`;输入框:实测数值。选择框未勾选可传空,服务端按 NG 处理| |mesProcessCheckRecordItems_image|否|string|该项已上传图片的文件 ID;不传则走上面的表单字段| **图片上传(与 GP12 相同):** 1. 先调用 JeeSite 文件上传:`POST /js/a/file/upload` - 表单字段:文件二进制 - `bizType` 固定 `mesProcessCheckRecordItems_image` - `uploadType=image` 2. 将返回的文件 ID 填入 `mesProcessCheckRecordItemsList[i].mesProcessCheckRecordItems_image`(或 checkList 对应字段)再调本接口 3. 服务端 `FileUploadUtils.saveFileUpload` 绑定到该点检项 ##### 参数示例 ``` # 1. 先上传照片(每一项各传一次) curl --location --request POST 'http://127.0.0.1:8980/js/a/file/upload' \ --form 'file=@/tmp/check1.jpg' \ --form 'bizType=mesProcessCheckRecordItems_image' \ --form 'uploadType=image' # 2. 再提交点检(把上一步返回的文件 ID 填进去) curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesProcessCheckRecord/pdaCheckSubmit' \ --data-urlencode 'lineSn=HEVXT' \ --data-urlencode 'oprno=OP010A' \ --data-urlencode 'ucode=user01' \ --data-urlencode 'checkList=[{"id":"1773335248913350656","content":"true"},{"id":"1773335302935986176","content":"0.52"}]' \ --data-urlencode 'mesProcessCheckRecordItemsList[0].mesProcessCheckRecordItems_image=文件ID1' \ --data-urlencode 'mesProcessCheckRecordItemsList[1].mesProcessCheckRecordItems_image=文件ID2' ``` ##### 返回示例 ``` 成功 { "result": "true", "message": "提交成功!", "data": { "id": "1900000000000000001", "lineSn": "HEVXT", "oprno": "OP010A", "ucode": "user01", "result": "OK", "items": [ { "id": "1900000000000000002", "checkId": "1773335248913350656", "content": "true", "result": "OK" }, { "id": "1900000000000000003", "checkId": "1773335302935986176", "content": "0.52", "result": "OK" } ] } } ``` ``` 失败(缺照片) { "result": "false", "message": "请为每一项上传照片" } ``` ##### 返回字段说明 |字段路径|类型|中文说明| |:----|:-----|-----| |result|string|业务成功 `"true"` / 失败 `"false"`| |message|string|提示信息| |data.id|string|开班点检记录 ID| |data.lineSn|string|线体编号| |data.oprno|string|子工位号| |data.ucode|string|提交人账号| |data.result|string|整单结果:全部合格 `"OK"`,否则 `"NG"`| |data.items[].id|string|点检项记录 ID| |data.items[].checkId|string|点检项模板 ID| |data.items[].content|string|填写值 / 选择值| |data.items[].result|string|该项结果 `"OK"` / `"NG"`| ##### 业务说明 1. **每一项都必须先上传照片**,缺一张即整单失败。上传方式与 GP12 相同:先 `POST /js/a/file/upload`,再把文件 ID 提交过来。 2. 选择框判定合格值:`true`、`1`、`OK`、`是`、`合格`、`yes`。 3. 输入框:在 `minValue`~`maxValue` 范围内为 OK;无上下限且有值则为 OK。 4. 全部项 OK 时整单 `result=OK`,任一项 NG 则为 `NG`。 5. 记录按子工位号保存,工位生产防呆按该子工位校验当前班次是否已开班点检。 6. 常见失败信息:`参数错误`、`点检数据格式错误`、`该工位未设置点检项,无需点检!`、`工位信息不存在!`、`点检项不存在或与当前工位不匹配`、`有点检信息未提交`、`请为每一项上传照片`。