Project

General

Profile

new 1.SQL

Luc Tran Van, 06/16/2025 05:18 PM

 
1
ALTER PROCEDURE [dbo].[CM_EMPLOYEE_Sync]
2
@p_ACTION        varchar(15)  = NULL,
3
@p_CODE        varchar(15)  = NULL,
4
@p_NAME        nvarchar(500)  = NULL,
5
@p_BRANCH_CODE        varchar(15)  = NULL,
6
@p_DEP_CODE        varchar(15)  = NULL,
7
--- BO SUNG THEM MA CHUC DANH, TEN  CHUC DANH
8
@p_USER_DOMAIN VARCHAR(15) = NULL,
9
@p_MA_CHUC_DANH NVARCHAR(50) = NULL,
10
@p_TEN_CHUC_DANH NVARCHAR(500) = NULL
11
AS
12
--Validation is here
13
--04032024_secretkey: LUCTV - FIX LOI NGAY TẠO USER ĐANG LẤY 2021
14
DECLARE @ERRORSYS NVARCHAR(15) = '' 
15
DECLARE @p_BRANCH_NAME NVARCHAR(500) =''
16
DECLARE @p_BRANCH_TYPE NVARCHAR(50) =''
17
DECLARE @p_BRANCH_ID NVARCHAR(50) =''
18
DECLARE @p_DEP_ID NVARCHAR(50) =''
19
----LUCTV 18.04.2023 SET LẠI BRANCH CODE BẰNG 3 KÝ TỰ ĐẦU CỦA BRANCH CODE 18042023_secretkey
20
SET @p_BRANCH_CODE =(LEFT(@p_BRANCH_CODE,3))
21
IF(@p_BRANCH_CODE IN ('899','799','690')) --- LUCTV 05042024_SECRETKEY: HOTFIX ĐỐI VỚI NHỮNG BRANCH ẢO THÌ CHUYỂN VỀ 069
22
BEGIN
23
        SET @p_BRANCH_CODE ='069'
24
END
25
IF(@p_DEP_CODE LIKE 'HC%') --- LUCTV 26072023_SECRETKEY: HOTFIX ĐỐI VỚI NHỮNG PHÒNG BAN CÓ MÃ HC THÌ LIỆT KÊ VÀO PHÒNG HÀNH CHÍNH
26
BEGIN
27
        SET @p_DEP_CODE ='0690604'
