---
title: "4.1.1、表单：FormRest"
docId: "954956691093495808"
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/repository/9c2e5f92-03b4-4207-9b22-a0c1dd79ac56/doc/954956691093495808"
---
**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.form.FormRest

#### 1. 校验是否为新表单

**接口详情：**

```java
 /**
    * 判断是否为EB新编辑器创建的表单
    * @param params 前端参数，详情见类属性
    * @param user   用户
    * @return boolean
    */
    boolean checkNewForm(FormParam params, SimpleEmployee user);

```

**参数说明：**

| 参数名 | 必传 | 类型 | 描述 |
| --- | --- | --- | --- |
| formId | 否（三个属性任一必传） | Long | 表单ID |
| layoutId | 否（三个属性任一必传） | Long | 布局ID |
| fieldId | 否（三个属性任一必传） | Long | 字段ID |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 描述 |
| --- | --- |
| boolean | 是否为新表单 |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    FormParam params = new FormParam();
    params.setFormId(1L);
    boolean isNewForm = formRestFactory.getFormRest(module).checkNewForm(params,employee);
}
```

**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.form.FormRest

#### 2. 根据表单ID查询表单基本信息

**接口详情：**

```java
    /**
     * 获取表单基本信息
     *
     * @param formId 表单ID
     * @param user   用户信息
     * @return  表单信息
     */
    SimpleFormDto getSimpleFormById(Long formId, SimpleEmployee user);

```

**参数说明：**

| 参数名 | 必传 | 类型 | 描述 |
| --- | --- | --- | --- |
| formId | 是 | java.lang.Long | 表单ID |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 具体字段 | 类型 | 描述 |
| --- | --- | --- | --- |
| SimpleFormDto |  | com.weaver.common.form.dto.form.SimpleFormDto | 表单 |
| SimpleFormDto<br>的具体属性 | id | Long | 表单ID |
| name | String | 表单名称 |  |
| status | String | 表单状态<br>submit=提交<br>enable=启用<br>disable=停用 |  |
| isDelete | Boolean | 是否删除 |  |
| describe | String | 描述信息 |  |
| physicalTable | Boolean | 是否物理表 |  |
| module | String | 所属模块 |  |
| owership | String | 表单所有权  <br>personal=个人表单<br>company=公司表单<br>colud=云表单 |  |
| isMulti | Boolean | 是否新表单 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test(SimpleEmployee employee) {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    Long formId = 1L;
    SimpleFormDto formList = formRestFactory.getFormRest(module).getSimpleFormById(formId ,employee);
}
```

#### 3.根据表单ID集合查询表单基本信息

**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.form.FormRest

**接口详情：**

```java
     /**
     * 根据表单Ids查询表单列表 非云表单  非删除
     * @author haoming.sun
     * @param ids ids
     * @param employee 用户信息
     * @return list
     */
    List<SimpleFormDto> queryFormByIds(List<Long> ids, SimpleEmployee employee);

```

**参数说明：**

| 参数名 | 必传 | 类型 | 描述 |
| --- | --- | --- | --- |
| ids | 是 | java.lang.Long | 表单ID集合 |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 具体字段 | 类型 | 描述 |
| --- | --- | --- | --- |
| List<SimpleFormDto> |  | com.weaver.common.form.dto.form.SimpleFormDto | 表单列表 |
| SimpleFormDto<br>的具体属性 | id | Long | 表单ID |
| name | String | 表单名称 |  |
| status | String | 表单状态<br>submit=提交<br>enable=启用<br>disable=停用 |  |
| isDelete | Boolean | 是否删除 |  |
| describe | String | 描述信息 |  |
| physicalTable | Boolean | 是否物理表 |  |
| module | String | 所属模块 |  |
| owership | String | 表单所有权  <br>personal=个人表单<br>company=公司表单<br>colud=云表单 |  |
| isMulti | Boolean | 是否新表单 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test(SimpleEmployee employee) {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    List<Long> ids = new ArrayList<>();
    ids.add(1L);
    ids.add(2L);
    List<SimpleFormDto> formList = formRestFactory.getFormRest(module).queryFormByIds(ids,employee);
}
```

---

#### 4.复制表单

**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.form.FormRest

**接口详情：**

```java
   /**
     * 复制表单
     * @param formCopyEntity 入参实体
     * @param employee 用户信息（必须包含id和tenantKey）
     * @return Form 复制后表单
     */
    Form copyFormByEntity(FormCopyEntity formCopyEntity, SimpleEmployee employee);

