CREATE OR REPLACE PACKAGE BODY GROUPSYNC_RIGHT is
PROCEDURE MyProcedure(Param1 IN NUMBER) is
a varchar2(100);
begin
a:='ddd';
end MyProcedure;
PROCEDURE GROUPSYNC_GPEMP(P_EMP_ID IN VARCHAR2,P_EMP_GROUP IN VARCHAR2,P_GROUP_TYPE IN NUMBER,P_CREATE_USER IN VARCHAR2,ERRMSG OUT VARCHAR2)
IS
H_EMP_ID NUMBER;
H_EMP_TYPE NUMBER;
H_GROUP_ID NUMBER;
BEGIN
IF P_EMP_ID IS NULL OR P_EMP_GROUP IS NULL OR P_GROUP_TYPE IS NULL OR P_CREATE_USER IS NULL THEN
ERRMSG:=0;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,CREATE_USER,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,P_CREATE_USER,ERRMSG);
RETURN;
END IF;
IF P_GROUP_TYPE>1 OR P_GROUP_TYPE<0 THEN
ERRMSG:=1;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,CREATE_USER,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,P_CREATE_USER,ERRMSG);
RETURN;
END IF;
SELECT COUNT(*) INTO H_GROUP_ID FROM RF_GROUP WHERE TRIM(GP_ID)=P_EMP_GROUP;
IF H_GROUP_ID=1 THEN
IF P_GROUP_TYPE=1 THEN
SELECT COUNT(*) INTO H_EMP_ID FROM RF_EMPLOYEE WHERE TRIM(EMP_NTACCNT)=LOWER(P_EMP_ID);
IF H_EMP_ID=0 THEN
ERRMSG:=3;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,CREATE_USER,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,P_CREATE_USER,ERRMSG);
RETURN;
ELSE
SELECT COUNT(*) INTO H_EMP_TYPE FROM RF_GP_EMP WHERE TRIM(EMP_ID)=LOWER(P_EMP_ID) AND TRIM(GP_ID)=P_EMP_GROUP;
IF H_EMP_TYPE>0 THEN
ERRMSG:=4;
ELSE
INSERT INTO RF_GP_EMP(GP_ID,EMP_ID,MEMBER_TYPE,TYPE,EMP_NTACCNT)VALUES(P_EMP_GROUP,P_EMP_ID,4,4,P_EMP_ID);
ERRMSG:=10;
END IF;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,CREATE_USER,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,P_CREATE_USER,ERRMSG);
RETURN;
END IF;
END IF;
IF P_GROUP_TYPE=0 THEN
SELECT COUNT(*) INTO H_EMP_TYPE FROM RF_GP_EMP WHERE TRIM(EMP_ID)=LOWER(P_EMP_ID) AND TRIM(GP_ID)=P_EMP_GROUP;
IF H_EMP_TYPE<1 THEN
ERRMSG:=5;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,ERRMSG);
RETURN;
ELSE
DELETE RF_GP_EMP WHERE TRIM(EMP_ID)=LOWER(P_EMP_ID) AND TRIM(GP_ID)=P_EMP_GROUP;
ERRMSG:=10;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,ERRMSG);
RETURN;
END IF;
END IF;
ELSE
ERRMSG:=2;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,CREATE_USER,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,P_CREATE_USER,ERRMSG);
RETURN;
END IF;
EXCEPTION WHEN OTHERS THEN
ERRMSG:=6;
INSERT INTO UP_GROUP_GP_EMP_LOGTOHR(EMP_ID,GROUP_NAME,TOWF_TYPE,CREATE_USER,MAINT_USER,ERRMSG)VALUES(P_EMP_ID,P_EMP_GROUP,P_GROUP_TYPE,P_CREATE_USER,P_CREATE_USER,ERRMSG);
END GROUPSYNC_GPEMP;
end;
/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13538095/viewspace-211695/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13538095/viewspace-211695/