凭证对象重复性检查流程的制作方法

文档序号:12366234阅读:186来源:国知局
凭证对象重复性检查流程的制作方法与工艺

本发明设计了一种基于物理运输管理软件的凭证对象重复性检查流程。该流程会在凭证对象新建时被自动触发,基于该流程的业务、财务凭证编辑界面,在设置凭证对象时,即能够从系统里面选择已有的凭证对象,也能够通过直接输入的方式生成零时的凭证对象,而重复性检查机制保证了凭证对象数据的一致性,避免了同一个对象重复建设。相对于现有管理软件的处理方式,一方面更大程度地保障了数据的正确性,另一方面,又提供了用户操作的便利性和凭证流程的效率。



背景技术:

本发明基于的背景技术是:道森系列物流管理软件,这是一种用于物流运输管理的综合型管理软件。和其他综合型管理软件一样,该管理软件具有业务凭证和财务凭证一体化的功能,即能够生成和管理普通的业务凭证,比如托运单、中转单等等,也能够生成和管理财务单据。财务凭证和业务凭证在新建时,需要设置正确的凭证对象,比如托运单中的发货方和收货方,再比如中转单中的运输合作方。

凭证对象设置有两种方式:

第一种方法:新建凭证的时候,直接在凭证中输入新的凭证对象的信息:比如:姓名、电话号码等,新的凭证在保存后,后台会自动生成临时对象信息。

第二种方法:新建凭证以前,系统里面已经维护好了对象的信息,比如各个客户信息和中转合作方的信息,在新建凭证的时候,直接从系统里面选取。

第一种方法在操作上比较便利,符合人们填写单据的习惯,但存在同一个对象重复录入的问题,第二种方法能够较大程度地保证对象数据的一致性,但流程操作比较繁琐。

道森系列物流管理软件,为了同时实现操作上的便利型,又保证数据的一致性,采用了两种设置兼容的方式。即:新建凭证时,既可以临时输入对象信息,系统通过相关的重复性检测机制,检测重复性并且提示用户对重复的对象数据进行处理,同时,系统也提供了界面,让用户选择系统中已经有的凭证对象。

根据前面所述:两种对象设置的方式的兼容式使用,使得用户的操作更加灵活简便。但是凭证中临时输入并产生对象数据,会带来重复生成对象的风险。

比如,有这样的应用场景:物流管理软件新建托运单时,需要设置的发货方为“百事可乐(中国)有限公司”,在无法确定这个发货方对象在系列里是否存在的情况下,正确的操作方式是:用户首先需要使用第二种对象设置方式:在系统里面先选择已有的对象:搜索有没有这个″百事可乐(中国)有限公司“存在,如果没有,则可以直接在运单里面输入对象的信息,如果已经有了,则需要用户选择已有的对象。

实际操作中,操作人员有可能为了快速下单、图方便,或者对系统功能不熟悉,直接在运单里面输入零时的发货方信息,比如输入的名称为:“百事可乐中国有限公司”,在保存运单时,系统就会生成新的凭证对象:“百事可乐中国有限公司”。这样系统里面就会存在两个对象,“百事可乐(中国)有限公司”和“百事可乐中国有限公司”,造成对象的重复录入,形成的数据错误和信息紊乱:当季度结束或者年终统计各个客户、即各个凭证对象的财务情况时,本来应该记在一个对象上的费用等数据信息,被分散到了几个不同的对象上。

现有的管理软件的应对方式和效果:

现有的中大型企业管理软件,更加重视数据的正确和完整,为了避免客户数据的重复输入,采用了单 一的客户信息维护渠道,屏蔽了凭证中零时对象输入的功能,即:在业务数据输入以前,在客户信息管理界面,由特殊权限的管理人员,统一维护客户信息。然后才能由其他的业务人员填写相关的凭证,并且在凭证新建时,只允许选择系统里面已经有的客户信息。

凭证对象的单一维护渠道,虽然一定程度上降低了对象信息重复录入的概率,但是仍然存在着下面的弊端:

