PDA批次码发货检接口说明.md 6.6 KB

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(仓库中),可再次检查
① mesBatchQuality/info     扫批次码,查状态 + 绑定工件
        ↓ 填写 OK/NG、备注,可选上传照片
② mesBatchQuality/add      提交发货检

1. 查询详情

请求URL: /js/a/mes/mesBatchQuality/info

请求方式: POST

参数:

参数名 必选 类型 说明
batchSn 是 string 批次码(扫码值)

参数示例:

curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesBatchQuality/info?batchSn=20260804084909'

返回示例(成功):

{
  "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

失败示例:

{
  "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 绑定到发货检记录

参数示例:

# 不传图片
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'

返回示例(成功):

{
  "result": "true",
  "message": "成功"
}

失败示例:

{
  "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)