---
title: "（废弃）LayoutRest老接口备份"
docId: "367774376688353280"
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/repository/9c2e5f92-03b4-4207-9b22-a0c1dd79ac56/doc/367774376688353280"
---
#### 1. 表单布局转控件对象

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

**接口详情：**

```java
    /**
     * 根据表单Id、表单布局Id集合、表单名称，获取表单多布局集合
     * @param entity 表单多布局高级搜索实体类
     * @param employee 用户信息（必须包含id和tenantKey）
     * @return List<FormLayoutMultipleDto> 表单多布局集合
     */
    List<FormLayoutMultipleDto> listSimpleFormLayoutMultipleByEntity(FormLayoutMultipleSearchEntity entity, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 描述 |
| --- | --- | --- | --- |
| entity | 是 | com.weaver.common.form.searchentity.FormLayoutMultipleSearchEntity | 布局版本id |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| Map<String, Component> |  | key为字段fieldId，value为Component对象 |

**对接示例：**

```java
@Resource
private FormRestFactory formRestFactory;

......

Map<String, Component> componentMap = formRestFactory.getFormLayoutRest(module).buildComponentMap(layoutId);
```

#### 2. 表单指定布局内追加字段

> 所属包：weaver-common-form-extend 
> 
> 所属类：com.weaver.common.form.api.rest.layout.FormLayoutRest

**接口详情：**

```java
/**
  * 更新布局内控件
  * @param formInitDto 表单初始化dto
  * @param employee 用户信息（必须包含id和tenantKey）
  * @return  布局版型信息
  */