```

**参数说明：**

| 参数名 |  | 必传 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| formCopyEntity |  | 是 | **com.weaver.common.form.formmanage.entity.FormCopyEntity** | 复制表单参数 |
| formCopyEntity<br>的属性列表 | sourceFormId | 是 | Long | 来源表单ID |
| refId | 否 | Long | 外部id |  |
| sourceModule | 是 | com.weaver.common.form.metadata.ModuleSource | 来源模块 |  |
| sourceForm | 否 | com.weaver.common.form.metadata.Form | 来源表单 |  |
| targetFormName | 否 | String | 目标表单名称 |  |
| targetFormType | 是 | com.weaver.common.form.metadata.FormType | 目标表单类型("云","公司","个人") |  |
| targetModule | 是 | com.weaver.common.form.metadata.ModuleSource | 目标模块 |  |
| targetForm | 否 | com.weaver.common.form.metadata.Form | 目标表单对象 |  |
| customParam | 否 | Map<String, Object> | 自定义参数 |  |
| replaceIds | 否 | Map<String, String> | 新老表单ID映射关系（key-oldId、value-newId）<br>formId、layoutId、fieldId、complexId、panelFieldId、subFormId... |  |
| replaceOptionIds | 否 | Map<String, String> | 新老表单字段选项ID映射关系（key-oldId、value-newId） |  |
| replaceMultipleIds | 否 | Map<String, String> | 新老表单布局ID映射关系（key-oldId、value-newId） |  |
| replaceSubFormDataKeys | 否 | Map<String, String> | 新老表单布局明细表dataKey映射关系（key-oldDataKey、value-newDataKey） |  |
| replaceLabelIds | 否 | Map<String, String> | 新老国际化labelId（key-oldLabelId、value-newLabelId） |  |
| crossModule | 否 | Boolean | 是否跨模块复制（跨模块复制-数据需要从外部传入） |  |
| sourceDataEntity | 否 | com.weaver.common.form.formmanage.entity.FormCopyEntity | 来源数据集合（跨模块调用外部传入） |  |
| fileId | 否 | Long | 来源数据文件id（云表单调用传入） |  |
| sourceEmployee | 否 | com.weaver.teams.domain.user.SimpleEmployee | 来源数据人员信息 |  |
| copyConfigDto | 否 | com.weaver.common.form.formmanage.entity.FormManageCopyConfigDto | 表单管理复制项 |  |
| targetTableName | 否 | String | 目标物理表名称 |  |
| targetId | 否 | Long | 目标关联外部应用id |  |
| refIds | 否 | List<Long> | 外部关联ID集合 |  |
| copyLayoutIds | 否 | List<Long> | 需要复制的布局ID集合 |  |
| isCopy | 否 | Boolean | 是否为复制表单、复制布局 |  |
| sourceVersionIdList | 否 | List<Long> | 来源数据：表单布局版本ID集合（内部API使用，外部模块不允许传递） |  |
| layoutFieldIdList | 否 | Set<Long> | 来源数据：布局内字段ID集合（内部API使用，外部模块不允许传递） |  |
| sourceFieldIdList | 否 | List<Long> | 来源数据：需要复制的字段ID集合（内部API使用，外部模块不允许传递） |  |
| isSource | 否 | Boolean | 是否从外部传入数据 |  |
| sourceLayoutMultipleIdList | 否 | List<Long> | 来源数据：需要复制的布局id集合 |  |
| deleteFieldIds | 否 | List<String> | 表单删除字段（已删除、彻底删除） |  |
| deleteMultipleLayoutIds | 否 | List<Long> | 表单删除布局（已删除、彻底删除） |  |
| overrideModule | 否 | com.weaver.common.form.metadata.ModuleSource | 模块复写module（兼容eb表单多module使用场景） |  |
| needEcode | 否 | Boolean | 是否查询ecode数据 |  |
| operateType | 否 | String | 操作类型<br> copy-复制表单、cloud-云商店、xml-XML导入导出 |  |
| employee |  | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| Form | com.weaver.common.form.metadata.Form | 复制的表单信息 |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    FormCopyEntity formCopyEntity = new FormCopyEntity();
    formCopyEntity.setSourceFormId(1154706415738929152L);
    formCopyEntity.setSourceModule(ModuleSource.workflow);
    formCopyEntity.setTargetModule(ModuleSource.workflow);
    formCopyEntity.setTargetFormType(FormType.company);
    Form form = formRestFactory.getFormRest(module).copyFormByEntity(formCopyEntity,employee);
}
```

---

#### 5.创建表单并初始化布局

**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.form.FormRest

**接口详情：**

