Project

General

Profile

2.4 DONG BO USER HR - AMS.txt

Luc Tran Van, 08/26/2021 09:14 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
DECLARE @ERRORSYS NVARCHAR(15) = '' 
14
DECLARE @p_BRANCH_NAME NVARCHAR(500) =''
15
DECLARE @p_BRANCH_TYPE NVARCHAR(50) =''
16
DECLARE @p_BRANCH_ID NVARCHAR(50) =''
17
DECLARE @p_DEP_ID NVARCHAR(50) =''
18

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

    
24
--- LUCTV BO SUNG NGAY 08 07 2020
25
DECLARE @ROLE_ID VARCHAR(20) =''
26
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)
27
DECLARE @EMAIL VARCHAR(50) =''
28
SET @EMAIL =@p_USER_DOMAIN+'@vietcapitalbank.com.vn'
29
DECLARE @l_TLID VARCHAR(15)
30
----END LUCTV BO SUNG 
31
IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN=@p_USER_DOMAIN))
32
BEGIN
33
	INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
34
	VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
35
END
36
BEGIN TRANSACTION
37
		IF(@p_ACTION ='I' OR @p_ACTION ='U')
38
		BEGIN
39
			--KIEM TRA MA NHAN VIEN KHONG DUOC BO TRONG
40
			IF (@p_CODE='' OR @p_CODE IS NULL)
41
			BEGIN
42
				ROLLBACK TRANSACTION
43
				SELECT '-1' Result, ''  EMP_ID, N'Mã nhân viên không được bỏ trống' ErrorDesc
44
				RETURN '-1'
45
			END
46
			--KIEM TRA MA NHAN VIEN KHONG DUOC BO TRONG
47
			IF (@p_NAME='' OR @p_NAME IS NULL)
48
			BEGIN
49
				ROLLBACK TRANSACTION
50
				SELECT '-1' Result, ''  EMP_ID, N'Tên nhân viên không được bỏ trống' ErrorDesc
51
				RETURN '-1'
52
			END
53
			--KIEM TRA DON VI NAY CO TON TAI HAY KHONG
54
			IF (@p_BRANCH_CODE='' OR @p_BRANCH_CODE IS NULL)
55
			BEGIN
56
				ROLLBACK TRANSACTION
57
				SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị không được bỏ trống' ErrorDesc
58
				RETURN '-1'
59
			END
60
			---------------------------------------------------------------------------------
61
			--KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
62
			IF (@p_DEP_CODE='' OR @p_DEP_CODE IS NULL)
63
			BEGIN
64
				ROLLBACK TRANSACTION
65
				SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban không được bỏ trống' ErrorDesc
66
				RETURN '-1'
67
			END
68
			---------------------------------------------------------------------------------
69
			---LUCTV BO SUNG NGAY 08 07 2020
70
			--KIEM TRA USER DOMAIN KHONG DUOC RONG
71
			--IF (@p_USER_DOMAIN='' OR @p_USER_DOMAIN IS NULL)
72
			--BEGIN
73
			--	ROLLBACK TRANSACTION
74
			--	SELECT '-1' Result, ''  EMP_ID, N'User domain không được để trống'  ErrorDesc
75
			--	RETURN '-1'
76
			--END
77
			--KIEM TRA MA CHUC DANH KHAC RONG
78
			IF (@p_MA_CHUC_DANH='' OR @p_MA_CHUC_DANH IS NULL)
79
			BEGIN
80
				ROLLBACK TRANSACTION
81
				SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh không được để trống'  ErrorDesc
82
				RETURN '-1'
83
			END
84
			--KIEM TRA TEN CHUC DANH KHAC RONG
85
			IF (@p_TEN_CHUC_DANH='' OR @p_TEN_CHUC_DANH IS NULL)
86
			BEGIN
87
				ROLLBACK TRANSACTION
88
				SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh không được để trống'  ErrorDesc