FormLayoutVersion updateCompsByInitDto(FormInitDto formInitDto, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| formInitDto | 是 | FormInitDto | com.weaver.common.form.dto.form.FormInitDto | 入参实体 点击查看详情 |
| employee | 是 | SimpleEmployee | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| FormLayoutVersion | com.weaver.common.form.layout.FormLayoutVersion | 表单布局版本Bean |

**对接示例：**

```java
@Resource
private FormRestFactory formRestFactory;

......

// 场景1入参：将某布局的组件重置为新组件
FormInitDto initDto = new FormInitDto();
Form form = new Form();
form.setId(formId);
initDto.setForm(form);
initDto.setLayoutId(layoutId);
initDto.setUpdateCompsType(1); 
initDto.setComps(comps); 

// 场景2入参：向某布局组件后追加组件
FormInitDto initDto = new FormInitDto();
Form form = new Form();
form.setId(formId);
initDto.setForm(form);
initDto.setLayoutId(layoutId);
initDto.setUpdateCompsType(0); 
initDto.setComps(comps); 

FormLayoutVersion layout = formRestFactory.getFormLayoutRest(module).updateCompsByInitDto(initDto, employee);
```

#### 3. 查询表单布局

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

**接口详情：**

```java
/**
  * 根据表单Id、表单布局Id集合、表单名称，获取表单多布局集合
  *
  * @param entity 表单多布局高级搜索实体类
  * @param employee 用户信息（必须包含id和tenantKey）
  * @return List<FormLayoutMultiple> 表单多布局集合
  */
List<FormLayoutMultiple> listFormLayoutMultipleByEntity(FormLayoutMultipleSearchEntity entity, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| entity | 是 | FormLayoutMultipleSearchEntity | com.weaver.common.form.searchentity.FormLayoutMultipleSearchEntity | 入参实体 |
| employee | 是 | SimpleEmployee | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| List<FormLayoutMultiple> | com.weaver.common.form.layout.FormLayoutMultiple | 表单布局Bean的集合 |

**对接示例：**

```java
@Resource
private FormRestFactory formRestFactory;

......

FormLayoutMultipleSearchEntity entity = new FormLayoutMultipleSearchEntity();
entity.setFormId(formId);
entity.setLayoutIds(sourceIds);
List<FormLayoutMultiple> sourceMultipleList = formRestFactory.getFormLayoutRest(module).listFormLayoutMultipleByEntity(entity, employee);
```

#### 4. 获取模块关联布局

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

**接口详情：**

```java
/**
 * 根据formId和refId获取布局
 * @param params 参数实体
 * @param employee 用户信息（必须包含id和tenantKey）
 * @return FormLayoutVersion 表单布局
 */
FormLayoutMultiple getRefFormLayoutMultiple(FormBuilderParam params, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| params | 是 | Long | com.weaver.common.form.param.FormBuilderParam | 入参实体 |
| employee | 是 | SimpleEmployee | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| FormLayoutMultiple | com.weaver.common.form.layout.FormLayoutMultiple | 表单布局Bean |

**对接示例：**

```java
@Resource
private FormRestFactory formRestFactory;

......

FormBuilderParam params = new FormBuilderParam();
params.setFormId(formId);
params.setRefId(templateId);

FormLayoutMultiple multiple = formRestFactory.getFormLayoutRest(module).getRefFormLayoutMultiple(params, employee);
```

#### 5. 初始化模块关联布局

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

**接口详情：**

```java
/**
 * 初始化布局
 * @param params 参数实体
 * @param employee 用户信息（必须包含id和tenantKey）
 * @return FormLayoutVersion 表单布局
 */
FormLayoutVersion initLayoutByEditorSave(FormViewAttrParam params, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| params | 是 | FormViewAttrParam | com.weaver.common.form.param.FormViewAttrParam | 入参实体 |
| employee | 是 | SimpleEmployee | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| FormLayoutVersion | com.weaver.common.form.layout.FormLayoutVersion | 表单布局版本Bean |

**对接示例：**

```java
@Resource
private FormRestFactory formRestFactory;

......

FormViewAttrParam formViewAttrParam = new FormViewAttrParam();
formViewAttrParam.setFormId(formId);
formViewAttrParam.setLayoutType(LayoutType.FLOW);
FormLayoutVersion formLayoutVersionParam = new FormLayoutVersion();
formLayoutVersionParam.setName(printTemplate.getDocumentName());
formViewAttrParam.setFormLayout(formLayoutVersionParam);
formViewAttrParam.setRefId(printTemplate.getId());
formViewAttrParam.setRefType(printTemplate.getModule().toString());
formViewAttrParam.setCustomParam(customParams);

FormLayoutVersion formLayoutVersion = formRestFactory.getFormLayoutRest(module).initLayoutByEditorSave(printTemplate.getModule().toString(), formViewAttrParam, employee);
```

#### 6. 复制模块关联布局

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

**接口详情：**

```java
/**
 * 基于已有关联布局复制
 * @param params 参数实体
 * @param employee 用户信息（必须包含id和tenantKey）
 * @return FormLayoutVersion 表单布局
 */
FormLayoutMultiple copyFormLayoutMultipleByRefId(FormLayoutMultipleSaveParam saveParam, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- | --- |
| saveParam | 是 | FormLayoutMultipleSaveParam | com.weaver.common.form.param.layout.multiple.FormLayoutMultipleSaveParam | 入参实体 |
| employee | 是 | SimpleEmployee | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 类型所属包路径 | 描述 |
| --- | --- | --- |
| FormLayoutMultiple | com.weaver.common.form.layout.FormLayoutMultiple | 表单布局Bean |

**对接示例：**

```java
@Resource
private FormRestFactory formRestFactory;

......
        
FormLayoutMultipleSaveParam formLayoutMultipleSaveParam = new FormLayoutMultipleSaveParam();
formLayoutMultipleSaveParam.setForm(new Form(formId));
formLayoutMultipleSaveParam.setRefId(oldTemplateId);
Map<Long, Long> refIdMap = new HashMap<>();
refIdMap.put(oldTemplateId, printTemplate.getId());
formLayoutMultipleSaveParam.setRefIdMap(refIdMap);
Map<String, Object> customParams = new HashMap<>(4);
formLayoutMultipleSaveParam.setCustomParams(customParams);

FormLayoutMultiple formLayoutMultiple = formRestFactory.getFormLayoutRest(module).copyFormLayoutMultipleByRefId(printTemplate.getModule().toString(), formLayoutMultipleSaveParam, employee);
```

####