```java
   /**
     * 复制表单
     * @param formCopyEntity 入参实体
     * @param employee 用户信息（必须包含id和tenantKey）
     * @return Form 复制后表单
     */
    Form createFormByInitDto(FormInitDto formInitDto, SimpleEmployee employee);

```

**参数说明：**

| 参数名 | 具体字段 | 必传 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| formInitDto |  | 是 | **com.weaver.comm****o****n.form.dto.form.FormInitDto** | 创建表单参数 |
| 属性列表 | form | 是 | com.weaver.common.form.metadata.Form | 表单基本信息 |
| layoutType | 是 | com.weaver.ebuilder.common.module.page.enums.LayoutType | EB布局类型（枚举：FLOW-简易版、EXCEL-高级版） |  |
| belongModule | 是 | com.weaver.ebuilder.common.enums.BelongModule | 所属模块 |  |
| terminalType | 是 | com.weaver.ebuilder.common.module.app.enums.TerminalType | EB布局类型（枚举：PC、H5） |  |
| comps | 否 | List<LayoutComponentEntity> | EB组件集合 |  |
| components | 否 | List<Component> | 表单组件集合 |  |
| assignPosition | 否 | Boolean | 单元格位置是否由模块指定 |  |
| colNum | 否 | Integer | excel布局初始化每行展示列数 |  |
| configMap | 否 | Map<String, Object> | excel布局的workbook信息：layoutType为EXCEL且assignPosition为true时使用该configMap作为布局的workbook |  |
| formLayout | 是 | FormLayoutVersion | 表单布局 |  |
| layoutId | 否 | Long | 布局版本Id |  |
| updateCompsType | 否 | Integer | 布局组件更新类型（0-追加到最后、1-覆盖当前布局） |  |
| isPhysicalTable | 否 | Boolean | 是否创建物理表（true-物理表、false-共享表，null-共享表） |  |
| onlyAddToFiledManage | 否 | Boolean | 是否仅新建字段到字段管理（true-仅新建、false-新建并创建布局，null-新建并创建布局） |  |
| presetLayoutId | 否 | Boolean | 是否预置布局id（版本升级服务部使用） |  |
| clearFormAndFormTable | 否 | Boolean | 保存配置失败、是否移除表单、物理表（版本升级服务部预置表单、物理表时会传false） |  |
| formStyleDetail | 否 | String | 自定义CSS代码块（对应FormStyle-styleDetail） |  |
| relationId | 否 | Long | 外部模块指定ID |  |
| layoutMultiId | 否 | Long | 表单布局Id |  |
| onlyCreateForm | 否 | Boolean | 是否仅创建表单（EB存在此场景，功能强依赖动态布局） |  |
| customParam | 否 | Map<String, Object> | 自定义参数 |  |
| styleTemplateId | 否 | Long | 样式模板ID |  |
| employee | 是 | 否 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| Form | com.weaver.common.form.metadata.Form | 复制的表单信息 |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test(SimpleEmployee employee) {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    FormInitDto formInitDto = new FormInitDto();
    //表单信息
    Form form = new Form();
    form.setName("初始化表单及布局的测试表单");
    form.setOwnership(FormType.company);
    form.setPhysicalTable(true);
    form.setOperator(employee);
    form.setCreateTime(new Date());
    form.setModule(ModuleSource.workflow);

    //布局信息
    FormLayoutVersion layout = new FormLayoutVersion();
    layout.setName(form.getName());
    layout.setCreateTime(new Date());
    layout.setOperator(employee);
    layout.setLayoutType(com.weaver.common.form.layout.LayoutType.pc);

    //组件对象，自行封装
    List<LayoutComponentEntity> comps = new ArrayList<>();

    formInitDto.setForm(form);
    formInitDto.setFormLayout(layout);
    formInitDto.setBelongModule(BelongModule.WORKFLOW);
    formInitDto.setTerminalType(TerminalType.PC);
    formInitDto.setLayoutType(LayoutType.FLOW);
    formInitDto.setPhysicalTable(true);
    formInitDto.setComps(comps);
    Form resultForm = formRestFactory.getFormRest(module).createFormByInitDto(formInitDto,employee);
}
```

#### 6.XML导出

**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.form.FormRest

**接口详情：**

```java
    /**
     * 表单xml导出
     * @param formCopyEntity 参数
     * @param employee 当前登录人
     * @return 返回文件id和预览的布局信息
     */
    FormXmlExportDto xmlExport(FormCopyEntity formCopyEntity, SimpleEmployee employee);

