Project

General

Profile

2.0 LUI NGAY TTCT - HUNGCN -0113 2021 TTr-0690604.txt

Luc Tran Van, 05/11/2021 08:33 AM

 
1
UPDATE PL_REQUEST_DOC SET REQ_ID ='2021-01-04' WHERE REQ_CODE ='0013/2021/TTr-0690604'
2
DECLARE @REQ_ID VARCHAR(15)
3
SET @REQ_ID=(SELECT REQ_ID FROM PL_REQUEST_DOC WHERE REQ_CODE ='0005/2021/TTr-0691006')
4
UPDATE PL_REQUEST_DOC SET PROCESS_ID ='APPROVE' WHERE REQ_ID =@REQ_ID
5
UPDATE PL_REQUEST_PROCESS SET STATUS ='P', APPROVE_DT = GETDATE(), CHECKER_ID ='muoilvb', NOTES =N'Phó Tổng Giám Đốc Khối Đã Phê Duyệt' WHERE ID ='21007'
6
UPDATE PL_REQUEST_PROCESS SET STATUS ='C' WHERE ID ='21008'
7
UPDATE PL_TRADEDETAIL SET AMT_ETM = ISNULL(AMT_ETM,0) + 1800000.00 WHERE TRADE_ID ='PLT000000278911'
8
UPDATE PL_TRADEDETAIL SET AMT_ETM = ISNULL(AMT_ETM,0) + 8700000.00 WHERE TRADE_ID ='PLT000000278914'
9
INSERT INTO PL_PROCESS(PROCESS_ID,CHECKER_ID, APPROVE_DT, REQ_ID,NOTES, PROCESS_DESC) 
10
VALUES ('PTGDK_TT','muoilvb',GETDATE(), @REQ_ID,N'Phó Tổng Giám Đốc Khối Phê Duyệt',N'Phê duyệt')
11
¿
12
ALTER PROCEDURE [dbo].[CM_EMPLOYEE_Sync]
13
@p_ACTION	varchar(15)  = NULL,
14
@p_CODE	varchar(15)  = NULL,
15
@p_NAME	nvarchar(500)  = NULL,
16
@p_BRANCH_CODE	varchar(15)  = NULL,
17
@p_DEP_CODE	varchar(15)  = NULL,
18
--- BO SUNG THEM MA CHUC DANH, TEN  CHUC DANH
19
@p_USER_DOMAIN VARCHAR(15) = NULL,
20
@p_MA_CHUC_DANH NVARCHAR(50) = NULL,
21
@p_TEN_CHUC_DANH NVARCHAR(500) = NULL
22
AS
23
--Validation is here
24
DECLARE @ERRORSYS NVARCHAR(15) = '' 
25
DECLARE @p_BRANCH_NAME NVARCHAR(500) =''
26
DECLARE @p_BRANCH_TYPE NVARCHAR(50) =''
27
DECLARE @p_BRANCH_ID NVARCHAR(50) =''
28
DECLARE @p_DEP_ID NVARCHAR(50) =''
29

    
30
SET @p_BRANCH_NAME = (SELECT TOP 1A.BRANCH_NAME FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
31
SET @p_BRANCH_TYPE = (SELECT TOP 1A.BRANCH_TYPE FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
32
SET @p_BRANCH_ID   = (SELECT TOP 1 A.BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_CODE = @p_BRANCH_CODE)
33
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)
34

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

    
315
				UPDATE TL_USER SET RoleName ='NVMS' WHERE TLNANME= @p_USER_DOMAIN AND RoleName ='DISABLE'
316
				---
317
				IF @@Error <> 0 GOTO ABORT	
318
				---- DONG BO XONG CM_EMPLOYEE THI DONG BO NGUOI DUNG LUON - LUCTV BO SUNG NGAY 08 07 2020
319
				--EXEC [TL_USER_Sync] 'U',@p_USER_DOMAIN,@p_NAME,@p_BRANCH_CODE,@p_DEP_CODE,@EMAIL,@ROLE_ID
320
				---  END LUCTV
321
				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'
322
				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'
323
				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'
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 chi nhánh' and branch_code <> '069') AND ROLENAME <> 'DISABLE'
325
				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'
326
				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'
327
				--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'
328
				--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'
329

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