89
				RETURN '-1'
90
			END
91
			----KIEM TRA TEN CHUC DANH CO TON TAI TRONG DANH SACH CHUC DANH VCCB CAP HAY KHONG
92
			--IF (NOT EXISTS(SELECT * FROM CM_MAPPING_CHUCDANH_ROLE WHERE MA_CHUC_DANH =@p_MA_CHUC_DANH))
93
			--BEGIN
94
			--	ROLLBACK TRANSACTION
95
			--	SELECT '-1' Result, ''  EMP_ID, N'Mã chức danh này chưa tồn tại trong hệ thống'  ErrorDesc
96
			--	RETURN '-1'
97
			--END
98
			----KIEM TRA TEN CHUC DANH CO TON TAI TRONG DANH SACH CHUC DANH VCCB CAP HAY KHONG
99
			--IF (NOT EXISTS(SELECT * FROM CM_MAPPING_CHUCDANH_ROLE WHERE TEN_CHUC_DANH =@p_TEN_CHUC_DANH))
100
			--BEGIN
101
			--	ROLLBACK TRANSACTION
102
			--	SELECT '-1' Result, ''  EMP_ID, N'Tên chức danh này chưa tồn tại trong hệ thống'  ErrorDesc
103
			--	RETURN '-1'
104
			--END
105
			-----------------------------------------------------------------------------------
106
			--KIEM TRA ROLE NAY CO TON TAI HAY KHONG
107
			IF (@ROLE_ID='' OR @ROLE_ID IS NULL)
108
			BEGIN
109
				SET @ROLE_ID ='NVTT'
110
				--ROLLBACK TRANSACTION
111
				--SELECT '-1' Result, ''  EMP_ID, N'Chưa có ROLE tương ứng cho chức danh có mã ' +@p_MA_CHUC_DANH  ErrorDesc
112
				--RETURN '-1'
113
			END
114
			---------------------------------------------------------------------------------
115
		END
116
		IF(@p_ACTION='I')
117
		BEGIN
118
		    -- INSERT NHAN VIEN NAY VAO BANG TAMP
119
			IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN=@p_USER_DOMAIN))
120
			BEGIN
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
			END
124
			--KIEM TRA NHAN VIEN NAY CO TON TAI HAY KHONG
125
			IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE AND RECORD_STATUS ='1'))
126
			BEGIN
127
				SET @ERRORSYS = 'EMP-0001'
128
				ROLLBACK TRANSACTION
129
				SELECT '-1' Result, ''  EMP_ID, N'Mã nhân viên này đã tồn tại' ErrorDesc
130
				RETURN '-1'
131
			END
132
			--KIEM TRA DON VI NAY CO TON TAI HAY KHONG
133
			IF (NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_ID))
134
			BEGIN
135
				ROLLBACK TRANSACTION
136
				SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị này không tồn tại' ErrorDesc
137
				RETURN '-1'
138
			END
139
			---------------------------------------------------------------------------------
140
			--KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
141
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE =@p_DEP_CODE))
142
			BEGIN
143
				ROLLBACK TRANSACTION
144
				SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban: '+@p_DEP_CODE+ N' không tồn tại' ErrorDesc
145
				RETURN '-1'
146
			END
147
			---------------------------------------------------------------------------------
148
			--KIEM TRA PHONG BAN CO THUOC VE DUNG DON VI CUA NO HAY KHONG
149
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE BRANCH_ID =@p_BRANCH_ID AND DEP_ID=@p_DEP_ID))
150
			BEGIN
151
				ROLLBACK TRANSACTION
152
				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
153
				RETURN '-1'
154
			END
155
			---------------------------------------------------------------------------------
156
			--LUCTV 09072020 BO SUNG KIEM TRA USER DOMAIN DA TON TAI
157
			IF (EXISTS ( SELECT * FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN))
158
			BEGIN
159
				ROLLBACK TRANSACTION