1.流程复杂,操作不简便、效率不高:所有的凭证在建立以前,必须由系统管理员统一录入客户信息。而由于客户信息具有更强的敏感性,统一管理客户信息的任务,一般由更高权限的业务经理或者系统管理员担当。业务单据的输入、客户信息数据的输入,分别由不同的用户实施,协同性容易出现瓶颈。特别当企业业务量比较大,不断有新的客户增加时,这个流程管理方式就变得很不方便,影响效率。

2.不能从根本上杜绝凭证对象重复建立的问题:根据现有管理软件的使用经验,即使是采取了客户信息统一管理的方式,当业务数量巨大时,不少系统管理员在输入客户数据时,由于疏忽,也会输入重复的客户数据,比如前面的例子:“百事可乐(中国)有限公司”,又被重复地输入成了“百事可乐中国有限公司”,系统里面还是错误地生成了两个客户数据,业务员在新建凭证时,依然会选择错误的对象,本来都应该记录在一个客户上的凭证,被分到了两个客户的头上,造成数据错误。



技术实现要素:

本发明的内容包括涉及到三个方面:一是对象新建时的流程控制,二是凭证对象后期扫描和纠错流程,三是系统框架向用户开放,用户扩展自定义重复性检查逻辑。

图1描述了对象新建的流程控制,包括几个方面的内容:凭证对象新建渠道,对象重复性检查机制,用户交互操作接口,后台操作。

其中对象新建的入口渠道,是指管理软件中通过哪些界面能够允许客户新建凭证对象信息。为了使得操作更加灵活便利,本发明允许多种渠道建立新的客户信息。既可以由管理人员从客户信息管理界面统一维护,也可以在凭证新建时零时生成新的对象信息。

所有凭证对象的新建渠道,都会触发统一的凭证对象重复性检查,在这个阶段,新的凭证对象信息会和系统中已有的对象信息进行一一比对,检查可能出现的重复性,判断重复性的依据是核心的“重复性检查逻辑”,一方面,软件框架会提供系统标准的对象重复性检查逻辑,提供了重复性检查的常用的逻辑:比如通过比较电话号码的一致性,通过比较名字字符串的相似程度,来判断当前输入的凭证对象是否和系统中存在的对象具有重复性。另一方面,客户可以基于自己的流程需求,自定义检查逻辑,并且纳入系统框架中统一管理。

当系统能够找到可能有重复性冲突的对象时,框架会提供一个用户交互的接口,让用户选择后续的操作,实际使用过程中,会调用凭证对象的合并提示对象框,提示是否将当前的新输入对象信息,合并到已有的重复性的对象中去,如果用户选择“合并”的选项,则最终操作的效果和用户选择系统中已有的凭证对象效果一致,将不会生成新的对象信息。如果选择“忽略”的选项,表示用户选择强行建立新的凭证对象。

图2描述了道森物流管理软件基于凭证对象检查流程上提供的第二个功能:即凭证对象后期扫描和纠错功能,图2是该功能的流程示意图:包括几个方面的内容:用户接口,对象重复性检查机制,用户交互操作接口,后台操作。

首先在凭证对象管理中心,提供了用户界面入口,能够触发凭证对象重复性检查和纠错的入口,用户可以定期扫描系统中所有的客户信息存在重复建设的风险。然后调用统一的对象重复性检查机制进行重复性检查,这里的对象重复性检查机制和前面的凭证对象新建流程控制中的重复性检查机制是一个东西。

当凭证对象管理中心,通过重复性检查功能检查到系统里面可能出现的重复性客户信息,会在凭证对象列表信息里面显示重复性状态,如图4展示了“客户信息中心”里面,在进行了检查后的客户的“重复性状态”。“红叉”的图标表示该用户存在“重复性”危险。

对有问题的客户,点击“红叉”图标,系统会弹出对话框,提示用户选择后续的操作,如果用户选择 重复的用户信息合并,系统需要进行相关的后台操作:首先将客户信息合并,其次,把客户信息对应的所有相关的凭证合并,包括业务凭证和财务凭证。

凭证对象后期扫描和纠错功能,为用户提供了定期检查凭证对象重复性和纠错的可能性,从根本上杜绝了对象重复性建立、对象数据错误的问题。

系统除了能提供标准的凭证对象重复性检查逻辑,同时也针对不同客户的特殊需求,提供了标准接口,供用户自定义凭证对象重复性检查逻辑。

用户自定义逻辑实现的流程如下:

首先用户需要新建重复性判断逻辑类来实现自己的对象重复判断逻辑,该类必须实现标准接口类IAccountDuplicateCheckLogicCore,并放在源代码的包下面[platform.foundation.LogicManager.Account.DuplicateCheck]。该实现类必须实现的核心方法checkDuplicateAccount包含了用户自己的凭证对象重复性检查逻辑。

第二:用户需要在系统设置界面里面,把前面自定义的逻辑实现类注册为重复性检查实现资源,该资源包含了下面一些功能设置:

凭证对象类型:系统提供了以下几种类型的凭证对象:企业型客户,个人型客户,物流合作方,外挂司机,内部员工。每一种对象重复性检查逻辑只适应于一种特定类型的凭证对象,而一种凭证对象类型可以对应多种重复性检查逻辑。

逻辑关系:一种凭证对象类型可以对应多种重复性检查逻辑,而不同的逻辑之间按照一定逻辑关系结合在一起,共同实现最终重复性的判断。逻辑关系分为“逻辑和”和“逻辑与”。“逻辑或”的关系:针对同一种对象类型,满足任何一种“逻辑或”类型判断逻辑即可以判断凭证对象状态为重复;“逻辑或”的关系:针对同一种对象类型,所有“逻辑与”类型的逻辑条件满足才能判断该凭证对象为重复。

开关:可以通过设置开关的开和关来启动和屏蔽这种判断重复性逻辑。

执行顺序:不同判断逻辑关系资源的前后执行顺序,数组越小,表示先执行。对于“逻辑与”类型的判断逻辑资源,没有实际作用,但是对于“逻辑或”类型的判断逻辑资源,越先执行决定判断优先级别更高。

附图说明:

图1展示了凭证对象新建时的重复性检查流程。

图2展示了在凭证对象中心,主动触发对象重复性检查和纠错的实现流程。

图3是物流运输管理软件中,托运单新建时,触发对象重复性检查的操作示意图。

图4是在客户信息中心里面,主动触发客户对象性检查后的界面

图5是在客户信息中心里面,对有重复性危险的客户进行后续处理的界面。

图6为系统设置中:《凭证对象设置》模块中,对象重复性判断逻辑资源的列表页面。

图7为系统设置中:《凭证对象设置》模块中,对象重复性判断逻辑资源的编辑界面。

图8展示了一个简单的重复性判断逻辑类的代码。

具体实施方式:

系统的实施过程,包含三个方面的内容:一是凭证对象新建时如何触发凭证对象重复性检查流程;二是在凭证对象中心,如何主动触发对象的重复性检查和纠错;三是用户扩展自己的凭证对象重复性检查逻辑的实施。

凭证新建时对象生成的重复性检查流程:

业务和财务凭证在新建时,如果会新增凭证对象,都会自动触发凭证对象新建重复性检查流程。比如:新建运单时,如果发货方或者收货方是新客户,除了通过按钮“选择老客户”,选择已有的客户信息,用 户可以在运单的编辑界面直接输入客户信息,比如客户名称,联系电话,地址信息等。如图3所示,用户直接在运单中直接输入发货方的名称“百事可乐成都工厂”。当运单保存时,系统会触发凭证对象重复性检查流程,当发现和系统已有客户对象信息出现重复性危险时,会弹出重复性提醒对话框,并列举所有可能有重复风险的对象列表,以提示用户是否需要进行凭证对象合并操作。

用户可以在对话框中选择是否当前新建的客户信息和系统中已有的客户信息进行合并。操作方式为:选择对话框中已有的老客户信息,如图3中的:“百事可乐(中国)成都工厂”,并点击“合并”按钮。则新建的托运单发货方设置为老的客户信息:“百事可乐(中国)成都工厂”,新的客户信息“百事可乐成都工厂”不会被生成。