28
END
29
SET @p_BRANCH_NAME = (SELECT TOP 1 A.BRANCH_NAME FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
30
SET @p_BRANCH_TYPE = (SELECT TOP 1 A.BRANCH_TYPE FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
31
SET @p_BRANCH_ID   = (SELECT TOP 1 A.BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
32
SET @p_DEP_ID      = (SELECT TOP 1 A.DEP_ID FROM CM_DEPARTMENT A WHERE A.DEP_CODE = @p_DEP_CODE AND A.BRANCH_ID =@p_BRANCH_ID)
33
---- END 
34
--- LUCTV BO SUNG NGAY 08 07 2020 18042023_secretkey
35
DECLARE @ROLE_ID VARCHAR(20) =''
36
SET @ROLE_ID =(SELECT TOP 1 ROLE_ID FROM CM_MAPPING_CHUCDANH_ROLE WHERE (MA_CHUC_DANH = @p_MA_CHUC_DANH AND TEN_CHUC_DANH =@p_TEN_CHUC_DANH) OR TEN_CHUC_DANH =@p_TEN_CHUC_DANH)
37
PRINT @ROLE_ID
38
DECLARE @EMAIL VARCHAR(50) =''
39
--SET @EMAIL =@p_USER_DOMAIN+'@vietcapitalbank.com.vn'--NGUYENTD 08072024_SECRETKEY: FIX MAIL MỚI KHI ĐỒNG BỘ
40
SET @EMAIL =@p_USER_DOMAIN+'@bvbank.net.vn'
41
DECLARE @l_TLID VARCHAR(15)
42
----END LUCTV BO SUNG 
43
IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN=@p_USER_DOMAIN))
44
BEGIN
45
        INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
46
        VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
47
END
48
BEGIN TRANSACTION
49
                IF(@p_ACTION ='I' OR @p_ACTION ='U')
50
                BEGIN
51
                        --KIEM TRA MA NHAN VIEN KHONG DUOC BO TRONG
52
                        IF (@p_CODE='' OR @p_CODE IS NULL)
53
                        BEGIN
54
                                ROLLBACK TRANSACTION
55
                                SELECT '-1' Result, ''  EMP_ID, N'Mã nhân viên không được bỏ trống' ErrorDesc
56
                                RETURN '-1'
57
                        END
58
                        --KIEM TRA TEN NHAN VIEN KHONG DUOC BO TRONG
59
                        IF (@p_NAME='' OR @p_NAME IS NULL)
60
                        BEGIN
61
                                ROLLBACK TRANSACTION
62
                                SELECT '-1' Result, ''  EMP_ID, N'Tên nhân viên không được bỏ trống' ErrorDesc
63
                                RETURN '-1'
64
                        END
65
                        --KIEM TRA DON VI NAY CO TON TAI HAY KHONG
66
                        IF (@p_BRANCH_CODE='' OR @p_BRANCH_CODE IS NULL)
67
                        BEGIN
68
                                ROLLBACK TRANSACTION
69
                                SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị không được bỏ trống' ErrorDesc
70
                                RETURN '-1'
71
                        END
72
                        ---------------------------------------------------------------------------------
73
                        --KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
74
                        IF (@p_DEP_CODE='' OR @p_DEP_CODE IS NULL)
75
                        BEGIN
76
                                ROLLBACK TRANSACTION
77
                                SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban không được bỏ trống' ErrorDesc
78
                                RETURN '-1'
79
                        END
80
                        ---------------------------------------------------------------------------------
81
                        ---LUCTV BO SUNG NGAY 08 07 2020
82
                        --KIEM TRA USER DOMAIN KHONG DUOC RONG
83
                        --IF (@p_USER_DOMAIN='' OR @p_USER_DOMAIN IS NULL)
84
                        --BEGIN
85
                        --        ROLLBACK TRANSACTION
86
                        --        SELECT '-1' Result, ''  EMP_ID, N'User domain không được để trống'  ErrorDesc
87
                        --        RETURN '-1'
88
                        --END
89
                        --KIEM TRA MA CHUC DANH KHAC RONG
90
                        IF (@p_MA_CHUC_DANH='' OR @p_MA_CHUC_DANH IS NULL)
91
                        BEGIN
92
                                ROLLBACK TRANSACTION
93
                                SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh không được để trống'  ErrorDesc
94
                                RETURN '-1'
95
                        END
96
                        --KIEM TRA TEN CHUC DANH KHAC RONG
97
                        IF (@p_TEN_CHUC_DANH='' OR @p_TEN_CHUC_DANH IS NULL)
98
                        BEGIN
99
                                ROLLBACK TRANSACTION
100
                                SELECT '-1' Result, ''  EMP_ID, N'Tên chức danh không được để trống'  ErrorDesc
101
                                RETURN '-1'
102
                        END
103
                        ----KIEM TRA TEN CHUC DANH CO TON TAI TRONG DANH SACH CHUC DANH VCCB CAP HAY KHONG
104
                        --IF (NOT EXISTS(SELECT * FROM CM_MAPPING_CHUCDANH_ROLE WHERE MA_CHUC_DANH =@p_MA_CHUC_DANH))
105
                        --BEGIN
106
                        --        ROLLBACK TRANSACTION
107
                        --        SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh này chưa tồn tại trong hệ thống'  ErrorDesc
108
                        --        RETURN '-1'
109
                        --END
110
                        ----KIEM TRA TEN CHUC DANH CO TON TAI TRONG DANH SACH CHUC DANH VCCB CAP HAY KHONG
111
                        --IF (NOT EXISTS(SELECT * FROM CM_MAPPING_CHUCDANH_ROLE WHERE TEN_CHUC_DANH =@p_TEN_CHUC_DANH))
112
                        --BEGIN
113
                        --        ROLLBACK TRANSACTION
114
                        --        SELECT '-1' Result, ''  EMP_ID, N'Tên chức danh này chưa tồn tại trong hệ thống'  ErrorDesc
115
                        --        RETURN '-1'
116
                        --END
117
                        -----------------------------------------------------------------------------------
118
                        --KIEM TRA ROLE NAY CO TON TAI HAY KHONG
119
                        IF (@ROLE_ID='' OR @ROLE_ID IS NULL)
120
                        BEGIN
121
                                IF(@p_BRANCH_CODE ='069')
122
                                BEGIN
123
                                        SET @ROLE_ID ='NVMS'
124
                                END
125
                                ELSE
126
                                BEGIN
127
                                        SET @ROLE_ID ='NVTT'
128
                                END
129
                                 -- 05032025_SECRETKEY : NGUYENTD SỬA MẶC ĐỊNH LÀ NVMS
130
                                --ROLLBACK TRANSACTION
131
                                --SELECT '-1' Result, ''  EMP_ID, N'Chưa có ROLE tương ứng cho chức danh có mã ' +@p_MA_CHUC_DANH  ErrorDesc
132
                                --RETURN '-1'
133
                        END
134
                        ---------------------------------------------------------------------------------
135
                END
136
                IF(@p_ACTION='I')
137
                BEGIN
138
                    -- INSERT NHAN VIEN NAY VAO BANG TAMP
139
                        IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN=@p_USER_DOMAIN))
140
                        BEGIN
141
                                INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
142
                                VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
143
                        END
144
                        --KIEM TRA NHAN VIEN NAY CO TON TAI HAY KHONG
145
                        IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE AND RECORD_STATUS ='1'))
146
                        BEGIN
147
                                SET @ERRORSYS = 'EMP-0001'
148
                                ROLLBACK TRANSACTION
149
                                SELECT '-1' Result, ''  EMP_ID, N'Mã nhân viên này đã tồn tại' ErrorDesc
150
                                RETURN '-1'
151
                        END
152
                        --KIEM TRA DON VI NAY CO TON TAI HAY KHONG
153
                        IF (NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_ID))
154
                        BEGIN
155
                                ROLLBACK TRANSACTION
156
                                SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị này không tồn tại' ErrorDesc
157
                                RETURN '-1'
158
                        END
159
                        ---------------------------------------------------------------------------------
160
                        --KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
161
                        IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE =@p_DEP_CODE))
162
                        BEGIN
163
                                ROLLBACK TRANSACTION
164
                                SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban: '+@p_DEP_CODE+ N' không tồn tại' ErrorDesc
165
                                RETURN '-1'
166
                        END
167
                        ---------------------------------------------------------------------------------
168
                        --KIEM TRA PHONG BAN CO THUOC VE DUNG DON VI CUA NO HAY KHONG
169
                        IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE BRANCH_ID =@p_BRANCH_ID AND DEP_ID=@p_DEP_ID))
170
                        BEGIN
171
                                ROLLBACK TRANSACTION
172
                                SELECT '-1' Result, ''  EMP_ID, N'Phòng ban có mã '+@p_DEP_CODE+ N' không thuộc về đơn vị '+@p_BRANCH_CODE ErrorDesc
173
                                RETURN '-1'
174
                        END
175
                        ---------------------------------------------------------------------------------
176
                        --LUCTV 09072020 BO SUNG KIEM TRA USER DOMAIN DA TON TAI
177
                        IF (EXISTS ( SELECT * FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN))
178
                        BEGIN
179
                                ROLLBACK TRANSACTION
