1
|
|
2
|
-- Mapping AbpUserRoles -> TL_SYS_ROLE_MAPPING
|
3
|
ALTER PROCEDURE dbo.TL_SYS_ROLE_MAPPING_Sync
|
4
|
@p_TLNAME varchar(20) = NULL,
|
5
|
@p_USER_LOGIN varchar(20) = NULL
|
6
|
AS
|
7
|
--Validation is here
|
8
|
BEGIN TRANSACTION
|
9
|
DELETE TL_SYS_ROLE_MAPPING WHERE TLNAME = @p_TLNAME AND IS_MAIN = 0
|
10
|
INSERT INTO TL_SYS_ROLE_MAPPING (ROLE_OLD, ROLE_NEW, TLNAME, DEP_ID, BRANCH_ID, EFF_DATE, EXP_DATE, NOTES, AUTH_STATUS, RECORD_STATUS, MAKER_ID, CHECKER_ID, IS_MAIN)
|
11
|
SELECT A.RoleName,C.DisplayName,@p_TLNAME AS TLNAME,A.DEP_ID,A.TLSUBBRID, 'Jan 1 1900 12:00AM','Jan 1 2300 12:00AM','' AS NOTES,'A' AS AUTH_STATUS, 1 AS RECORD_STATUS,@p_USER_LOGIN AS MAKER_ID,@p_USER_LOGIN AS CHECKER_ID,0 AS IS_MAIN
|
12
|
FROM (SELECT ID,A.RoleName,A.TLSUBBRID,A.DEP_ID FROM TL_USER A WHERE TLNANME =@p_TLNAME) A
|
13
|
JOIN AbpUserRoles B ON B.UserId = A.ID
|
14
|
JOIN AbpRoles C ON C.Id=B.RoleId
|
15
|
-- WHERE C.DisplayName NOT IN (SELECT tsrm.ROLE_NEW FROM TL_SYS_ROLE_MAPPING tsrm WHERE tsrm.IS_MAIN=0 AND tsrm.TLNAME=@p_TLNAME)
|
16
|
IF @@Error <> 0 GOTO ABORT
|
17
|
|
18
|
COMMIT TRANSACTION
|
19
|
SELECT '0' as Result, '' ErrorDesc
|
20
|
RETURN '0'
|
21
|
ABORT:
|
22
|
BEGIN
|
23
|
ROLLBACK TRANSACTION
|
24
|
SELECT '-1' as Result, '' ErrorDesc
|
25
|
RETURN '-1'
|
26
|
END
|