# PDA 批次码发货检 — 接口说明 > 模块:`MesBatchQualityController` > 权限:`mes:mesBatchQuality:api`(APP 模块权限 → 发货检;或 生产管理 → 发货检记录 → PDA接口) > 服务地址示例:`http://127.0.0.1:8980` > 接口前缀:`/js/a` > PDA 统一返回 `CommonResp`(`result` / `message` / `data`)。 > 请统一使用 **POST**(表单或 query 参数均可)。 > **须先登录 MES**,请求携带会话(Cookie `jeesite.session.id` 或 `__sid` + `__ajax=json`)。 --- ## 业务说明 PDA 发货检:扫描批次码 → 查看状态和已绑定工件 → 填写 OK/NG、备注,可选拍照后提交。 | 批次状态 `batchStatus` | 含义 | 可否发货检 | |------------------------|------|------------| | `3` | 待装中(新建默认) | 否,须先生产入库 | | `0` | 仓库中(生产入库后) | 已绑定工件时可检查 | | `1` | 合格(发货检 OK 后) | 不可再检查 | | `2` | 已发货 | 不可检查 | 检查结果 `result`:`1` = OK,`2` = NG(也可传 `OK` / `NG`,服务端会转换成 1/2)。 - **OK**:写入发货检记录,批次状态改为 `1`(合格) - **NG**:写入发货检记录,批次仍为 `0`(仓库中),可再次检查 ```text ① mesBatchQuality/info 扫批次码,查状态 + 绑定工件 ↓ 填写 OK/NG、备注,可选上传照片 ② mesBatchQuality/add 提交发货检 ``` --- ## 1. 查询详情 **请求URL:** `/js/a/mes/mesBatchQuality/info` **请求方式:** `POST` **参数:** | 参数名 | 必选 | 类型 | 说明 | |--------|------|------|------| | batchSn | 是 | string | 批次码(扫码值) | **参数示例:** ```bash curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesBatchQuality/info?batchSn=20260804084909' ``` **返回示例(成功):** ```json { "result": "true", "message": "成功", "data": { "lists": { "id": "2072880747628806144", "batchSn": "20260804084909", "lineSn": "HEVXI", "nums": 2, "isJs": "1", "isJsName": "未用完", "batchStatus": "0", "batchStatusName": "仓库中", "createBy": "system", "createDate": "2026-08-04 08:49:09", "updateDate": "2026-08-04 09:10:00", "canCheck": true, "products": [ { "sn": "0476962607160163", "bindDate": "2026-08-04 09:10:00", "bindBy": "system", "state": "1", "cate": "HEVXI", "batchSn": "20260804084909" } ], "checkId": "", "result": "", "resultName": "", "remark": "", "checkBy": "", "checkDate": null, "imgs": [] } } } ``` 已检查过(例如上次 NG)时,`result` / `remark` / `imgs` 为最近一次发货检记录。 **返回字段说明(`data.lists`):** | 字段 | 类型 | 说明 | |------|------|------| | id | string | 批次码记录主键 | | batchSn | string | 批次码 | | lineSn | string | 产线编号 | | nums | long | 已绑定数量 | | isJs | string | `1` 未用完 / `2` 已用完 | | isJsName | string | 是否用完中文 | | batchStatus | string | `3` 待装中 / `0` 仓库中 / `1` 合格 / `2` 已发货 | | batchStatusName | string | 状态中文 | | products | array | 已绑定工件列表(`MesProduct`) | | products[].sn | string | 工件码 | | products[].bindDate | string | 绑定时间 | | canCheck | boolean | `true` 时可提交发货检 | | result | string | 最近一次结果:`1` OK / `2` NG;未检查为空 | | remark | string | 最近一次备注 | | imgs | array | 最近一次照片,`{id, url, name, size}` | | checkId | string | 最近一次发货检记录 ID | **失败示例:** ```json { "result": "false", "message": "批次信息不存在" } ``` | message | 原因 | |---------|------| | 参数错误 | `batchSn` 为空 | | 批次信息不存在 | 批次码无效 | **下一步:** `canCheck=true` 时进入填写页 → 接口 2 --- ## 2. 提交发货检 **请求URL:** `/js/a/mes/mesBatchQuality/add` **请求方式:** `POST` **参数:** | 参数名 | 必选 | 类型 | 说明 | |--------|------|------|------| | batchSn | 是 | string | 批次码 | | result | 是 | string | `1` / `OK` = 合格;`2` / `NG` = 不合格 | | remark | 否 | string | 备注 | | mesBatchQuality_image | 否 | string | 已上传图片的文件 ID,多个逗号分隔;不传则不保存照片 | **图片上传(可选,与返修检查相同):** 1. 先调用 JeeSite 文件上传:`POST /js/a/file/upload` - 表单字段:文件二进制 - `bizType` 固定 `mesBatchQuality_image` - `uploadType=image` 2. 将返回的文件 ID 填入 `mesBatchQuality_image` 再调本接口 3. 服务端 `FileUploadUtils.saveFileUpload` 绑定到发货检记录 **参数示例:** ```bash # 不传图片 curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesBatchQuality/add' \ --data-urlencode 'batchSn=20260804084909' \ --data-urlencode 'result=1' \ --data-urlencode 'remark=外观合格' # 带图片 curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesBatchQuality/add' \ --data-urlencode 'batchSn=20260804084909' \ --data-urlencode 'result=1' \ --data-urlencode 'remark=外观合格' \ --data-urlencode 'mesBatchQuality_image=文件ID1,文件ID2' ``` **返回示例(成功):** ```json { "result": "true", "message": "成功" } ``` **失败示例:** ```json { "result": "false", "message": "当前批次已检查" } ``` | message | 原因 | |---------|------| | 参数错误 | `batchSn` 为空,或 `result` 不是 1/2/OK/NG | | 批次信息不存在 | 批次码无效 | | 当前批次尚未生产入库,不能发货检 | 状态仍是待装中(`batchStatus=3`) | | 该批次码未绑定工件 | 没有已绑定工件,不能检查 | | 当前批次已检查 | 状态已是合格(`batchStatus=1`) | | 当前批次已发货,不能检查 | 状态已是已发货(`batchStatus=2`) | --- ## 鉴权说明 未登录或 Session 过期时,HTTP 仍为 `200`,但响应体是 HTML 登录页,不是 JSON。缺少权限时返回 HTML **403 您的操作权限不足**。 | 接口 | 权限 | 后台勾选位置 | |------|------|----------------| | `info` / `add` | `mes:mesBatchQuality:api` | 生产管理 → 发货检记录 → PDA接口;PDA 功能模块「发货检」`mode=235` | 授权后请重新登录。 --- ## 相关源码 | 说明 | 路径 | |------|------| | 发货检接口 | `src/main/java/com/jeesite/modules/mes/web/MesBatchQualityController.java` | | 建表 / 菜单 / PDA 图标 | `db/mysql/add_mes_batch_quality.sql` | | 批次码主数据 | `MesBatchSnController`(状态字段 `batchStatus`) |