180
                                SELECT '-1' Result, ''  EMP_ID, N'User domain: '+@p_USER_DOMAIN +N' đã tồn tại trong hệ thống'  ErrorDesc
181
                                RETURN '-1'
182
                        END
183
                        --LUCTV 09072020 BO SUNG KIEM TRA HO VA TEN DA TON TAI
184
                        --IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_NAME =@p_NAME))
185
                        --BEGIN
186
                        --        ROLLBACK TRANSACTION
187
                        --        SELECT '-1' Result, ''  EMP_ID, N'Tên nhân viên '+@p_NAME +N' đã tồn tại trong hệ thống'  ErrorDesc
188
                        --        RETURN '-1'
189
                        --END
190
                        --KIEM TRA ROLE CO HOP LE HAY KHONG
191
                        IF (NOT EXISTS ( SELECT * FROM TL_SYSROLE WHERE ROLE_ID =@ROLE_ID))
192
                        BEGIN
193
                                ROLLBACK TRANSACTION
194
                                SELECT '-1' Result, ''  EMP_ID, N'Role không tồn tại'+@ROLE_ID ErrorDesc
195
                                RETURN '-1'
196
                        END
197
                        IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE AND RECORD_STATUS ='1'))
198
                        BEGIN
199
                                DECLARE @l_EMP_ID VARCHAR(15)
200
                                EXEC SYS_CodeMasters_Gen 'CM_EMPLOYEE', @l_EMP_ID out                
201
                                IF @l_EMP_ID='' OR @l_EMP_ID IS NULL GOTO ABORT
202
                                print @l_EMP_ID
203
                                INSERT INTO CM_EMPLOYEE([EMP_ID],[EMP_CODE],[EMP_NAME],[BRANCH_ID],[DEP_ID],[NOTES],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT])
204
                                VALUES(@l_EMP_ID ,@p_CODE ,@p_NAME ,@p_BRANCH_ID ,@p_DEP_ID ,NULL ,'1' ,'A' ,NULL ,CONVERT(DATETIME, GETDATE(), 103) ,NULL ,CONVERT(DATETIME, GETDATE(), 103) )
205
                        END
206
                        ---- DONG BO XONG CM_EMPLOYEE THI DONG BO NGUOI DUNG LUON - LUCTV BO SUNG NGAY 08 07 2020
207
                        IF(@p_USER_DOMAIN IS NOT NULL AND @p_USER_DOMAIN <> '')
208
                        BEGIN
209
                                --EXEC [TL_USER_Sync] 'I',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
210
                        EXEC SYS_CodeMasters_Gen 'TL_USER', @l_TLID out
211
                        IF @l_TLID='' OR @l_TLID IS NULL GOTO ABORT
212
                        --INSERT INTO TL_USER([TLID],[TLNANME],[Password],[TLFullName],[TLSUBBRID],[BRANCH_NAME],[BRANCH_TYPE],[RoleName],[EMAIL],[ADDRESS],[PHONE],[AUTH_STATUS],[MARKER_ID],[AUTH_ID],[APPROVE_DT],[ISAPPROVE],[Birthday],[ISFIRSTTIME],[SECUR_CODE],DEP_ID,[CreationTime],[IsActive])
213
                        --VALUES(@L_TLID ,@p_USER_DOMAIN ,'d41d8cd98f00b204e9800998ecf8427e' ,@p_NAME ,@p_BRANCH_ID ,@p_BRANCH_NAME ,@p_BRANCH_TYPE ,@ROLE_ID ,@EMAIL ,NULL ,NULL ,'A' ,NULL ,NULL ,CONVERT(DATETIME, GETDATE(), 103) ,NULL ,NULL ,NULL ,@p_DEP_ID,@p_DEP_ID,CONVERT(DATETIME, GETDATE(),103),1)
214

    
215
                        INSERT INTO [TL_USER] ([TLID],[TLNANME],[Password],[TLFullName],[TLSUBBRID],[BRANCH_NAME],[BRANCH_TYPE],[RoleName],[EMAIL],[ADDRESS],[PHONE],[AUTH_STATUS],[MARKER_ID],[AUTH_ID],[APPROVE_DT],[ISAPPROVE],[Birthday],[ISFIRSTTIME],[SECUR_CODE],[AccessFailedCount],[AuthenticationSource],[ConcurrencyStamp],[CreatorUserId],[DeleterUserId],[EmailAddress],[EmailConfirmationCode],[IsActive],[IsDeleted],[IsEmailConfirmed],[IsLockoutEnabled],[IsPhoneNumberConfirmed],[IsTwoFactorEnabled],[LastModifierUserId],[LockoutEndDateUtc],[Name],[NormalizedEmailAddress],[NormalizedUserName],[PasswordResetCode],[PhoneNumber],[ProfilePictureId],[SecurityStamp],[ShouldChangePasswordOnNextLogin],[Surname],[TenantId],[SignInToken],[SignInTokenExpireTimeUtc],[GoogleAuthenticatorKey],[SendActivationEmail],[DEP_ID],[CreationTime],[UamFullName],[UamEmployeeId],[UamCompanyCode],[UamWfDataId],[UamCompanyName],[UamJobTitle],IsBlockUserMobile)
216
                        VALUES(@L_TLID,@p_USER_DOMAIN,N'd41d8cd98f00b204e9800998ecf8427e',@p_NAME,@p_BRANCH_ID,@p_BRANCH_NAME,@p_BRANCH_TYPE,@ROLE_ID,@EMAIL,N'',N'',N'A',N'tscd_hoiso',NULL,CONVERT(DATETIME, GETDATE(), 103),N'1',N'Jan  1 1900 12:00AM',N'1',@p_DEP_ID,0,NULL,N'1360eb6c-4581-4870-aaf7-a2986428b91d',NULL,NULL,@EMAIL,NULL,1,0,1,0,1,0,810,NULL,NULL,UPPER(@EMAIL),UPPER(@p_USER_DOMAIN),NULL,NULL,NULL,N'QSTE4B7VTYWRQON4JZTJST6QN4PEVVLB',1,NULL,1,NULL,NULL,NULL,0,@p_DEP_ID,GETDATE(),NULL,NULL,NULL,NULL,NULL,NULL,0)
