描述
批量操作单据实例,用户可以批量新建、修改单据实例数据,批量实例数据之间可以关联(比如实例2需要引用实例1的数据)映射字段。
请求
URL
https://api.dadayun.cn/v1/form/instances/batch?keyOption=$keyOption
HTTP请求方式
POST
Header参数
{ "Content-Type":"application/json; charset=utf-8" }
HTTP请求参数
URL参数
名称 | 是否必需 | 类型 | 描述 |
---|---|---|---|
keyOption | 否 | String | 提交的实例数据和返回的实例数据以什么为属性名(键名)。 属性名: - Entity 以实体属性名为属性名;- Caption 以[组名-]控件名为属性名;- Id 以字段的Id为属性名;- FieldName 以字段的FieldName为属性名,默认。 |
请求Body
名称 | 是否必需 | 类型 | 描述 |
---|---|---|---|
Instances | 是 | Instance[] | 批量操作单据实例数组,至少包含1条。参见下文Instance参数。 |
DataFillMaps | 否 | DataFillMap[] | 批量操作的单据实例Instances 数据关联映射关系。参见下文DataFillMap参数。 |
Instance参数:
名称 | 是否必需 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 所要操作单据实例是新建还是修改: - 取值为 create 表示新建;- 取值为 update 表示修改。 |
TplIdOrName | 是 | String | 所要操作单据模板的Id或名称。 |
InstanceId | 是 | String | 所要操作单据实例Id: - 如果实例为新建操作,客户端可随机生成唯一Id; - 如果实例为修改操作,必须是该修改的实例Id。 |
InstanceData | 是 | Object | 所要操作单据实例数据。 |
AutoFillMode | 否 | String | 所要操作单据实例数据是否需后台完成自动填充: - 默认空为不填充; - forceempty 填充空值(客户端未提交的或提交的值为空);- forceall 填充所有(即使客户端提交上来有值);- forceautocode 只填充关联了自动编码的字段。 |
DataFillMap参数:
名称 | 是否必需 | 类型 | 描述 |
---|---|---|---|
TargetInstanceId | 是 | String | 目标单据实例Id(取Instances[n].InstanceId 的值),从源单据实例中映射的字段取值。 |
SourceInstanceId | 是 | String | 源单据实例Id(取Instances[n].InstanceId 的值),填写到目标单据实例中映射的字段;如果字段映射中含有自动编码字段,则源单据实例在 Instances 中的索引需要比目标单据实例所在Instances 中的索引小,即排序在目标实例前面。 |
FieldMap | 是 | Object | 目标单据与源单据的字段映射。数据类型为字典,以目标单据字段名为key,源单据字段名为value。 |
响应
- 返回参数
返回与该请求提交的Instances
中的数组数据,数据项中只包含部分属性,数据项参数说明:
名称 | 类型 | 描述 |
---|---|---|
Action | String | 单据实例是新建还是修改,同提交的Instances[n].Action 。 |
TplIdOrName | String | 单据模板的Id或名称,同提交的Instances[n].TplIdOrName 。 |
InstanceId | String | 单据实例Id: - 如果实例新建时,客户端随机生成的唯一Id如果不是合法的UUID(Guid),后台自动生成一个UUID; - 如果实例为修改操作,原封不动返回该修改的实例Id。 |
AutoFillMode | String | 单据实例数据是否需后台完成自动填充,同提交的Instances[n].AutoFillMode 。 |
示例
请求示例
POST /v1/form/instances/batch?keyOption=Caption HTTP/1.1
Host: api.dadayun.cn
Date: Thu, 30 Aug 2018 02:55:22 GMT
Content-Type: application/json; charset=utf-8
{
"Instances": [
{
"Action": "create",
"TplIdOrName": "销售订单",
"InstanceId": "instanceId1",
"InstanceData": {
"标题": "2015-07-06 16:00:00_陈莹莹_PO20150706002",
"销售代表": "陈莹莹",
"日期": "2015-07-06T08:00:00.000Z",
"客户信息-公司名称": "远东百货",
"客户信息-联系人": "方丽丽",
"客户信息-电话": "021-83737822",
"客户信息-传真": "021-83737820",
"客户信息-邮箱": "fan@qq.com",
"订单信息-交货日期": "2015-07-06T16:00:00.000Z",
"订单信息-包装费用": 170000,
"订单信息-仓库": "广州仓",
"订货清单-订货清单": [
{
"订货清单-产品编码": "L01001",
"订货清单-类别": "成品",
"订货清单-名称": "电脑",
"订货清单-品牌": "联想",
"订货清单-系列": "商务",
"订货清单-型号": "T60",
"订货清单-规格": "320G",
"订货清单-包装": null,
"订货清单-数量": 10,
"订货清单-当前库存数量": 0,
"订货清单-计量单位": "台",
"订货清单-单价": 4000,
"订货清单-金额": 40000,
"订货清单-说明": null,
"OrderIndex": 0
},
{
"订货清单-产品编码": "L01002",
"订货清单-类别": "成品",
"订货清单-名称": "电脑",
"订货清单-品牌": "联想",
"订货清单-系列": "商务",
"订货清单-型号": "T60",
"订货清单-规格": "500G",
"订货清单-包装": null,
"订货清单-数量": 10,
"订货清单-当前库存数量": 0,
"订货清单-计量单位": "台",
"订货清单-单价": 4500,
"订货清单-金额": 45000,
"订货清单-说明": null,
"OrderIndex": 1
}
]
},
"AutoFillMode": ""
},
{
"Action": "create",
"TplIdOrName": "销售订单",
"InstanceId": "instanceId2",
"InstanceData": {
"标题": "2015-07-06 16:00:00_陈莹莹_PO20150706002"
},
"AutoFillMode": ""
}
],
"DataFillMaps": [
{
"SourceInstanceId": "instanceId1",
"TargetInstanceId": "instanceId2",
"FieldMap": {
"销售代表": "销售代表",
"日期": "日期",
"客户信息-公司名称": "客户信息-公司名称",
"客户信息-联系人": "客户信息-联系人",
"客户信息-电话": "客户信息-电话",
"客户信息-传真": "客户信息-传真",
"客户信息-邮箱": "客户信息-邮箱",
"订单信息-交货日期": "订单信息-交货日期",
"订单信息-包装费用": "订单信息-包装费用",
"订单信息-仓库": "订单信息-仓库",
"订货清单-产品编码": "订货清单-产品编码",
"订货清单-类别": "订货清单-类别",
"订货清单-名称": "订货清单-名称",
"订货清单-品牌": "订货清单-品牌",
"订货清单-系列": "订货清单-系列",
"订货清单-型号": "订货清单-型号",
"订货清单-规格": "订货清单-规格",
"订货清单-包装": "订货清单-包装",
"订货清单-数量": "订货清单-数量",
"订货清单-当前库存数量": "订货清单-当前库存数量",
"订货清单-计量单位": "订货清单-计量单位",
"订货清单-单价": "订货清单-单价",
"订货清单-金额": "订货清单-金额",
"订货清单-说明": "订货清单-说明"
}
}
]
}
正常返回示例
HTTP/1.1 200 OK
Date: Thu, 30 Aug 2018 02:55:22 GMT
Content-Type: application/json; charset=utf-8
[
{
"Action": "create",
"TplIdOrName": "销售订单",
"TnstanceId": "7231b63f-57ea-40b8-9f6b-4e798d23c96f",
"AutoFillMode": ""
},
{
"Action": "create",
"TplIdOrName": "销售订单",
"TnstanceId": "438b535e-3239-4251-a35a-29fa0e0dd258",
"AutoFillMode": ""
}
]