关于 ERPNext 的树形结构研究
最近对 ERPNext 上的树形结构做了一下研究, 这个本质是一个 层次遍历的算法实际应用.
实际的业务场景, 如下为 物料组的结构, 其中 所有的物料群组 为最顶级节点.
数据库的存储结构为:
其中 creation 已经做了倒序排列
第 2 个节点(产品展示)具体的演算逻辑:
初始根节点 lft = 1, rght =2 .
添加第一个节点 产品展示,
lft = 根节点的 rght 2 = 2
rght = 当前节点的 lft 2 + 1 = 3
更新根节点的 rght = 当前添加节点的 rght 3+1 = 4
特殊组 01 具体的演算逻辑:
特殊组 01 的 lft = 特殊组 的 rght 13
特殊组 01 的 rght = 特殊组 的 rght 13 + 1 = 14
更新特殊组 的 rght = 特殊组 01 的 rght 14 + 1 = 15
更新 根节点的 rght = 特殊组 的 rght 15 + 1 = 16
版权声明: 本文为 InfoQ 作者【麦兜】的原创文章。
原文链接:【http://xie.infoq.cn/article/4bba92e1e7bc891c0eb88e8df】。文章转载请联系作者。
评论