160
				SELECT '-1' Result, ''  EMP_ID, N'Mã user domain: '+@p_USER_DOMAIN +N' đã tồn tại trong hệ thống'  ErrorDesc
161
				RETURN '-1'
162
			END
163
			--LUCTV 09072020 BO SUNG KIEM TRA HO VA TEN DA TON TAI
164
			--IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_NAME =@p_NAME))
165
			--BEGIN
166
			--	ROLLBACK TRANSACTION
167
			--	SELECT '-1' Result, ''  EMP_ID, N'Tên nhân viên '+@p_NAME +N' đã tồn tại trong hệ thống'  ErrorDesc
168
			--	RETURN '-1'
169
			--END
170
			--KIEM TRA ROLE CO HOP LE HAY KHONG
171
			IF (NOT EXISTS ( SELECT * FROM TL_SYSROLE WHERE ROLE_ID =@ROLE_ID))
172
			BEGIN
173
				ROLLBACK TRANSACTION
174
				SELECT '-1' Result, ''  EMP_ID, N'Role không tồn tại'+@ROLE_ID ErrorDesc
175
				RETURN '-1'
176
			END
177
			IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE AND RECORD_STATUS ='1'))
178
			BEGIN
179
				DECLARE @l_EMP_ID VARCHAR(15)
180
				EXEC SYS_CodeMasters_Gen 'CM_EMPLOYEE', @l_EMP_ID out		
181
				IF @l_EMP_ID='' OR @l_EMP_ID IS NULL GOTO ABORT
182
				print @l_EMP_ID
183
				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])
184
				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) )
185
			END
186
			---- DONG BO XONG CM_EMPLOYEE THI DONG BO NGUOI DUNG LUON - LUCTV BO SUNG NGAY 08 07 2020
187
			IF(@p_USER_DOMAIN IS NOT NULL AND @p_USER_DOMAIN <> '')
188
			BEGIN
189
				--EXEC [TL_USER_Sync] 'I',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
190
			EXEC SYS_CodeMasters_Gen 'TL_USER', @l_TLID out
191
			IF @l_TLID='' OR @l_TLID IS NULL GOTO ABORT
192
			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])
193
			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 )
194
			--- INSERT VAO BANG TL_USER_V2
195
			IF(NOT EXISTS(SELECT * FROM TL_USER_V2 WHERE TLNANME =@p_USER_DOMAIN))
196
			BEGIN
197
				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)
198
			END
199
			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'
200
			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'
201
			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'
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 chi nhánh' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
203
			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'
204
			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'
205
			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'
206
			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'
207
			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'
208
			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'
209
			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'
210
			--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'
211
			--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'
212
			END
213
		END
214
		ELSE IF(@p_ACTION='U')
215
		BEGIN
216
			IF(NOT EXISTS(SELECT * FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@p_USER_DOMAIN))
217
			BEGIN
218
				INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE,EMP_NAME,BRANCH_CODE,DEP_CODE,USER_DOMAIN,POS_CODE,POS_NAME,CREATE_DT) 
219
				VALUES (@p_CODE,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@p_USER_DOMAIN,@p_MA_CHUC_DANH,@p_TEN_CHUC_DANH,GETDATE())
220
			END
221
			ELSE
222
			BEGIN
223
				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
224
			END
225
			DECLARE @EMP_ID VARCHAR(15)
226
			SET @EMP_ID =(SELECT EMP_ID FROM CM_EMPLOYEE WHERE EMP_CODE=@p_CODE)
227
			--KIEM TRA MA NHAN VIEN CO TON TAI HAY KHONG
228
			IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE = @p_CODE AND RECORD_STATUS ='1'))	 
229
			BEGIN
230
				DECLARE @l_EMP_ID_U VARCHAR(15)
231
				EXEC SYS_CodeMasters_Gen 'CM_EMPLOYEE', @l_EMP_ID_U out		
