

##### 一. 说明

	外部通过自定义方式创建表单时可以先通过名称校验接口预校验表单是否可以成功创建，否则需要调整表名

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

```java
// 基线版本:10.0.2410.01(含), 版本后必须使用该方式操作 - (为后续项目使用中切换应用独立部署的需要)
// 如 调用RemoteSimpleDataService#saveFormData方法需要按以下方式调整

@Autowired
private PublishKitRuntimeUtil publishKitRuntimeUtil;

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

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

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

remoteSimpleDataService.saveFormData(ebDataChangeReqDto);
```

##### 二. 对接步骤

###### 2.1. 引入 ebuilder-form-client jar

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

###### 2.2. 接口暴露说明

```java
import com.weaver.ebuilder.form.client.service.obj.RemoteEBObjService;

@RpcReference(group = "ebuilderform")
private RemoteEBObjService remoteEBObjService;
```

###### 2.3. 方法说明

```java
/**
  * 校验当前名称是否可以成功创建表单<br/>
  * -- name 为表单显示名称, 当前租户唯一<br/>
  * -- tableName 为数据库表名 数据库唯一<br/>
  * 当前接口默认走物理表表单检查逻辑
  * @param tableNameCheckDto 表名校验传输对象
  * @param employeeId        人员Id
  * @param tenantKey         租户key
  * @return 表名校验结果
  * -- status 为true 表名校验成功，可以正常创建表单
  * -- status 为false 表名校验失败，message返回提示信息
  */
TableNameCheckResult preCheckTableName(TableNameCheckDto tableNameCheckDto,String employeeId,String tenantKey);
```

###### 2.4. 返回说明

	2.4.1. 您的团队通过e-Builder构建的表单数已超过购买的数量，请联系客服购买!  -- 超过eb最大建表数量

	2.4.2. 数据库中已存在相同名称的表  -- tableName 重复，无法成功建表

	2.4.3. 已存在相同名称的表 -- tableName 重复，无法成功建表