用户在对话框中也可以直接选择“忽略”操作:则该新对象会被强行建立,则系统里面会同时出现“百事可乐(中国)成都工厂”和“百事可乐成都工厂”两个客户信息,新建的托运单发货方设置为新的客户“百事可乐成都工厂”。

另一方面,凭证对象管理中心,新建凭证对象时,也会触发凭证对象新增重复性检查流程。比如:在客户信息管理中,新建客户信息时,也会同样地触发凭证对象重复性检查机制,比如,输入客户名称为:“百事可乐成都工厂”,当客户信息保存时,系统会触发凭证对象重复性检查流程,当发现和系统已有客户对象信息出现重复性危险时,会同样弹出重复性提醒对话框,并列举所有可能有重复风险的对象列表,用户后续可以进行“合并”和“忽略”的操作,界面和功能和前面介绍的一样。

用户主动触发凭证对象重复性检查和纠错流程:

在各个凭证对象管理中心,比如客户信息中心、运输合作方信息中心,都有“重复性检查”按钮,如图4所示,用户可以主动凭证对象重复性检查,当检查完毕后,比如:在客户信息中心,会有一列“重复性状态”专门用来显示凭证对象检查后的重复性状态。如果有重复性风险的客户,会出现“红叉”的图标,如果没有重复性风险,会出现一个绿色小勾的图标。如图5所示,用户可以点击有重复性危险的客户信息的“红叉”的图标,系统会弹出重复性处理对话框,对话框列举了系统里面所有可能和当前客户重复风险的客户信息列表。用户可以把这些客户和当前客户信息进行合并,操作方式是:选择对话框里面某条客户信息,点击“合并”按钮,该客户信息被合并:被选择合并的客户信息被删除,该客户对应的所有凭证,包括各种业务凭证和财务凭证,被转移到了当前的客户信息下面。

用户自定义自己的凭证对象重复性检查逻辑的实施流程:

首先用户需要新建重复性判断逻辑类来实现自己的对象重复判断逻辑,该类必须实现标准接口类IAccountDuplicateCheckLogicCore,并放在源代码的包下面[platform.foundation.LogicManager.Account.DuplicateCheck]。该实现类必须实现的核心方法checkDuplicateAccount包含了用户自己的凭证对象重复性检查逻辑。该方法的输入参数account,rawAccount是可以用来作对比的两个原始凭证对象。

图8列举了一个很简单的用户自定义的重复性判断逻辑类,名字为:IndCustomerDupCheckByEmailLogic,它的目的是通过比较两个对象的email是否相同来判断这两个凭证对象,这里特指个人客户信息,是否存在重复性,图8中的红框部分是方法checkDuplicateAccount方法的核心代码,通过判断两个对象的email是否相同,如果相同,则返回true,即判断这两个对象是重复的。

其次:在用户自定义的重复性判断逻辑类完成以后,用户需要在系统设置界面里面,把前面自定义的逻辑实现类注册为重复性检查实现资源,该界面的该判断资源的一些基本的功能,如“执行顺序”、“逻辑关系”、“凭证对象类型”等,的详细介绍和如何使用,请参考前面章节的介绍。

重复性检查资源注册的过程为:登录道森物流管理软件,进入一级导航栏“系统设置”和二级导航栏“凭证对象设置”,如图6所示,可以看到界面里面列举出了系统里面所有的重复性判断资源,包括系统标准的和用户自定义的。用户需要注册新的重复性检查资源时,需要点击新建按钮,进入编辑界面,如图 7所示,在该界面里面,除了设置“执行顺序”、“逻辑关系”、“凭证对象类型”等待基本信息以外,注意必须在“检查逻辑实现类”里面填写前面描述的自定义实现类的全名,即包的名字+类的名字。图8中列举的例子:重复逻辑实现类IndCustomerDupCheckByEmailLogic,在图7的界面中注册为资源时,需要把该类的全名填写到“检查逻辑实现类”的输入框里面,即platform.foundation.LogicManager.Account.DuplicateCheck IndCustomerDupCheckByEmailLogic。用户在信息填写完毕后,保存资源信息,并且设置开关为“开启”状态,新的重复性逻辑判断逻辑就可以发挥作用了。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1