217

    
218
                        --- INSERT VAO BANG TL_USER_V2
219
                        IF(NOT EXISTS(SELECT * FROM TL_USER_V2 WHERE TLNANME =@p_USER_DOMAIN))
220
                        BEGIN
221
                                INSERT INTO TL_USER_V2 (TLID,TLNANME,RoleName,TLFullName,TLSUBBRID,SECUR_CODE) VALUES (@l_TLID,@p_USER_DOMAIN,@ROLE_ID,@p_NAME,@p_BRANCH_ID,@p_DEP_ID)
222
                        END
223
                        --INSERT VAO BAN AbpUserRoles
224

    
225
                        INSERT INTO [dbo].[AbpUserRoles] ([CreationTime],[CreatorUserId],[RoleId],[TenantId],[UserId])
226
                        VALUES
227
                                           (GETDATE()
228
                                           ,NULL
229
                                           ,(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID)
230
                                           ,1
231
                                           ,(SELECT ID FROM TL_USER WHERE TLID=@l_TLID))
232
                        -- insert vao bang 
233
                        UPDATE TL_USER SET ROLENAME ='GDV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giao dịch viên' and branch_code <> '069') 
234
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
235
                        UPDATE TL_USER SET ROLENAME ='KSV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Kiểm soát viên' and branch_code <> '069') 
236
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
237
                        UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc chi nhánh' and branch_code <> '069') 
238
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
239
                        UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc chi nhánh' and branch_code <> '069') 
240
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
241
                        UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Trưởng phòng giao dịch' and branch_code <> '069') 
242
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
243
                        UPDATE TL_USER SET ROLENAME ='PPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó phòng giao dịch' and branch_code <> '069')
244
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
245
                        UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc trung tâm kinh doanh') 
246
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
247
                        UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc TTKD')
248
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
249
                        UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc TTKD') 
250
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
251
                        UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc trung tâm kinh doanh') 
252
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
253
                        UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc chi nhánh' and branch_code <> '069')
254
                        AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
255
                        --UPDATE TL_USER SET ROLENAME ='PP' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'%Phó phòng%' and branch_code = '069' AND DEP_CODE <> '0690802') AND ROLENAME <> 'DISABLE'
256
                        --UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'%Trưởng phòng%' and branch_code = '069' AND DEP_CODE <> '0690802') AND ROLENAME <> 'DISABLE'
257
                        END
258
                END
259
                ELSE IF(@p_ACTION='U')
260
                BEGIN
261
                        IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@p_USER_DOMAIN))
262
                        BEGIN
263
                                INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
264
                                VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
265
                        END
266
                        ELSE
267
                        BEGIN
268
                                UPDATE CM_EMPLOYEE_LOG SET POS_CODE=@p_MA_CHUC_DANH,POS_NAME = @p_TEN_CHUC_DANH, DEP_CODE =@p_DEP_CODE, BRANCH_CODE =@p_BRANCH_CODE, CREATE_DT = GETDATE() WHERE USER_DOMAIN =@p_USER_DOMAIN
269
                        END
270
                        DECLARE @EMP_ID VARCHAR(15)
271
                        SET @EMP_ID =(SELECT EMP_ID FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE)
272
                        --KIEM TRA MA NHAN VIEN CO TON TAI HAY KHONG
273
                        IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE = @p_CODE AND RECORD_STATUS ='1'))         
274
                        BEGIN
275
                                DECLARE @l_EMP_ID_U VARCHAR(15)
276
                                EXEC SYS_CodeMasters_Gen 'CM_EMPLOYEE', @l_EMP_ID_U out                
277
                                IF @l_EMP_ID_U='' OR @l_EMP_ID_U IS NULL GOTO ABORT
278
                                INSERT INTO CM_EMPLOYEE([EMP_ID],[EMP_CODE],[EMP_NAME],[BRANCH_ID],[DEP_ID],[NOTES],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT])
279
                                VALUES(@l_EMP_ID_U ,@p_CODE ,@p_NAME ,@p_BRANCH_ID ,@p_DEP_ID ,NULL ,'1' ,'A' ,NULL ,CONVERT(DATETIME, GETDATE(), 103) ,NULL ,CONVERT(DATETIME, GETDATE(), 103) )
280
                        END
281
                        --KIEM TRA XEM CUNG MA CODE DO CO BI TRUNG VOI NHUNG NHAN VIEN KHAC HAY KHONG
282
                        IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE = @p_CODE AND EMP_ID <> @EMP_ID AND RECORD_STATUS ='1'))         
283
                        BEGIN
284
                                SET @ERRORSYS = 'EMP-0001'
285
                                ROLLBACK TRANSACTION
286
                                SELECT ErrorCode Result, ''  EMP_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
287
                                RETURN '-1'
288
                        END        
289
                        IF(NOT EXISTS(SELECT * FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN))
290
                        BEGIN
291
                                IF(@p_USER_DOMAIN IS NOT NULL AND @p_USER_DOMAIN <> '')
292
                                BEGIN
293
                                        --EXEC [TL_USER_Sync] 'I',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
294
                                        EXEC SYS_CodeMasters_Gen 'TL_USER', @l_TLID out
295
                                        IF @l_TLID='' OR @l_TLID IS NULL GOTO ABORT
