本发明专利技术提供了一种BOM树追溯历史层级的方法,包括:在每次导入BOM之前,计算BOM中每个节点的自身属性和子节点信息;判断自身属性是否有变化;如果自身属性发生了变化,需要将本节点的版本号自动加1;如果自身属性没有变化,需要去判断该节点包含的子节点信息是否发生了变化;版本号处理完毕后,再生成辅助信息key,由key来关联BOM的父层与子层的关系。通过生成的版本和key,来管理BOM的层级数据。可以快速、灵活、方便的查找到BOM的历史层级数据。方便的查找到BOM的历史层级数据。方便的查找到BOM的历史层级数据。
【技术实现步骤摘要】
一种BOM树追溯历史层级的方法
[0001]本专利技术涉及数字化工厂
,具体涉及一种BOM树追溯历史层级的方法。
技术介绍
[0002]BOM树记录着物料的层级结构信息,是成品的组件清单。在数字化工厂的生产过程中,应用十分的广泛。但是目前的BOM,只支持最新导入的BOM数据,导入之后,就会覆盖掉曾经的BOM,导致无法获取BOM曾经的历史层级数据。想要获得之前的历史层级数据,有一定的困难。而每一次导入都全部存储,又会导致系统复杂度直线上升。目前BOM的层级数据变化,对于工厂来说还有一定的参考价值。因此设计了根据物料信息生成相应的版本和key,解决查找BOM历史层级的问题。
技术实现思路
[0003]本专利技术的目的在于提供一种BOM树追溯历史层级的方法,以期解决
技术介绍
中存在的问题。
[0004]为了实现上述目的,本专利技术采用以下技术方案:
[0005]一种BOM树追溯历史层级的方法,包括:在每次导入BOM之前,计算BOM中每个节点的自身属性和子节点信息;判断自身属性是否有变化;如果自身属性发生了变化,需要将本节点的版本号自动加1;如果自身属性没有变化,需要去判断该节点包含的子节点信息是否发生了变化;版本号处理完毕后,再生成辅助信息key,由key来关联BOM的父层与子层的关系。
[0006]在一些实施例中,所述自身属性包含物料描述、版本号、单机用量、计量单位、图号、备注。
[0007]在一些实施例中,判断自身属性是否有变化,包括:去数据库中取出最新的节点信息,然后根据单机用量、图号来判断是否有变化。
[0008]在一些实施例中,所述判断该节点包含的子节点信息是否发生了变化,包括:取出最新的所有的子节点数据,判断数量是否有增加或者减少,或者其中的某个物料被更改,被其它的物料所替代,如果有此类情况,该节点对应的版本号需要自动加1;但每次变化,版本号只加1,不重复累加。
[0009]在一些实施例中,辅助信息包含工厂代码、物料代码、版本号、时间戳和流水号,根据这些生成对应的key。
[0010]在一些实施例中,由key来关联BOM的父层与子层的关系,包括:当所有的节点数据都生成对应的key后,根据父子关系,按照parentKey
‑
subKey关系保存相关的数据信息。
[0011]本申请所提供的一种BOM树追溯历史层级的方法具有的有益效果包括但不限于:
[0012]本方法是在得到最新的BOM数据后,将BOM中的数据全部遍历一遍,与自身,以及系统数据库中已有的数据进行比对,从而判断当次BOM的数据变化情况。根据不同的变化情况,修改对应的节点数据。这样的好处是不用每次都保存相同的数据,浪费了空间。通过生
成的版本和key,来管理BOM的层级数据。可以快速、灵活、方便的查找到BOM的历史层级数据。
附图说明
[0013]图1为;一颗BOM树的简化版本。根节点为A,A节点下有两个子节点B和C,B节点下又有D、E、F,C节点下有G、H。
[0014]图2为;初始化BOM树节点的版本,按照既定的规则,分别初始化对应的版本。B节点为2,其余节点为1。
[0015]图3为;检查数据库已有数据版本,拿来与最新BOM树版本作比对。B节点下少了E节点,则B的版本号加1,版本号已变化,赋值为1,A节点下仍是B、C两个节点,且A属性没有变化,A的版本仍是1,没有变化,赋值为0。以此类推。
具体实施方式
[0016]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0017]相反,本申请涵盖任何由权利要求定义的在本申请的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本申请有更好的了解,在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。
[0018]以下将结合图1
‑
3对本申请实施例所涉及的一种BOM树追溯历史层级的方法进行详细说明。值得注意的是,以下实施例仅仅用于解释本申请,并不构成对本申请的限定。
[0019]如图1
‑
3所示,一种BOM树追溯历史层级的方法,包括:在每次导入BOM之前,首先计算BOM中每个节点的自身属性和子节点信息。自身属性,包含物料描述、版本号、单机用量、计量单位、图号、备注等诸多内容,在判断自身属性是否有变化时,需要去数据库中取出最新的节点信息,然后根据单机用量、图号来判断是否有变化,如果自身属性发生了变化,需要将本节点的版本号自动加1。如果自身属性没有变化,需要去判断该节点包含的子节点信息是否发生了变化。首先取出最新的所有的子节点数据,判断数量是否有增加或者减少,或者其中的某个物料被更改,被其它的物料所替代,如果有此类情况,该节点对应的版本号需要自动加1。但每次变化,版本号只加1,不重复累加。
[0020]辅助信息包含工厂代码、物料代码、版本号、时间戳和流水号,根据这些生成对应的key。当所有的节点数据都生成对应的key后,根据父子关系,按照parentKey
‑
subKey关系保存相关的数据信息。
[0021]这样在需要查找某个节点的BOM信息时,根据需要的历史版本,先计算该节点的key,再根据key查找关联的子节点信息。这样就容易追溯到历史层级了。这样比每次导入BOM时,都全部存储更加的省时,省空间,二次查找时也方便得多。
[0022]当有需要查找某个BOM节点曾经的历史数据时,首先要定位到该物料节点,然后根据该物料节点的版本去取回当时对应的历史数据。
[0023]具体的实例如下:
[0024]一、初始化
[0025]1.首先按照图一所示,初始化一颗BOM。
[0026]物料A下面有物料B和物料C,物料B下面有物料D、物料E、物料F,物料C下面有物料G、物料H。
[0027]2.生成物料的相关信息
[0028]按照工厂、物料代码、物料描述、版本号、单机用量、计量单位、图号、备注等信息存储物料相关信息。
[0029][0030]二、默认值
[0031]如图二,查询物料的相关信息,根据物料的信息初始化BOM节点的版本号,默认添加物料信息中原始的版本号。
[0032]三、检查节点的变化情况
[0033]如图三。
[0034]检查物料A节点的节点变化,物料A节点下面还是原来的物料B和物料C,因此版本号不变。如果子节点增多或者减少,则对应的父节点版本号加1。
[0035]依次递归检查物料B、物料C,重复循环,直到所有的节点遍历一遍为止。
[0036]版本号增加过的标识为1,没有变化的标识为0。
[0037]检查节点本身属性的变化情况。取BOM节点的单机用量与物料相关信息中的属性值互相比较本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种BOM树追溯历史层级的方法,其特征在于,包括:在每次导入BOM之前,计算BOM中每个节点的自身属性和子节点信息;判断自身属性是否有变化;如果自身属性发生了变化,需要将本节点的版本号自动加1;如果自身属性没有变化,需要去判断该节点包含的子节点信息是否发生了变化;版本号处理完毕后,再生成辅助信息key,由key来关联BOM的父层与子层的关系。2.根据权利要求1所述的一种BOM树追溯历史层级的方法,其特征在于,所述自身属性包含物料描述、版本号、单机用量、计量单位、图号、备注。3.根据权利要求1所述的一种BOM树追溯历史层级的方法,其特征在于,判断自身属性是否有变化,包括:去数据库中取出最新的节点信息,然后根据单机用量、图号来判断是否有变化。4.根据权利要求1所述的一种BOM树追...
【专利技术属性】
技术研发人员:原蒙,
申请(专利权)人:四川启睿克科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。