Project

General

Profile

check_role.txt

Luc Tran Van, 11/25/2022 02:26 PM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_CHECK_ROLE_APPROVE]
3
@TYPE VARCHAR(15) = NULL,
4
@p_REQ_ID	varchar(15) = NULL,
5
@p_USER_LOGIN varchar(15) = NULL
6
AS
7
BEGIN TRANSACTION
8
IF(@TYPE <> 'ADV_PAY')
9
BEGIN
10
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN AND TYPE_JOB IN ('TP','KS')))
11
	BEGIN
12
		ROLLBACK TRANSACTION
13
		SELECT '0' as Result, '' ErrorDesc
14
		RETURN '0'
15
	END
16
END
17
-- KHAI BAO THEM ROLE NHAN UY QUYEN
18
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))
19
DECLARE @ROLE_ID VARCHAR(50)
20
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
21
INSERT INTO @TABLE_ROLE SELECT @ROLE_ID
22
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@p_USER_LOGIN AND
23
(CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR (EFF_DATE IS NULL OR EXP_DATE IS NULL))
24

    
25
	DECLARE @AUTHOR TABLE
26
	(
27
		ROLE_ID VARCHAR(20),
28
		BRANCH_ID VARCHAR(20),
29
		DEP_ID VARCHAR(20),
30
		BRANCH_TYPE VARCHAR(20)
31
	)
32
	DECLARE @AUTHOR_DVDM TABLE
33
	(
34
		ROLE_ID VARCHAR(20),
35
		BRANCH_ID VARCHAR(20),
36
		DEP_ID VARCHAR(20),
37
		DVDM_ID VARCHAR(20)
38
	)
39

    
40
	DECLARE @AUTHOR_DMMS TABLE
41
	(
42
		ROLE_ID VARCHAR(20),
43
		BRANCH_ID VARCHAR(20),
44
		DEP_ID VARCHAR(20),
45
		DMMS_ID VARCHAR(20)
46
	)
47

    
48
	INSERT INTO @AUTHOR
49
	(
50
	    ROLE_ID,
51
	    BRANCH_ID,
52
	    DEP_ID,
53
		BRANCH_TYPE
54
	)
55
	SELECT RoleName,TLSUBBRID,SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_USER TU
56
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
57
	WHERE TLNANME=@p_USER_LOGIN
58
	UNION ALL
59
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_USER TU
60
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
61
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
62
	WHERE TLNANME=@p_USER_LOGIN
63
	UNION ALL
64
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_SYS_ROLE_MAPPING TM1
65
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
66
	WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
67
	UNION ALL
68
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_SYS_ROLE_MAPPING TM1
69
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
70
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
71
	WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
72

    
73
	INSERT INTO @AUTHOR_DVDM
74
	(
75
	    ROLE_ID,
76
	    BRANCH_ID,
77
	    DEP_ID,
78
	    DVDM_ID
79
	)
80
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
81
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
82
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
83
	WHERE TU.TLNANME=@p_USER_LOGIN
84
	UNION ALL
85
	SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
86
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
87
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
88
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
89
	WHERE TU.TLNANME=@p_USER_LOGIN
90
	UNION ALL
91
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
92
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
93
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
94
	WHERE TU.TLNAME=@p_USER_LOGIN AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
95
	UNION ALL
96
	SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
97
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
98
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
99
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
100
	WHERE TU.TLNAME=@p_USER_LOGIN AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
101

    
102
	INSERT INTO @AUTHOR_DMMS
103
	(
104
	    ROLE_ID,
105
	    BRANCH_ID,
106
	    DEP_ID,
107
		DMMS_ID
108
	)
109
	SELECT RoleName,TLSUBBRID,SECUR_CODE,MS.DMMS_ID FROM dbo.TL_USER TU
110
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
111
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TU.SECUR_CODE=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
112
	WHERE TLNANME=@p_USER_LOGIN
113
	UNION ALL
114
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE,MS.DMMS_ID FROM dbo.TL_USER TU
115
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
116
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
117
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TU.SECUR_CODE=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
118
	WHERE TLNANME=@p_USER_LOGIN
119
	UNION ALL
120
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,MS.DMMS_ID FROM dbo.TL_SYS_ROLE_MAPPING TM1
121
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
122
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TM1.DEP_ID=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
123
	WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
124
	UNION ALL
125
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,MS.DMMS_ID FROM dbo.TL_SYS_ROLE_MAPPING TM1
126
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
127
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
128
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TM1.DEP_ID=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
129
	WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
130

    
131
	IF(@TYPE='ADV_PAY')
132
	BEGIN
133
		IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS ='A' AND REQ_PAY_ID =@p_REQ_ID))
134
		BEGIN
135
			ROLLBACK TRANSACTION