296

    
297
                                        INSERT INTO [TL_USER] ([TLID],[TLNANME],[Password],[TLFullName],[TLSUBBRID],[BRANCH_NAME],[BRANCH_TYPE],[RoleName],[EMAIL],[ADDRESS],[PHONE],[AUTH_STATUS],[MARKER_ID],[AUTH_ID],[APPROVE_DT],[ISAPPROVE],[Birthday],[ISFIRSTTIME],[SECUR_CODE],[AccessFailedCount],[AuthenticationSource],[ConcurrencyStamp],[CreatorUserId],[DeleterUserId],[EmailAddress],[EmailConfirmationCode],[IsActive],[IsDeleted],[IsEmailConfirmed],[IsLockoutEnabled],[IsPhoneNumberConfirmed],[IsTwoFactorEnabled],[LastModifierUserId],[LockoutEndDateUtc],[Name],[NormalizedEmailAddress],[NormalizedUserName],[PasswordResetCode],[PhoneNumber],[ProfilePictureId],[SecurityStamp],[ShouldChangePasswordOnNextLogin],[Surname],[TenantId],[SignInToken],[SignInTokenExpireTimeUtc],[GoogleAuthenticatorKey],[SendActivationEmail],[DEP_ID],[CreationTime],[UamFullName],[UamEmployeeId],[UamCompanyCode],[UamWfDataId],[UamCompanyName],[UamJobTitle],[IsBlockUserMobile])
298
                                        VALUES(@L_TLID,@p_USER_DOMAIN,N'd41d8cd98f00b204e9800998ecf8427e',@p_NAME,@p_BRANCH_ID,@p_BRANCH_NAME,@p_BRANCH_TYPE,@ROLE_ID,@EMAIL,N'',N'',N'A',N'tscd_hoiso',NULL,CONVERT(DATETIME, GETDATE(), 103),N'1',N'Jan  1 1900 12:00AM',N'1',@p_DEP_ID,0,NULL,N'1360eb6c-4581-4870-aaf7-a2986428b91d',NULL,NULL,@EMAIL,NULL,1,0,1,0,1,0,810,NULL,NULL,UPPER(@EMAIL),UPPER(@p_USER_DOMAIN),NULL,NULL,NULL,N'QSTE4B7VTYWRQON4JZTJST6QN4PEVVLB',1,NULL,1,NULL,NULL,NULL,0,@p_DEP_ID,GETDATE(),NULL,NULL,NULL,NULL,NULL,NULL,0)
299

    
300
                                        --INSERT INTO TL_USER([TLID],[TLNANME],[Password],[TLFullName],[TLSUBBRID],[BRANCH_NAME],[BRANCH_TYPE],[RoleName],[EMAIL],[ADDRESS],[PHONE],[AUTH_STATUS],[MARKER_ID],[AUTH_ID],[APPROVE_DT],[ISAPPROVE],[Birthday],[ISFIRSTTIME],[SECUR_CODE],[CreationTime],[IsActive])
301
                                        --VALUES(@L_TLID ,@p_USER_DOMAIN ,'d41d8cd98f00b204e9800998ecf8427e' ,@p_NAME ,@p_BRANCH_ID ,@p_BRANCH_NAME ,@p_BRANCH_TYPE ,@ROLE_ID ,@EMAIL ,NULL ,NULL ,'A' ,NULL ,NULL ,CONVERT(DATETIME, GETDATE(), 103) ,NULL ,NULL ,NULL ,@p_DEP_ID,GETDATE(),1)
302
                                        --- INSERT VAO BANG TL_USER_V2
303
                                        IF(NOT EXISTS(SELECT * FROM TL_USER_V2 WHERE TLNANME =@p_USER_DOMAIN))
304
                                        BEGIN
305
                                                INSERT INTO TL_USER_V2 (TLID,TLNANME,RoleName,TLFullName,TLSUBBRID,SECUR_CODE) VALUES (@l_TLID,@p_USER_DOMAIN,@ROLE_ID,@p_NAME,@p_BRANCH_ID,@p_DEP_ID)
306
                                        END
307
                                END
308
                        END
309
                        ELSE
310
                        BEGIN
311
                                UPDATE TL_USER SET [TLFullName] = @p_NAME,[TLSUBBRID] =@p_BRANCH_ID,[BRANCH_NAME]=@p_BRANCH_NAME,[BRANCH_TYPE]=@p_BRANCH_TYPE,[RoleName]=@ROLE_ID,[DEP_ID]=@p_DEP_ID,[SECUR_CODE]=@p_DEP_ID,IsActive=1 
312
                                WHERE TLNANME = @p_USER_DOMAIN
313
                                AND (RoleName NOT IN ('PGDK','GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT')
314
                OR NOT EXISTS(SELECT 1 FROM AbpUserRoles aur JOIN AbpRoles ar ON aur.RoleId = ar.Id JOIN TL_USER tu ON (tu.ID = aur.UserId AND tu.TLNANME=@p_USER_DOMAIN)
315
                                                WHERE ar.DisplayName IN ('PGDK','GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT')))
316

    
317
                                SET @l_TLID =(SELECT TLID FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN)
318
                        END
319
                        IF(NOT EXISTS (SELECT * FROM AbpUserRoles WHERE UserId=(SELECT ID FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN)
320
      --(SELECT ID FROM TL_USER WHERE TLID=@l_TLID)
321
      AND RoleId=(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID) ))
322
                        BEGIN
323
                                INSERT INTO [dbo].[AbpUserRoles] ([CreationTime],[CreatorUserId],[RoleId],[TenantId],[UserId])
324
                                VALUES
325
                                           (GETDATE()
326
                                           ,NULL
327
                                           ,(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID)
328
                                           ,1
329
             ,(SELECT ID FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN))
330
                                           --,(SELECT ID FROM TL_USER WHERE TLID=@l_TLID))
331
                        END
332
                        ---------------------------------------------------------------------------------
333
                        --KIEM TRA DON VI NAY CO TON TAI HAY KHONG
334
                        IF (NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_ID))
