支持快速扩张业务的高适应性系统和方法_2

文档序号:9453182阅读:来源:国知局
缺陷:数据库表繁多,不利于维护;持久化时要适配每一个节点,代码量大;如果对卡片的属性进行扩展需要重新为该属性设计表,扩展性太低切不符合实际。
[0029]方案②:卡片子表包含所有可能变动的字段的变动前和变动后字段信息,记录表体每次变动单据的每一张卡片的变动信息。
[0030]缺陷:子表字段太多,每张卡片可能会有数十上百的属性会发生变化,每一个属性都会记录变动前、变动后、变动部分信息,子表字段成倍增加,在实际的卡片单位变动中只存在少部分的字段会发生变化,这就意味着子表的每一条数据除了少部分发生变化的值被记录以外存在大量的空值被记录在数据库中,这会大大降低数据的存储以及数据的查询效率,而且浪费存储空间,而且随着卡片数量的增加和变动记录的变多,这种存储空间浪费会愈发明显;还有扩张性依旧不够。
[0031]基于上述的理念,变动单实际的业务,需要利用元数据动态属性和计算属性的特点,舍弃常用的主子表模型改用主子孙表的设计方案来解决变动业务所遇到的问题,本技术方案的详细描述如下:
把变动的前后内容定义在变动子实体中,且这些变动信息是变动子实体的计算属性和动态属性,在前后台处理和传递时这些信息会保存在子VO的哈希表Valuelndex中,而当需要把VO持久化进数据库时,把这些动态值转换至变动明细实体中进行保存。为此在定义元数据时,把变动明细内容放置在子实体中来定义,同时也定义一个孙实体,但是该孙实体不体现任务业务含义,只供变动项目的持久化使用。元数据的定义如图4:
变动主实体的访问类型设置为AggVO,变动子实体和变动明细均为NCV0,变动子实体可以通过getAttributeValue O进行取值。
[0032]构建三个元数据实体:变动主表、变动子表、变动明细表,分别记录表头信息、表体信息和变动前后内容数据。
[0033]子实体中的变动项目属性设置为动态属性,具体的变动数据记录在变动明细表中,子表中不需要把动态属性字段生成表字段,可以把这些变动项目设置为计算属性。
[0034]孙实体存的主要字段是界面真正变动的字段,因此至少需要有变动类型、变动前值和变动后值。
[0035]在后台持久化时,因为每张卡片的变动数据都记录在子实体VO中,需要把子实体VO进行拆分,表体每张卡片发生变动的每种变动类型和该种变动类型变动前后的值变化需要被提取出来,将每种变动类型的数据生成孙实体VO并且持久化到数据库,在查询时同理根据变动单号将孙表中的变动数据反向设置进子实体VO中,然后返回查询出来的数据,当变动表体发生修改时,采取先删除相应的孙表记录,然后重新插入变动后的孙表数据。
[0036]基于以上理论基础,在实际组件中的实现方式:
根据变动业务的需求分析出某个变动业务需要变动的卡片字段,在单据初始化的时候构建单据界面,构建不同的业务。同时在需要进行业务扩展到自定义变动类型,通过交易类型来实现新的变动节点,
在系统的【交易类型管理】,找到【固定资产】-【资产变动】,添加新的交易类型并自定义变动变动项目;对预制的项目档案变动模板进行复制分配,并按照自定义的需求放开需要变动的字段。之后只需要分配节点职责权限,用户即可完成自己新定义的资产变动项目,对于后台的代码,数据库等完全满足现在需求,十分的快捷方便。
[0037]本技术方案结合元数据的计算属性和动态属性,重新设计了资产变动表,结合实际业务采用了主子孙表的实现方式,更好的满足和适应了资产变动单的业务需求。
[0038]综上所述,本发明还具有以下优点:
1、主表记录变动单据的信息,子表记录该单据变动的所有卡片信息,孙表记录变动卡片的所有变动项目的具体变动信息;
2、变动单据,变动卡片和卡片实际变动项目关系从数据库的设计可以体现,容易理解和维护;
3、在前后台进行VO处理时,可以按照原来的标准主子VO的方式访问数据,不用重新对资产变动部门进行新的适配;
4、变动子实体预制一些基本的变动前后信息,变动信息持久化到孙表中,但在实际业务中子实体VO用于,满足变动灵活的业务扩展。
[0039]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种支持快速扩张业务的高适应性方法,其特征在于,包括:构建三个元数据实体的步骤,三个元数据分别为变动主表、变动子表和变动明细表,所述变动主表记录表头信息,所述变动子表记录表体信息,所述变动明细表记录变动前后内容数据; 在后台持久化时,把表体进行拆分,将表体每张卡片发生变动的每种变动类型和该种变动类型变动的前后值提取出来,将提取的每种变动类型的数据生成变动明细表并且持久化到数据库的步骤。2.根据权利要求1所述的支持快速扩张业务的高适应性方法,其特征在于,所述变动子表中记录的变动项目属性设置为动态属性和计算属性。3.根据权利要求2所述的支持快速扩张业务的高适应性方法,其特征在于,所述变动明细表记录的数据至少包括,项目变动类型、项目变动前值和项目变动后值。4.根据权利要求3所述的支持快速扩张业务的高适应性方法,其特征在于,还包括,当表体发生修改时,先删除相应的变动明细表记录,然后将变动后的数据重新插入变动明细表。5.一种支持快速扩张业务的高适应性系统,其特征在于,包括: 数据构建模块:构建三个元数据实体,三个元数据分别为变动主表、变动子表和变动明细表,所述变动主表记录表头信息,所述变动子表记录表体信息,所述变动明细表记录变动前后内容数据; 数据拆分模块:在后台持久化时,把表体进行拆分,将表体每张卡片发生变动的每种变动类型和该种变动类型变动的前后值提取出来,将提取的每种变动类型的数据生成变动明细表并且持久化到数据库。6.根据权利要求5所述的种支持快速扩张业务的高适应性系统,其特征在于,所述变动子表中记录的变动项目属性设置为动态属性和计算属性。7.根据权利要求6所述的种支持快速扩张业务的高适应性系统,其特征在于,所述变动明细表记录的数据至少包括,项目变动类型、项目变动前值和项目变动后值。8.根据权利要求7所述的种支持快速扩张业务的高适应性系统,其特征在于,还包括,数据修改模块,当表体发生修改时,先删除相应的变动明细表记录,然后将变动后的数据重新插入变动明细表。
【专利摘要】本发明公开了一种支持快速扩张业务的高适应性系统和方法,其中,支持快速扩张业务的高适应性方法,包括:构建三个元数据实体的步骤,三个元数据分别为变动主表、变动子表和变动明细表,所述变动主表记录表头信息,所述变动子表记录表体信息,所述变动明细表记录变动前后内容数据;在后台持久化时,把表体进行拆分,将表体每张卡片发生变动的每种变动类型和该种变动类型变动的前后值提取出来,将提取的每种变动类型的数据生成变动明细表并且持久化到数据库的步骤。以实现提高兼容性和扩展性的优点。
【IPC分类】G06F17/30
【公开号】CN105205187
【申请号】CN201510735356
【发明人】唐辉, 孔繁禹
【申请人】用友网络科技股份有限公司
【公开日】2015年12月30日
【申请日】2015年11月3日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1