232
				IF @l_EMP_ID_U='' OR @l_EMP_ID_U IS NULL GOTO ABORT
233
				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])
234
				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) )
235
			END
236
			--KIEM TRA XEM CUNG MA CODE DO CO BI TRUNG VOI NHUNG NHAN VIEN KHAC HAY KHONG
237
			IF (EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE EMP_CODE = @p_CODE AND EMP_ID <> @EMP_ID AND RECORD_STATUS ='1'))	 
238
			BEGIN
239
				SET @ERRORSYS = 'EMP-0001'
240
				ROLLBACK TRANSACTION
241
				SELECT ErrorCode Result, ''  EMP_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
242
				RETURN '-1'
243
			END	
244
			IF(NOT EXISTS(SELECT * FROM TL_USER WHERE TLNANME =@p_USER_DOMAIN))
245
			BEGIN
246
				IF(@p_USER_DOMAIN IS NOT NULL AND @p_USER_DOMAIN <> '')
247
				BEGIN
248
					--EXEC [TL_USER_Sync] 'I',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
249
					EXEC SYS_CodeMasters_Gen 'TL_USER', @l_TLID out
250
					IF @l_TLID='' OR @l_TLID IS NULL GOTO ABORT
251
					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])
252
					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 )
253
					--- INSERT VAO BANG TL_USER_V2
254
					IF(NOT EXISTS(SELECT * FROM TL_USER_V2 WHERE TLNANME =@p_USER_DOMAIN))
255
					BEGIN
256
						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)
257
					END
258
				END
259
			END
260
			---------------------------------------------------------------------------------
261
			--KIEM TRA DON VI NAY CO TON TAI HAY KHONG
262
			IF (NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_ID))
263
			BEGIN
264
				ROLLBACK TRANSACTION
265
				SELECT '-1' Result, ''  EMP_ID, N'Mã đơn vị này không tồn tại' ErrorDesc
266
				RETURN '-1'
267
			END
268
			--KIEM TRA PHONG BAN NAY CO TON TAI HAY KHONG
269
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE =@p_DEP_CODE))
270
			BEGIN
271
				ROLLBACK TRANSACTION
272
				SELECT '-1' Result, ''  EMP_ID, N'Mã phòng ban này không tồn tại' ErrorDesc
273
				RETURN '-1'
274
			END
275
			---------------------------------------------------------------------------------
276
			--KIEM TRA PHONG BAN CO THUOC VE DUNG DON VI CUA NO HAY KHONG
277
			IF (NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE BRANCH_ID =@p_BRANCH_ID AND DEP_ID =@p_DEP_ID))
278
			BEGIN
279
				ROLLBACK TRANSACTION
280
				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
281
				RETURN '-1'
282
			END
283
			---------------------------------------------------------------------------------
284
				UPDATE CM_EMPLOYEE 
285
				SET [EMP_CODE] = @p_CODE,
286
				[EMP_NAME] = @p_NAME,
287
				[BRANCH_ID] = @p_BRANCH_ID,
288
				[DEP_ID] = @p_DEP_ID, AUTH_STATUS ='A', RECORD_STATUS ='1'
289
				WHERE  EMP_CODE= @p_CODE
290
				--
291
				--SET @p_BRANCH_NAME = (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_CODE)
292
				UPDATE TL_USER SET 
293
				[TLSUBBRID] = @p_BRANCH_ID,
294
				[BRANCH_NAME] = @p_BRANCH_NAME,
295
				[BRANCH_TYPE] = @p_BRANCH_TYPE,
296
				AUTH_STATUS ='A',
297
				--TLNANME = @p_USER_DOMAIN,
298
				--RoleName=@p_ROLE,
299
				EMAIL=@EMAIL,
300
				TLFullName =@p_NAME,
301
				SECUR_CODE=@p_DEP_ID
302
				WHERE  TLNANME= @p_USER_DOMAIN AND RoleName NOT IN ('GDK','PTGD','TGD','HDQT','KSV','GDV','KT','TC','KTT','TKTGD','TKHDQT')
