单据水印生成装置和单据水印生成方法

文档序号:6382110阅读:377来源:国知局
专利名称:单据水印生成装置和单据水印生成方法
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种单据水印生成装置和一种单据水印生成方法。
背景技术
企业业务中,经常需要在单据上加盖各种印章,以表明单据流转业务状态,ERP软件中可以通过水印等图形化方法来处理,显示比较直观,贴近业务实务。如图1所示,该单据已经审核并且没有关闭,需要显示已审核图片(根据审核人、关闭人是否为空判断),该单据表体部分记账,需要显示记账中状态(表体审核人是否为空)。通常采用的方法是通过程序直接计算单据状态,硬性编码处理水印,需要频繁与数据库或者元数据交互。缺点在于编码量大,业务逻辑死板,每增加一种水印就需要重新设计并编译代码,不利于部署,不易于客户化(实施、客户无法修改或者扩充规则),不易于扩展,过多查询数据库也增大了数据库的压力。因此,需要一种新的单据水印生成技术,通过预制数据的方式可以方便处理水印的业务逻辑,用户可以根据自己的需求定制水印,并且能够提高生成水印的效率,降低数据库的压力。

发明内容
本发明正是基于上述问题,提出了一种单据水印生成技术,通过预制数据的方式可以方便处理水印的业务逻辑,用户可以根据自己的需求定制水印,并且能够提高生成水印的效率,降低数据库的压力。有鉴于此,本发明提出了一种单据水印生成装置,包括规则生成单元,用于根据水印规则元数据生成预设规则;第一获取单元,用于获取需要生成水印的单据的元数据;计算单元,用于根据所述预设规则和所述单据的元数据,计算所述单据需要生成的水印和所述水印的位置;水印生成单元,用于根据所述水印和所述水印的位置在所述单据中生成相应的水印。在该技术方案中,可以快速获取单据水印,同时减少程序员编码量,减少了错误编码的数量,提高了产品研发速度,并且能够减少对单据元数据的反复查询,从而降低了数据服务器端的压力(现有技术中需要根据每条规则的数据约束反复查询数据库是否符合各条业务规则)。在上述技术方案中,优选地,所述水印规则元数据包括所述水印所属的水印组、所述水印的优先级、待处理数据的来源、规则明细数据和单据与水印的关联关系。在上述技术方案中,优选地,还包括判断单元,用于判断所述单据需要生成的水印中是否存在相同水印组的水印;第二获取单元,用于在所述判断单元的判断结果为是的情况下,获取所述相同水印组的水印中优先级最高的水印作为所述单据需要生成的水印。
在上述技术方案中,优选地,还包括编辑单元,用于根据用户的编辑指令,对所述水印规则元数据进行编辑。在该技术方案中,用户可以根据自身企业业务要求自定义,提高产品交付能力和满意度,易于部署,易于客户化,易于扩展。在上述任一技术方案中,优选地,所述水印的类型包括以下至少之一开立、审核中、审核、关闭、记账中、记账。根据本发明的又一方面,还提出了一种单据水印生成方法,包括步骤202,根据水印规则元数据生成预设规则;步骤204,获取需要生成水印的单据的元数据;步骤206,根据所述预设规则和所述单据的元数据,计算所述单据需要生成的水印和所述水印的位置;步骤208,根据所述水印和所述水印的位置在所述单据中生成相应的水印。在该技术方案中,可以快速获取单据水印,同时减少程序员编码量,减少了错误编码的数量,提高了产品研发速度,并且能够减少对单据元数据的反复查询,从而降低了数据服务器端的压力(现有技术中需要根据每条规则的数据约束反复查询数据库是否符合各条业务规则)。在上述技术方案中,优选地,所述水印规则元数据包括所述水印所属的水印组、所述水印的优先级、待处理数据的来源、规则明细数据和单据与水印的关联关系。在上述技术方案中,优选地,所述步骤206还包括判断所述单据需要生成的水印中是否存在相同水印组的水印,若存在,则获取所述相同水印组的水印中优先级最高的水印作为所述单据需要生成的水印。在上述技术方案中,优选地,还包括根据用户的编辑指令,对所述水印规则元数据进行编辑。在该技术方案中,用户可以根据自身企业业务要求自定义,提高产品交付能力和满意度,易于部署,易于客户化,易于扩展。在上述任一技术方案中,优选地,所述水印的类型包括以下至少之一开立、审核中、审核、关闭、记账中、记账。通过以上技术方案,通过预制数据的方式可以方便处理水印的业务逻辑,用户可以根据自己的需求定制水印,并且能够提高生成水印的效率,降低数据库的压力。


