羅惠恒 周容 李哲
摘要:該文首先就企業(yè)存在多套人員組織機構(gòu)基礎(chǔ)數(shù)據(jù)這一問題及其產(chǎn)生的原因進(jìn)行了概述和分析,進(jìn)而提出通過建設(shè)企業(yè)彈性人員組織機構(gòu)數(shù)據(jù)接口以根本解決上述問題,最后詳細(xì)論述了接口的設(shè)計和實現(xiàn)方法。
關(guān)鍵詞:人員組織機構(gòu);基礎(chǔ)數(shù)據(jù);數(shù)據(jù)接口
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)28-0006-02
1問題分析
1.1問題的描述
隨著國內(nèi)企業(yè)信息化建設(shè)的不斷深入,越來越多業(yè)務(wù)需求需要通過軟件系統(tǒng)實現(xiàn)。這些軟件系統(tǒng)在提高員工工作效率,提升企業(yè)管理水平的同時,由于企業(yè)信息化發(fā)展的整體規(guī)劃存在不足,導(dǎo)致企業(yè)軟件系統(tǒng)存在多套人員、組織機構(gòu)編碼,并且系統(tǒng)間的編碼不統(tǒng)一的問題。
1.2問題產(chǎn)生原因的分析
目前國內(nèi)企業(yè)軟件系統(tǒng)的建設(shè),基本上都是將不同的系統(tǒng),外包給不同的軟件產(chǎn)品開發(fā)商來實現(xiàn)。此種建設(shè)模式的優(yōu)點就是:針對每個業(yè)務(wù)系統(tǒng)的建設(shè),企業(yè)都能選擇最貼合自身實際需要的軟件產(chǎn)品。但是上述建設(shè)模式會導(dǎo)致企業(yè)通用功能模塊的重復(fù)建設(shè)。
由于人員組織機構(gòu)管理是每個軟件產(chǎn)品所必有的基礎(chǔ)功能模塊,不同的軟件產(chǎn)品開發(fā)商會根據(jù)其產(chǎn)品的特點,對人員組織機構(gòu)管理進(jìn)行不同的設(shè)計和開發(fā)。企業(yè)如果通過采購不同的軟件產(chǎn)品完成各個業(yè)務(wù)系統(tǒng)的建設(shè),就會導(dǎo)致每個業(yè)務(wù)系統(tǒng)都有其獨立的人員組織機構(gòu)管理模塊。這些功能模塊對于人員、組織機構(gòu)的管理沒有統(tǒng)一標(biāo)準(zhǔn)的模式,導(dǎo)致了企業(yè)人員、組織機構(gòu)等核心業(yè)務(wù)數(shù)據(jù)的冗余、錯誤及無法共享,從而使得系統(tǒng)間的業(yè)務(wù)鏈條無法打通。
1.3問題的解決思路
為避免企業(yè)軟件系統(tǒng)日后人員組織機構(gòu)管理功能模塊重復(fù)建設(shè),實現(xiàn)系統(tǒng)間人員、組織機構(gòu)等基礎(chǔ)數(shù)據(jù)共享,必須在對企業(yè)現(xiàn)有軟件系統(tǒng)進(jìn)行全面分析之上,首先確定人員、組織機構(gòu)等基礎(chǔ)數(shù)據(jù)來源的主軟件系統(tǒng)(主數(shù)據(jù)系統(tǒng));其次設(shè)計和開發(fā)出人員組織機構(gòu)數(shù)據(jù)接口,供其他軟件系統(tǒng)與主數(shù)據(jù)系統(tǒng)之間進(jìn)行數(shù)據(jù)的交互訪問。下文將主要對彈性人員組織數(shù)據(jù)接口的設(shè)計與實現(xiàn)進(jìn)行介紹。
2彈性人員組織機構(gòu)數(shù)據(jù)接口的設(shè)計與實現(xiàn)
2.1數(shù)據(jù)庫設(shè)計與實現(xiàn)
由于各個軟件系統(tǒng)對人員組織機構(gòu)管理的方式不同,導(dǎo)致在對人員、組織機構(gòu)等相關(guān)數(shù)據(jù)表的設(shè)計無法統(tǒng)一。
因此,彈性彈性人員組織機構(gòu)數(shù)據(jù)接口關(guān)于人員、組織機構(gòu)的表設(shè)計只能進(jìn)行高度的抽象,選擇任何系統(tǒng)都必須會用到的字段,基于主數(shù)據(jù)系統(tǒng),進(jìn)行數(shù)據(jù)視圖的設(shè)計。用戶組織機構(gòu)視圖具體設(shè)計如下:——以用戶表為主表,與組織機構(gòu)表進(jìn)行左連接
CREATE OR REPLACE VIEW USER_GROUP_VIEW
AS
SELECT
主數(shù)據(jù)系統(tǒng)人員表.人員ID||主系統(tǒng)人員表.人員編碼 AS ID,
主數(shù)據(jù)系統(tǒng)人員表.人員ID AS USER_ID,
主數(shù)據(jù)系統(tǒng)人員表.人員編碼 AS USER_CODE,
主數(shù)據(jù)系統(tǒng)人員表.人員姓名 AS USER_NAME,
主數(shù)據(jù)系統(tǒng)人員表.人員所屬組織ID AS GROUP_ID,
主數(shù)據(jù)系統(tǒng)組織機構(gòu)表.組織機構(gòu)編碼 AS GROUP_CODE,
主數(shù)據(jù)系統(tǒng)組織機構(gòu)表.組織機構(gòu)名稱 AS GROUP_NAME
FROM
主數(shù)據(jù)系統(tǒng)人員表
LEFT JOIN 主數(shù)據(jù)系統(tǒng)組織機構(gòu)表
ON 主數(shù)據(jù)系統(tǒng)人員表.人員所屬組織機構(gòu)ID = 主數(shù)據(jù)系統(tǒng)組織機構(gòu)表.組織機構(gòu)ID
2.2接口的設(shè)計與實現(xiàn)
此接口用來暴露給其他軟件系統(tǒng)使用人員組織機構(gòu)等基礎(chǔ)數(shù)據(jù)。具體設(shè)計如下:
public interface UserGroupMapper {
public int insert(UserGroup userGroup);
public int delete(String id);
/**
* 根據(jù)組織機構(gòu)ID查詢下屬人員信息
*
* @param userGroup
* 包含視圖名稱,組織機構(gòu)ID {viewName=viewName,
* groupIdColumn=groupId}
* @return 人員組織機構(gòu)信息列表
*/
public List
Map
/**
* 根據(jù)人員ID查詢所屬組織機構(gòu)信息
*
* @param userGroup
* 包含視圖名稱,人員ID {viewName=viewName,
* userIdColumn=userId}
* @return 人員組織機構(gòu)信息列表
*/
public List
Map
/**
* 根據(jù)人員ID和組織機構(gòu)ID查詢?nèi)藛T組織機構(gòu)信息
*
* @param userGroup
* 包含人員ID,組織機構(gòu)ID {viewName=viewName,
*userIdColumn=userId,groupIdColumn
* =groupId}
* @param groupId
*
* @return 人員組織機構(gòu)信息
*/
public Map
Map
/**
* 人員組織機構(gòu)多條件組合查詢
*
* @param userGroup
* 查詢條件,包含 {viewName=viewName,
* fields={fieldName1=fieldValue1, ...}}
* @return 人員組織機構(gòu)信息列表
*/
public List
Map
/**
* 人員組織機構(gòu)多條件組合查詢計數(shù)
*
* @param userGroup
* 查詢條件,包含 {viewName=viewName,
* fields={fieldName1=fieldValue1, ...}}
* @return 查詢計數(shù)
*/
int selectUserGroupCount(Map
/**
* 根據(jù)組織機構(gòu)ID查詢下屬人員信息<分頁>
*
* @param pageParam
* 分頁查詢條件
* @return 人員組織機構(gòu)信息列表
*/
public List
Map
/**
* 根據(jù)人員ID查詢所屬組織機構(gòu)信息<分頁>
*
* @param pageParam
* 分頁查詢條件
* @return 人員組織機構(gòu)信息列表
*/
public List
Map
/**
* 人員組織機構(gòu)多條件組合查詢<分頁>
*
* @param pageParam
* 分頁查詢條件
* @return 人員組織機構(gòu)信息列表
*/
public List
Map
/**
* 自定義SQL查詢
*
* @param sqlMap
* 自定義SQL包含:viewName, selectColumns, whereClause, orderClause
* @return 人員組織機構(gòu)信息列表
*/
public List
Map
/**
* 根據(jù)人員ID或組織ID列表查詢?nèi)藛T組織信息
*
* @param params
* @return
*/
public List
Map
}
3結(jié)束語
通過上述彈性人員組織機構(gòu)能實現(xiàn)企業(yè)多個軟件系統(tǒng)對人員、組織機構(gòu)等基礎(chǔ)數(shù)據(jù)共享,大大減少了基礎(chǔ)數(shù)據(jù)的冗余性和不一致性,增強了系統(tǒng)間的交互,為建立企業(yè)一體化的信息管理奠定了基礎(chǔ)。
參考文獻(xiàn):
[1] 黎宇. Ajax+J2EE開發(fā)靜態(tài)頁的組織機構(gòu)管理系統(tǒng)[J].電腦編程技巧與維護(hù),2010(5).