书签 分享 收藏 举报 版权申诉 / 12

数据处理装置和数据处理方法.pdf

  • 上传人:1520****312
  • 文档编号:4615796
  • 上传时间:2018-10-22
  • 格式:PDF
  • 页数:12
  • 大小:439.37KB
  • 摘要
    申请专利号:

    CN201110448913.6

    申请日:

    2011.12.28

    公开号:

    CN102521713A

    公开日:

    2012.06.27

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||著录事项变更IPC(主分类):G06Q 10/06变更事项:申请人变更前:用友软件股份有限公司变更后:用友网络科技股份有限公司变更事项:地址变更前:100094 北京市海淀区北清路68号用友软件园变更后:100094 北京市海淀区北清路68号|||公开

    IPC分类号:

    G06Q10/06(2012.01)I; G06Q30/04(2012.01)I

    主分类号:

    G06Q10/06

    申请人:

    用友软件股份有限公司

    发明人:

    孔晓东

    地址:

    100094 北京市海淀区北清路68号用友软件园

    优先权:

    专利代理机构:

    北京友联知识产权代理事务所(普通合伙) 11343

    代理人:

    尚志峰;汪海屏

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供了一种数据处理装置,包括:接收输入单元,接收检测到的上游单据类型的信息和下游单据类型的信息以及待补差数据信息;提取单元,根据上游单据类型的信息和下游单据类型的信息查找到注册的单据实体信息,根据单据实体信息,提取出上游单据的存货数量和金额数以及提取出已拉的下游单据的存货总数量和总金额数;补尾差处理单元,通过下游单据的实体信息找到当前待补差的下游单据的存货数量和金额数,根据提取出的上游单据的存货数量和金额数以及提取出的已拉的下游单据的存货总数量和总金额数,对当前待补差的下游单据的金额进行补尾差处理。根据本发明的技术方案可以使单据的数据保存一致,本发明还提供了一种该数据处理方法。

    权利要求书

    1: 一种数据处理装置, 其特征在于, 包括 : 检测单元, 接收检测到的上游单据类型的信息和下游单据类型的信息以及待补差数据 信息, 将接收到的数据传送至提取单元 ; 所述提取单元, 根据所述上游单据类型的信息和下游单据类型的信息查找到注册的单 据实体信息, 根据所述单据实体信息, 提取出上游单据的存货数量和金额数以及提取出已 拉的下游单据的存货总数量和总金额数 ; 补尾差处理单元, 通过所述下游单据的实体信息找到当前待补差的下游单据的存货数 量和金额数, 根据提取出的所述上游单据的存货数量和金额数以及提取出的所述已拉的下 游单据的存货总数量和总金额数, 对所述当前待补差的下游单据的金额进行补尾差处理。
    2: 根据权利要求 1 所述的数据处理装置, 其特征在于, 还包括 : 判断单元, 判断所述当前待补差的下游单据是否需要补尾差, 若所述当前待补差的下 游单据的存货数量和所述已拉的下游单据的存货总数量之和等于上游单据的存货总数量, 并且所述上游单据的存货总数量不等于所述当前待补差的存货数量, 则确定所述当前待补 差的下游单据需要补尾差。
    3: 根据权利要求 1 所述的数据处理装置, 其特征在于, 所述补尾差处理单元包括 : 计算子单元, 计算出所述上游单据的金额总数与所述已拉的下游单据的总金额数之间 的差值, 将所述差值作为补尾差处理后的本次拉单金额。
    4: 根据权利要求 1 至 3 中任一项所述的数据处理装置, 其特征在于, 还包括 : 选择单元, 所述上游单据和所述下游单据均对应多种金额字段, 在所述多种金额字段 中选择一个或多个金额字段, 针对选择的金额字段, 计算出经过补尾差处理后所述待补差 的下游单据的金额数据。
    5: 根据权利要求 4 所述的数据处理装置, 其特征在于, 所述提取单元采用 SQL 语句查找 出所述上游单据的存货数量和金额数以及所述已拉的下游单据的存货总数量和总金额数。
    6: 一种数据处理方法, 其特征在于, 包括 : 步骤 202, 接收检测到的上游单据类型的信息和下游单据类型的信息以及待补差数据 信息 ; 步骤 204, 根据所述上游单据类型的信息和下游单据类型的信息查找到注册的单据实 体信息, 根据所述单据实体信息, 提取出上游单据的存货数量和金额数以及提取出已拉的 下游单据的存货总数量和总金额数 ; 步骤 206, 通过所述下游单据的实体信息找到当前待补差的下游单据的存货数量和金 额数, 根据提取出的所述上游单据的存货数量和金额数以及提取出的所述已拉的下游单据 的存货总数量和总金额数, 对所述当前待补差的下游单据的金额进行补尾差处理。
    7: 根据权利要求 6 所述的数据处理方法, 其特征在于, 所述步骤 206 还包括 : 判断所述当前待补差的下游单据是否需要补尾差, 判断规则如下 : 若所述当前待补差的下游单据的存货数量和所述已拉的下游单据的存货总数量之和 等于上游单据的存货总数量, 并且所述上游单据的存货总数量不等于所述当前待补差的存 货数量, 则确定所述当前待补差的下游单据需要补尾差。
    8: 根据权利要求 6 所述的数据处理方法, 其特征在于, 在所述步骤 206 中, 按照以下方 法确定补尾差处理后的本次拉单金额 : 2 所述上游单据的金额总数与所述已拉的下游单据的总金额数之差为所述补尾差处理 后的本次拉单金额。
    9: 根据权利要求 6 至 8 中任一项所述的数据处理方法, 其特征在于, 所述上游单据和所 述下游单据均对应多种金额字段, 在所述多种金额字段中选择一个或多个金额字段, 针对 选择的金额字段, 计算出所述待补差的下游单据的补尾差后的金额数据。
    10: 根据权利要求 9 所述的数据处理方法, 其特征在于, 采用 SQL 语句查找出所述上游 单据的存货数量和金额数以及所述已拉的下游单据的存货总数量和总金额数。

    说明书


    数据处理装置和数据处理方法

        【技术领域】
         本发明涉及计算机技术领域, 具体而言, 涉及数据处理装置和数据处理方法。背景技术 目前, 当一个单据基于数量分单生成下游多张单据的场景, 常常需要对下游单据 的金额的相关字段补尾差, 比如销售订单拉销售发票的场景。销售发票存货数量 2, 单价 为 3.333, 则金额为 6.67( 两位精度 )。此时销售订单在第一次拉发票时, 存货数量为 1, 金 额为 3.33( 在精度为 2 的情况下 )。销售订单第二次拉销售发票时, 存货数量为 1, 金额为 3.33( 补尾差前的数据 ), 此时出现尾差, 尾差出现的原因是由于精度是两位, 在截位的时 候四舍五入, 导致下游单据的金额总数不等于上游原始单据的金额, 这种不一致会给以后 的业务造成影响, 并给企业造成实际的损失, 因此, 在上述场景中, 第二个单据需要补尾差, 把金额补成 3.34, 这样才能使上下游单据的金额在按数量分单的情况下也始终保持一致。
         因此, 需要一种新的数据处理技术来对单据进行处理, 自动补尾差。
         发明内容 基于上述背景技术的考虑, 本发明的一个目的是提供一种数据处理装置, 本发明 的另一目的是提供一种数据处理方法, 可自动为所需单据补尾差, 保证数据的准确性。
         根据本发明的一个方面, 提供了一种数据处理装置, 包括 : 检测单元, 接收检测到 的上游单据类型的信息和下游单据类型的信息以及待补差数据信息, 将接收到的数据传送 至提取单元 ; 所述提取单元, 根据所述上游单据类型的信息和下游单据类型的信息查找到 注册的单据实体信息, 根据所述单据实体信息, 提取出上游单据的存货数量和金额数以及 提取出已拉的下游单据的存货总数量和总金额数 ; 补尾差处理单元, 通过所述下游单据的 实体信息找到当前待补差的下游单据的存货数量和金额数, 根据提取出的所述上游单据的 存货数量和金额数以及提取出的所述已拉的下游单据的存货总数量和总金额数, 对所述当 前待补差的下游单据的金额进行补尾差处理。
         在上述技术方案中, 优选地, 还可以包括 : 判断单元, 判断所述当前待补差的下游 单据是否需要补尾差, 若所述当前待补差的下游单据的存货数量和所述已拉的下游单据的 存货总数量之和等于上游单据的存货总数量, 并且所述上游单据的存货总数量不等于所述 当前待补差的存货数量, 则确定所述当前待补差的下游单据需要补尾差。
         在上述技术方案中, 优选地, 所补尾差处理单元包括 : 计算子单元, 计算出所述上 游单据的金额总数与所述已拉的下游单据的总金额数之间的差值, 将所述差值作为补尾差 处理后的本次拉单金额。
         在上述技术方案中, 优选地, 还可以包括 : 选择单元, 所述上游单据和所述下游单 据均对应多种金额字段, 在所述多种金额字段中选择一个或多个金额字段, 针对选择的金 额字段, 计算出经过补尾差处理后所述待补差的下游单据的金额数据。
         在上述技术方案中, 优选地, 所述提取单元采用 SQL 语句查找出所述上游单据的
         存货数量和金额数以及所述已拉的下游单据的存货总数量和总金额数。
         根据本发明的数据处理装置, 可以对需要补尾差的数据进行补尾差, 并且还可以 对数据的不同字段进行相应的补尾差处理, 能够根据拉单场景来确定单据是否需要进行补 尾差, 保证了数据的一致性, 使得处理结果符合实际要求, 通过这样的处理方式, 可以减少 对系统资源的占用, 提高处理效率, 不影响系统的正常使用, 也无需人为修改数据。
         根据本发明的另一方面, 还提供了一种数据处理方法, 包括 : 步骤 202, 接收检测 到的上游单据类型的信息和下游单据类型的信息以及待补差数据信息 ; 步骤 204, 根据所 述上游单据类型的信息和下游单据类型的信息查找到注册的单据实体信息, 根据所述单据 实体信息, 提取出上游单据的存货数量和金额数以及提取出已拉的下游单据的存货总数量 和总金额数 ; 步骤 206, 通过所述下游单据的实体信息找到当前待补差的下游单据的存货 数量和金额数, 根据提取出的所述上游单据的存货数量和金额数以及提取出的所述已拉的 下游单据的存货总数量和总金额数, 对所述当前待补差的下游单据的金额进行补尾差处 理。
         在上述技术方案中, 优选地, 所述步骤 206 还可以包括 : 判断所述当前待补差的 下游单据是否需要补尾差, 判断规则如下 : 若所述当前待补差的下游单据的存货数量和所 述已拉的下游单据的存货总数量之和等于上游单据的存货总数量, 并且所述上游单据的存 货总数量不等于所述当前待补差的存货数量, 则确定所述当前待补差的下游单据需要补尾 差。 在上述技术方案中, 优选地, 在所述步骤 206 中, 按照以下方法确定补尾差处理后 的本次拉单金额 : 所述上游单据的金额总数与所述已拉的下游单据的总金额数之差为所述 补尾差处理后的本次拉单金额。
         在上述技术方案中, 优选地, 所述上游单据和所述下游单据均对应多种金额字段, 在所述多种金额字段中选择一个或多个金额字段, 针对选择的金额字段, 计算出所述待补 差的下游单据的补尾差后的金额数据。
         在上述技术方案中, 优选地, 采用 SQL 语句查找出所述上游单据的存货数量和金 额数以及所述已拉的下游单据的存货总数量和总金额数。
         根据本发明的数据处理方法, 可以对需要补尾差的数据进行补尾差, 并且还可以 对数据的不同字段进行相应的补尾差处理, 能够根据拉单场景来自动判断当前单据是否需 要进行补尾差, 保证了数据的一致性, 使得处理结果符合实际要求, 通过这样的处理方式, 可以减少对系统资源的占用, 提高处理效率, 不影响系统的正常使用, 也无需人为修改数 据。
         附图说明
         图 1 示出了根据本发明的实施例的数据处理装置的框图 ; 图 2 示出了根据本发明的实施例的数据处理装置的示意图 ; 以及 图 3 示出了根据本发明的实施例的数据处理方法的流程图。具体实施方式
         为了能够更清楚地理解本发明的上述目的、 特征和优点, 下面结合附图和具体实施方式对本发明进行进一步的详细描述。
         在下面的描述中阐述了很多具体细节以便于充分理解本发明, 但是, 本发明还可 以采用其他不同于在此描述的其他方式来实施, 因此, 本发明并不限于下面公开的具体实 施例的限制。
         图 1 示出了根据本发明的实施例的数据处理装置的框图。
         如图 1 所示, 根据本发明的实施例的数据处理装置 100 包括 : 检测单元 102, 接收 检测到的上游单据类型的信息和下游单据类型的信息以及待补差数据信息, 将接收到的数 据传送至提取单元 104 ; 所述提取单元 104, 根据所述上游单据类型的信息和下游单据类型 的信息查找到注册的单据实体信息, 根据所述单据实体信息, 提取出上游单据的存货数量 和金额数以及提取出已拉的下游单据的存货总数量和总金额数 ; 补尾差处理单元 106, 通 过所述下游单据的实体信息找到当前待补差的下游单据的存货数量和金额数, 根据提取出 的所述上游单据的存货数量和金额数以及提取出的所述已拉的下游单据的存货总数量和 总金额数, 对所述当前待补差的下游单据的金额进行补尾差处理。
         在上述技术方案中, 优选地, 还可以包括 : 判断单元 108, 判断所述当前待补差的 下游单据是否需要补尾差, 若所述当前待补差的下游单据的存货数量和所述已拉的下游单 据的存货总数量之和等于上游单据的存货总数量, 并且所述上游单据的存货总数量不等于 所述当前待补差的存货数量, 则确定所述当前待补差的下游单据需要补尾差。
         在上述技术方案中, 优选地, 所述补尾差处理单元 106 包括 : 计算子单元 1062, 计 算出所述上游单据的金额总数与所述已拉的下游单据的总金额数之间的差值, 将所述差值 作为补尾差处理后的本次拉单金额。
         在上述技术方案中, 优选地, 还可以包括 : 选择单元 110, 所述上游单据和所述下 游单据均对应多种金额字段, 在所述多种金额字段中选择一个或多个金额字段, 针对选择 的金额字段, 计算出经过补尾差处理后所述待补差的下游单据的金额数据。
         在上述技术方案中, 优选地, 所述提取单元 104 采用 SQL 语句查找出所述上游单据 的存货数量和金额数以及所述已拉的下游单据的存货总数量和总金额数。
         根据本发明的数据处理装置, 可以对需要补尾差的数据进行补尾差, 并且还可以 对数据的不同字段进行相应的补尾差处理, 能够根据拉单场景来确定单据是否需要进行补 尾差, 保证了数据的一致性, 使得处理结果符合实际要求, 通过这样的处理方式, 可以减少 对系统资源的占用, 提高处理效率, 不影响系统的正常使用, 也无需人为修改数据。
         下面结合图 2 来进一步说明根据本发明的数据处理装置。
         将上下游单据类型的信息和需要补差的数据实体信息提供至补尾差处理单元 102, 根据相关的注册单据信息可以对需补尾差的单据进行补尾差处理。
         1. 如何确定哪个单据需要补尾差 :
         并不是所有下游单据都需补尾差, 首先要确定应当接受补尾差的单据。因此必须 对按数量分单的场景进行归类。
         按数量拉单场景主要分为以下几种 :
         (1) 拉整单, 即不安数量分单, 一单拉一单的场景, 此场景不需补尾差。
         (2) 按数量分单, 最后一次拉一单的场景, 此场景最后一次拉的单据需要补尾差。
         (3) 按数量分单, 最后一次拉多单的场景, 此场景最后一次拉的多张单据里面其中的一张需要补尾差。
         确定补尾差单据的公式如下 :
         Def 原单据数量单据的存货数量 source_num ;
         Def 当前拉的单据数量 num ;
         Def 当前拉单单据的存货数量数组 now_num[] ;
         Def 已拉单据的存货数量总合 lastnum ;
         如 果 公 式 一: source_num = now_num[num]+now_num[num-1]+...+now_ num[1]+lastnum 该等式成立并且 source_num != now_num[num] 则对第 num 个单据即当前 所拉单据的最后一个单据进行补尾差。
         通过上述公式一可以确定需要补尾差的单据。
         2. 计算子单元所采用的补尾差公式具体信息如下 :
         Def 原单据数量单据的金额 source_mny[] ;
         Def 当前拉单单据金额数组 now_mny[][] ;
         Def 已拉单据的存货数量总合 lastmny[] ;
         公 式 二: now_mny[i][num] = source_mny[i]-(now_mny[i][num-1]+...+now_ mny[i][1])-lastmny[i], 其中, i 表示需要补差的第 i 个字段。 上述公式二即补尾差公式, 可以通过该公式二算出补尾差后的本次拉单金额。
         3. 数据处理装置的设计及工作原理
         (1) 数据处理装置的初始化设置。
         该数据处理装置在投入使用前需要注册单据实体信息, 单据实体信息结构可以如 下所示 :
         Table 单据实体信息 (
         单据类型 (billtype 非空 ),
         单据表名 (tablename 非空 ),
         单据主键名 (primarykey 非空 ),
         单据数量字段名字 (num 非空 ),
         单据金额字段名字数组 (mny1...mnyn 非空 ),
         记上游单据主键字段名 (sourcepk 可空 )
         )
         (2) 数据处理装置的输入数据结构。
         Typedef 输入参数 {
         需要待定补尾差的数据数组,
         上游单据类型,
         下游单据类型
         }
         (3) 数据处理装置的内部自动化处理尾差过程。
         i 通过上下游单据类型找到注册在数据处理装置内部的单据实体信息。
         ii 从数据中取出下游记录上游单据的主键, 通过上游单据实体信息和上游单据的 主键找到上游单据的存货数量和金额数组, 分别存入 source_num 和 source_mny[] 中, 设取
         到的上游单据主键为 sourcepkvalue, 对应的查询语句 : sql 语句如下 :
         Select num ,mny1 ,...mnyn from tablename where primarykey = sourcepkvalue。
         iii. 通过上游单据的主键和下游单据记录上游主键的关系及下游单据实体信息 找到已拉的下游单据的存货总数量和总金额数组, 分别存入 lastnum 和 lastmny[] 中, 对于 的查询语句 : sql 语句如下 :
         Select sum(num), sum(mny1)....sum(mnyn)from tablename where
         sourcepk = sourcepkvalue group by sourcepk。
         iv. 通过下游单据实体信息找到当前待补差的下游单据存货数量和金额数组, 分 别存入 now_num[] 和 now_mny[][]。
         v. 循环需要补差的金额字段, 通过公式一判断本次拉单的最后一个单据是否需要 补差。如果需要, 则用公式二对此单据的这个金额字段进行补差。
         (4) 数据处理装置内部输出。
         数据处理装置最后输出自动补完差的单据数据。
         下面以具体示例来对上述补尾差处理过程进一步进行说明。
         销售订单拉销售发票补尾差示例 : 步骤一 : 在数据处理装置里注册销售订单和销售发票的单据信息, 如下表 1 所示 :
         表1 最后一次拉单前单据数量金额信息 ( 金额精度为两位 ), 如下表 2 所示 :
         表2
         根据上面的信息可以明确, 销售订单拉销售发票已拉两回, 一拉的两回销售发票 对应的存货数量各是一个, 因此, 最后一个拉单需要补尾差处理, 下面是数据处理装置的具 体处理过程 :
         传入数据处理装置需要的补差数据信息为销售订单的原始数据 SaleOrderVO, 及
         上游单据类型 25 的信息和下游单据类型 30 的信息。
         通过单据类型找到单据注册信息 VO, 从中可以得知相应单据的表名, 主键名, 数量 字段名字, 金额字段名字, 记录上游单据的主键字段名。
         然后从 SaleOrderVO 取出来源单据主键, 比如为 “sourcepk1010”
         然后用 sql 语句 : Select num, money, discount from so saleinvoice where pk_ saleinvoice =” sourcepk1010” 查出上游销售发票的数量、 金额、 折扣额, 分别记录到以下 变量 :
         source_num = 3 ;
         source_mny[1] = 10.00 ;
         source_mny[2] = 0.10。
         然后通过以下 sql 语句 : Select sum(num), sum(money), sum(discount)from so_ saleorder where sourcepk =” sourcepk1010” group by sourcepk 查出已拉的下游单据 的存货总数量和总金额数组, 并记录到以下变量 :
         lastnum = 2 ;
         lastmny[1] = 6.66 ; lastmny[2] = 0.06。
         那么, 本次拉单数量为 1, 记录到该变量 : now_num[1] = 1。
         根 据 公 式 一: source_num = now_num[num]+now_num[num-1]+...+now_ num[1]+lastnum 得到 3 = 1+2, 并且由于有已拉单据, 且并不是拉整单, 所以需要补尾差, 接 着根据公式二对单据补上尾差 :
         now_mny[1] = 10-6.66 = 3.34 ;
         now_mny[2] = 0.10-0.06 = 0.04。
         最后把本次拉的销售订单的金额由 3.33 修正成 3.34, 折扣额由 0.03 修正成 0.04, 输出补差后的 SaleOrderVO。此次补差的过程是单个的数据, 数据处理装置同时支持 批数据的补差处理。
         图 3 示出了根据本发明的实施例的数据处理方法的流程图。
         如图 3 所示, 根据本发明的实施例的数据处理方法, 包括 : 步骤 202, 接收检测到的 上游单据类型的信息和下游单据类型的信息以及待补差数据信息 ; 步骤 204, 根据上游单 据类型的信息和下游单据类型的信息查找到注册的单据实体信息, 根据单据实体信息, 提 取出上游单据的存货数量和金额数以及提取出已拉的下游单据的存货总数量和总金额数 ; 步骤 206, 通过下游单据的实体信息找到当前待补差的下游单据的存货数量和金额数, 根据 提取出的上游单据的存货数量和金额数以及提取出的已拉的下游单据的存货总数量和总 金额数, 对当前待补差的下游单据的金额进行补尾差处理。
         在上述技术方案中, 优选地, 所述步骤 206 还可以包括 : 判断所述当前待补差的 下游单据是否需要补尾差, 判断规则如下 : 若所述当前待补差的下游单据的存货数量和所 述已拉的下游单据的存货总数量之和等于上游单据的存货总数量, 并且所述上游单据的存 货总数量不等于所述当前待补差的存货数量, 则确定所述当前待补差的下游单据需要补尾 差。
         在上述技术方案中, 优选地, 在所述步骤 206 中, 按照以下方法确定补尾差处理后
         的本次拉单金额 : 所述上游单据的金额总数与所述已拉的下游单据的总金额数之差为所述 补尾差处理后的本次拉单金额。
         在上述技术方案中, 优选地, 所述上游单据和所述下游单据均对应多种金额字段, 在所述多种金额字段中选择一个或多个金额字段, 针对选择的金额字段, 计算出所述待补 差的下游单据的补尾差后的金额数据。
         在上述技术方案中, 优选地, 采用 SQL 语句查找出所述上游单据的存货数量和金 额数以及所述已拉的下游单据的存货总数量和总金额数。
         根据本发明的数据处理方法, 可以对需要补尾差的数据进行补尾差, 并且还可以 对数据的不同字段进行相应的补尾差处理, 能够根据拉单场景来自动判断当前单据是否需 要进行补尾差, 保证了数据的一致性, 使得处理结果符合实际要求, 通过这样的处理方式, 可以减少对系统资源的占用, 提高处理效率, 不影响系统的正常使用, 也无需人为修改数 据。
         以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的任何修 改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。

    关 键  词:
    数据处理 装置 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:数据处理装置和数据处理方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4615796.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1