- 22
- 0
- 约3.07千字
- 约 9页
- 2018-02-25 发布于江西
- 举报
一种判断删除的档案项是否被业务表引用的方法
应用领域1、可作为人力资源行业各个版本软件产品引用档案项删除前的统一算法处理2、可扩展为数据结构是灵活定义,用户自定义配置的业务系统引用基础档案项被删除前的统一算法处理 本创新提供一种新的算法,可以快速的判断删除的档案项是否被业务表引用,优化算法流程,提高效率和性能。?总体方案:本系统主要涉及两部分:数据表设计、算法详细设计。数据表设计:根据人力资源系统的特点,数据表如何设计才能满足业务场景,就显得非常重要。本方法提供的数据表根据逻辑大致可以划分为4类分别解决业务场景不同的功能:1、 用户维护基础档案项的场景,由基础档案项和基础档案明细表构成,统一管理业务场景用到的基础档案项和基础档案明细内容。2、 数据表灵活构建,任意增加表和字段的场景,由业务表结构和业务表字段结构两张表构成,用户根据需求增加一个业务表,就在业务表结构中插入一条记录,记录业务表的物理名称、类型等关键信息;用户根据需求在表中增加一个字段,就在相关的业务表字段结构中插入一条记录,记录业务表字段的名称、逻辑类型,如果是基础档案引用类型,还要把引用的基础档案项记录下来。3、 存储业务表内容的场景,被一张张真实的业务表存储下来。并且通过业务表的物理名称和业务表结构发生关联,业务表字段的名称、逻辑类型通过和业务表字段表发生关联。这样就可以随时知道业务表和表中字段的结构,为快速判断业务表引用的基础档案项不允许删除提供了判断依据。4、 提高快速判断业务表引用的基础档案项不允许删除的场景,通过增加一张基础档案引用优先表实现。本表是这个解决方法的核心表和关键表,在本表中把经常引用基础档案项的业务表存储下来,可以是三张或者5张。执行算法时,首先查询本优先表,如果已被引用,算法中止,提示用户基础档案项已被业务表引用不允许删除。如果本表没有被引用,再执行遍历系统预置表和遍历用户自定义表的方法判断基础档案项是否被业务表引用。?数据表结构如下图所示:? 图1 如上图:性别基础档案类被人员基本信息表、人员家庭关系表、人员社会关系表、人员海外关系表引用。其中基础档案优先级设置人员基本信息表的性别字段为最优先,人员社会关系表为次优先。人员基本信息表、人员社会关系表、人员家庭关系表为系统预置表,人员海外关系表为用户自己创建。算法详细设计:1、?判定被引用档案类的执行先后顺序。优先考虑基础档案是否被基础档案优先表引用,其次考虑是否被系统预置表引用,最后再考虑是否被用户创建的表引用2、?算法结束的判断依据:只要被一个档案表引用,就不允许删除。因此只要查出符合条件的一条记录,就证明档案项被引用,不允许删除。算法如下:1、?用户选择一个基础档案项,得到其对应的基础档案类2、?查询优先级表看基础档案类是否被引用3、?如果被基础档案类引用,根据设置的优先级顺序逐个查询业务表中字段4、?如果业务表中字段存在数值表明基础档案项已被业务表引用,程序中止。不允许删除基础档案项。同时给用户提示信息“你选择的基础档案项被业务表引用,不允许删除!”5、?如果查询优先级表,都没有引用基础档案项,查询业务系统预置表,看基础档案项是否被引用,如果预置的业务表中字段存在数值标明基础档案项已被业务表引用,程序中止,不允许删除基础档案项。同时给用户提示信息“你选择的基础档案项被业务表引用,不允许删除!”6、?如果还没有引用基础档案项,查询用户自定义表,看基础档案项是否被引用,如果自定义的业务表中字段存在数值标明基础档案项已被业务表引用,程序中止,不允许删除基础档案项。同时给用户提示信息“你选择的基础档案项被业务表引用,不允许删除!”7、?如果查询完毕都不存在记录,才允许删除此基础档案项 图 2实际场景描写实例如下: 某人力资源系统,基础档案中包括性别为男的基础档案项,人员基本信息、人员社会关系、人员家庭成员关系、人员海外关系都引用性别基础档案类,其中人员基本信息、人员社会关系、人员家庭成员关系为系统预置表、人员海外关系为用户自定义表。客户要求为性别为男的基础档案项不允许删除。解决方案如下:业务分析:根据对客户的详细了解,在实际应用中,性别基础档案项在人员基本信息表中引用频度最高,人员社会关系性别引用频度其次。人员社会关系使用较少,人员海外关系表使用更少。具体步骤如下1、?关键数据表创建及其数据预置1.1 基础档案项表 us_dict 档案类代码档案类名称Sex性别?1.2基础档案项明细表 us_dictitem档案类代码档案项代码档案项名称Sex1男Sex2女?1.3 业务表结构表 us_structure业务代码业务表名称业务表类型T1人员基本信息表系统预置T2人员社会关系表系统预置T3人员家庭成员表系统预置T4人员海外关系表用户自定义?1.4业务表字段结构表 us_property业务表代码业务表字段代码业务表字段名称业务表字
原创力文档

文档评论(0)