CN116894052A - 物料清单的比对方法、装置、存储介质及处理器 - Google Patents
物料清单的比对方法、装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN116894052A CN116894052A CN202310778666.9A CN202310778666A CN116894052A CN 116894052 A CN116894052 A CN 116894052A CN 202310778666 A CN202310778666 A CN 202310778666A CN 116894052 A CN116894052 A CN 116894052A
- Authority
- CN
- China
- Prior art keywords
- materials
- bill
- comparison
- key value
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000000463 material Substances 0.000 title claims abstract description 680
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008859 change Effects 0.000 claims abstract description 66
- 230000004048 modification Effects 0.000 claims abstract description 22
- 238000012986 modification Methods 0.000 claims abstract description 22
- 239000013077 target material Substances 0.000 claims description 55
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 239000002994 raw material Substances 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q10/0875—Itemisation or classification of parts, supplies or services, e.g. bill of materials
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种物料清单的比对方法、装置、存储介质及处理器。方法包括:通过获取目标产品在不同时间点的第一、第二物料清单以及包含变更前后的变更信息的第三物料清单,并确定每个物料的键值对。针对第一物料清单中的每个第一物料,比对第一物料与第二物料清单中的每个第二物料的键值对,得出相同或不相同的第一比对结果。在不存在与第一物料的键值对相同的第二物料的情况下,比对第一物料与第三物料清单中的每个第三物料的键值对,以得出替换或修改的第二比对结果。根据全部第一、第二比对结果确定目标产品的物料比对报表,来管理目标产品的成本。如此,可以快速准确地得出产品在不同时间的BOM结构的比对信息,实现对产品成本的调控。
Description
技术领域
本申请涉及技术领域,具体涉及一种物料清单的比对方法、装置、存储介质及处理器。
背景技术
物料清单(Bill of Materials,BOM)是描述企业产品组成的技术文件。在加工资本式行业,它表明了产品的总装件、分装件、组件、部件、零件、直到原材料之间的结构关系,以及所需的数量。在产品成本管理的过程中,因产品设计、技术和市场需求等因素,一个产品的BOM结构在不同的时间点可能会发生变化。例如原材料或零部件的选择、数量或质量的变化,这些变化会对成本产生影响,需及时进行调整和管理,以保持目标成本的实现。而在现有技术中,企业信息系统中涉及BOM数据同步时,由于物料清单之间的比对逻辑死板,当物料或物料的属性发生变化时,业务逻辑需要重新进行修改,需要对比对的数据进行删除重建,这种方式数据操作量大,消耗大量系统资源和时间成本。
发明内容
本申请实施例的目的是提供一种物料清单的比对方法、装置、存储介质及处理器。
为了实现上述目的,本申请第一方面提供一种物料清单的比对方法,包括:
获取目标产品在第一预设时间点的第一物料清单、在第二预设时间点的第二物料清单以及第三物料清单,第三物料清单包含第二物料清单与第一物料清单之间的每个物料的变更信息,变更信息包括变更前和变更后的物料价格;
确定每个物料清单包括的每个物料的键值对;
针对第一物料清单中的每个第一物料,比对第一物料与第二物料清单中的每个第二物料的键值对,以确定第一物料与每个第二物料之间的第一比对结果,第一比对结果是指相同或不相同;
针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料的情况下,比对第一物料与第三物料清单中的每个第三物料的键值对,以确定第一物料与每个第三物料之间的第二比对结果,第二比对结果包括替换或修改;
根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表,以通过物料比对报表管理目标产品的成本。
在本申请的实施例中,方法还包括:针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料,且第三物料清单中不存在与第一物料的键值对相同的第三物料的情况下,确定第一物料对应的第三比对结果为删除;根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表包括:根据全部的第一比对结果、第二比对结果、第三比对结果确定目标产品的物料比对报表。
在本申请的实施例中,还包括:针对每个第一物料,在第二物料清单中存在与第一物料的键值对相同的第二物料,将键值对相同的第二物料确定为第一目标物料;针对每个第一物料,删除第一目标物料以重新生成的第二物料清单,以根据重新生成的第二物料清单与第一物料清单进行比对。
在本申请的实施例中,还包括:在第一物料清单包括的全部第一物料与重新生成的第二物料清单比对完毕之后,将第二物料清单中剩余的第二物料对应的第四比对结果确定为新增;根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表包括:根据全部的第一比对结果、第二比对结果、第三比对结果、第四比对结果确定目标产品的物料比对报表。
在本申请的实施例中,针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料的情况下,比对第一物料与第三物料清单中的每个第三物料的键值对,以确定第一物料与每个第三物料之间的第二比对结果包括:针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料,且第三物料清单中存在与第一物料的键值对相同的第三物料的情况下,将键值对相同的第三物料确定为第二目标物料;针对每个第一物料,根据第二目标物料的变更信息确定第一物料与第二目标物料之间的第二比对结果。
在本申请的实施例中,变更信息还包括变更前和变更后的物料编码和编码路径,针对每个第一物料,根据第二目标物料的变更信息确定第一物料与第二目标物料之间的第二比对结果包括:针对每个第一物料,在第二目标物料变更前与变更后的物料编码和/或编码路径不相同的情况下,确定第一物料与第二目标物料之间的第二比对结果为替换;针对每个第一物料,在第二目标物料变更前与变更后的物料编码和编码路径相同,变更前与变更后的物料价格不相同的情况下,确定第一物料与第二目标物料之间的第二比对结果为修改。
在本申请的实施例中,确定每个物料清单包括的每个物料的键值对包括:确定每个物料清单包括的每个物料的物料编码、编码路径和物料价格,编码路径是指从该物料的物料清单包括的顶层物料至该物料的父物料的路径;根据每个物料的物料编码、编码路径和物料价格确定每个物料的键值对。
本申请第二方面提供一种处理器,被配置成执行上述的物料清单的比对方法。
本申请第三方面提供一种物料清单的比对装置,包括上述被配置成执行上述的物料清单的比对方法的处理器。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的物料清单的比对方法。
通过上述技术方案,通过获取目标产品在第一预设时间点的第一物料清单、在第二预设时间点的第二物料清单以及第三物料清单,第三物料清单包含第二物料清单与第一物料清单之间的每个物料的变更信息,变更信息包括变更前和变更后的物料价格;确定每个物料清单包括的每个物料的键值对;针对第一物料清单中的每个第一物料,比对第一物料与第二物料清单中的每个第二物料的键值对,以确定第一物料与每个第二物料之间的第一比对结果,第一比对结果是指相同或不相同;针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料的情况下,比对第一物料与第三物料清单中的每个第三物料的键值对,以确定第一物料与每个第三物料之间的第二比对结果,第二比对结果包括替换或修改;根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表,以通过物料比对报表管理目标产品的成本。如此,可以快速准确地得出产品在不同时间的BOM结构的比对信息,便于技术人员的调整和管理,以实现对产品成本的调控,并减少物料清单比对的时间成本。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的物料清单的比对方法的流程示意图;
图2示意性示出了根据本申请实施例的物料清单的比对装置的结构框图;
图3示意性示出了根据本申请实施例的计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示意性示出了根据本申请实施例的物料清单的比对方法的流程示意图。如图1所示,在本申请一实施例中,提供了一种物料清单的比对方法,本实施例主要以该方法应用于处理器来举例说明,包括以下步骤:
S102,获取目标产品在第一预设时间点的第一物料清单、在第二预设时间点的第二物料清单以及第三物料清单,第三物料清单包含第二物料清单与第一物料清单之间的每个物料的变更信息,变更信息包括变更前和变更后的物料价格。
物料清单(Bill of Materials,BOM)是描述企业产品组成的技术文件。在加工资本式行业,它表明了产品的总装件、分装件、组件、部件、零件、直到原材料之间的结构关系,以及所需的数量。在本申请中,通过将目标产品在不同时间的物料清单进行对比,从而对目标产品的成本进行管理和调整。为了更好地研究产品成本的具体情况,处理器可以获取第一预设时间点的第一物料清单、在第二预设时间点的第二物料清单以及第三物料清单。第一物料清单是指包含目标产品在第一预设时间点的物料信息。第二物料清单是指包含目标产品在第二预设时间点的物料信息。第一预设时间点在第二预设时间点之前。第一预设时间点可以是降低目标产品成本的周期开始时间,第二时间点可以是降低目标产品成本的周期结束时间。在降低目标产品成本的周期时间内,目标产品的BOM中的物料会发生调整。处理器可以跟踪BOM结构的变化,在BOM中的物料变更经过流程审批、同意后,会将物料变更的信息全部保存至新的数据库表中。其含有BOM中每个物料变更前和变更后的变更信息,包括物料价格,记录目标产品成本降低期间的物料变化情况。
S104,确定每个物料清单包括的每个物料的键值对。
S106,针对第一物料清单中的每个第一物料,比对第一物料与第二物料清单中的每个第二物料的键值对,以确定第一物料与每个第二物料之间的第一比对结果,第一比对结果是指相同或不相同。
S108,针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料的情况下,比对第一物料与第三物料清单中的每个第三物料的键值对,以确定第一物料与每个第三物料之间的第二比对结果,第二比对结果包括替换或修改。
S110,根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表,以通过物料比对报表管理目标产品的成本。
处理器可以根据物料清单中每个物料的物料信息来生成键值对。键值对是根据每个物料的物料信息和属性生成的。键代表每个物料,键值代表每个物料的物料信息,通过键值对可以快速对物料进行比对。那么,对于第一物料清单中的每个第一物料,处理器可以将第二物料清单中的每个第二物料的键值对与该第一物料的键值对进行比对。如果这两个进行比对的物料的物料信息相同,那么两个物料的键值对也会相同,则第一比对结果为相同,反之则第一比对结果为不相同。对于该第一物料而言,如果第二物料清单中全部的第二物料的键值对均与第一物料不相同,即在第二物料清单中不存在与第一物料的键值对相同的第二物料的情况下,则可以进一步将第三物料清单中的每个第三物料的键值对与该第一物料的键值对进行比对。如果这两个进行比对的物料的键值对相同,即第三物料清单中存在与该第一物料相同的第三物料,则第二比对结果为替换或修改。这代表第一物料发生进行变更。那么,在第一物料清单与第二物料清单、第三物料清单比对结束后,根据全部的第一比对结果和第二比对结果,可以生成目标产品的物料比对报表,物料比对报表包含目标产品在第一预设时间点与第二预设时间点BOM结构的差异信息,包括每个物料相同、不相同、替换或修改的信息。在一个具体的实施方式中,处理器可以将物料比对报表展示在前端程序中,展示目标产品的BOM树比对报表。如此,可以快速准确地得出产品在不同时间的BOM结构的比对信息,便于技术人员的调整和管理,以实现对产品成本的调控,并减少物料清单比对的时间成本。
在一个实施例中,方法还包括:针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料,且第三物料清单中不存在与第一物料的键值对相同的第三物料的情况下,确定第一物料对应的第三比对结果为删除;根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表包括:根据全部的第一比对结果、第二比对结果、第三比对结果确定目标产品的物料比对报表。
第一物料清单、第二物料清单、第三物料清单可以是map格式的物料清单。第一物料清单old_map中的每个第一物料,第一物料记作o_value,其键值对记作o_key。第二物料清单new_map中的每个第二物料,第二物料记作b_value,其键值对记作b_key。第三物料清单change_map,第三物料记作c_value,其键值对记作c_key。处理器可以循环遍历第二物料清单new_map中的每个第二物料,将每个第二物料的键值对b_key与该第一物料的键值对o_key进行比对。对于该第一物料而言,如果该第二物料的键值对b_key与第一物料o_key相同,则第一比对结果为相同。如果在第二物料清单中不存在与第一物料的键值对o_key相同的第二物料,即第二物料清单中全部的第二物料的键值对b_key均与第一物料o_key不相同。则可以进一步将第三物料清单change_map中的每个第三物料c_value的键值对c_key与该第一物料的键值对o_key进行比对。如果与全部的第三物料的键值对也不相同,即第三物料清单中也不存在与该第一物料相同的第三物料c_value,则第一物料o_value的第三比对结果为删除。即,第一物料在目标产品的BOM结构中被删除了。那么,在第一物料清单与第二物料清单、第三物料清单比对结束后,根据全部的第一比对结果、第二比对结果和第三比对结果,可以生成目标产品的物料比对报表。物料比对报表包含有每个物料相同、不相同、删除、替换或修改的信息。处理器可以将物料比对报表展示在前端程序中,展示目标产品的BOM树比对报表。
在一个实施例中,还包括:针对每个第一物料,在第二物料清单中存在与第一物料的键值对相同的第二物料,将键值对相同的第二物料确定为第一目标物料;针对每个第一物料,删除第一目标物料以重新生成的第二物料清单,以根据重新生成的第二物料清单与第一物料清单进行比对。
处理器可以循环遍历第二物料清单new_map中的每个第二物料,将每个第二物料的键值对b_key与该第一物料的键值对o_key进行比对。对于该第一物料而言,如果该第二物料的键值对b_key与第一物料o_key相同,则第一比对结果为相同。那么,针对每个第一物料,遍历第二物料清单中的全部第二物料进行比对的过程中,处理器可以将该键值对相同的第二物料b_value确定第一目标物料,并将第二物料清单new_map中的第一目标物料删除,从而重新生成第二物料清单new_map。那么,将下一个第一物料挑选出来与第二物料清单new_map比对时,无需再与第一目标物料比对。通过对物料信息进行哈希计算得到的键值对比对,并且删除相同的物料,减少new_map的循环遍历次数,减少循环遍历带来的时间成本。并且,在内存中进行完整的BOM比对,减少数据库访问次数,从而快速生成报表数据,提升系统的响应速度。
在一个实施例中,还包括:在第一物料清单包括的全部第一物料与重新生成的第二物料清单比对完毕之后,将第二物料清单中剩余的第二物料对应的第四比对结果确定为新增;根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表包括:根据全部的第一比对结果、第二比对结果、第三比对结果、第四比对结果确定目标产品的物料比对报表。
在第一物料清单old_map包括的全部第一物料o_value与重新生成的第二物料清单new_map比对完毕之后,在第二物料清单new_map中与第一物料o_value相同的第一目标物料全部被删除,第二物料清单new_map中剩余的第二物料b_value即为基于第一物料清单old_map上新增的物料。那么处理器可以将第二物料清单中剩余的第二物料b_value对应的第四比对结果确定为新增。在第一物料清单与第二物料清单、第三物料清单比对结束后,根据全部的第一比对结果、第二比对结果、第三比对结果和第四比对结果,可以生成目标产品的物料比对报表。物料比对报表包含有每个物料相同、不相同、替换、修改、删除或新增的信息。处理器可以将物料比对报表展示在前端程序中,展示目标产品的BOM树比对报表。
在一个实施例中,针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料的情况下,比对第一物料与第三物料清单中的每个第三物料的键值对,以确定第一物料与每个第三物料之间的第二比对结果包括:针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料,且第三物料清单中存在与第一物料的键值对相同的第三物料的情况下,将键值对相同的第三物料确定为第二目标物料;针对每个第一物料,根据第二目标物料的变更信息确定第一物料与第二目标物料之间的第二比对结果。
在一个实施例中,变更信息还包括变更前和变更后的物料编码和编码路径,针对每个第一物料,根据目标物料的变更信息确定第一物料与第二目标物料之间的第二比对结果包括:针对每个第一物料,在第二目标物料变更前与变更后的物料编码和/或编码路径不相同的情况下,确定第一物料与第二目标物料之间的第二比对结果为替换;针对每个第一物料,在第二目标物料变更前与变更后的物料编码和编码路径相同,变更前与变更后的物料价格不相同的情况下,确定第一物料与第二目标物料之间的第二比对结果为修改。
对于第一物料清单old_map中的每个第一物料o_value,在第二物料清单new_map中不存在与该第一物料o_value的键值对o_key相同的第二物料b_value,那么可以将该第一物料o_value与第三物料清单change_map中第三物料c_value的键值对进行比对。如果第三物料清单中存在与该一物料的键值对相同的第三物料c_value,那么可以将第三物料c_value确定为第二目标物料。则,根据该第二目标物料的变更信息,包括变更前和变更后该第二目标物料的物料编码、编码路径和物料价格,处理器可以确定该第一物料与该第二目标物料的第二比对结果是替换还是修改。
进一步地,在该第二目标物料的键值对与该第一物料的键值对相同的情况下,取出第二目标物料的变更信息。比对第二目标物料变更前与变更后的物料编码以及编码路径,如果这二者的任意一者变更前后不相同,那么处理器可以确定第二比对结果为替换。即,第一物料清单中的这个第一物料被替换成了对应的第二目标物料。如果物料编码和编码路径变更前后相同,但是物料价格不相等,则处理器可以确定第二比对结果为修改。即,第一物料清单中的这个第一物料的价格被修改了。
在一个实施例中,确定每个物料清单包括的每个物料的键值对包括:确定每个物料清单包括的每个物料的物料编码、编码路径和物料价格,编码路径是指从该物料的物料清单包括的顶层物料至该物料的父物料的路径;根据每个物料的物料编码、编码路径和物料价格确定每个物料的键值对。
物料编码是指是唯一标识物料的代码。物料编码是唯一的,一种物料不能有多个物料编码,一个物料编码不能对应多种不同规格的物料。编码路径是指基于BOM树结构,从该物料的物料清单包括的顶层物料至该物料的父物料的路径。处理器可以根据每个物料的物料编码、编码路径和物料价格确定每个物料的键值对。
在一个实施例中,处理器可以获取第一物料清单old_table、第二物料清单new_table和第三物料清单change_table,一一转换成可随机访问的list格式的old_list、new_list和change_list。其中,change_list包含有物料价格的变化情况。在将table格式的物料清单转换成list格式后,通过SDK的转换函数,处理器可以将三个list转换成map格式。具体地,对于list格式的物料清单中的每个物料,将其物料编码、编码路径和物料价格分别代表的字符串进行拼接,生成每个物料的键值对(key)。而list中的元素(即物料清单中的每个物料),其自身作为键(value),以转换成map格式的第一物料清单、第二物料清单以及第三物料清单,分别记作old_map、new_map和change_map。在一个具体的实施例中,可以通过计算哈希值来生成每个物料的键值对(key),从而得到三个hashmap格式的物料清单。Hashmap基于哈希表的键值对存储结构,可以快速的进行插入、删除、查找操作。它通过将键对象计算哈希码,并将其映射到哈希表中的索引位置来实现快速的查找。在发生哈希冲突时,HashMap会使用链表或红黑树来解决冲突。进一步地,通过比对old_map、new_map和change_map的键值对key,来进行BOM的快速对比,提升对比效率。
在一个实施例中,在第一物料清单old_map与第二物料清单new_map、第三物料清单change_map比对结束后,根据全部的第一比对结果、第二比对结果、第三比对结果和第四比对结果,可以生成目标产品的物料比对报表。物料比对报表包含有每个物料相同、不相同、替换、修改、删除或新增的信息。具体地,处理器可以通过变更标识标注对每个第一物料的变更情况。对于第一比对结果为相同的第一物料,其变更标识为不变。对于第二比对结果为替换或修改的第一物料,其变更标识标注为对应替换或修改,并将其对应的第二目标物料的变更信息添加至第一物料清单old_map的第一物料中。对于第三比对结果为删除的第一物料,其变更标识为删除。对于第四比对结果为新增的第二物料,将其的物料信息添加至第一物料清单old_map中,并将其变更标识标注为新增。其中,处理器可以在change_flag字段中添加变更标识的信息。将变更的物料以及物料的变更信息加入至原来的第一物料清单old_map中,生成新的第一物料清单old_map。并通过SDK的转换函数将第一物料清单old_map转为list,并将list中的数据分批次插入至数据库的表comparison_table中,生成物料比对报表。则,处理器可以查询comparison_table中指定产品的物料比对信息,借助其BOM结构中物料的层级和父物料编码等属性,处理器可以将物料比对报表展示在前端程序中,展示目标产品的BOM树比对报表。
通过上述技术方案,借助基于哈希表将物料清单的转换为map格式,以字符串拼接的形式将物料价格、物料编码和编码路径的字段拼接成键值对key,每个物料作为value,进行两个物料BOM的快速比对,提升比对效率。old_map和new_map是属于同一个产品不同时间点的BOM数据,大部分物料数据是没有变化的,因此在遍历old_map的第一物料时,将没有变化的数据从new_map中及时移除,从而极大地减少new_map的循环遍历次数。上述方案的时间复杂度为M+R,M是old_map的元素个数,R为遍历完old_map后new_map中剩余的元素个数。从时间复杂度可以看出,验证上述方案的效率大大提高。并且,上述方案无需人工干预,也无需借助额外的excel文件或txt文件。以内存访问的形式进行物料BOM比对,不是将单一物料与数据库的数据进行比对,减少数据库的访问时间。如此,可以快速准确地得出产品在不同时间的BOM结构的比对信息,便于技术人员的调整和管理,以实现对产品成本的调控。
图1为一个实施例中物料清单的比对方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种物料清单的比对装置,包括物料清单获取模块202、键值对确定模块204、第一比对结果确定模块206、第二比对结果确定模块208、以及报表生成模块210,其中:
物料清单获取模块202,用于获取目标产品在第一预设时间点的第一物料清单、在第二预设时间点的第二物料清单以及第三物料清单,第三物料清单包含第二物料清单与第一物料清单之间的每个物料的变更信息,变更信息包括变更前和变更后的物料价格。
键值对确定模块204,用于确定每个物料清单包括的每个物料的键值对。
第一比对结果确定模块206,用于针对第一物料清单中的每个第一物料,比对第一物料与第二物料清单中的每个第二物料的键值对,以确定第一物料与每个第二物料之间的第一比对结果,第一比对结果是指相同或不相同。
第二比对结果确定模块208,用于针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料的情况下,比对第一物料与第三物料清单中的每个第三物料的键值对,以确定第一物料与每个第三物料之间的第二比对结果,第二比对结果包括替换或修改。
报表生成模块210,用于根据全部第一比对结果和第二比对结果确定目标产品的物料比对报表,以通过物料比对报表管理目标产品的成本。
在一个实施例中,装置还包括第三比对结果确定模块(图中未示出),用于针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料,且第三物料清单中不存在与第一物料的键值对相同的第三物料的情况下,确定第一物料对应的第三比对结果为删除。报表生成模块210,还用于根据全部的第一比对结果、第二比对结果、第三比对结果确定目标产品的物料比对报表。
在一个实施例中,装置还包括第一物料清单更新模块(图中未示出),用于针对每个第一物料,在第二物料清单中存在与第一物料的键值对相同的第二物料,将键值对相同的第二物料确定为第一目标物料;针对每个第一物料,删除第一目标物料以重新生成的第二物料清单,以根据重新生成的第二物料清单与第一物料清单进行比对。
在一个实施例中,装置还包括第四比对结果确定模块(图中未示出),在第一物料清单包括的全部第一物料与重新生成的第二物料清单比对完毕之后,将第二物料清单中剩余的第二物料对应的第四比对结果确定为新增;报表生成模块210,还用于根据全部的第一比对结果、第二比对结果、第三比对结果、第四比对结果确定目标产品的物料比对报表。
在一个实施例中,第四比对结果确定模块(图中未示出),还用于针对每个第一物料,在第二物料清单中不存在与第一物料的键值对相同的第二物料,且第三物料清单中存在与第一物料的键值对相同的第三物料的情况下,将键值对相同的第三物料确定为第二目标物料;针对每个第一物料,根据第二目标物料的变更信息确定第一物料与第二目标物料之间的第二比对结果。
在本申请的实施例中,变更信息还包括变更前和变更后的物料编码和编码路径,第二比对结果模块208,还用于针对每个第一物料,在第二目标物料变更前与变更后的物料编码和/或编码路径不相同的情况下,确定第一物料与第二目标物料之间的第二比对结果为替换;针对每个第一物料,在第二目标物料变更前与变更后的物料编码和编码路径相同,变更前与变更后的物料价格不相同的情况下,确定第一物料与第二目标物料之间的第二比对结果为修改。
在一个实施例中,键值对确定模块206,还用于确定每个物料清单包括的每个物料的物料编码、编码路径和物料价格,编码路径是指从该物料的物料清单包括的顶层物料至该物料的父物料的路径;根据每个物料的物料编码、编码路径和物料价格确定每个物料的键值对。
所述物料清单的比对装置包括处理器和存储器,上述物料清单获取模块202、键值对确定模块204、第一比对结果确定模块206、第二比对结果确定模块208、以及报表生成模块210等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对物料清单的比对方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述物料清单的比对方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述物料清单的比对方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、存储器(图中未示出)和数据库(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A04。该非易失性存储介质A04存储有操作系统B01、计算机程序B02和数据库(图中未示出)。该内存储器A03为非易失性存储介质A04中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的数据库用于存储物料清单的比对方法的数据。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序B02被处理器A01执行时以实现一种物料清单的比对方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现物料清单的比对方法的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有物料清单的比对方法步骤的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种物料清单的比对方法,其特征在于,所述方法包括:
获取目标产品在第一预设时间点的第一物料清单、在第二预设时间点的第二物料清单以及第三物料清单,所述第三物料清单包含所述第二物料清单与所述第一物料清单之间的每个物料的变更信息,所述变更信息包括变更前和变更后的物料价格;
确定每个物料清单包括的每个物料的键值对;
针对第一物料清单中的每个第一物料,比对所述第一物料与所述第二物料清单中的每个第二物料的键值对,以确定所述第一物料与每个第二物料之间的第一比对结果,所述第一比对结果是指相同或不相同;
针对每个第一物料,在所述第二物料清单中不存在与所述第一物料的键值对相同的第二物料的情况下,比对所述第一物料与所述第三物料清单中的每个第三物料的键值对,以确定所述第一物料与每个第三物料之间的第二比对结果,所述第二比对结果包括替换或修改;
根据全部第一比对结果和第二比对结果确定所述目标产品的物料比对报表,以通过所述物料比对报表管理所述目标产品的成本。
2.根据权利要求1所述的物料清单的比对方法,其特征在于,所述方法还包括:
针对每个第一物料,在所述第二物料清单中不存在与所述第一物料的键值对相同的第二物料,且所述第三物料清单中不存在与所述第一物料的键值对相同的第三物料的情况下,确定所述第一物料对应的第三比对结果为删除;
所述根据全部第一比对结果和第二比对结果确定所述目标产品的物料比对报表包括:
根据全部的第一比对结果、第二比对结果、第三比对结果确定所述目标产品的物料比对报表。
3.根据权利要求1所述的物料清单的比对方法,其特征在于,所述方法还包括:
针对每个第一物料,在所述第二物料清单中存在与所述第一物料的键值对相同的第二物料,将所述键值对相同的第二物料确定为第一目标物料;
针对每个第一物料,删除所述第一目标物料以重新生成的第二物料清单,以根据重新生成的第二物料清单与所述第一物料清单进行比对。
4.根据权利要求3所述的物料清单的比对方法,其特征在于,所述方法还包括:
在所述第一物料清单包括的全部第一物料与重新生成的第二物料清单比对完毕之后,将所述第二物料清单中剩余的第二物料对应的第四比对结果确定为新增;
所述根据全部第一比对结果和第二比对结果确定所述目标产品的物料比对报表包括:
根据全部的第一比对结果、第二比对结果、第三比对结果、第四比对结果确定所述目标产品的物料比对报表。
5.根据权利要求1所述的物料清单的比对方法,其特征在于,所述针对每个第一物料,在所述第二物料清单中不存在与所述第一物料的键值对相同的第二物料的情况下,比对所述第一物料与所述第三物料清单中的每个第三物料的键值对,以确定所述第一物料与每个第三物料之间的第二比对结果包括:
针对每个第一物料,在所述第二物料清单中不存在与所述第一物料的键值对相同的第二物料,且所述第三物料清单中存在与所述第一物料的键值对相同的第三物料的情况下,将键值对相同的第三物料确定为第二目标物料;
针对每个第一物料,根据所述第二目标物料的变更信息确定所述第一物料与所述第二目标物料之间的第二比对结果。
6.根据权利要求5所述的物料清单的比对方法,其特征在于,所述变更信息还包括变更前和变更后的物料编码和编码路径,所述针对每个第一物料,根据所述目标物料的变更信息确定所述第一物料与所述第二目标物料之间的第二比对结果包括:
针对每个第一物料,在所述第二目标物料变更前与变更后的物料编码和/或编码路径不相同的情况下,确定所述第一物料与所述第二目标物料之间的第二比对结果为替换;
针对每个第一物料,在所述第二目标物料变更前与变更后的物料编码和编码路径相同,变更前与变更后的物料价格不相同的情况下,确定所述第一物料与所述第二目标物料之间的第二比对结果为修改。
7.根据权利要求1所述的物料清单的比对方法,其特征在于,所述确定每个物料清单包括的每个物料的键值对包括:
确定每个物料清单包括的每个物料的物料编码、编码路径和物料价格,所述编码路径是指从该物料的物料清单包括的顶层物料至该物料的父物料的路径;
根据每个物料的物料编码、编码路径和物料价格确定每个物料的键值对。
8.一种处理器,其特征在于,被配置成执行根据权利要求1至7中任意一项所述的物料清单的比对方法。
9.一种物料清单的比对装置,其特征在于,包括如权利要求8所述的处理器。
10.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至7中任一项所述的物料清单的比对方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778666.9A CN116894052A (zh) | 2023-06-28 | 2023-06-28 | 物料清单的比对方法、装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778666.9A CN116894052A (zh) | 2023-06-28 | 2023-06-28 | 物料清单的比对方法、装置、存储介质及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116894052A true CN116894052A (zh) | 2023-10-17 |
Family
ID=88314272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310778666.9A Pending CN116894052A (zh) | 2023-06-28 | 2023-06-28 | 物料清单的比对方法、装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116894052A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118071263A (zh) * | 2024-04-19 | 2024-05-24 | 北京谷器数据科技有限公司 | 物料清单自动变更方法、装置、电子设备及介质 |
-
2023
- 2023-06-28 CN CN202310778666.9A patent/CN116894052A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118071263A (zh) * | 2024-04-19 | 2024-05-24 | 北京谷器数据科技有限公司 | 物料清单自动变更方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108932257B (zh) | 多维度数据的查询方法及装置 | |
KR102099544B1 (ko) | 스트리밍 데이터의 분배 처리 방법 및 디바이스 | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN116894052A (zh) | 物料清单的比对方法、装置、存储介质及处理器 | |
CN105630475A (zh) | 一种数据标签组织系统及组织方法 | |
CN113468199A (zh) | 索引更新方法及系统 | |
CN114490641A (zh) | 一种工业互联网数据的共享方法、设备及介质 | |
CN106878365B (zh) | 一种数据同步方法和设备 | |
CN114691732A (zh) | 定位异常交易的方法、装置、非易失性存储介质与处理器 | |
CN114500676A (zh) | 一种工业互联网设备间的信息交互方法、设备及存储介质 | |
CN116862383A (zh) | 用于确定物料清单之间的差异性的方法、装置及处理器 | |
CN104636397A (zh) | 用于分布式计算的资源分配方法、计算加速方法以及装置 | |
CN114138787A (zh) | 一种条码识别方法、设备及介质 | |
CN115293243A (zh) | 数据资产智能匹配的实现方法、装置及设备 | |
CN110222105B (zh) | 数据汇总处理方法及装置 | |
CN110968599B (zh) | 一种基于Impala的查询方法和装置 | |
CN113568620B (zh) | 一种代码文件处理方法、装置、设备及介质 | |
CN112286946B (zh) | 数据处理方法、服务器和介质 | |
CN114996252A (zh) | 基于区块链的数据质量生命周期管理方法及处理器 | |
CN116957221A (zh) | 企业统计报表平台数据管理方法、装置、设备及存储介质 | |
CN117492826A (zh) | 确定产品变更情况的方法、处理器及存储介质 | |
CN115982781A (zh) | 一种在区块链中创建账户的方法和区块链节点 | |
CN116795843A (zh) | 一种基于预处理组件的报表计算方法、装置、设备及介质 | |
CN116244355A (zh) | 一种基层数据统计分析方法、设备及介质 | |
CN117311724A (zh) | Tosca解析的实现方法、Tosca解析器及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |