Project

General

Profile

cm_employee_sync.txt

Luc Tran Van, 01/22/2021 10:12 AM

 
1

    
2

    
3
ALTER PROCEDURE [dbo].[CM_EMPLOYEE_Sync]
4
@p_ACTION	varchar(15)  = NULL,
5
@p_CODE	varchar(15)  = NULL,
6
@p_NAME	nvarchar(500)  = NULL,
7
@p_BRANCH_CODE	varchar(15)  = NULL,
8
@p_DEP_CODE	varchar(15)  = NULL,
9
--- BO SUNG THEM MA CHUC DANH, TEN  CHUC DANH
10
@p_USER_DOMAIN VARCHAR(15) = NULL,
11
@p_MA_CHUC_DANH NVARCHAR(50) = NULL,
12
@p_TEN_CHUC_DANH NVARCHAR(500) = NULL
13
AS
14
--Validation is here
15
DECLARE @ERRORSYS NVARCHAR(15) = '' 
16
DECLARE @p_BRANCH_NAME NVARCHAR(500) =''
17
DECLARE @p_BRANCH_TYPE NVARCHAR(50) =''
18
DECLARE @p_BRANCH_ID NVARCHAR(50) =''
19
DECLARE @p_DEP_ID NVARCHAR(50) =''
20

    
21
SET @p_BRANCH_NAME = (SELECT TOP 1A.BRANCH_NAME FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
22
SET @p_BRANCH_TYPE = (SELECT TOP 1A.BRANCH_TYPE FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
23
SET @p_BRANCH_ID   = (SELECT TOP 1 A.BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
24
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)
25

    
26
--- LUCTV BO SUNG NGAY 08 07 2020
27
DECLARE @ROLE_ID VARCHAR(20) =''
28
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)
29
DECLARE @EMAIL VARCHAR(50) =''
30
SET @EMAIL =@p_USER_DOMAIN+'@vietcapitalbank.com.vn'
31
DECLARE @l_TLID VARCHAR(15)
32
----END LUCTV BO SUNG 
33
IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN=@p_USER_DOMAIN))
34
BEGIN
35
	INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
36
	VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
37
END
38
BEGIN TRANSACTION
39
		IF(@p_ACTION ='I' OR @p_ACTION ='U')
40
		BEGIN
41
			--KIEM TRA MA NHAN VIEN KHONG DUOC BO TRONG
42
			IF (@p_CODE='' OR @p_CODE IS NULL)
43
			BEGIN
44
				ROLLBACK TRANSACTION
45
				SELECT '-1' Result, ''  EMP_ID, N'Mã nhân viên không được bỏ trống' ErrorDesc
46
				RETURN '-1'
47
			END
48
			--KIEM TRA MA NHAN VIEN KHONG DUOC BO TRONG
49
			IF (@p_NAME='' OR @p_NAME IS NULL)
50
			BEGIN
51
				ROLLBACK TRANSACTION
52
				SELECT '-1' Result, ''  EMP_ID, N'Tên nhân viên không được bỏ trống' ErrorDesc
53
				RETURN '-1'
54
			END
55
			--KIEM TRA DON VI NAY CO TON TAI HAY KHONG
56
			IF (@p_BRANCH_CODE='' OR @p_BRANCH_CODE IS NULL)
57
			BEGIN
58
				ROLLBACK TRANSACTION
59
				SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị không được bỏ trống' ErrorDesc
60
				RETURN '-1'
61
			END
62
			---------------------------------------------------------------------------------
63
			--KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
64
			IF (@p_DEP_CODE='' OR @p_DEP_CODE IS NULL)
65
			BEGIN
66
				ROLLBACK TRANSACTION
67
				SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban không được bỏ trống' ErrorDesc
68
				RETURN '-1'
69
			END
70
			---------------------------------------------------------------------------------
71
			---LUCTV BO SUNG NGAY 08 07 2020
72
			--KIEM TRA USER DOMAIN KHONG DUOC RONG
73
			--IF (@p_USER_DOMAIN='' OR @p_USER_DOMAIN IS NULL)
74
			--BEGIN
75
			--	ROLLBACK TRANSACTION
76
			--	SELECT '-1' Result, ''  EMP_ID, N'User domain không được để trống'  ErrorDesc
77
			--	RETURN '-1'
78
			--END
79
			--KIEM TRA MA CHUC DANH KHAC RONG
80
			IF (@p_MA_CHUC_DANH='' OR @p_MA_CHUC_DANH IS NULL)
81
			BEGIN
82
				ROLLBACK TRANSACTION
83
				SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh không được để trống'  ErrorDesc
84
				RETURN '-1'
85
			END
86
			--KIEM TRA TEN CHUC DANH KHAC RONG
87
			IF (@p_TEN_CHUC_DANH='' OR @p_TEN_CHUC_DANH IS NULL)
88
			BEGIN
89
				ROLLBACK TRANSACTION
90
				SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh không được để trống'  ErrorDesc
91
				RETURN '-1'
92
			END
93
			----KIEM TRA TEN CHUC DANH CO TON TAI TRONG DANH SACH CHUC DANH VCCB CAP HAY KHONG
94
			--IF (NOT EXISTS(SELECT * FROM CM_MAPPING_CHUCDANH_ROLE WHERE MA_CHUC_DANH =@p_MA_CHUC_DANH))
95
			--BEGIN
96
			--	ROLLBACK TRANSACTION
97
			--	SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh này chưa tồn tại trong hệ thống'  ErrorDesc
98
			--	RETURN '-1'
99
			--END
100
			----KIEM TRA TEN CHUC DANH CO TON TAI TRONG DANH SACH CHUC DANH VCCB CAP HAY KHONG
101
			--IF (NOT EXISTS(SELECT * FROM CM_MAPPING_CHUCDANH_ROLE WHERE TEN_CHUC_DANH =@p_TEN_CHUC_DANH))
102
			--BEGIN
103
			--	ROLLBACK TRANSACTION
104
			--	SELECT '-1' Result, ''  EMP_ID, N'Tên chức danh này chưa tồn tại trong hệ thống'  ErrorDesc
105
			--	RETURN '-1'
106
			--END
107
			-----------------------------------------------------------------------------------
108
			--KIEM TRA ROLE NAY CO TON TAI HAY KHONG
109
			IF (@ROLE_ID='' OR @ROLE_ID IS NULL)
110
			BEGIN
111
				SET @ROLE_ID ='NVTT'
112
				--ROLLBACK TRANSACTION
113
				--SELECT '-1' Result, ''  EMP_ID, N'Chưa có ROLE tương ứng cho chức danh có mã ' +@p_MA_CHUC_DANH  ErrorDesc
114
				--RETURN '-1'
115
			END
116
			---------------------------------------------------------------------------------
117
		END
118
		IF(@p_ACTION='I')
119
		BEGIN
120
		    -- INSERT NHAN VIEN NAY VAO BANG TAMP
121
			INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
122
			VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
123
			--KIEM TRA NHAN VIEN NAY CO TON TAI HAY KHONG
124
			IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE))
125
			BEGIN
126
				SET @ERRORSYS = 'EMP-0001'
127
				ROLLBACK TRANSACTION
128
				SELECT '-1' Result, ''  EMP_ID, N'Mã nhân viên này đã tồn tại' ErrorDesc
129
				RETURN '-1'
130
			END
131
			--KIEM TRA DON VI NAY CO TON TAI HAY KHONG
132
			IF (NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_ID))
133
			BEGIN
134
				ROLLBACK TRANSACTION
135
				SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị này không tồn tại' ErrorDesc
136
				RETURN '-1'
137
			END
138
			---------------------------------------------------------------------------------
139
			--KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
140
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE =@p_DEP_CODE))
141
			BEGIN
142
				ROLLBACK TRANSACTION
143
				SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban: '+@p_DEP_CODE+ N' không tồn tại' ErrorDesc
144
				RETURN '-1'
145
			END
146
			---------------------------------------------------------------------------------
147
			--KIEM TRA PHONG BAN CO THUOC VE DUNG DON VI CUA NO HAY KHONG
148
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE BRANCH_ID =@p_BRANCH_ID AND DEP_ID=@p_DEP_ID))
149
			BEGIN
150
				ROLLBACK TRANSACTION
151
				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
152
				RETURN '-1'
153
			END
154
			---------------------------------------------------------------------------------
155
			--LUCTV 09072020 BO SUNG KIEM TRA USER DOMAIN DA TON TAI
156
			IF (EXISTS ( SELECT * FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN))
157
			BEGIN
158
				ROLLBACK TRANSACTION