```

**参数说明：**

| 参数名 |  | 必传 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| formCopyEntity |  | 是 | **com.weaver.common.form.formmanage.entity.FormCopyEntity** | 复制表单参数 |
| 属性列表 | sourceFormId | 是 | Long | 来源表单ID |
| refId | 否 | Long | 外部id |  |
| sourceModule | 否 | com.weaver.common.form.metadata.ModuleSource | 来源模块 |  |
| sourceForm | 否 | com.weaver.common.form.metadata.Form | 来源表单 |  |
| targetFormName | 否 | String | 目标表单名称 |  |
| targetFormType | 否 | com.weaver.common.form.metadata.FormType | 目标表单类型("云","公司","个人") |  |
| targetModule | 是 | com.weaver.common.form.metadata.ModuleSource | 目标模块 |  |
| targetForm | 否 | com.weaver.common.form.metadata.Form | 目标表单对象 |  |
| customParam | 否 | Map<String, Object> | 自定义参数 |  |
| replaceIds | 否 | Map<String, String> | 新老表单ID映射关系（key-oldId、value-newId）<br>formId、layoutId、fieldId、complexId、panelFieldId、subFormId... |  |
| replaceOptionIds | 否 | Map<String, String> | 新老表单字段选项ID映射关系（key-oldId、value-newId） |  |
| replaceMultipleIds | 否 | Map<String, String> | 新老表单布局ID映射关系（key-oldId、value-newId） |  |
| replaceSubFormDataKeys | 否 | Map<String, String> | 新老表单布局明细表dataKey映射关系（key-oldDataKey、value-newDataKey） |  |
| replaceLabelIds | 否 | Map<String, String> | 新老国际化labelId（key-oldLabelId、value-newLabelId） |  |
| crossModule | 否 | Boolean | 是否跨模块复制（跨模块复制-数据需要从外部传入） |  |
| sourceDataEntity | 否 | com.weaver.common.form.formmanage.entity.FormCopyEntity | 来源数据集合（跨模块调用外部传入） |  |
| fileId | 否 | Long | 来源数据文件id（云表单调用传入） |  |
| sourceEmployee | 否 | com.weaver.teams.domain.user.SimpleEmployee | 来源数据人员信息 |  |
| copyConfigDto | 否 | com.weaver.common.form.formmanage.entity.FormManageCopyConfigDto | 表单管理复制项 |  |
| targetTableName | 否 | String | 目标物理表名称 |  |
| targetId | 否 | Long | 目标关联外部应用id |  |
| refIds | 否 | List<Long> | 外部关联ID集合 |  |
| copyLayoutIds | 否 | List<Long> | 需要复制的布局ID集合 |  |
| isCopy | 否 | Boolean | 是否为复制表单、复制布局 |  |
| sourceVersionIdList | 否 | List<Long> | 来源数据：表单布局版本ID集合（内部API使用，外部模块不允许传递） |  |
| layoutFieldIdList | 否 | Set<Long> | 来源数据：布局内字段ID集合（内部API使用，外部模块不允许传递） |  |
| sourceFieldIdList | 否 | List<Long> | 来源数据：需要复制的字段ID集合（内部API使用，外部模块不允许传递） |  |
| isSource | 否 | Boolean | 是否从外部传入数据 |  |
| sourceLayoutMultipleIdList | 否 | List<Long> | 来源数据：需要复制的布局id集合 |  |
| deleteFieldIds | 否 | List<String> | 表单删除字段（已删除、彻底删除） |  |
| deleteMultipleLayoutIds | 否 | List<Long> | 表单删除布局（已删除、彻底删除） |  |
| overrideModule | 否 | com.weaver.common.form.metadata.ModuleSource | 模块复写module（兼容eb表单多module使用场景） |  |
| needEcode | 否 | Boolean | 是否查询ecode数据 |  |
| operateType | 否 | String | 操作类型<br> copy-复制表单、cloud-云商店、xml-XML导入导出 |  |
| employee |  | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 |  | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| FormXmlExportDto |  | com.weaver.common.form.dto.formmanage.FormXmlExportDto | 导出数据对象 |
|  | fileId | Long | xml文件的id |
| formLayout | String | 表单布局信息 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test(SimpleEmployee employee) {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    FormCopyEntity formCopyEntity = new FormCopyEntity();
    formCopyEntity.setSourceFormId(1154706415738929152L);
    formCopyEntity.setTargetModule(ModuleSource.workflow);
    FormXmlExportDto exportDto = formRestFactory.getFormRest(module).xmlExport(formCopyEntity,employee);
}
```

#### 7.XML导入

**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.form.FormRest

**接口详情：**

```java
    /**
     * 表单xml导入
     * @param formCopyEntity 参数
     * @param employee 当前登录人
     * @return 返回表单
     */
    FormXmlImportDto xmlImport(FormCopyEntity formCopyEntity, SimpleEmployee employee);
```

