# 业务对象管理
## 1、简介
### 1.1、功能介绍
将业务表单填写的数据模型进行增、删、改、查、导出、导入,支持添加主子(一对多,一对一)二层和主子孙三层关系的数据,数据还可支持来源第三方接口和多数据源维护的表数据,对该功能亦可理解为类似数据库的客户端可在线傻瓜式操作生成对应的物理表信息。
### 1.2、使用场景
在日常中涉及到填写数据的场景,比如:请假单、报销单、申请、入库等,都可以通过业务对象维护基础数据。
### 1.3、预期效果
以请假申请为例,效果如下:
![](https://img.kancloud.cn/e4/ea/e4ea66cf84d75ea9f69fe051b9327702_1908x438.png)
### 2、创建业务对象
选择「表单管理>> 业务对象管理 >> 添加按钮>>新建>>下一步」,设置业务对象名称为「请假申请表」,即可创建请假申请表的数据模型信息。
![](https://img.kancloud.cn/ab/b7/abb7474eff930543fa5340d122bb8f46_1919x473.png)
#### 2.1、添加模式
> `简介`:
> 1、**新建**:由实施人员、测试人员等在线添加业务对象信息;
> 2、**现有BO**:调用选择已维护的业务对象信息,避免同个业务对象每次都从零添加提高一定实施效率;
> 3、**离线表**:直接引入设计好的数据库信息,支持多数据源,可快速维护第三方表结构的数据;
> 4、**导入接口**:业务对象数据来源第三方接口,导入模式分如下:
> (1)Swagger导入地址【根据提供的地址,获取里面的接口来填写前缀匹配】【iform格式的json数据】
> (2)Swagger接口文档导入【根据提供的文件,获取里面的接口来填写前缀匹配】【iform格式的json数据】
> (3)服务管理选择接口【在服务管理选择接口,创建业务对象】
> (4)导入业务对象地址【在202地址操作,通过210获取业务对象地址数据来创建相同的业务对象】
选择「表单管理>> 业务对象管理 >> 添加按钮>>」,选择“新建”模式,如下图:
![](https://img.kancloud.cn/c0/21/c0216a9081cca4421d2a29ffcdede89f_1916x549.png)
##### 2.1.1、离线表
选择「表单管理>> 业务对象管理 >> 添加按钮>>」,选择“离线表”模式,点击“下一步”按钮,如下图:
![](https://img.kancloud.cn/2b/5a/2b5ad91c49fc0a20326ed18cf2867790_1908x594.png)
点击“离线表”的文本框区域,系统弹窗选择对应数据源、表名信息,如下图:
![](https://img.kancloud.cn/9b/a1/9ba116d593ec77114307d1c46310281b_1188x672.png)
##### 2.1.2、导入接口
选择「表单管理>> 业务对象管理 >> 添加按钮>>」,选择“导入接口”模式,点击“下一步”按钮,如下图:
![](https://img.kancloud.cn/26/83/268337887dc27c8f63f2f0c6f888e5cb_1914x731.png)
#### 2.2、添加字段
请假申请字段信息拆解如下:
| 字段信息 | 控件类型 |
| --- | --- |
| 申请人 (字符串) | 选择器(用户) |
| 申请部门(字符串) | 选择器(组织) |
| 申请岗位(字符串) | 选择器(岗位) |
| 请假类型(字符串) | 下拉框 |
| 开始时间(日期型) | 日期 |
| 结束时间(日期型) | 日期 |
| 天数 (数字) | 数字 |
| 请假事由 (大文本) | 多行文本 |
| 请假证明材料(添加下级业务对象) | 子表单 |
| 名称 (字符串) | 单行文本 |
| 附件 (字符串) | 上传附件 |
| 说明 (字符串) | 单行文本 |
字段信息是数据的核心点,也是制作表单的必要工具,在此添加维护的字段信息可对应在数据库生成一张对应的物理表信息,方便后续制作报表查询SQL无缝结合。
![](https://img.kancloud.cn/93/78/93787ddab0d37b7aa00a4c939528bd4b_1919x562.png)
##### 2.2.1、基本信息
> `细节说明`:可设置主子孙三层结构关系的表结构数据,子对象可设置为“一对多”和“一对一”关系,若子对象已经设置为“一对一”则不能再添加孙对象(即不能再添加下级业务对象)且在表单对应的“子表单”控件模式只能为“块模式”,另外孙表不支持块模式,且关系类型只能是“一对多”。
设置该业务对象的基本信息为“请假申请人”,编码为“leaveForm”,填写完即可完成基本信息录入:
![](https://img.kancloud.cn/27/14/27140e14745eb0de48119f5284cdb975_1906x335.png)
设置为主表基本信息后,需先在“左树”区域选择“请假申请表”,在右击”![](https://img.kancloud.cn/d5/46/d5460906470e2b330af3679261531a55_22x20.png)按钮,在出现的菜单下拉选择“添加下级业务对象”按钮,如下图:
![](https://img.kancloud.cn/85/f0/85f0d47390aaa4e63eec5cafc87f714c_1913x370.png)
##### 2.2.2、对象属性
> `细节说明`:
> 1、系统默认初始的字段信息吗,建议不要删除,若执意需要删除`创建时间`的字段是必须要保留,`主键`必须是字符串!
> 2、**字段**:对应物理表的字段信息,系统后缀默认带下划线,避免出现保留字导致生成表失败;
> 3、**编码**:对象属性的简称,也对应后端代码生成实体类中的成员属性信息,因此需要驼峰命名格式:systemName;
> 4、**描述**:对应物理表字段的注释信息;
> 6、**属性长度**:根据业务填写的字段设置对应的属性长度值,若设置较小会导致数据无法保存,例如:组织多选、附件多选、图片多选建议不能低于2000;
> 5、**数据类型**:对应物理表的数据类型,且根据数据库类型对应生成数据库中的字段类型,细节内容如下;
| **字段类型** | **oracle** | **mysql** |
| --- | --- | --- |
| 字符串 | VARCHAR2 | varhcar |
| 日期 | DATETIME | datetime |
| 数字 | NUMBER | decimal |
| 大文本 | CLOB | text |
* 添加字段属性信息,比如:“申请人”的添加页面,需要继续添加字段则点击页面右下角的“应用”按钮,若不需要继续添加则点击“确定”按钮,如下图:
![](https://img.kancloud.cn/79/07/7907613929e9e6c1a3019cededefe3e7_1181x570.png)
* 添加从表字段信息有:先在“左树”维护主表的基础上,在点击主表右边”![](static/picture/m_3fa5d910c6970cbb19d200fde7b89b12_r.png "null")“按钮,在出现的菜单下拉选择“添加下级业务对象”按钮,如下图:
![](https://img.kancloud.cn/85/f0/85f0d47390aaa4e63eec5cafc87f714c_1913x370.png)
* 点击“下一步”设置业务对象的名称为“请假证明材料表”,然后再切换到“对象属性”,添加字段信息,如下图:
![](https://img.kancloud.cn/e6/7d/e67da0ac24d9741e4708cd23ef7693c4_1908x358.png)
字段信息如下图:
![](https://img.kancloud.cn/b7/e5/b7e521a917501c80d931187d043dc683_1833x693.png)
* 设置完业务对象信息后,点击页面上的“保存”按钮,即可完成业务对象数据录入,如下图:
![](https://img.kancloud.cn/30/c8/30c8c46bb1bda42d9bbc62a9eafe2fec_1910x617.png)
##### 2.2.3、其他属性
主要针对数据需维护树形结构才需要操作此功能,若不需要维护树形数据可不理会!选择“其他属性”,需要增加父节点活上级节点字段,且该字段在表单展示不需要展示,值由系统维护,因此对应作为父节点存储值设置对应隐藏域控件即可,如下图:
![](https://img.kancloud.cn/bb/ef/bbefdf7f62b1aba95329eee861a92c8f_1916x463.png)
### 3、生成表
设置完字段信息后,返回到「表单管理>> 业务对象管理 >> 生成表按钮」选择对应数据(主从多个业务对象,只需要选择主对象对应的子对象则会自动对应生成物理表),点击此按钮,如下图:
![](https://img.kancloud.cn/15/d6/15d670ffe1fc114b1af3c3c83f386b43_1918x415.png)
### 4、数据导出
**简介**:在测试库中可将数据导出为zip,再快速导入迁移在生产库中。
选择「表单管理>> 业务对象管理 >>选择要导出的数据 >>导出按钮」,系统提示:是否进一步配置导出数据?否则直接导出当前业务对象。若选择的是主表对象信息,则需要点击“是”进入选填对应的子表对象信息,若不需要导出对应的子表或只是单表则点击“否”按钮,如下图:
![](https://img.kancloud.cn/5d/eb/5deb8527eb9be90a1dbfc0f59761c714_1916x551.png)
此选择的是主表信息,选择点击“是”按钮,勾选完对应的主子信息后,点击右下角“导出”按钮,浏览器会自动提示下载后缀为zip的文件,页面如下图:
![](https://img.kancloud.cn/a9/b8/a9b8ed99c6cf7c70b335b406a4ba6cb5_1162x652.png)
### 5、数据导入
选择「表单管理>> 业务对象管理 >>导入按钮」,系统字段弹窗选择导入业务对象的信息,选择完对应导出的zip文件后,点击“导入”按钮,系统会自动将导出业务对象进行存储,如下图:
![](https://img.kancloud.cn/5f/31/5f31d76fcd4027278aafa3f0e11cb4b4_1907x485.png)
`说明`:
(1)系统之前没有对应的业务对象数据,导入数据是“新增”;
(2)系统之前已有对应的业务对象数据,导入数据是“编辑”且对应的“版本号”会自动增加“1”为一个新版本,若有维护新增的字段,对应的表单需要再原先基础数据复制表单,在弹窗页面切换业务对象版本才行。
### 6、维护表关系
**说明**:非连续性添加的主子孙关系,即添加A-B为主子关系,B-C为主子关系,此时在点击A对象生成表只有A和B成功生成表,C没有生成,出现该情况C只能再点击生成表,但在B-C维护的表单会出现C表数据丢失,出现该情况必须选择该A-B-C的信息后点击维护关系才能正常存储数据。
选择「表单管理>> 业务对象管理 >>添加按钮」,先添加A表和B表的对象信息,如下图:
![](https://img.kancloud.cn/65/e2/65e2cb9fd2b8997d70407825f3a01c30_1918x407.png)
然后再编辑B表,添加它的下级对象为C表,如下图:
![](https://img.kancloud.cn/53/e8/53e88abd0c6b7efedeca369c8a3a9848_1915x385.png)
选择“A表”的信息,点击“生成表”按钮,如下图:
![](https://img.kancloud.cn/f5/36/f536e686df33d9e33f05b3ca548afb2f_1914x496.png)
生成表成功,返回到业务对象列表,发现“C表”没有生成表,此时需在点击“生成表”按钮,如下图:
![](https://img.kancloud.cn/35/57/3557b79e638f4524782c52b9d58f52e0_1919x435.png)
但此时生成的表关系会导致,选择主表“B表”设置的表单信息,会导致C表的子表单数据丢失,出现该情况则需要再次选中该3条数据,点击“维护表关系”才能正常存储数据,如图:
![](https://img.kancloud.cn/a4/20/a420fbe88ff11689c315aacf92ef0a4b_1911x430.png)