上一篇《開發(fā)平臺之權限設計》
背景
企業(yè)應用無論大小,必然有組織架構的功能剛需衅疙。小到公司只有10幾號人的單一組織,大到幾百上千的集團化公司的多組織集團架構鸳慈,系統(tǒng)應用的設計如何支撐著這種大小規(guī)模不同的組織架構呢饱溢?
設計而不接實際業(yè)務之氣,設計的再好仍是空談走芋。–王小七
需求
1绩郎、組織架構除了法人組織架構外,還需要業(yè)務型的架構翁逞±哒龋—多維度組織架構
2、集團發(fā)展迅猛挖函,組織架構調整頻繁状植,想看往年某個時間點的組織架構。—組織架構多版本追溯
3津畸、組織架構對業(yè)務數(shù)據(jù)有隔離作用振定。—組織架構的數(shù)據(jù)權限
4肉拓、某個部門需要領導人的概念后频。 —組織特權人
5、組織的崗位與系統(tǒng)權限會有所關聯(lián)暖途。 —崗位權限
6卑惜、除了領導人外,可能涵蓋了管轄的概念驻售〔腥啵—組織架構的數(shù)據(jù)權限
抽象與設計
核心UML
Unit
主要用來存放組織單元。
UnitType
主要用來存放組織單元類型芋浮,包含:集團抱环、公司、事業(yè)部等纸巷。
Dimension和DimensionUnit
組織維度镇草,主要用來區(qū)別組織所在的不同維度,不同的樹的展現(xiàn)形式瘤旨。
Position
主要存放組織崗位信息梯啤。
User
主要是用戶表。
核心邏輯
多維度組織架構
將組織架構的樹關系存放在DimensionUnit表中存哲,利用維度(Dimension)+維度組織關系(DimensionUnit)就可以成功構建不同的維度組織架構數(shù)因宇。
組織架構多版本追溯
維度組織關系表中存放兩個關鍵字段【組織生效時間】和【組織失效時間】,通過特定的時間范圍來檢索節(jié)點祟偷,找到那些節(jié)點的【生效時間】且【失效時間】不在這個區(qū)間氛圍察滑,從而可以獲取完整架構樹。
數(shù)據(jù)權限修肠、特權人贺辰、崗位權限
組織權限的內容,將移到權限設計來特別講解嵌施。