136
			SELECT '-1' as Result, N'Phiếu đã duyệt xong. Vui lòng chờ các giao dịch tiếp theo để thực hiện phê duyệt' ErrorDesc
137
			RETURN '-1'
138
		END
139
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID) )
140
		BEGIN
141
			IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND ROLE_USER IN (SELECT * FROM @TABLE_ROLE)))
142
			BEGIN
143
				ROLLBACK TRANSACTION
144
				SELECT '-1' as Result, N'Bạn không có quyền phê duyệt' ErrorDesc
145
				RETURN '-1'
146
			END
147
		END
148
		-- NEU LA TPHC O HOI SO
149
		IF((SELECT TOP 1 BRANCH_TYPE FROM TL_USER WHERE TLNANME = @p_USER_LOGIN) = 'HS' AND 'GDDV' IN (SELECT * FROM @TABLE_ROLE) )
150
		BEGIN
151
			IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND PROCESS <> '' AND PROCESS IS NOT NULL))
152
			BEGIN
153
				ROLLBACK TRANSACTION
154
				SELECT '-1' as Result, N'Bạn không có quyền phê duyệt' ErrorDesc
155
				RETURN '-1'
156
			END
157
		END
158
		--doanptt: THU KY DA DIEU PHOI CHO NHAN VIEN XU LY THI KHONG DUOC DUYET NUA
159
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_ID AND STATUS_JOB <> 'C' AND TLNAME =@p_USER_LOGIN AND TYPE_JOB IN ('KS')))
160
		BEGIN
161
			ROLLBACK TRANSACTION
162
			SELECT '-1' as Result, N'Phiếu đang được điều phối đến nhân viên xử lý' ErrorDesc
163
			RETURN '-1'
164
		END
165
		--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND BRANCH_CREATE ='DV0001')
166
		--BEGIN
167
		--	IF(EXISTS(SELECT * FROM PL_PROCESS WHERE CHEC))
168
		--END
169
		--ELSE
170
		--BEGIN
171
		--	ROLLBACK TRANSACTION
172
		--	SELECT '-1' as Result, '' ErrorDesc
173
		--	RETURN '-1'
174
		--END
175
	END
176
	ELSE IF (@TYPE ='CORE')
177
	BEGIN
178
		IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT ='A') OR  EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT ='A'))
179
		BEGIN
180
			IF(EXISTS(SELECT * FROM PAY_ENTRIES_POST WHERE TRN_ID =@p_REQ_ID AND ISNULL(REF_NO,'') <> ''))
181
			BEGIN
182
				ROLLBACK TRANSACTION
183
				SELECT '6' as Result, N'Giao dịch được phê duyệt thành công trên AMS và hạch toán thành công vào hệ thống Core FC' ErrorDesc
184
				RETURN '6'
185
			END
186
			ELSE
187
			BEGIN
188
				ROLLBACK TRANSACTION
189
				SELECT '5' as Result, N'Giao dịch được phê duyệt thành công nhưng bắn vào Core FC thất bại. Vui lòng rà soát lại nội dung hạch toán (không được phép chứa kí tự & hoặc kí tự <)' ErrorDesc
190
				RETURN '5'
191
			END
192
		END
193
		ELSE
194
		BEGIN
195
			IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT <> 'A') AND  EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT <>'A'))
196
			BEGIN
197
				ROLLBACK TRANSACTION
198
				SELECT '7' as Result, '' ErrorDesc
199
				RETURN '7'
200
			END
201
		END
202
	END
203
	ELSE IF(@TYPE ='CON_LAYOUT')
204
	BEGIN
205

    
206
		-- NEU CAP DUYET LA VAN PHONG THU KI TGD THI CO THE DUYET LUON
207
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKTGD' AND
208
		(@ROLE_ID ='TKTGD' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKTGD'))))
209
		BEGIN
210
			ROLLBACK TRANSACTION
211
			SELECT '0' as Result, '' ErrorDesc
212
			RETURN '0'
213
		END
214
		-- NEU CAP DUYET LA VAN PHONG THU KI HDQT THI CO THE DUYET LUON
215
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKHDQT' AND (@ROLE_ID ='TKHDQT' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKHDQT'))))
216
		BEGIN
217
			ROLLBACK TRANSACTION
218
			SELECT '0' as Result, '' ErrorDesc
219
			RETURN '0'
220
		END
221
		IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID = @p_REQ_ID AND PROCESS_ID ='APPROVE'))
222
		BEGIN
223

    
224
			ROLLBACK TRANSACTION
225
			SELECT '-1' as Result, '' ErrorDesc
226
			RETURN '-1'
227
		END
