工序报工单保存
| 基本信息
信息 | 值 | 备注 |
---|---|---|
接口名称 | 工序报工单保存 | 根据单据ID来新增单据(包括修改) |
请求状态 | POST | RESTful方式 |
接口路径 | http://localhost:23798/api/Bill/SaveBill | 向服务器地址发送POST请求 |
远程模式 | http://www.linkerplus.com/api/ext_erp/Bill/SaveBill | 远程模式向服务器地址发送POST请求,需要ERP注册号注册远程模式,并在Headers添加sn参数 |
| 请求参数
Headers (企业家 & T8)
参数名称 | 是否必须 | 参数值 | 备注 |
---|---|---|---|
Content-Type | 是 | application/json | 用于指定数据的传输类型 |
LoginId | 是 | e835943e-55c2-4bf0-832d-6f4166592941 | 用户登录的LoginId,取用户登录或账套验证接口返回的LoginId |
sn | 否 | MGR_REST_1001 | 远程模式需添加sn参数,MGRREST+ERP注册号 |
Body (企业家工序报工)
参数名称 | 类型 | 是否必须 | 参数值 | 备注 | 其它信息 |
---|---|---|---|---|---|
HeadData | object | 是 | 表头数据 | ||
EntryOrderId | string | 否 | WMS00001 | 调用方业务编码 | 调用方唯一编码,关联ERP单据,且避免重复提交,当提交的EntryOrderId重复时返回提示。为空则没有该项检测 |
CallId | string | 是 | WR | 调用的单据识别号 | "WR":表示企业家工序报工 |
CallNo | string | 否 | WR35260003 | 调用的单据号码 | 传入该值代表修改原单据信息,新增数据时无需添加 |
Rem | string | 否 | 这是表头备注 | 备注 | |
UsrNo | string | 否 | ADMIN | 制单人 | 账套验证的LoginId需添加UsrNo,用户登录的LoginId则无需添加UsrNo |
ExtendProps | object | 否 | {"DEP":"SCB","ZDY": "自定义"} | 表头扩展功能 | 包括表头的其它字段以及用户自定义字段,字段名需与数据库表名一致 |
NotUseAuditFlow | string | 否 | T/F | 跳过审核流程,自动审核。默认不跳过 | 当传"T"时,该单据通过接口生成时,不考虑审核流程,直接自动终审 |
BodyData | object [] | 是 | 表身数据 | item 类型: object | |
CallItm | number | 否 | 1 | 原单项次 | HeadData中CallNo存在并有值时才生效,传入该值代表修改原单据表身对应PRE_ITM列的信息,新增数据时无需添加 |
BilNo | string | 否 | TZ0C220001 | 通知单号 | 新增时必须,有来源时非必须 |
QtyFin | number | 否 | 1 | 合格主数量 | 新增时必须,有来源时非必须 |
Qty1Fin | number | 否 | 5 | 合格副数量 | |
QtyLost | number | 否 | 1 | 损耗主数量 | |
Qty1Lost | number | 否 | 5 | 损耗副数量 | |
Rem | string | 否 | 这是表身摘要 | 表身摘要 | |
IsDelete | string | 否 | F | 删除行 | CallItm存在并有值时才生效,传入该值为T代表删除原单据表身对应PRE_ITM列,不删除行时无需添加 |
ExtendProps | object | 否 | {"TIME_USED":"8.8","ZDY": "自定义"} | 表身扩展功能 | 包括表身的其它字段以及用户自定义字段,字段名需与数据库表名一致 |
OperatorData | object [] | 否 | 作业人员报工数据 | item 类型: object | |
TZ_NO | string | 否 | TZ0C220001 | 转入来源单单号 | 通知单号,前提是 OperatorData 不为空时,此时必须传值 |
YG_NO | string | 否 | YG0001 | 员工代号 | 前提是 OperatorData 不为空时,此时必须传值 |
QTY | number | 否 | 1 | 合格主数量 | 前提是 OperatorData 不为空时,此时必须传值 |
QTY1 | number | 否 | 5 | 合格副数量 | 前提是 OperatorData 不为空时 |
QTY_LOST | number | 否 | 1 | 损耗主数量 | 前提是 OperatorData 不为空时 |
QTY1_LOST | number | 否 | 5 | 损耗副数量 | 前提是 OperatorData 不为空时 |
USE_TIME | number | 否 | 8.8 | 员工工时 | 前提是 OperatorData 不为空时 |
Body (T8工序报工)
参数名称 | 类型 | 是否必须 | 参数值 | 备注 | 其它信息 |
---|---|---|---|---|---|
HeadData | object | 是 | 表头数据 | ||
EntryOrderId | string | 否 | WMS00001 | 调用方业务编码 | 调用方唯一编码,关联ERP单据,且避免重复提交,当提交的EntryOrderId重复时返回提示。为空则没有该项检测 |
CallId | string | 是 | RP | 调用的单据识别号 | "RP":表示T8简易工序报工 |
CallNo | string | 否 | RP35260003 | 调用的单据号码 | 传入该值代表修改原单据信息,新增数据时无需添加 |
Rem | string | 否 | 这是表头备注 | 备注 | |
UsrNo | string | 否 | ADMIN | 制单人 | 账套验证的LoginId需添加UsrNo,用户登录的LoginId则无需添加UsrNo |
ExtendProps | object | 否 | {"DEP":"0003","ZDY": "自定义"} | 表头扩展功能 | 包括表头的其它字段以及用户自定义字段,字段名需与数据库表名一致 |
BodyData | object [] | 是 | 表身数据 | item 类型: object | |
CallItm | number | 否 | 1 | 原单项次 | HeadData中CallNo存在并有值时才生效,传入该值代表修改原单据表身对应PRE_ITM列的信息,新增数据时无需添加 |
BilNo | string | 否 | MO0C220001 | 制令单号 | 新增时必须,有来源时非必须 |
ZcNo | string | 否 | ZC0001 | 制程代号 | 新增时必须,有来源时非必须 |
QtyFin | number | 是 | 1 | 合格主数量 | |
Qty1Fin | number | 否 | 5 | 合格副数量 | |
QtyLost | number | 否 | 1 | 报废主数量 | |
Qty1Lost | number | 否 | 5 | 报废副数量 | |
Rem | string | 否 | 这是表身摘要 | 表身摘要 | |
IsDelete | string | 否 | F | 删除行 | CallItm存在并有值时才生效,传入该值为T代表删除原单据表身对应PRE_ITM列,不删除行时无需添加 |
ExtendProps | object | 否 | {"USED_TIME":"8.8","ZDY": "自定义"} | 表身扩展功能 | 包括表身的其它字段以及用户自定义字段,字段名需与数据库表名一致 |
OperatorData | object [] | 否 | 作业人员报工数据 | item 类型: object | |
MO_NO | string | 是 | MO0C220001 | 转入来源单单号 | 制令单号,前提是 OperatorData 不为空时 |
YG_NO | string | 是 | YG0001 | 员工代号 | 前提是 OperatorData 不为空时 |
ZC_NO | string | 是 | ZC0001 | 制程代号 | 前提是 OperatorData 不为空时 |
QTY_FIN | number | 是 | 1 | 合格主数量 | 前提是 OperatorData 不为空时 |
QTY_BF | number | 否 | 1 | 报废主数量 | 前提是 OperatorData 不为空时 |
USED_TIME | number | 否 | 8.8 | 员工工时 | 前提是 OperatorData 不为空时 |
SPC_NO | string | 否 | SP0001 | 原因代号 | 前提是 OperatorData 不为空时 |
| 返回数据
企业家工序报工
参数名称 | 类型 | 参数值 | 备注 |
---|---|---|---|
EntryOrderId | string | WMS00001 | 调用方业务编码 |
CallID | string | WR | 调用的单据识别号,"WR":表示企业家工序报工 |
CallNO | string | WR35310002 | 生成的单据号码 |
CallOK | string | T | 执行是否成功, 是:"T" 否:"F" |
Data | string | {\r\n \"TF_TABNAME\": \"TF_WR\",\r\n \"BIL_ITM\": \"0\",\r\n \"MF_TABNAME\": \"MF_WR\",\r\n \"BIL_NO\": \"WR35310002\",\r\n \"BIL_ID\": \"\"\r\n} | 单据信息,JSON字符串格式 |
ErrorStr | string | 错误信息 |
T8简易工序报工
参数名称 | 类型 | 参数值 | 备注 |
---|---|---|---|
EntryOrderId | string | WMS00001 | 调用方业务编码 |
CallID | string | RP | 调用的单据识别号,"RP":表示T8简易工序报工 |
CallNO | string | RP35310002 | 生成的单据号码 |
CallOK | string | T | 执行是否成功, 是:"T" 否:"F" |
Data | string | {\r\n \"TF_TABNAME\": \"TF_RP\",\r\n \"BIL_ITM\": \"0\",\r\n \"MF_TABNAME\": \"MF_RP\",\r\n \"BIL_NO\": \"RP35310002\",\r\n \"BIL_ID\": \"\"\r\n} | 单据信息,JSON字符串格式 |
ErrorStr | string | 错误信息 |
| 调用范例
BODY JSON
无需赋值的字段不需要添加,转入来源单或修改原单据时传入的字段代表修改原值
有来源示范,当添加了其它参数时代表修改转入的数据,例如"BodyData"添加"Rem":"摘要" 代表修改来源单Rem栏位内容为"摘要"
{
"HeadData":{ // 必须,表头数据
"EntryOrderId":"WMS00001", // 非必须,调用方业务编码
"CallId":"WR", // 必须,调用的单据识别号,"WR":表示企业家工序报工,"RP":表示T8简易工序报工
"CallNo":"WR35310002" // 必须,调用的单据号码,传入该值代表修改原单据信息
},
"BodyData":[ // 必须,表身数据
{
"CallItm":"1", // 必须,原单项次
"Rem":"摘要" // 非必须,修改表身摘要
}]
}
完整字段:企业家工序报工
{
"HeadData":{ // 必须,表头数据
"EntryOrderId":"WMS00001", // 非必须,调用方业务编码
"CallId":"WR", // 必须,调用的单据识别号,"WR":表示企业家工序报工
"CallNo":"WR35260002", // 非必须,调用的单据号码,传入该值代表修改原单据信息,新增数据时无需添加
"Rem":"这是表头备注", // 非必须,表头备注
"UsrNo":"01", // 非必须,制单人,采用账套验证方式获取LoginId时必须
"ExtendProps":{ // 非必须,扩展功能,包括表头的其他字段以及用户自定义字段
"DEP":"0003" // 字段名需与数据库表名一致
}
},
"BodyData":[ // 必须,表身数据
{
"CallItm":1, // 非必须,原单项次,传入该值代表修改原单据表身对应PRE_ITM列的信息,新增数据时无需添加
"BilNo":"TZ14070001", // 通知单号,新增数据时必须;修改原单据信息时非必须
"QtyFin":6, // 合格主数量,新增数据时必须;修改原单据信息时非必须
"Qty1Fin":0, // 非必须,合格副数量
"QtyLost":2, // 非必须,损耗主数量
"Qty1Lost":0, // 非必须,损耗副数量
"Rem":"这是表身摘要", // 非必须,表身摘要
"IsDelete":"F", // 非必须,删除行,传入该值为T代表删除原单据表身对应PRE_ITM列,不删除行时无需添加
"ExtendProps":{ // 非必须,扩展功能,包括表身的其他字段以及用户自定义字段
"TIME_USED":8.8 // 字段名需与数据库表名一致
},
"OperatorData":[ // 非必须,作业人员报工数据
{
"YG_NO": "yg07", // 员工代号
"TZ_NO":"TZ14070001", // 通知单号
"QTY": 6, // 合格主数量
"QTY1": 0, // 合格副数量
"QTY_LOST": 2, // 损耗主数量
"QTY1_LOST": 0, // 损耗副数量
"USE_TIME":8.8 // 员工工时
}]
}]
}
完整字段:T8工序报工
{
"HeadData":{ // 必须,表头数据
"EntryOrderId":"WMS00001", // 非必须,调用方业务编码
"CallId":"RP", // 必须,调用的单据识别号,"RP":表示T8简易工序报工
"CallNo":"RP35260002", // 非必须,调用的单据号码,传入该值代表修改原单据信息,新增数据时无需添加
"Rem":"这是表头备注", // 非必须,表头备注
"UsrNo":"01", // 非必须,制单人,采用账套验证方式获取LoginId时必须
"ExtendProps":{ // 非必须,扩展功能,包括表头的其他字段以及用户自定义字段
"DEP":"0003" // 字段名需与数据库表名一致
}
},
"BodyData":[ // 必须,表身数据
{
"CallItm":1, // 非必须,原单项次,传入该值代表修改原单据表身对应PRE_ITM列的信息,新增数据时无需添加
"BilNo":"MO14070001", // 制令单号,新增数据时必须;修改原单据信息时非必须
"ZcNo":"ZC0001", // 制程代号,新增数据时必须;修改原单据信息时非必须
"QtyFin":6, // 合格主数量,新增数据时必须;修改原单据信息时非必须
"Qty1Fin":0, // 非必须,合格副数量
"QtyLost":2, // 非必须,报废主数量
"Qty1Lost":0, // 非必须,报废副数量
"Rem":"这是表身摘要", // 非必须,表身摘要
"IsDelete":"F", // 非必须,删除行,传入该值为T代表删除原单据表身对应PRE_ITM列,不删除行时无需添加
"ExtendProps":{ // 非必须,扩展功能,包括表身的其他字段以及用户自定义字段
"USED_TIME":8.8 // 字段名需与数据库表名一致
},
"OperatorData":[ // 非必须,作业人员报工数据
{
"YG_NO": "yg07", // 员工代号
"MO_NO":"MO14070001", // 制令单号
"ZC_NO":"ZC0001", // 制程代号
"QTY": 6, // 合格主数量
"QTY_BF": 2, // 报废主数量
"QTY1_LOST": 0, // 报废副数量
"USED_TIME":8.8, // 员工工时
"SPC_NO":"SPC0001" // 原因代号
}]
}]
}
返回的JSON
企业家工序报工
{
"EntryOrderId": "", // 调用方业务编码
"CallID": "WR", // 调用的单据识别号
"CallNO": "WR35310002", // 生成的单据号码
"CallOK": "T", // 执行是否成功, 是:"T" 否:"F"
"Data": "{\r\n \"TF_TABNAME\": \"TF_WR\",\r\n \"BIL_ITM\": \"0\",\r\n \"MF_TABNAME\": \"MF_WR\",\r\n \"BIL_NO\": \"WR35310002\",\r\n \"BIL_ID\": \"\"\r\n}", // 单据信息,JSON字符串格式
"ErrorStr": "" // 错误信息
}
T8简易工序报工
{
"EntryOrderId": "", // 调用方业务编码
"CallID": "RP", // 调用的单据识别号
"CallNO": "RP35310002", // 生成的单据号码
"CallOK": "T", // 执行是否成功, 是:"T" 否:"F"
"Data": "{\r\n \"TF_TABNAME\": \"TF_RP\",\r\n \"BIL_ITM\": \"0\",\r\n \"MF_TABNAME\": \"MF_RP\",\r\n \"BIL_NO\": \"RP35310002\",\r\n \"BIL_ID\": \"\"\r\n}", // 单据信息,JSON字符串格式
"ErrorStr": "" // 错误信息
}
| 备注
必须在Headers里面传入用户登录或账套验证的LoginId。
当采用的是账套验证获取的LoginId,那么HeadData中UsrNo就是制单人,不能为空。采用用户登录的LoginId则无需添加UsrNo,用户即制单人。
Body中JSON字段,尽量不要添加赋空值的字段。
ExtendProps中为拓展字段,需要对应数据库表的字段,自定义字段同样在这里处理。
统一字段与接口所需数据库表字段重复时,只取统一字段的值。
接口程序不处理审核,没有审核流直接终审,有审核流就处于未审状态。
可查看后台表LOG_BILLSAVE查看执行信息。
当HeadData中EntryOrderId不为空时,可查看后台表LOG_OTHERSAVE查看单据关联信息。
EntryOrderId:为同一次调用动作的唯一ID,全局唯一,建议采用随机uuid/guid;例如调用方请求第一次时,无响应信息或者响应错误后再请求一次时,该EntryOrderId应相同,为同一次调用动作。相反,调用方第一次调用返回成功信息后,删除了单据(无论删除ERP单据还是调用方单据),再重新调用一次,此时EntryOrderId是不能与没删除前的EntryOrderId相同。简而言之,只要调用接口返回成功信息后的EntryOrderId就不能再重复调用。