> **支持基线: 2506.01**

##### 引入 weaver-ebuilder-form-client jar：

```xml
<dependency>
    <groupId>com.weaver</groupId>
    <artifactId>weaver-ebuilder-form-client</artifactId>
</dependency>
```

##### 请求接口:    ([为后续项目使用中切换应用独立部署的需要，二开逻辑请使用独立部署方式调用](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/81831572-da60-474d-9328-2309af780fb9))

```java
// 基线版本:10.0.2410.01(含), 版本后必须使用该方式操作 - (为后续项目使用中切换应用独立部署的需要)
@Autowired
private PublishKitRuntimeUtil publishKitRuntimeUtil;

RemoteSimpleDataService remoteSimpleDataService = publishKitRuntimeUtil.buildRpcService(com.weaver.ebuilder.form.client.service.data.RemoteSimpleDataService.class, "ebuilderform", appId);
remoteSimpleDataService.deleteFormData(ebDataDelDto);

/******************************************************************************************************************/

// 基线版本:10.0.2410.01之前版本可使用:
@RpcReference(group = "ebuilderform")
private com.weaver.ebuilder.form.client.service.data.RemoteSimpleDataService remoteSimpleDataService;

remoteSimpleDataService.deleteFormData(ebDataDelDto);
```

 **注意**: 若是二开免登陆的方式调用 需要在调用之前用如下方式手动设置到上下文当前租户

	com.weaver.framework.rpc.context.impl.TenantRpcContext#setTargetTenantKey(String tenantKey)

##### 请求参数:

| 参数名 | 参数类型 | 参数说明 |
| --- | --- | --- |
| ebDataDelDto | com.weaver.ebuilder.form.client.entity.data.del.EBDataDelDto | eb数据删除请求对象 |

EBDataDelDto 数据删除请求说明:

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| header | EBDataReqHeader | 请求公共操作信息 |
| operation | EBDataDelOperation | 请求操作说明 |
| dataIds | List\<String\> | 删除数据ids, 当deleteType为ids时生效 |

EBDataReqHeader 请求公共信息说明:

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| objId | String | [eb表单id](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/4771f4ea-bf3d-403e-81c1-c2983e604b06) |
| operator | String | 操作人id |
| tenantKey | String | 租户Key |

EBDataDelOperation 数据请求操作策略说明:

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| doActoin | boolean | 是否执行action动作(default:true) |
| deleteType | enum | 删除方式类型 conditions:更新条件(条件编辑器生成的条件json)  ids:通过ids更新具体数据 |
| mainData | EBDataDelOperationInfo | 主表操作条件(当deleteType为conditions生效) |
| thoroughDelete | boolean | 是否彻底删除数据 |

##### [eb系统参数获取说明](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/4771f4ea-bf3d-403e-81c1-c2983e604b06)

##### 

##### 代码组装示例:

```java
EBDataDelDto ebDataDelDto = new EBDataDelDto();
// 构建基础参数; objId 表单id, operator 操作人, tenantKey 租户
ebDataDelDto.setHeader(new EBDataReqHeader("1072243361479901184", "5112849484828049659", "T2K74I3RJO"));
EBDataDelOperation ebDataDelOperation = new EBDataDelOperation();
// 是否执行删除时按钮动作
ebDataDelOperation.setDoActoin(false);
// 指定删除方式为通过数据id删除
ebDataDelOperation.setDeleteType(EBDataUpdateType.ids);
// 是否物理删除 
// false - 逻辑删除为删除至表单数据回收站
// true - 将数据delete_type置为3, 正常情况架构14天扫描delete_type=3的数据物理删除; 同时
ebDataDelOperation.setThoroughDelete(true);
ebDataDelDto.setOperation(ebDataDelOperation);
// 外部传入数据ids - 单次最大支持删除1000条
ebDataDelDto.setDataIds(dataIds);
EBDataChangeResult ebDataChangeResult = runtimeRemoteSimpleDataServiceImpl.deleteFormData(ebDataDelDto);
```

##### 返回成功示例:

```json
{
    "status": true,
    "message": "成功删除1条数据",
	"dataIds": [
		"841452744116652236"
	]
}
```

##### 返回失败示例:

```json
{
    "status": false,
	"message": "批量操作数据条件不能为空"
}

{
    "status": false,
	"message": "删除失败，无权限删除或数据不存在"
}
```