228
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS PR WHERE PR.REQ_ID =@p_REQ_ID AND STATUS ='C' AND (
229
									EXISTS(SELECT * FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND AUTH.BRANCH_ID=PR.BRANCH_ID AND (AUTH.DEP_ID=PR.DEP_ID OR AUTH.BRANCH_TYPE<>'HS'))
230
									OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND PR.DVDM_ID=AUTH.DVDM_ID)
231
									OR ( (PR.BRANCH_ID IS NULL OR PR.BRANCH_ID='') AND (PR.DVDM_ID ='' OR PR.DVDM_ID  IS NULL) )
232
									)))
233
		BEGIN
234
			print 'haha'
235
			ROLLBACK TRANSACTION
236
			SELECT '-1' as Result, '' ErrorDesc
237
			RETURN '-1'
238
		END
239
	END
240
	ELSE
241
	BEGIN
242
		-- NEU CAP DUYET LA VAN PHONG THU KI TGD THI CO THE DUYET LUON
243
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKTGD' AND
244
		(@ROLE_ID ='TKTGD' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKTGD'))))
245
		BEGIN
246
			ROLLBACK TRANSACTION
247
			SELECT '0' as Result, '' ErrorDesc
248
			RETURN '0'
249
		END
250
		-- NEU CAP DUYET LA VAN PHONG THU KI HDQT THI CO THE DUYET LUON
251
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKHDQT' AND
252
    (@ROLE_ID ='TKHDQT' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKHDQT'))))
253
		BEGIN
254
			ROLLBACK TRANSACTION
255
			SELECT '0' as Result, '' ErrorDesc
256
			RETURN '0'
257
		END
258
    -- NEU CAP DUYET LA DVCM THI CO THE DUYET LUON
259
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='DVCM' AND
260
    (@ROLE_ID ='GDDV' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='GDDV'))))
261
		BEGIN
262
			ROLLBACK TRANSACTION
263
			SELECT '0' as Result, '' ErrorDesc
264
			RETURN '0'
265
		END
266
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
267
		BEGIN
268
			ROLLBACK TRANSACTION
269
			SELECT '0' as Result, '' ErrorDesc
270
			RETURN '0'
271
		END
272
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS PR WHERE PR.REQ_ID =@p_REQ_ID AND STATUS ='C' AND (
273
									EXISTS(SELECT * FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND AUTH.BRANCH_ID=PR.BRANCH_ID AND (AUTH.DEP_ID=PR.DEP_ID OR AUTH.BRANCH_TYPE<>'HS'))
274
									OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND PR.DVDM_ID=AUTH.DVDM_ID)
275
									OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DMMS AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND EXISTS (SELECT * FROM dbo.TR_REQUEST_DOC A  WHERE A.REQ_ID=@p_REQ_ID AND A.DMMS_ID=AUTH.DMMS_ID AND A.PROCESS_ID='DMMS'))
276
									OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND EXISTS (SELECT * FROM dbo.TR_REQUEST_DOC A  WHERE A.REQ_ID=@p_REQ_ID AND A.DMMS_ID=AUTH.DVDM_ID AND A.PROCESS_ID='DMMS'))
277
									OR EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PR.ID AND  TLNAME=@p_USER_LOGIN AND TYPE_JOB='KS' AND STATUS_JOB='C')
278
									OR ((PR.BRANCH_ID IS NULL OR PR.BRANCH_ID='') AND (PR.DVDM_ID ='' OR PR.DVDM_ID  IS NULL) AND EXISTS(SELECT * FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID = PR.ROLE_USER))
279
									)))
280
		BEGIN
281
			ROLLBACK TRANSACTION
282
			SELECT '-1' as Result, '' ErrorDesc
283
			RETURN '-1'
284
		END
285
		IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='APPROVE'))
286
		BEGIN
287
			ROLLBACK TRANSACTION
288
			SELECT '-1' as Result, '' ErrorDesc
289
			RETURN '-1'
290
		END
291
		IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='APPROVE'))
292
		BEGIN
293
			ROLLBACK TRANSACTION
294
			SELECT '-1' as Result, '' ErrorDesc
295
			RETURN '-1'
296
		END
297

    
298
		-- GiaNT
299
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='P' AND PROCESS_ID ='KT' AND
300
		(@ROLE_ID ='KSV' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='KSV'))))
301
		BEGIN
302
			ROLLBACK TRANSACTION
303
			SELECT '-1' as Result, '' ErrorDesc
304
			RETURN '-1'
305
		END
306
	END
307
	COMMIT TRANSACTION
308
	print 'haha'
309
	SELECT '0' as Result, '' ErrorDesc
310
	RETURN '0'
311

    
312
	ABORT:
313
	BEGIN
314
			ROLLBACK TRANSACTION
315
			SELECT '-1' as Result, '' ErrorDesc
316
			RETURN '-1'
317
	End