159
				SELECT '-1' Result, ''  EMP_ID, N'Mã user domain: '+@p_USER_DOMAIN +N' đã tồn tại trong hệ thống'  ErrorDesc
160
				RETURN '-1'
161
			END
162
			--LUCTV 09072020 BO SUNG KIEM TRA HO VA TEN DA TON TAI
163
			--IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_NAME =@p_NAME))
164
			--BEGIN
165
			--	ROLLBACK TRANSACTION
166
			--	SELECT '-1' Result, ''  EMP_ID, N'Tên nhân viên '+@p_NAME +N' đã tồn tại trong hệ thống'  ErrorDesc
167
			--	RETURN '-1'
168
			--END
169
			--KIEM TRA ROLE CO HOP LE HAY KHONG
170
			IF (NOT EXISTS ( SELECT * FROM TL_SYSROLE WHERE ROLE_ID =@ROLE_ID))
171
			BEGIN
172
				ROLLBACK TRANSACTION
173
				SELECT '-1' Result, ''  EMP_ID, N'Role không tồn tại'+@ROLE_ID ErrorDesc
174
				RETURN '-1'
175
			END
176
			DECLARE @l_EMP_ID VARCHAR(15)
177
			EXEC SYS_CodeMasters_Gen 'CM_EMPLOYEE', @l_EMP_ID out		
178
			IF @l_EMP_ID='' OR @l_EMP_ID IS NULL GOTO ABORT
179
			print @l_EMP_ID
180
			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])
181
			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) )
182

    
183
			---- DONG BO XONG CM_EMPLOYEE THI DONG BO NGUOI DUNG LUON - LUCTV BO SUNG NGAY 08 07 2020
184
			IF(@p_USER_DOMAIN IS NOT NULL AND @p_USER_DOMAIN <> '')
185
			BEGIN
186
				--EXEC [TL_USER_Sync] 'I',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
187
				EXEC SYS_CodeMasters_Gen 'TL_USER', @l_TLID out
188
			IF @l_TLID='' OR @l_TLID IS NULL GOTO ABORT
189
			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])
190
			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 )
191
			--- INSERT VAO BANG TL_USER_V2
192
			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)
193
			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'
194
			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'
195
			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'
196
			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'
197
			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'
198
			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'
199
			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'
200
			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'
201
			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'
202
			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'
203
			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'
204
			--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'
205
			--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'
206
			END
207

    
208
		END
209
		ELSE IF(@p_ACTION='U')
210
		BEGIN
211
			IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@p_USER_DOMAIN))
212
			BEGIN
213
				INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
214
				VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
215
			END
216
			ELSE
217
			BEGIN
218
				UPDATE CM_EMPLOYEE_LOG SET 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
219
			END
220
			DECLARE @EMP_ID VARCHAR(15)
221
			SET @EMP_ID =(SELECT EMP_ID FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE)
222
			--KIEM TRA MA NHAN VIEN CO TON TAI HAY KHONG
223
			IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE = @p_CODE))	 
224
			BEGIN
225
				ROLLBACK TRANSACTION
226
				SELECT '-1' Result, ''  EMP_ID, N'Mã nhân viên không tồn tại' ErrorDesc 
227
				RETURN '-1'
228
			END
229
			--KIEM TRA XEM CUNG MA CODE DO CO BI TRUNG VOI NHUNG NHAN VIEN KHAC HAY KHONG
230
			IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE = @p_CODE AND EMP_ID <> @EMP_ID))	 
231
			BEGIN
232
				SET @ERRORSYS = 'EMP-0001'
233
				ROLLBACK TRANSACTION
234
				SELECT ErrorCode Result, ''  EMP_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
235
				RETURN '-1'
236
			END			
237
			---------------------------------------------------------------------------------
238
			--KIEM TRA DON VI NAY CO TON TAI HAY KHONG
239
			IF (NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_ID))
240
			BEGIN
241
				ROLLBACK TRANSACTION
242
				SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị này không tồn tại' ErrorDesc
243
				RETURN '-1'
244
			END
245
			--KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
246
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE =@p_DEP_CODE))
247
			BEGIN
248
				ROLLBACK TRANSACTION
249
				SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban này không tồn tại' ErrorDesc
250
				RETURN '-1'
251
			END
252
			---------------------------------------------------------------------------------
253
			--KIEM TRA PHONG BAN CO THUOC VE DUNG DON VI CUA NO HAY KHONG