303

    
304
				UPDATE TL_USER SET RoleName ='NVMS' WHERE TLNANME= @p_USER_DOMAIN AND RoleName ='DISABLE'
305
				---
306
				IF @@Error <> 0 GOTO ABORT	
307
				---- DONG BO XONG CM_EMPLOYEE THI DONG BO NGUOI DUNG LUON - LUCTV BO SUNG NGAY 08 07 2020
308
				--EXEC [TL_USER_Sync] 'U',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
309
				---  END LUCTV
310
				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'
311
				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'
312
				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'
313
				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'
314
				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'
315
				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'
316
				--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'
317
				--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'
318

    
319
		END
320
		ELSE IF(@p_ACTION='D')
321
		BEGIN
322
			--KIEM TRA XEM MA NHAN VIEN CO TON TAI HAY KHONG
323
			IF (NOT EXISTS ( SELECT * FROM CM_EMPLOYEE WHERE  EMP_CODE= @p_CODE))
324
			BEGIN
325
				ROLLBACK TRANSACTION
326
				SELECT '-1' Result, N'Mã nhân viên không tồn tại' ErrorDesc
327
				RETURN '-1'
328
			END
329
			BEGIN
330
			IF( (SELECT AUTH_STATUS FROM CM_EMPLOYEE WHERE  EMP_CODE= @p_CODE) = 'A')
331
			BEGIN
332
				UPDATE CM_EMPLOYEE SET RECORD_STATUS = '0' WHERE EMP_CODE=@p_CODE
333
				IF @@Error <> 0 GOTO ABORT
334
			END
335
			ELSE
336
			BEGIN
337
				Delete FROM CM_EMPLOYEE WHERE  EMP_ID= @p_CODE
338
				IF @@Error <> 0 GOTO ABORT
339
			END
340
			END
341
			-- DUA NHAN VIEN VE DISABLE
342
			UPDATE TL_USER SET AUTH_STATUS ='U', RoleName ='DISABLE' WHERE TLNANME =@p_USER_DOMAIN
343
		END
344
		--- BẮT ĐẦU CHẠY LỆNH QUÉT CÁC ROLE
345
		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'
346
		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'
347
		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'
348
		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'
349
		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'
350
		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'
351
		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'
352
		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'
353
		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'
354
		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'
355
		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') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001'
356
		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') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001'
357
		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') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001'
358
		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') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001'
359
		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%' and branch_code <> '069') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' ----2021826
360
		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%' and branch_code <> '069') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='PGD'
361
		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') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN' --2021824
362
		--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')
363
		--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'
364
		--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'
365
		UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='PP' AND TLSUBBRID <>'DV0001'
366
		UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='TP' AND TLSUBBRID <>'DV0001'
367
		UPDATE TL_USER SET RoleName ='NVMS' WHERE RoleName ='TPGD' AND TLSUBBRID = 'DV0001'
368
		UPDATE TL_USER SET RoleName ='NVTT' WHERE RoleName ='KSV' AND SECUR_CODE <>'DEP000000000022'
369
		UPDATE TL_USER SET RoleName ='NVTT' WHERE RoleName ='GDV' AND SECUR_CODE <>'DEP000000000022'
370
		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') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='PGD'
371
		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') AND ROLENAME <> 'DISABLE' AND TLSUBBRID <> 'DV0001' AND BRANCH_TYPE ='CN'
372
		--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'
373
		IF @@Error <> 0 GOTO ABORT
374
COMMIT TRANSACTION
375
SELECT '0' as Result, @p_CODE  TLID, '' ErrorDesc
376
RETURN '0'
377
ABORT:
378
BEGIN
379
		ROLLBACK TRANSACTION
380
		SELECT '-1' as Result, '' TLID, '' ErrorDesc
381
		RETURN '-1'
382
END