**参数说明：**

| 参数名 |  | 必传 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| formCopyEntity |  | 是 | **com.weaver.common.form.formmanage.entity.FormCopyEntity** | 复制表单参数 |
| formCopyEntity<br>的具体属性 | sourceFormId | 否 | Long | 来源表单ID |
| refId | 否 | Long | 外部id |  |
| sourceModule | 否 | com.weaver.common.form.metadata.ModuleSource | 来源模块 |  |
| sourceForm | 否 | com.weaver.common.form.metadata.Form | 来源表单 |  |
| targetFormName | 否 | String | 目标表单名称 |  |
| targetFormType | 否 | com.weaver.common.form.metadata.FormType | 目标表单类型("云","公司","个人") |  |
| targetModule | 是 | com.weaver.common.form.metadata.ModuleSource | 目标模块 |  |
| targetForm | 否 | com.weaver.common.form.metadata.Form | 目标表单对象 |  |
| customParam | 否 | Map<String, Object> | 自定义参数 |  |
| replaceIds | 否 | Map<String, String> | 新老表单ID映射关系（key-oldId、value-newId）<br>formId、layoutId、fieldId、complexId、panelFieldId、subFormId... |  |
| replaceOptionIds | 否 | Map<String, String> | 新老表单字段选项ID映射关系（key-oldId、value-newId） |  |
| replaceMultipleIds | 否 | Map<String, String> | 新老表单布局ID映射关系（key-oldId、value-newId） |  |
| replaceSubFormDataKeys | 否 | Map<String, String> | 新老表单布局明细表dataKey映射关系（key-oldDataKey、value-newDataKey） |  |
| replaceLabelIds | 否 | Map<String, String> | 新老国际化labelId（key-oldLabelId、value-newLabelId） |  |
| crossModule | 否 | Boolean | 是否跨模块复制（跨模块复制-数据需要从外部传入） |  |
| sourceDataEntity | 否 | com.weaver.common.form.formmanage.entity.FormCopyEntity | 来源数据集合（跨模块调用外部传入） |  |
| fileId | 是 | Long | 来源数据文件id（云表单调用传入） |  |
| sourceEmployee | 否 | com.weaver.teams.domain.user.SimpleEmployee | 来源数据人员信息 |  |
| copyConfigDto | 否 | com.weaver.common.form.formmanage.entity.FormManageCopyConfigDto | 表单管理复制项 |  |
| targetTableName | 否 | String | 目标物理表名称 |  |
| targetId | 否 | Long | 目标关联外部应用id |  |
| refIds | 否 | List<Long> | 外部关联ID集合 |  |
| copyLayoutIds | 否 | List<Long> | 需要复制的布局ID集合 |  |
| isCopy | 否 | Boolean | 是否为复制表单、复制布局 |  |
| sourceVersionIdList | 否 | List<Long> | 来源数据：表单布局版本ID集合（内部API使用，外部模块不允许传递） |  |
| layoutFieldIdList | 否 | Set<Long> | 来源数据：布局内字段ID集合（内部API使用，外部模块不允许传递） |  |
| sourceFieldIdList | 否 | List<Long> | 来源数据：需要复制的字段ID集合（内部API使用，外部模块不允许传递） |  |
| isSource | 否 | Boolean | 是否从外部传入数据 |  |
| sourceLayoutMultipleIdList | 否 | List<Long> | 来源数据：需要复制的布局id集合 |  |
| deleteFieldIds | 否 | List<String> | 表单删除字段（已删除、彻底删除） |  |
| deleteMultipleLayoutIds | 否 | List<Long> | 表单删除布局（已删除、彻底删除） |  |
| overrideModule | 否 | com.weaver.common.form.metadata.ModuleSource | 模块复写module（兼容eb表单多module使用场景） |  |
| needEcode | 否 | Boolean | 是否查询ecode数据 |  |
| operateType | 否 | String | 操作类型<br> copy-复制表单、cloud-云商店、xml-XML导入导出 |  |
| employee |  | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 |  | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| FormXmlImportDto |  | com.weaver.common.form.dto.formmanage.FormXmlImportDto | xml导入的表单信息 |
| 属性列表 | extraData |  | 复写参数 |
| form |  | 导入的表单信息 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test(SimpleEmployee employee) {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    FormCopyEntity formCopyEntity = new FormCopyEntity();
    formCopyEntity.setFileId(1155481945289613313L);
    formCopyEntity.setTargetModule(ModuleSource.workflow);
    FormXmlImportDto importDto = formRestFactory.getFormRest(module).xmlImport(formCopyEntity,employee);
}
```