335
                        BEGIN
336
                                ROLLBACK TRANSACTION
337
                                SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị này không tồn tại' ErrorDesc
338
                                RETURN '-1'
339
                        END
340
                        --KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
341
                        IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE =@p_DEP_CODE))
342
                        BEGIN
343
                                ROLLBACK TRANSACTION
344
                                SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban này không tồn tại' ErrorDesc
345
                                RETURN '-1'
346
                        END
347
                        ---------------------------------------------------------------------------------
348
                        --KIEM TRA PHONG BAN CO THUOC VE DUNG DON VI CUA NO HAY KHONG
349
                        IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE BRANCH_ID =@p_BRANCH_ID AND DEP_ID =@p_DEP_ID))
350
                        BEGIN
351
                                ROLLBACK TRANSACTION
352
                                SELECT '-1' Result, ''  EMP_ID, N'Phòng ban có mã '+@p_DEP_CODE+ N' không thuộc về đơn vị '+@p_BRANCH_CODE ErrorDesc
353
                                RETURN '-1'
354
                        END
355
                        ---------------------------------------------------------------------------------
356

    
357
                                UPDATE CM_EMPLOYEE 
358
                                SET [EMP_CODE] = @p_CODE,
359
                                [EMP_NAME] = @p_NAME,
360
                                [BRANCH_ID] = @p_BRANCH_ID,
361
                                [DEP_ID] = @p_DEP_ID, AUTH_STATUS ='A', RECORD_STATUS ='1'
362
                                WHERE  EMP_CODE= @p_CODE
363
                                --
364
                                --SET @p_BRANCH_NAME = (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_CODE)
365
                                UPDATE TL_USER SET 
366
                                [TLSUBBRID] = @p_BRANCH_ID,
367
                                [BRANCH_NAME] = @p_BRANCH_NAME,
368
                                [BRANCH_TYPE] = @p_BRANCH_TYPE,
369
                                AUTH_STATUS ='A',
370
                                --TLNANME = @p_USER_DOMAIN,
371
                                --RoleName=@p_ROLE,
372
                                EMAIL=@EMAIL,
373
                                TLFullName =@p_NAME,
374
                                SECUR_CODE=@p_DEP_ID,
375
                                 DEP_ID=@p_DEP_ID,
376
                                 CreationTime = GETDATE()
377
                                WHERE  TLNANME= @p_USER_DOMAIN 
378
                                AND (RoleName NOT IN ('PGDK','GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT')
379
                OR NOT EXISTS(SELECT 1 FROM AbpUserRoles aur JOIN AbpRoles ar ON aur.RoleId = ar.Id JOIN TL_USER tu ON (tu.ID = aur.UserId AND tu.TLNANME=@p_USER_DOMAIN) 
380
                                WHERE ar.DisplayName IN ('PGDK','GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT')))
381

    
382

    
383
                                UPDATE TL_USER SET RoleName ='NVMS' WHERE TLNANME= @p_USER_DOMAIN AND RoleName ='DISABLE'
384

    
385

    
386
--                                UPDATE AbpUserRoles SET RoleId=(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID)
387
--                                WHERE UserId=((SELECT ID FROM TL_USER WHERE TLNANME= @p_USER_DOMAIN AND RoleName NOT IN ('PGDK','GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT')) )
388

    
389
        -- PHONGNT 7/12/2022 KTRA CHUA TỒN TẠI AbpUserRoles sẽ được thêm mới 
390
        IF(NOT EXISTS (SELECT 1 FROM AbpUserRoles WHERE UserId=(SELECT ID FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN)
391
          AND RoleId=(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID) ) AND @ROLE_ID NOT IN ('PGDK','GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT'))
392
                            BEGIN
393
                                    INSERT INTO [dbo].[AbpUserRoles] ([CreationTime],[CreatorUserId],[RoleId],[TenantId],[UserId])
394
                                    VALUES
395
                                               (GETDATE()
396
                                               ,NULL
397
                                               ,(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID)
398
                                               ,1
399
                 ,(SELECT ID FROM TL_USER WHERE TLNANME=@p_USER_DOMAIN))
400
                            END
401
                                ---
402
                                IF @@Error <> 0 GOTO ABORT        
403
                                ---- DONG BO XONG CM_EMPLOYEE THI DONG BO NGUOI DUNG LUON - LUCTV BO SUNG NGAY 08 07 2020
404
                                --EXEC [TL_USER_Sync] 'U',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
405
                                ---  END LUCTV
406
                                UPDATE TL_USER SET ROLENAME ='GDV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giao dịch viên' and branch_code <> '069') 
407
                                AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
408
                                UPDATE TL_USER SET ROLENAME ='KSV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Kiểm soát viên' and branch_code <> '069') 
409
                                AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
410
                                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc chi nhánh' and branch_code <> '069')
411
                                AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
412
                                UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc chi nhánh' and branch_code <> '069') 
413
                                AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
414
                                UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Trưởng phòng giao dịch' and branch_code <> '069')
415
                                AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
416
                                UPDATE TL_USER SET ROLENAME ='PPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó phòng giao dịch' and branch_code <> '069')
417
                                AND ROLENAME <> 'DISABLE' AND TLNANME =@p_USER_DOMAIN
418
                                --UPDATE TL_USER SET ROLENAME ='PP' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'%Phó phòng%' and branch_code = '069' AND DEP_CODE <> '0690802') AND ROLENAME <> 'DISABLE'
419
                                --UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'%Trưởng phòng%' and branch_code = '069' AND DEP_CODE <> '0690802') AND ROLENAME <> 'DISABLE'
420

    
421
                END
422
                ELSE IF(@p_ACTION='D')
423
                BEGIN
424
                        --KIEM TRA XEM MA NHAN VIEN CO TON TAI HAY KHONG
425
                        IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE  EMP_CODE= @p_CODE))
