模块:
ErpPrdInStockController
权限:mes:erpPrdInStock:view(登录 MES 即可,不要直连金蝶 ERP)
服务地址示例:http://127.0.0.1:8980
数量规则:入库数量 = 所选 MES 批次码nums合计,前端不传手工数量PDA 统一返回
CommonResp(result/message/data);提交接口支持 表单 POST 与 JSON Body 两种方式。
① pda/listData 生产入库单列表(模块首页)
↓ 点「新增」
② pda/selectOrderData 选生产订单(HEV/115 物料)
↓ 点「选择」
③ pda/selectDetailData 选订单分录(HEV/115 行)
↓ 点「选批次入库」
④ formInit 勾选 MES 批次码 + 选仓库/仓位
└ batchScan 扫批次码校验(可选)
└ pda/stockLocOptions 选仓库后查仓位
↓
⑤ submit 提交 ERP 生产入库(SCRK)
请求URL: /js/a/mes/erpPrdInStock/pda/listData
请求方式: POST
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| pageNo | 否 | int | 页码,默认 1 |
| pageSize | 否 | int | 每页条数,默认 20 |
| billNoQuery | 否 | string | 入库单号 SCRK 模糊 |
| moBillNoQuery | 否 | string | 生产订单号 |
| materialNumberQuery | 否 | string | 物料编码模糊 |
| documentStatusQuery | 否 | string | C=已审核 |
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/pda/listData?pageNo=1&pageSize=20'
返回示例:
{
"result": "true",
"message": "成功",
"data": {
"pageNo": 1,
"pageSize": 20,
"count": 1,
"list": [
{
"billNo": "SCRK110260605001",
"date": "2026-06-05",
"documentStatusName": "已审核",
"moBillNo": "SCDD110260605001",
"materialNumber": "8.10.HEV.10.047696",
"materialName": "下壳体",
"realQty": 150,
"unitName": "件",
"lotNumber": "110260605001",
"stockName": "五金库"
}
]
}
}
下一步: 点「新增」→ 接口 2;点某行 → 接口 9 查看明细
请求URL: /js/a/mes/erpPrdInStock/pda/selectOrderData
请求方式: POST
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| pageNo | 否 | int | 页码 |
| pageSize | 否 | int | 每页条数 |
| billNo | 否 | string | 生产订单号(可扫码) |
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/pda/selectOrderData?pageNo=1&pageSize=20'
说明: 仅含配置物料 8.10.HEV.10.047696、8.35.115.10.5003146600021 的订单
返回示例:
{
"result": "true",
"message": "成功",
"data": {
"pageNo": 1,
"pageSize": 20,
"count": 10,
"list": [
{
"billNo": "SCDD110260605001",
"date": "2026-06-01",
"documentStatusName": "已审核",
"inventoryCategory": "HEV",
"entryCount": 1,
"totalQty": 1500
}
]
}
}
下一步: 点某行 → 接口 3,传 billNo
请求URL: /js/a/mes/erpPrdInStock/pda/selectDetailData
请求方式: POST
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| billNo | 是 | string | 生产订单号 |
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/pda/selectDetailData?billNo=SCDD110260605001'
返回示例:
{
"result": "true",
"message": "成功",
"data": {
"pageNo": 1,
"pageSize": 20,
"count": 1,
"list": [
{
"entryId": "266500",
"seq": "1",
"materialNumber": "8.10.HEV.10.047696",
"materialName": "下壳体",
"qty": 1500,
"instockQty": 264,
"remainQty": 1236,
"unitName": "件",
"workshopName": "HEV车间"
}
]
}
}
下一步: 选一行(remainQty > 0)→ 接口 4,传 moBillNo + entryId
请求URL: /js/a/mes/erpPrdInStock/formInit
请求方式: POST(也兼容 GET)
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| moBillNo | 是 | string | 生产订单号 |
| entryId | 是 | string | 订单分录内码 |
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/formInit?moBillNo=SCDD110260605001&entryId=266500'
返回示例:
成功(有待入库批次):
{
"result": "true",
"message": "",
"data": {
"moBillNo": "SCDD110260605001",
"entryId": "266500",
"moEntry": {
"seq": "1",
"materialNumber": "8.10.HEV.10.047696",
"qty": 1500,
"instockQty": 264,
"remainQty": 1236
},
"batchList": [
{
"id": "batch-id-001",
"batchSn": "20260527133003",
"lineSn": "HEVXT",
"nums": 50,
"instockStatus": "0"
}
],
"defaultStockNumber": "1100105",
"stockList": [
{ "stockNumber": "1100105", "stockName": "五金库", "displayLabel": "1100105 五金库" }
]
}
}
下一步: 勾选批次 → 选仓库/仓位 → 接口 8 提交
请求URL: /js/a/mes/erpPrdInStock/batchScan
请求方式: POST(也兼容 GET)
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| batchSn | 是 | string | MES 托盘批次码 |
| materialNumber | 是 | string | 当前订单分录物料编码 |
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/batchScan?batchSn=20260527133003&materialNumber=8.10.HEV.10.047696'
返回示例:
{
"result": "true",
"message": "可以入库",
"data": {
"batch": {
"id": "batch-id-001",
"batchSn": "20260527133003",
"lineSn": "HEVXT",
"nums": 50
}
}
}
请求URL: /js/a/mes/erpPrdInStock/pda/stockLocOptions
请求方式: POST(也兼容 GET)
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| stockNumber | 是 | string | 仓库编码 |
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/pda/stockLocOptions?stockNumber=1100105'
请求URL: /js/a/mes/erpPrdInStock/stockList
请求方式: POST(也兼容 GET)
参数: 无
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/stockList'
请求URL: /js/a/mes/erpPrdInStock/submit
请求方式: POST
Content-Type(二选一):
| 方式 | Content-Type | 说明 |
|---|---|---|
| PDA 推荐 | application/x-www-form-urlencoded |
表单参数,batchIds 传 JSON 数组字符串或逗号分隔 |
| 调试/脚本 | application/json;charset=UTF-8 |
整包 JSON Body |
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| moBillNo | 是 | string | 生产订单号 |
| entryId | 是 | string | 订单分录内码 |
| batchIds | 是 | array / string | mes_batch_sn.id 或批次码。PDA 扫码后可直接传 20260820150916;也可用 batchSns / batchSn |
| stockNumber | 是 | string | 入库仓库编码 |
| stockLocNumber | 条件 | string | 仓库启用仓位时必填 |
| stockLocKey | 否 | string | 仓位维度键,可选 |
参数示例:
PDA 表单:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/submit' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'moBillNo=SCDD110260605001' \
--data-urlencode 'entryId=266500' \
--data-urlencode 'batchIds=20260820150916' \
--data-urlencode 'stockNumber=1100105' \
--data-urlencode 'stockLocNumber=AA'
JSON Body:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/submit' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data '{"moBillNo":"SCDD110260605001","entryId":"266500","batchIds":["batch-id-001"],"stockNumber":"1100105","stockLocNumber":"AA"}'
返回示例:
{
"result": "true",
"message": "生产入库单保存成功,单号:SCRK110260605002;合计数量 100,绑定批次 1 个",
"data": {
"billNo": "SCRK110260605002",
"totalQty": 100,
"batchCount": 1,
"lotNumber": "110260605002"
}
}
说明: 入库数量由后端按 batchIds 对应 nums 自动汇总,不要传数量字段
请求URL: /js/a/mes/erpPrdInStock/pda/detailData
请求方式: POST
参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| billNo | 是 | string | 生产入库单号 SCRK |
参数示例:
curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/erpPrdInStock/pda/detailData?billNo=SCRK110260605002'
| 字段 | 含义 |
|---|---|
| qty | 生产订单数量 |
| instockQty | ERP 已审核生产入库实收合计 |
| remainQty | 未入库 = qty − instockQty |
| nums | MES 批次码已绑定工件数量 |
| 本次入库数量 | Σ 所选批次 nums |
| 产线 lineSn | 物料 |
|---|---|
| HEVXT | 8.10.HEV.10.047696 |
| 115XT | 8.35.115.10.5003146600021 |