新增商品物料
| 基本信息
信息 | 值 | 备注 |
---|---|---|
接口名称 | 新增商品物料 | 根据货品代号和版本号新增商品物料(包括修改与表身删除) |
请求状态 | POST | RESTful方式 |
接口路径 | http://localhost:23798/api/Bom/AppendToBom | 向服务器地址发送POST请求 |
远程模式 | http://www.linkerplus.com/api/ext_erp/Bom/AppendToBom | 远程模式向服务器地址发送POST请求,需要ERP注册号注册远程模式,并在Headers添加sn参数 |
| 请求参数
Headers
参数名称 | 是否必须 | 参数值 | 备注 |
---|---|---|---|
Content-Type | 是 | application/json | 用于指定数据的传输类型 |
LoginId | 是 | e835943e-55c2-4bf0-832d-6f4166592941 | 用户登录的LoginId,取用户登录或账套验证接口返回的LoginId |
UsrNo | 否 | ADMIN | 账套验证的LoginId需添加UsrNo,用户登录的LoginId则无需添加UsrNo |
sn | 否 | MGR_REST_1001 | 远程模式需添加sn参数,MGR_REST_+ERP注册号 |
Body
参数名称 | 类型 | 是否必须 | 参数值 | 备注 | 其它信息 |
---|---|---|---|---|---|
object [] | 是 | 商品物料数据 | item 类型: object | ||
PRD_NO | string | 是 | BCP1 | 货品代号 | 该货品代号必须在系统货品资料存在,不存在的请先新增货品资料 |
PF_NO | string | 否 | 1.0 | 版本号 | 该货品代号与版本号在资料中存在即为修改原数据,不存在为新增 |
PRD_MARK | string | 否 | TZ1 | 货品特征 | |
WH_NO | string | 否 | CW1 | 仓库 | 该仓库代号必须在系统仓库资料存在,不存在的请先新增仓库资料。为空时默认取0000 |
QTY | number | 否 | 2 | 数量 | 为空时默认取1 |
CST_MAKE | number | 否 | 2 | 制造费用 | |
CST_PRD | number | 否 | 2 | 耗用物料 | |
CST_MAN | number | 否 | 2 | 人工 | |
CST_OUT | number | 否 | 2 | 托工费用 | |
DEP | string | 否 | SCB | 制造部门 | 该部门代号必须在系统部门资料存在,不存在的请先新增部门资料。为空时默认取0000 |
SPC | string | 否 | 12cm | 规格 | |
REM | string | 否 | 这是物料表表头 | 备注 | |
object [] | 是 | 表身数据 | item 类型: object(表身资料需要传全部值,会删除旧的表身资料) | ||
PRD_NO | string | 必须 | YL1 | 货品代号 | 该货品代号必须在系统货品资料存在,不存在的请先新增货品资料 |
PF_NO | string | 否 | 2.0 | 版本号 | 该节点存在代表存在下层物料 |
PRD_MARK | string | 否 | TZ1 | 货品特征 | |
WH_NO | string | 否 | CK1 | 仓库 | 该仓库代号必须在系统仓库资料存在,不存在的请先新增仓库资料。为空时默认取0000 |
BOM_ID | string | 否 | Y | 是否虚拟件 | |
QTY | number | 否 | 2 | 用量 | |
PRD_NO_CHG | string | 否 | YL2 | 替代品代号 | 该货品代号必须在系统货品资料存在,不存在的请先新增货品资料 |
START_DD | string | 否 | 2021-06-01 | 起始有效日 | |
ZC_NO | string | 否 | ZC1 | 制程号码 | 该制程代号必须在系统制程资料存在,不存在的请先新增制程资料 |
TW_ID | string | 否 | 1 | 是否托外 | |
USEIN_NO | string | 否 | ZZ1 | 组装代号 | 该组装代号必须在系统组装资料存在,不存在的请先新增组装资料 |
QTY_BAS | number | 否 | 1 | 基数 | |
REM | string | 否 | 这是商品物料表表身 | 摘要 | |
BodyData | object [] | 否 | 下层物料 |
| 返回数据
参数名称 | 类型 | 参数值 | 备注 | 其它信息 |
---|---|---|---|---|
OkCount | number | 1 | 新增成功数 | |
ErrorCount | number | 1 | 新增失败数 | |
ErrorData | object | [] | 失败的数据 | "ErrorMsg"字段返回的是错误信息 |
| 调用范例
BODY JSON
物料层次关系为:
ZCP->2.0 //制成品
YL2 //组成制成品的原料
BCP->1.0 //组成制成品的半成品
YL1 //组成半成品的原料
第一种方式:按层次传,BodyData下存在BodyData,当下层发生异常影响最上层商品物料关系的新增,上层异常不影响下层
[
{ //一个商品物料关系
"PRD_NO": "ZCP", //制成品货品代号
"PF_NO": "2.0", //制成品版本号
"QTY": 1, //用量
"BodyData": [ //组成制成品的下级物料
{
"PRD_NO": "BCP", //半成品货品代号
"PF_NO": "1.0", //半成品版本号
"QTY": 1, //用量
"BodyData": [ //组成半成品的下级物料
{
"PRD_NO": "YL1", //半成品的原料代号
"QTY": 1 //用量
}
]
},
{
"PRD_NO": "YL2", //制成品的原料代号
"QTY": 1 //用量
}
]
}
]
第二种方式:无层次分批传,每一个商品物料关系作为单独的一行数据,只存在一个BodyData,异常只影响一个商品物料关系的新增
[
{ //一个商品物料关系
"PRD_NO": "BCP", //半成品货品代号
"PF_NO": "1.0", //半成品版本号
"QTY": 1, //用量
"BodyData": [ //组成半成品的下级物料
{
"PRD_NO": "YL1", //半成品的原料代号
"QTY": 1 //用量
}
]
},
{ //一个商品物料关系
"PRD_NO": "ZCP", //制成品货品代号
"PF_NO": "2.0", //制成品版本号
"QTY": 1, //用量
"BodyData": [ //组成制成品的下级物料
{
"PRD_NO": "BCP", //半成品货品代号
"PF_NO": "1.0", //半成品版本号,这里的货品代号与版本号就能关联前面的半成品
"QTY": 1 //用量
},
{
"PRD_NO": "YL2", //制成品的原料代号
"QTY": 1 //用量
}
]
}
]
两种方式可混合使用
返回的JSON
{
"OkCount": 1, //新增成功数
"ErrorCount": 1, //新增失败数
"ErrorData": [ //失败的数据
{
"PRD_NO": "ZCP",
"PF_NO": "2.0",
"QTY": 1,
"BodyData": [
{
"PRD_NO": "BCP",
"PF_NO": "1.0",
"QTY": 1
},
{
"PRD_NO": "YL2",
"QTY": 1
}
],
"ErrorMsg": "子件货品代号[YL2]不存在." //错误信息
}
]
}
| 备注
必须在Headers里面传入用户登录或账套验证的LoginId。
Body中JSON字段与所需数据库MF_BOM、TF_BOM表字段为一样的,列示中没有的字段请按照实际情况进行添加到Body的JSON中。
自定义字段请先在系统中设置,按照一般字段的方式添加到Body的JSON中。
接口程序不处理审核,没有审核流直接终审,有审核流就处于未审状态。
调用新增商品物料资料接口时如需使用到其它的基础资料的,需要在系统中先添加好或者调用其它基础资料新增接口后再调取新增商品物料资料接口。
可查看后台表LOG_BILLSAVE查看执行信息。