同HR組織同步,WF分為四個方面:
1. 人員
人員又分為三個動作:
1)人員的新增,要考慮其所屬部門,職位,群組是否存在
2)人員的基本資料的變更,其中最關鍵的是部門的改變,要註意的是此人是否會有案件存在
a. 當非部門變更時,可以直接變更
b. 當部門變更時,要考慮是否可以有案件,移動後的群組是什么,目標部門是否存在,是否有此職位,
3)人員的刪除(離職處理,因為HR系統中沒刪除的動作,只有失效),當做離職來處理
2. 部門
部門又分為三個動作:
1) 新增
2) 變更 變更除了代碼、父部門都可以直接變更
3) 刪除
3. 主管
主管又分為三個動作:
1) 新增 此人員是否存在,此人員是否兼職,目標部門是否有主管,是否要替代
2) 變更 此人員是否有待簽核的案件,此人員是否兼職,目標部門是否有主管,是否要替代
3) 刪除 此人員是否有待簽核的案件,是否兼職
4. 群組
此當時在開發此功能時,沒有在HR中實現,當前考慮可以設置一默認群組,來添加某一職位或人員時先加入此群組
5. 關於部門的層級,WF中與HR中所有的規則
6. 關於一些資位的問題
要註意的幾個問題:
1. HR中組織同WF組織節點是否一樣,WF組織以主管帶員工的方式建立的,若建立一樣的對HR報表是否會有不妥
2. HR系統中處理異動的方法是?當初在做時HR中是用記錄的方式,故用的是用JOBS定時去RUN
3. HR系統中的部門是否有層級之分,因為這樣的話就可以確定此部門的主管的層級(可以解決如課長帶部級部門的問題)
4. 以上所有的異動是否要在流程簽核後再異動
5. 當新增了這些人員後,是否要初始化一些數據如請假的天數,需進WF
6. 關於虛擬組織的建立與HR組織同步問題
(1)人員資料變更
1)人員所在單位非虛擬組無影響
2)人員所在單位是虛擬組織,人員資料更新時,若人員會移動到其祂單位,無影響,當人員資料要移動到虛擬組織下時,會不能移動,這時需要將到WF中維護其資料
(2)組織的移動
非虛擬組織的移動,
1)移動到其它部門時,無影響
2)當要重新移動回來時,要手動調整在WF中
(3)主管的移動
非虛擬組織無影響,虛擬組織要手工更新
以下7個PROCUDE為提供HR組織在組織與人員異動時調用,HR利用JOBS定時去對其異動記錄同WF做相關動作,註:HR同WF組織結構的變更非實時同步,有延遲的時間,這樣做對WF的組織也有一些影響,
1.如在同步後可能此帳號還沒有表單權限
2.如在同步後還可能出現主管等信息的不完整
3.這些要改進還要看PCEBG的HR系統的人事變更的做法是如何?
(一)關於人員同步(3個PROCEDURE)
在package GROUPSYNC_EMPLOYEE中
一、新增人員
ADDEMPLOYEE_FORHR(P_EMP_ID in VARCHAR2,P_DPT_ID in VARCHAR2,P_JOB_ID in VARCHAR2,P_EMP_CNAME in VARCHAR2,
P_EMP_ENAME in VARCHAR2,P_COM_POSITION in VARCHAR2,P_EMP_EMAIL in VARCHAR2,P_EMP_REPLACE in VARCHAR2,P_EMP_HIRE_DATE in VARCHAR2,P_USER VARCHAR2,ERRMSG out VARCHAR2)
參數說明:
輸入的參數:
P_EMP_ID,工號(字母為小寫)
P_DPT_ID人員所在單位代碼(字母為大寫)
P_JOB_ID管理職名稱(如經理)
P_EMP_CNAME中文名 P_EMP_ENAME 英文名可同中文名相同
P_COM_POSITION資位代碼如:001
P_EMP_EMAIL EMAIL地址 可為空
P_EMP_REPLACE 代理人,可為空
P_EMP_HIRE_DATE 進廠日期如(2006/11/01)
P_USER 添加人員工號(字母為小寫)
輸出參數:
ERRMSG 值1即人員工號已存在,值2帳號已存在,值3單位不存在,值4此人職位不存在且自動添加失敗,5當員工添加群組時有誤,為空添加成功
二、離職處理
HIRE_POSITION_TOHR(P_EMP_NO IN VARCHAR2,P_FIRE_DATE IN VARCHAR2,P_USER IN VARCHAR2,P_ERRMSG OUT VARCHAR2)
參數說明:
輸入的參數:
P_EMP_NO,工號(字母為小寫)
P_FIRE_DATE 離職日期
P_USER 更新人員工號(字母為小寫)
輸出參數:
P_ERRMSG 值1即人員不存在,為空添加成功
三、人員資料變更
EMP_MODINF_TOHR(P_EMP_NO IN VARCHAR2,P_DPT_ID in VARCHAR2,P_JOB_ID in VARCHAR2,P_EMP_CNAME in VARCHAR2,
P_EMP_ENAME in VARCHAR2,P_COM_POSITION in VARCHAR2,P_EMP_EMAIL in VARCHAR2,P_EMP_REPLACE in VARCHAR2,P_EMP_HIRE_DATE in VARCHAR2,
P_UP_USER IN VARCHAR2,P_ERRMSG OUT VARCHAR2)
參數說明:
輸入的參數:
P_EMP_NO,工號(字母為小寫)
P_DPT_ID人員所在單位代碼(字母為大寫)
P_JOB_ID管理職名稱(如經理)
P_EMP_CNAME 中文名 P_EMP_ENAME 英文名可同中文名相同
P_COM_POSITION 資位代碼如:001
P_EMP_EMAIL EMAIL地址 可為空
P_EMP_REPLACE 代理人,可為空
P_EMP_HIRE_DATE 進廠日期如(2006/11/01)
P_up_USER 更新人員工號(字母為小寫)
輸出參數:
P_ERRMSG 值1即人員不存在,值2單位不存在,值3此人更新後的職位不存在且自動添加失敗,,5當為些員工添加群組時有誤,為空添加成功
(二)關於組織主管同步PROC說明如下:(4個PROCEDURE)
在三個在package GROUPSYNC_DEPT中
最後一個在GROUPSYNC_MANAGER中
規則:先單位同步再主管同步,建義(1016):請先在做主管同步時先檢查其管屬部門是否要同步,但要註意同步的時間順序,即部門同步的時間要比主管同步的時間早,這時要先單位再主管
更改部分:1.將新增主管同主管異動的合為一個PROC 2.部門異動的去掉了參數O_PDPT_ID經測可以不要,只是在做記錄時用,已由PROC內來生成此值
一、新增部門
HRM_ADDDEPT(P_DPT_ID in VARCHAR2, PDPT_ID in VARCHAR2,P_DPT_NAME in VARCHAR2,P_DPT_LEVEL IN NUMBER,P_USER IN VARCHAR2,ERRMSG out VARCHAR2)
參數說明:
輸入的參數:
P_DPT_ID人員所在單位代碼(字母為大寫,不能大於9個字符),不能為空
PDPT_ID 父級單位代碼(字母為大寫) ,不能為空
P_DPT_NAME人員所在單位名稱,不能為空
P_DPT_LEVEL 單位層級,不能為空
P_USER 添加人員工號(字母為小寫),不能為空
輸出參數:
ERRMSG
值1即此單位代碼已存在,
值2父級單位不存在,
值3添加相應職位時失敗,值31添加相應子職位時失敗
值4相應職位已有單位占用,值5相應職位已有人占用,
值6為子公司不存在,請先添加,
值10為PROCEDURE程式出錯
值為空添加成功
二、部門異動
HRM_UPDATE_DEPT(P_DPT_ID IN VARCHAR2,P_DPT_NAME IN VARCHAR2,P_DPT_LEVEL IN NUMBER,N_PDPT_ID IN VARCHAR2,P_USER IN VARCHAR2,ERRMSG OUT VARCHAR2)
參數說明:
輸入的參數:
P_DPT_ID 所在單位代碼(字母為大寫,不能大於9個字符),不能為空
P_DPT_NAME 單位名稱不,不能為空
P_DPT_LEVEL 單位層級,不能為空
N_PDPT_ID 新父級單位代碼(字母為大寫,不能大於9個字符)
P_USER 更新人員工號(字母為小寫),不能為空
輸出參數:
ERRMSG
值0即,P_DPT_ID P_DPT_NAME P_DPT_LEVEL不能為空
值1即此單位不存在
值2即此新的父級單位不存在,
值3相應職位不存在
值10為PROCEDURE程式出錯
值為空添加成功
三、部門失效
HRM_DELDPT(P_DPT_ID IN VARCHAR2,P_USER IN VARCHAR2,ERRMSG OUT VARCHAR2)
參數說明:
輸入的參數:
P_DPT_ID 單位代碼(字母為大寫,不能大於9個字符),不能為空
P_USER 更新人員工號(字母為小寫),不能為空
輸出參數:
ERRMSG
值0即此單位不存在
值1即此單位存在子單位
值2即此單位存在人員,
值3即此單位主管有案件待簽核
值4即此刪除此部門相應職位失敗
值5即刪除此部門相應職位下的非子部門所對應的職位或此職位的兼職信息失敗
值6即刪除此部門相應職位下的非子部門所對應的職位失敗
值10為PROCEDURE程式出錯
值為空添加成功
四、主管異動(包括主管新增)
HRM_UPDATE_MANAGER(P_EMP_ID IN VARCHAR2,P_EMP_NAME IN VARCHAR2,P_HR_DPT_ID IN VARCHAR2,P_VALID_FLAG IN NUMBER,P_M_DPT_ID IN VARCHAR2,P_EMP_JOB in VARCHAR2,P_USER IN VARCHAR2,ERRMSG OUT VARCHAR2)
參數說明:
輸入的參數:
P_EMP_ID 主管工號(字母為小寫) ,不能為空
P_EMP_NAME 主管姓名,不能為空
P_HR_DPT_ID主管所在HR組織中的單位代碼(字母為大寫,不能大於9個字符),不能為空
P_M_DPT_ID主管所管理單位代碼(字母為大寫,不能大於9個字符),不能為空
P_VALID_FLAG 主管失效還是生效 失效為0,生效為1不能為空
P_EMP_JOB 主管管理職 不能為空(如:經理)
P_USER 更新人員工號(字母為小寫),不能為空
輸出參數:
ERRMSG
ERRMSG:=0;-- P_EMP_ID P_EMP_NAME P_HR_DPT_ID P_M_DPT_ID p_valid_flag這些參數不能為空
ERRMSG:=1;-- p_valid_flag只能為0或1
ERRMSG:=2;-- 主管所在HR組織中的單位不存在
ERRMSG:=3;---在添加上人員的職位時出錯
ERRMSG :=4;--此主管還有待簽核的案件在身,不能做變更
ERRMSG:=5;--此人不存在,不能做失效的動作!
ERRMSG:=6;-- 原部門主管更新失敗
ERRMSG:=7;-- 此人已是此部門主管
ERRMSG:=8;-- 主管所管理單位代碼
ERRMSG:=9;--- 原部門主管更新失敗
errmsg:=10; --PROCEDURE程式出錯
ERRMSG:=11;--傳入的部門ID同此人員WF中部門ID不一致
在package GROUPSYNC_RIGHT中
五:人員權限(包括權限開放和取消)
GROUPSYNC_GPEMP(P_EMP_ID IN VARCHAR2,P_EMP_GROUP IN VARCHAR2,P_GROUP_TYPE IN NUMBER,P_CREATE_USER IN NUMBER,ERRMSG OUT VARCHAR2)
參數説明:
P_EMP_ID 人員工號
P_EMP_GROUP WF群組名稱
P_GROUP_TYPE 操作類型(1為開放權限、0為取消權限)
P_CREATE_USER 操作人員工號
返回參數説明:
ERRMSG=0 參數不全
ERRMSG=1 操作類型不時1或0
ERRMSG=2 所傳WF群組名稱在WF資料庫中不存在
ERRMSG=3 人員資料還未建立
ERRMSG=4 該人員已經有權限,新增失敗
ERRMSG=5 該人員沒有此權限,刪除失敗
ERRMSG=6 執行程序出錯
ERRMSG=10 Procudure執行成功
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24537046/viewspace-672592/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24537046/viewspace-672592/