假如组织机构有以下层级节点:
【系统】>【小区】>【园区】>【楼栋】>【单元】>【楼层】>【套间】>【房间】>【床位】
现在遇到的问题,如下:
1.上面节点中除了【系统】节点固定不变,【房间】到【床位】节点 固定不变。 其他节点 不一定 存在,即可开启关闭的。例如现场组织机构节点可能是这样:
【系统】>【房间】>【床位】
【系统】>【小区】>【楼栋】>【房间】>【床位】
【系统】>【小区】>【楼栋】>【楼层】>【房间】>【床位】
等等。
2.每种节点 都有自己的 不同属性。
3.因为是组织机构,所以系统经常以树形展示。
我现在的设计:
通过在组织机构表加标识,标识出不同类型层级。
但感觉还不是很灵活,特别是在 要查出它下级,的具体表详情内容,就不太方便。
例如:一个查询 楼栋详情的接口,要带出该楼栋下 床位相关的列表以及详情,以及床位的关联外键表如【床位标签表】的
信息。
查询流程就是:【t_building】 关联查询到【t_structure】表,再查t_structure其对应下级床位节点,再关联到 【t_bed】表,以及查询出 床位标签【t_bedlabel】表信息。
有没有更灵活的设计思路啊,
我想直接通过 具体层级表 就可以查询出上下级,例如链表形式,但因为 层级顺序不固定,想不到办法。
追求的是最好能直接用 懒加载导航属性那样, 直接【点】 就可以查询出下级集合, 因为我很懒,不想手写这么多关联代码