426
                        BEGIN
427
                                ROLLBACK TRANSACTION
428
                                SELECT '-1' Result, N'Mã nhân viên không tồn tại' ErrorDesc
429
                                RETURN '-1'
430
                        END
431
                        BEGIN
432
                        IF( (SELECT AUTH_STATUS FROM CM_EMPLOYEE WHERE  EMP_CODE= @p_CODE) = 'A')
433
                        BEGIN
434
                                UPDATE CM_EMPLOYEE SET RECORD_STATUS = '0' WHERE EMP_CODE=@p_CODE
435
                                IF @@Error <> 0 GOTO ABORT
436
                        END
437
                        ELSE
438
                        BEGIN
439
                                Delete FROM CM_EMPLOYEE WHERE  EMP_ID= @p_CODE
440
                                IF @@Error <> 0 GOTO ABORT
441
                        END
442
                        END
443
                        -- DUA NHAN VIEN VE DISABLE
444
                        UPDATE TL_USER SET AUTH_STATUS ='U', RoleName ='DISABLE' WHERE TLNANME =@p_USER_DOMAIN
445
                        UPDATE TL_SYS_ROLE_MAPPING SET EFF_DATE= CONVERT(DATETIME,'1-1-2000',103) ,EXP_DATE=CONVERT(DATETIME,'1-1-2000',103) WHERE TLNAME = @p_USER_DOMAIN
446
                        ---LUCTV 22052023_SECRETKEY NHÂN VIÊN ĐÓ NGHĨ VIỆC THÌ GỠ HẾT ROLE CŨ RA VÀ CHỈ CÒN DUY NHẤT ROLE DISABLE
447
                        DELETE AbpUserRoles WHERE UserId= (SELECT ISNULL(ID,'') FROM TL_USER WHERE TLNANME=@p_USER_DOMAIN)
448
                END
449
                --- BẮT ĐẦU CHẠY LỆNH QUÉT CÁC ROLE
450
                UPDATE TL_USER SET ROLENAME ='GDV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giao dịch viên' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
451
                AND TLNANME =@p_USER_DOMAIN
452
                UPDATE TL_USER SET ROLENAME ='KSV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Kiểm soát viên' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
453
                AND TLNANME =@p_USER_DOMAIN
454
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc chi nhánh' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
455
                AND TLNANME =@p_USER_DOMAIN
456
                UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc chi nhánh' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
457
                AND TLNANME =@p_USER_DOMAIN
458
                UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Trưởng phòng giao dịch' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
459
                AND TLNANME =@p_USER_DOMAIN
460
                UPDATE TL_USER SET ROLENAME ='PPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó phòng giao dịch' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
461
                AND TLNANME =@p_USER_DOMAIN
462
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc trung tâm kinh doanh') AND ROLENAME <> 'DISABLE'
463
                AND TLNANME =@p_USER_DOMAIN
464
                UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc trung tâm kinh doanh') AND ROLENAME <> 'DISABLE'
465
                AND TLNANME =@p_USER_DOMAIN
466
                UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Phó giám đốc TTKD') AND ROLENAME <> 'DISABLE'
467
                AND TLNANME =@p_USER_DOMAIN
468
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc TTKD') AND ROLENAME <> 'DISABLE'
469
                AND TLNANME =@p_USER_DOMAIN
470
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Giám đốc chi nhánh%' and branch_code <> '069')
471
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
472
                UPDATE TL_USER SET ROLENAME ='PGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Phó giám đốc chi nhánh%' and branch_code <> '069') 
473
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
474
                UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng giao dịch%' and branch_code <> '069') 
475
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
476
                UPDATE TL_USER SET ROLENAME ='PPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Phó phòng giao dịch%' and branch_code <> '069') 
477
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
478
                UPDATE TL_USER SET ROLENAME ='NVMS' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng%' and branch_code <> '069')
479
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' AND TLNANME =@p_USER_DOMAIN
480
                UPDATE TL_USER SET ROLENAME ='NVMS' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Phó phòng%' and branch_code <> '069') 
481
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' AND TLNANME =@p_USER_DOMAIN--2021824
482
                UPDATE TL_USER SET ROLENAME ='KSV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng dịch vụ khách hàng' and branch_code <> '069') 
483
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
484
                UPDATE TL_USER SET ROLENAME ='KSV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Phó phòng dịch vụ khách hàng' and branch_code <> '069') 
485
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
486
                UPDATE TL_USER SET ROLENAME ='KSV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng DVKH' and branch_code <> '069')
487
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
488
                UPDATE TL_USER SET ROLENAME ='KSV_DVKD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Phó phòng DVKH' and branch_code <> '069') 
489
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND TLNANME =@p_USER_DOMAIN
490
                UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='PP' AND TLSUBBRID <>'DV0001' AND TLNANME =@p_USER_DOMAIN AND ROLENAME <> 'DISABLE'
491
                UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='TP' AND TLSUBBRID <>'DV0001' AND TLNANME =@p_USER_DOMAIN AND ROLENAME <> 'DISABLE'
492
                UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='TPGD' AND TLSUBBRID = 'DV0001' AND TLNANME =@p_USER_DOMAIN AND ROLENAME <> 'DISABLE'
493
                UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='KSV' AND SECUR_CODE <>'DEP000000000022' AND TLNANME =@p_USER_DOMAIN AND ROLENAME <> 'DISABLE'
494
                UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='GDV' AND SECUR_CODE <>'DEP000000000022' AND TLNANME =@p_USER_DOMAIN AND ROLENAME <> 'DISABLE'
495
                UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng SMES%' and branch_code <> '069') 
496
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='PGD' AND TLNANME =@p_USER_DOMAIN
497
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng SMES%' and branch_code <> '069')
498
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' AND TLNANME =@p_USER_DOMAIN
499
                UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng QHKH SMES%' and branch_code <> '069') 