254
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE BRANCH_ID =@p_BRANCH_ID AND DEP_ID =@p_DEP_ID))
255
			BEGIN
256
				ROLLBACK TRANSACTION
257
				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
258
				RETURN '-1'
259
			END
260
			---------------------------------------------------------------------------------
261
				UPDATE CM_EMPLOYEE 
262
				SET [EMP_CODE] = @p_CODE,
263
				[EMP_NAME] = @p_NAME,
264
				[BRANCH_ID] = @p_BRANCH_ID,
265
				[DEP_ID] = @p_DEP_ID
266
				WHERE  EMP_CODE= @p_CODE
267
				--
268
				--SET @p_BRANCH_NAME = (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_CODE)
269
				UPDATE TL_USER SET 
270
				[TLSUBBRID] = @p_BRANCH_ID,
271
				[BRANCH_NAME] = @p_BRANCH_NAME,
272
				[BRANCH_TYPE] = @p_BRANCH_TYPE,
273
				--TLNANME = @p_USER_DOMAIN,
274
				--RoleName=@p_ROLE,
275
				EMAIL=@EMAIL,
276
				TLFullName =@p_NAME,
277
				SECUR_CODE=@p_DEP_ID
278
				WHERE  TLNANME= @p_USER_DOMAIN AND RoleName NOT IN ('GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT')
279
				---
280
				IF @@Error <> 0 GOTO ABORT	
281
				---- DONG BO XONG CM_EMPLOYEE THI DONG BO NGUOI DUNG LUON - LUCTV BO SUNG NGAY 08 07 2020
282
				--EXEC [TL_USER_Sync] 'U',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
283
				---  END LUCTV
284
				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'
285
				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'
286
				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'
287
				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'
288
				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'
289
				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'
290
				--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'
291
				--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'
292

    
293
		END
294
		ELSE IF(@p_ACTION='D')
295
		BEGIN
296
			--KIEM TRA XEM MA NHAN VIEN CO TON TAI HAY KHONG
297
			IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE  EMP_CODE= @p_CODE))
298
			BEGIN
299
				ROLLBACK TRANSACTION
300
				SELECT '-1' Result, N'Mã nhân viên không tồn tại' ErrorDesc
301
				RETURN '-1'
302
			END
303
			BEGIN
304
			IF( (SELECT AUTH_STATUS FROM CM_EMPLOYEE WHERE  EMP_CODE= @p_CODE) = 'A')
305
			BEGIN
306
				UPDATE CM_EMPLOYEE SET RECORD_STATUS = '0' WHERE EMP_CODE=@p_CODE
307
				IF @@Error <> 0 GOTO ABORT
308
			END
309
			ELSE
310
			BEGIN
311
				Delete FROM CM_EMPLOYEE WHERE  EMP_ID= @p_CODE
312
				IF @@Error <> 0 GOTO ABORT
313
			END
314
			END
315
		END
316
		--- BẮT ĐẦU CHẠY LỆNH QUÉT CÁC ROLE
317
		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'
318
		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'
319
		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'
320
		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'
321
		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'
322
		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'
323
		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'
324
		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'
325
		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'
326
		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'
327
		
328
		--UPDATE TL_USER SET ROLENAME ='NVMS' WHERE ROLENAME ='GDDV' AND TLSUBBRID <> 'DV0001' AND TLNANME NOT IN (SELECT USER_DOMAIN FROM CM_EMPLOYEE_LOG WHERE POS_NAME =N'Giám đốc Chi Nhánh')
329
		--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'
330
		--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'
331
		UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='PP' AND TLSUBBRID <>'DV0001'
332
		UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='TP' AND TLSUBBRID <>'DV0001'
333
		UPDATE TL_USER SET RoleName ='NVTT' WHERE RoleName ='KSV' AND SECUR_CODE <>'DEP000000000022'
334
		UPDATE TL_USER SET RoleName ='NVTT' WHERE RoleName ='GDV' AND SECUR_CODE <>'DEP000000000022'
335
		IF @@Error <> 0 GOTO ABORT
336
COMMIT TRANSACTION
337
SELECT '0' as Result, @p_CODE  TLID, '' ErrorDesc
338
RETURN '0'
339
ABORT:
340
BEGIN
341
		ROLLBACK TRANSACTION
342
		SELECT '-1' as Result, '' TLID, '' ErrorDesc
343
		RETURN '-1'
344
END