图1示出了现有技术中单据水印的示意图;图2示出了根据本发明的实施例的单据水印生成装置的框图;图3示出了根据本发明的实施例的单据水印生成方法的流程图;图4示出了根据本发明的实施例的单据水印生成装置的结构图;图5A至图示出了根据本发明的实施例的生成单据水印的示意图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。图2示出了根据本发明的实施例的单据水印生成装置的框图。如图2所示,根据本发明的实施例的单据水印生成装置100包括规则生成单元102,用于根据水印规则元数据生成预设规则;第一获取单元104,用于获取需要生成水印的单据的元数据;计算单元106,用于根据预设规则和单据的元数据,计算单据需要生成的水印和水印的位置;水印生成单元108,用于根据水印和水印的位置在单据中生成相应的水印。可以快速获取单据水印,同时减少程序员编码量,减少了错误编码的数量,提高了产品研发速度,并且能够减少对单据元数据的反复查询,从而降低了数据服务器端的压力(现有技术中需要根据每条规则的数据约束反复查询数据库是否符合各条业务规则)。优选地,水印规则元数据包括水印所属的水印组、水印的优先级、待处理数据的来源、规则明细数据和单据与水印的关联关系。优选地,根据本发明的实施例的单据水印生成装置100还包括判断单元110,用于判断单据需要生成的水印中是否存在相同水印组的水印;第二获取单元112,用于在判断单元110的判断结果为是的情况下,获取相同水印组的水印中优先级最高的水印作为单据需要生成的水印。优选地,根据本发明的实施例的单据水印生成装置100还包括编辑单元114,用于根据用户的编辑指令,对水印规则元数据进行编辑。用户可以根据自身企业业务要求自定义,提高产品交付能力和满意度,易于部署,易于客户化,易于扩展。优选地,水印的类型包括以下至少之一开立、审核中、审核、关闭、记账中、记账。图3示出了根据本发明的实施例的单据水印生成方法的流程图。如图3所示,根据本发明的实施例的单据水印生成方法包括步骤202,根据水印规则元数据生成预设规则;步骤204,获取需要生成水印的单据的元数据;步骤206,根据预设规则和单据的元数据,计算单据需要生成的水印和水印的位置;步骤208,根据水印和水印的位置在单据中生成相应的水印。可以快速获取单据水印,同时减少程序员编码量,减少了错误编码的数量,提高了产品研发速度,并且能够减少对单据元数据的反复查询,从而降低了数据服务器端的压力(现有技术中需要根据每条规则的数据约束反复查询数据库是否符合各条业务规则)。优选地,水印规则元数据包括水印所属的水印组、水印的优先级、待处理数据的来源、规则明细数据和单据与水印的关联关系。优选地,步骤206还包括判断单据需要生成的水印中是否存在相同水印组的水印,若存在,则获取相同水印组的水印中优先级最高的水印作为单据需要生成的水印。优选地,根据本发明的实施例的单据水印生成方法还包括根据用户的编辑指令,对水印规则元数据进行编辑。用户可以根据自身企业业务要求自定义,提高产品交付能力和满意度,易于部署,易于客户化,易于扩展。
优选地,水印的类型包括以下至少之一开立、审核中、审核、关闭、记账中、记账。图4示出了根据本发明的实施例的单据水印生成装置的结构图。如图4所示,根据本发明的实施例的单据水印生成装置可以包括逻辑预置单元302和单据状态映射解析单元304。逻辑预置单元302主要用于图形化的预置水印规则的元数据录入和持久化功能,可以通过数据库存储元数据,加载时缓存在客户端。主要实现规则主体录入、规则明细数据录入、单据水印关联表录入,用户(也可以是开发人员)可以通过此装置实现对预制数据的预制和修改,并支持用户通过界面增加或者修改元数据以实现客户化自定义水印(例如增加新的水印或者修改水印所显示的图片)。 水印规则元数据主要由以下部分组成1.规则主体,规则主体数据主要用来描述规则所属的水印组、规则需要显示的图片以及规则的优先级,单据元数据位置则表明规则所判断的数据来源(表头或者表体或者表头和表体混合),具体关系如表I所不。
水印组编码I水印图片~I水印规则编码I优先级别I单据元数据位置 I关闭图片关闭100表头
审核图片~WM90 表I2.规则明细数据,用于描述规则具体的业务逻辑要求,具体关系如表2所示。
水印明细组号单据元条件类型符合条元数据固定值
规则编码___数据项目___件的记录数项目类型__
关闭I__关闭人不等于空不考虑字符串空
审核 I_ 审核人不等于空不考虑字符串I 空表23.单据水印关联关系,用于记录单据与规则间的对应关系,即在某个系统的某个单据所需要显示的水印的对照关系,具体关系如表3所示。
单据类型唯一标识I水印规则编码 I系统id 采购入库单SWW
采购入库单WlWW表3同一组水印,根据优先级,只显示符合条件的优先级最高的水印,例如关闭的并审核的单据,只显示关闭水印,不显示审核水印,这种情况需要将关闭规则和审核规则的水印组编码设置为同一个组编码,依照业务要求设定每种水印的优先级别。单据状态映射解析单元304主要用户获取业务元数据,可以设置在客户端,根据业务元数据和传入的需要显示的单据元数据,按照水印分组和优先级计算出当前单据所需要显示的水印和水印位置,仅在加载水印规则元数据时访问数据库,判断水印是否显示时使用单据元数据。元数据判断逻辑处理包括以下几个特点1.单据元表头数据项某项或者某几项分别为特定值或者为空或者不为空。例如判断单据审核人不为空时则可以显示审核图片。2.单据元数据表体数据存在或者不存在某项或者某几项为分别为特定值或者为空或者不为空的纪录,即符合条件的行存在或者不存在符合条件的行。例如单据上所有需要几张记账的行记账人都不为空,即需要记账标志为真记账人为空的记录数据为零时需要显示已记账水印。3.对于多层形式的单据,可以无限支持逻辑判断,逻辑支持条件同上述第2条。4.在预制中需要提供元数据值类型以处理Null值。例如审核人为空,由于审核人为string类型,需要将单据元数据中为Null值转换为等空字符串处理。通过以上设置可以处理目前绝大部分的水印逻辑,不需要单独特殊处理,避免了额外查询数据库的开销,只需要规则元数据和用来显示的单据元数据,就可以在客户端或者应用服务器计算并处理水印的显示,不需要反复查询数据,降低了数据库的访问压力。图5A至图示出了根据本发明的实施例的生成单据水印生成的示意图。图5A、图5B、图5C、图分别为单据开立、审核、审核和记账中、审核和已记账状态显示对应的水印。可以设置如下预制水印规则规则主数据如表4所示
权利要求
1.一种单据水印生成装置,其特征在于,包括 规则生成单元,用于根据水印规则元数据生成预设规则; 第一获取单元,用于获取需要生成水印的单据的元数据; 计算单元,用于根据所述预设规则和所述单据的元数据,计算所述单据需要生成的水印和所述水印的位置; 水印生成单元,用于根据所述水印和所述水印的位置在所述单据中生成相应的水印。
2.根据权利要求1所述的单据水印生成装置,其特征在于,所述水印规则元数据包括所述水印所属的水印组、所述水印的优先级、待处理数据的来源、规则明细数据和单据与水印的关联关系。
3.根据权利要求2所述的单据水印生成装置,其特征在于,还包括 判断单元,用于判断所述单据需要生成的水印中是否存在相同水印组的水印; 第二获取单元,用于在所述判断单元的判断结果为是的情况下,获取所述相同水印组的水印中优先级最高的水印作为所述单据需要生成的水印。
4.根据权利要求1所述的单据水印生成装置,其特征在于,还包括 编辑单元,用于根据用户的编辑指令,对所述水印规则元数据进行编辑。
5.根据权利要求1至4中任一项所述的单据水印生成装置,其特征在于,所述水印的类型包括以下至少之一开立、审核中、审核、关闭、记账中、记账。
6.一种单据水印生成方法,其特征在于,包括 步骤202,根据水印规则元数据生成预设规则; 步骤204,获取需要生成水印的单据的元数据; 步骤206,根据所述预设规则和所述单据的元数据,计算所述单据需要生成的水印和所述水印的位置; 步骤208,根据所述水印和所述水印的位置在所述单据中生成相应的水印。
7.根据权利要求6所述的单据水印生成方法,其特征在于,所述水印规则元数据包括所述水印所属的水印组、所述水印的优先级、待处理数据的来源、规则明细数据和单据与水印的关联关系。
8.根据权利要求7所述的单据水印生成方法,其特征在于,所述步骤206还包括判断所述单据需要生成的水印中是否存在相同水印组的水印,若存在,则获取所述相同水印组的水印中优先级最高的水印作为所述单据需要生成的水印。
9.根据权利要求6所述的单据水印生成方法,其特征在于,还包括根据用户的编辑指令,对所述水印规则元数据进行编辑。
10.根据权利要求6至9中任一项所述的单据水印生成方法,其特征在于,所述水印的类型包括以下至少之一开立、审核中、审核、关闭、记账中、记账。
全文摘要
本发明提供了一种单据水印生成装置,包括规则生成单元,用于根据水印规则元数据生成预设规则;第一获取单元,用于获取需要生成水印的单据的元数据;计算单元,用于根据预设规则和单据的元数据,计算单据需要生成的水印和水印的位置;水印生成单元,用于根据水印和水印的位置在单据中生成相应的水印。本发明还提出了一种单据水印生成方法。通过预制数据的方式可以方便处理水印的业务逻辑,用户可以根据自己的需求定制水印,并且能够提高生成水印的效率,降低数据库的压力。
文档编号G06F9/44GK103019698SQ20121048088
公开日2013年4月3日 申请日期2012年11月22日 优先权日2012年11月22日
发明者朱治国 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1