500
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='PGD' AND TLNANME =@p_USER_DOMAIN
501
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng QHKH SMES%' and branch_code <> '069') 
502
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' AND TLNANME =@p_USER_DOMAIN
503
                UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng SMES%' and branch_code <> '069') 
504
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='PGD' AND TLNANME =@p_USER_DOMAIN
505
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng SMES%' and branch_code <> '069')
506
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' AND TLNANME =@p_USER_DOMAIN
507
                ----LUCTV.12052023_SECRETKEY - FIX ĐỐI VỚI KSV PHÒNG KẾ TOÁN ƯU TIÊN ROLENAME ='KSV'
508
                UPDATE TL_USER SET RoleName ='KSV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng bộ phận%' and branch_code = '069') 
509
                AND SECUR_CODE ='DEP000000000022' AND ROLENAME <> 'DISABLE'
510
                UPDATE TL_USER SET RoleName ='KSV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng%' and branch_code = '069') AND SECUR_CODE ='DEP000000000022' AND ROLENAME <> 'DISABLE'
511
                UPDATE TL_USER SET RoleName ='KSV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Phó phòng%' and branch_code = '069') AND SECUR_CODE ='DEP000000000022' AND ROLENAME <> 'DISABLE'
512
                UPDATE TL_USER SET RoleName ='GDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Chuyên viên%' and branch_code = '069') AND SECUR_CODE ='DEP000000000022' AND ROLENAME <> 'DISABLE'
513
                UPDATE TL_USER SET RoleName ='TC' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng%' and branch_code = '069') AND SECUR_CODE ='DEP000000000023' AND ROLENAME <> 'DISABLE' 
514
    --NGUYENTD 19092024_SECRETKEY: FIX LỖI USER NGHỈ VIỆC NHƯNG VẪN CẬP NHẬT LẠI ROLE
515
                ----LUCTV.16052023_SECRETKEY - FIX ĐỐI VỚI CHỨC DANH Trưởng phòng QHKH Doanh nghiệp thuộc BRNACH 60x MAPPING GDDV
516
                UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT ISNULL(USER_DOMAIN,'') FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Trưởng phòng QHKH Doanh nghiệp%' and branch_code LIKE '60%') 
517
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' AND TLNANME =@p_USER_DOMAIN
518
                ---- LUCTV 13102023_SECRETKEY: GIÁM ĐỐC PGD ĐẶC THÙ VẪN LÀ TPGD
519
                UPDATE TL_USER SET ROLENAME ='TPGD' WHERE TLNANME IN (SELECT ISNULL(USER_DOMAIN,'') FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Giám đốc phòng giao dịch%' AND BRANCH_CODE =@p_BRANCH_CODE
520
                AND USER_DOMAIN =@p_USER_DOMAIN) 
521
                AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='PGD' AND TLNANME =@p_USER_DOMAIN
522
                ---END
523
                SET @ROLE_ID =(SELECT RoleName FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN)
524
                --- LUCTV 17052023_SECRETKEY NHỮNG ROLE NVTT /NVMS CÓ THỂ XÓA ĐI ĐỂ GHI LẠI BẢN GHI MỚI VÌ ĐÂY LÀ NHỮNG ROLE BASIC, ƯU TIÊN NHỮNG ROLE CAO HƠN, VÍ DỤ ÔNG A TỪ NVMS LÊN GDDV
525
                DELETE AbpUserRoles WHERE UserId= (SELECT ISNULL(ID,'') FROM TL_USER WHERE TLNANME=@p_USER_DOMAIN) AND RoleId IN (SELECT Id FROM AbpRoles WHERE DisplayName IN ('NVTT','NVMS','GDV_DVKD','KSV_DVKD'))
526
                IF(NOT EXISTS (SELECT 1 FROM AbpUserRoles WHERE UserId=(SELECT ID FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN)
527
                AND RoleId=(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID) ) AND @ROLE_ID NOT IN ('PGDK','GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT'))
528
                        BEGIN
529
                                INSERT INTO [dbo].[AbpUserRoles] ([CreationTime],[CreatorUserId],[RoleId],[TenantId],[UserId])
530
                                VALUES
531
                                           (GETDATE()
532
                                           ,NULL
533
                                           ,(SELECT Id FROM AbpRoles WHERE DisplayName=@ROLE_ID)
534
                                           ,1
535
             ,(SELECT ID FROM TL_USER WHERE TLNANME=@p_USER_DOMAIN))
536
                        END
537
  --  END
538
    IF @@Error <> 0 GOTO ABORT  
539
                --UPDATE TL_USER SET ROLENAME ='GDDV' WHERE TLNANME IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME LIKE N'Giám đốc%' and branch_code = '069') AND ROLENAME <> 'DISABLE' AND BRANCH_TYPE ='HS'
540

    
541
    EXEC TL_SYS_ROLE_MAPPING_Sync @p_USER_DOMAIN, 'admin'
542
        -- NGUYENTD 13.03.2025 NẾU USER BỊ DISABLE ( NGHỈ VIỆC) THÌ CHẠY XOÁ PERMISION KIÊM NHIỆM CỦA USER ĐÓ
543
        IF(EXISTS(SELECT 1 FROM TL_USER WHERE TLNANME = @p_USER_DOMAIN AND RoleName = 'DISABLE'))
544
        BEGIN
545
                EXEC dbo.SYS_PERMISSIONS_PAGE_FOR_USER_AutoRemove
546
        END
547
COMMIT TRANSACTION
548
SELECT '0' as Result, @p_CODE  TLID, '' ErrorDesc
549
RETURN '0'
550
ABORT:
551
BEGIN
552
                ROLLBACK TRANSACTION
553
                SELECT '-1' as Result, '' TLID, '' ErrorDesc
554
                RETURN '-1'
555
END