Project

General

Profile

TR_CHECK_ROLE_APPROVE.txt

Luc Tran Van, 11/14/2022 04:52 PM

 
1
ALTER PROCEDURE dbo.TR_CHECK_ROLE_APPROVE
2
@TYPE VARCHAR(15) = NULL,
3
@p_REQ_ID	varchar(15) = NULL,
4
@p_USER_LOGIN varchar(15) = NULL
5
AS
6
BEGIN TRANSACTION
7
IF(@TYPE <> 'ADV_PAY')
8
BEGIN
9
	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')))
10
	BEGIN
11
		ROLLBACK TRANSACTION
12
		SELECT '0' as Result, '' ErrorDesc
13
		RETURN '0'
14
	END
15
END
16
-- KHAI BAO THEM ROLE NHAN UY QUYEN
17
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))
18
DECLARE @ROLE_ID VARCHAR(50)
19
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
20
INSERT INTO @TABLE_ROLE SELECT @ROLE_ID
21
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@p_USER_LOGIN AND
22
(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))
23

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

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

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

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

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

    
130
	IF(@TYPE='ADV_PAY')
131
	BEGIN
132
		IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS ='A' AND REQ_PAY_ID =@p_REQ_ID))
133
		BEGIN
134
			ROLLBACK TRANSACTION
135
			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
136
			RETURN '-1'
137
		END
138
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND  ROLE_USER IN (SELECT * FROM @TABLE_ROLE)) )
139
		BEGIN
140
			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)))
141
			BEGIN
142
				ROLLBACK TRANSACTION
143
				SELECT '-1' as Result, N'Bạn không có quyền phê duyệt 1' ErrorDesc
144
				RETURN '-1'
145
			END
146
		END
147
		/*
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 2' 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
    -- NEU CAP DUYET LA TC VA KHONG LA DV CHO NS THI CO THE DUYET LUON
267
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TC'
268
      AND (SUB_PROCESS_ID IS NULL OR SUB_PROCESS_ID NOT LIKE '%DVDC%')
269
      AND (@ROLE_ID ='TC' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TC'))))
270
		BEGIN
271
			ROLLBACK TRANSACTION
272
			SELECT '0' as Result, '' ErrorDesc
273
			RETURN '0'
274
		END
275
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
276
		BEGIN
277
			ROLLBACK TRANSACTION
278
			SELECT '0' as Result, '' ErrorDesc
279
			RETURN '0'
280
		END
281
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS PR WHERE PR.REQ_ID =@p_REQ_ID AND STATUS ='C' AND (
282
									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'))
283
									OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND PR.DVDM_ID=AUTH.DVDM_ID)
284
									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'))
285
									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'))
286
									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')
287
									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))
288
									)))
289
		BEGIN
290
			ROLLBACK TRANSACTION
291
			SELECT '-1' as Result, '' ErrorDesc
292
			RETURN '-1'
293
		END
294
		IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='APPROVE'))
295
		BEGIN
296
			ROLLBACK TRANSACTION
297
			SELECT '-1' as Result, '' ErrorDesc
298
			RETURN '-1'
299
		END
300
		IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='APPROVE'))
301
		BEGIN
302
			ROLLBACK TRANSACTION
303
			SELECT '-1' as Result, '' ErrorDesc
304
			RETURN '-1'
305
		END
306

    
307
		-- GiaNT
308
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='P' AND PROCESS_ID ='KT' AND
309
		(@ROLE_ID ='KSV' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='KSV'))))
310
		BEGIN
311
			ROLLBACK TRANSACTION
312
			SELECT '-1' as Result, '' ErrorDesc
313
			RETURN '-1'
314
		END
315
	END
316
	COMMIT TRANSACTION
317
	print 'haha'
318
	SELECT '0' as Result, '' ErrorDesc
319
	RETURN '0'
320

    
321
	ABORT:
322
	BEGIN
323
			ROLLBACK TRANSACTION
324
			SELECT '-1' as Result, '' ErrorDesc
325
			RETURN '-1'
326
	End