Project

General

Profile

PAYMENT_KT_APPR.txt

Luc Tran Van, 01/22/2021 11:39 AM

 
1

    
2

    
3
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_KT_Appr]
4
--Luanlt 2019/17/10 - Sửa params
5
@p_REQ_PAY_ID	varchar(15)= NULL,
6
@p_CHECKER_ID_KT	varchar(15)	= NULL
7
AS
8
	--Luanlt 2019/10/17 Validate CORE NOTE không được rỗng	
9
	--IF ((SELECT CORE_NOTE FROM TR_REQUEST_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) IS NULL OR (SELECT CORE_NOTE FROM TR_REQUEST_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) = '')
10
	--Luanlt 2019/10/29 Sửa lại validate tồn tại diễn giải hạch toán từ REQUEST_ENTRIES_POST
11
	--IF (NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_REQ_PAY_ID))
12
	--BEGIN
13
	--	SELECT '-1' Result,'' REQ_PAY_ID,N'Chưa cập nhật thông tin hạch toán' ErrorDesc
14
	--	RETURN '-1'
15
	--END
16
	-- KIEM TRA NEU DANG TRA VE THI KHONG CHO DUYET
17
	IF ((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) ='R')
18
	BEGIN
19
		SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị thanh toán đang được trả về. Vui lòng cập nhật lại thông tin trước khi duyệt!' ErrorDesc
20
		RETURN '-1'
21
	END
22
BEGIN TRANSACTION
23
		IF EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT ='A' AND REQ_PAY_ID =@p_REQ_PAY_ID)
24
		BEGIN
25
			ROLLBACK TRANSACTION
26
			SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được kiểm soát viên phê duyệt trước đó. Vui lòng tra cứu thông tin giao dịch!' ErrorDesc
27
		RETURN '-1'
28
		END
29
		DECLARE @p_MAKER_ID VARCHAR(15)
30
		SET @p_MAKER_ID=(SELECT MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
31
		-- CAC BUOC DUYET
32
		DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
33
		SET @LEVEL_JOB =(SELECT TOP 1 LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND TYPE_JOB='KS')
34
		SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
35
		---
36
		DECLARE @INDEX1 INT =0, @INDEX INT =0, @INDEX_AD INT =0
37
		DECLARE @REQ_TYPE VARCHAR(15),@PAY_ADVANCE_ID VARCHAR(15),@AMT_PAY DECIMAL(18,0)
38
		DECLARE @PAY_ID VARCHAR(15),@PAY_PHASE VARCHAR(15), @AMT_ADVANCE DECIMAL(18,0),@SCHEDULE_ID VARCHAR(15),@AMT_PAY_REAL DECIMAL(18,2), @AMT_REMAIN DECIMAL(18,2),@REF_ID VARCHAR(15),
39
		@TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,2), @AMT_EXE_REMAIN DECIMAL(18,2), @AMT_ADD DECIMAL(18,2), @AMT_REVERT DECIMAL(18,2), @AD_PAY_ID VARCHAR(15),@PARENT_ID VARCHAR(15), 
40
		@REASON_TTDK NVARCHAR(2000), @GD_ID VARCHAR(15)
41
		SET @REQ_TYPE =(SELECT REQ_TYPE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
42
		--- KIEM TRA XEM CO PHAI BUOC DUYET CUOI CUNG CHUA
43
		IF(@LEVEL_JOB='1')
44
		BEGIN
45
		---TRU NGAN SACH 
46
		DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE,A.GD_ID FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
47
		OPEN CURS_TRADE
48
			FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE,@GD_ID
49
			WHILE @@FETCH_STATUS = 0
50
			BEGIN
51
				IF(@REQ_TYPE <> 'P')
52
				BEGIN
53
					SET @INDEX = @INDEX +1
54
					--IF(EXISTS(SELECT * FROM CM_GOODS WHERE GD_ID =@GD_ID AND GD_TYPE_ID ='NS'))
55
					--BEGIN
56
					--	SET @AMT_EXE_REMAIN =(SELECT A.AMT_APP - A.AMT_EXE  FROM PL_TRADEDETAIL A WHERE A.TRADE_ID = @TRADED_ID)
57
					--	 --KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
58
					--	IF((@AMT_EXE_REMAIN -@AMT_EXE)<0)
59
					--	BEGIN
60
					--		ROLLBACK TRANSACTION
61
					--		SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Ngân sách sử dụng thực tế đã vượt mức ngân sách sử dụng còn lại: '+ FORMAT(@AMT_EXE_REMAIN,'#,#', 'vi-VN')  ErrorDesc
62
					--		RETURN '-1'
63
					--	END
64
					--END
65
				END
66
				UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) +@AMT_EXE
67
				WHERE TRADE_ID =@TRADED_ID
68
				FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE,@GD_ID
69
			END
70
		CLOSE CURS_TRADE
71
		DEALLOCATE CURS_TRADE
72
		----
73
		IF(@REQ_TYPE ='I')
74
		BEGIN
75
		DECLARE CURS CURSOR FOR SELECT A.PAY_ADV_ID,A.AMT_USE,A.AMT_ADD,A.AMT_REVERT FROM TR_REQ_PAYMENT_DT A WHERE A.PAY_ID =@p_REQ_PAY_ID
76
		OPEN CURS
77
			FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
78
			WHILE @@FETCH_STATUS = 0
79
			BEGIN
80
				SET @INDEX_AD = @INDEX_AD +1
81
				 --KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
82
				IF((SELECT A.REQ_AMT - A.PAY_AMT FROM TR_REQ_ADVANCE_PAYMENT A WHERE A.REQ_PAY_ID = @PAY_ADVANCE_ID)<=0)
83
				BEGIN
84
					ROLLBACK TRANSACTION
85
					SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Phiếu tạm ứng này đã được hoàn tạm ứng xong. Vui lòng xóa khỏi danh sách hoàn tạm ứng' ErrorDesc
86
					RETURN '-1'
87
				END
88
				UPDATE TR_REQ_ADVANCE_PAYMENT
89
				SET PAY_AMT = ISNULL(PAY_AMT,0)+@AMT_PAY +@AMT_REVERT-@AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
90
				FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
91
			END
92
		CLOSE CURS
93
		DEALLOCATE CURS
94
		END
95
		ELSE IF((@REQ_TYPE ='P' AND ((SELECT IS_PERIOD FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) <>'Y' 
96
		     OR (SELECT IS_PERIOD FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) IS NULL )) OR (@REQ_TYPE ='I'))
97
		BEGIN
98
		DECLARE @PROCESS VARCHAR(15), @PDN_TAM_UNG VARCHAR(15), @SO_TIEN_TAM_UNG DECIMAL(18,0)
99
		DECLARE CURS_AD CURSOR FOR SELECT A.SCHEDULE_ID,A.AMT_PAY_DO,A.PAY_ID,A.PAY_PHASE,A.AMT_ADVANCE,A.AMT_PAY_REAL, A.AMT_REMAIN,A.REF_ID,A.PROCESS
100
			FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
101
			OPEN CURS_AD
102
			FETCH NEXT FROM CURS_AD INTO @SCHEDULE_ID,@AMT_PAY,@PAY_ID,@PAY_PHASE,@AMT_ADVANCE,@AMT_PAY_REAL, @AMT_REMAIN,@REF_ID,@PROCESS
103
			WHILE @@FETCH_STATUS = 0
104
			BEGIN
105
				SET @INDEX1 = @INDEX1 +1
106
				-- KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
107
				--IF((SELECT MIN(A.AMT_REMAIN) FROM TR_REQ_PAY_SCHEDULE A WHERE A.PAY_ID = @PAY_ID GROUP BY A.PAY_ID )=0)
108
				--BEGIN
109
				--	ROLLBACK TRANSACTION
110
				--	SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX1)+ N':Kì '+ @PAY_PHASE+N' đã thanh toán xong'  ErrorDesc
111
				--	RETURN '-1'
112
				--END
113
					IF(@AMT_ADVANCE >0 AND @AMT_PAY=0)
114
					BEGIN
115
						UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTU' WHERE SCHEDULE_ID=@SCHEDULE_ID
116
					END
117
					ELSE IF(@AMT_PAY_REAL>0)
118
					BEGIN
119
						UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTT' WHERE SCHEDULE_ID=@SCHEDULE_ID
120
					END
121
					ELSE IF(@AMT_PAY=0 AND @AMT_ADVANCE =0 AND @AMT_PAY_REAL =0)
122
					BEGIN
123
						UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='CTT' WHERE SCHEDULE_ID=@SCHEDULE_ID
124
					END
125
					ELSE IF(@AMT_REMAIN =0)
126
					BEGIN
127
						UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='TTX' WHERE SCHEDULE_ID=@SCHEDULE_ID
128
					END
129
					-- HOAN TAM UNG 100% CHO 1 DOT THANH TOAN NAO DO
130
					IF(@PROCESS ='2')
131
					BEGIN
132
						SET @PDN_TAM_UNG = (SELECT TOP 1 REQ_PAY_ID FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' ORDER BY SCHEDULE_ID)
133
						SET @SO_TIEN_TAM_UNG =(SELECT TOP 1 AMT_PAY_REAL FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' ORDER BY SCHEDULE_ID)
134
						UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT =ISNULL(PAY_AMT,0) + @SO_TIEN_TAM_UNG WHERE REQ_PAY_ID =@PDN_TAM_UNG
135
						-- CAP NHAT DOT TAM UNG VE TINH TRANG LA DA HOAN TAM UNG
136
						UPDATE TR_REQ_PAY_SCHEDULE SET PROCESS ='2' WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' AND REQ_PAY_ID=@PDN_TAM_UNG
137
					END
138
				--UPDATE TR_REQ_ADVANCE_PAYMENT
139
				--SET PAY_AMT = ISNULL(PAY_AMT,0)+@AMT_PAY
140

    
141
				FETCH NEXT FROM CURS_AD INTO @SCHEDULE_ID,@AMT_PAY,@PAY_ID,@PAY_PHASE,@AMT_ADVANCE,@AMT_PAY_REAL, @AMT_REMAIN,@REF_ID,@PROCESS
142
				END
143
			CLOSE CURS_AD
144
			DEALLOCATE CURS_AD
145
			DECLARE  @IS_CLOSED VARCHAR(1)
146
			DECLARE CURS_PO CURSOR FOR SELECT A.REF_ID, A.IS_CLOSED
147
			FROM TR_REQ_ADVANCE_DT A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
148
			OPEN CURS_PO
149
			FETCH NEXT FROM CURS_PO INTO  @REF_ID , @IS_CLOSED 
150
			WHILE @@FETCH_STATUS = 0
151
			BEGIN
152
				IF(@IS_CLOSED ='Y')
153
				BEGIN
154
					IF(EXISTS (SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@REF_ID))
155
					BEGIN
156
						UPDATE TR_CONTRACT SET IS_CLOSED='Y' WHERE CONTRACT_ID =@REF_ID
157
					END
158
					ELSE
159
					BEGIN
160
						UPDATE TR_PO_MASTER SET IS_CLOSED='Y' WHERE PO_ID =@REF_ID
161
					END
162
				END
163
				ELSE
164
				BEGIN
165
					DECLARE @TOAL_PAY_REAL DECIMAL(18,2) =0,@TOAL_PAY_DK DECIMAL(18,2) =0, @TOTAL_AMT_BACK DECIMAL(18,2)
166
					SET @TOAL_PAY_REAL =(SELECT SUM(AMT_PAY_REAL) FROM TR_REQ_PAY_SCHEDULE WHERE REF_ID=@REF_ID)
167
					-- SO TIEN CON LAI CUA  DOT THANH TOAN NHUNG CO LINK TOI PHIEU TAM UNG
168
					SET @TOTAL_AMT_BACK =(SELECT SUM(AMT_REMAIN) FROM TR_REQ_PAY_SCHEDULE WHERE REF_ID=@REF_ID AND REQ_ADV_ID IS NOT NULL)
169
					IF(EXISTS (SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@REF_ID))
170
					BEGIN
171
						SET @TOAL_PAY_DK =(SELECT SUM(AMOUNT) FROM TR_CONTRACT_PAYMENT WHERE CONTRACT_ID=@REF_ID)
172
						IF((@TOAL_PAY_DK-@TOAL_PAY_REAL-@TOTAL_AMT_BACK)=0)
173
						BEGIN
174
							UPDATE TR_CONTRACT SET IS_CLOSED='Y' WHERE CONTRACT_ID =@REF_ID
175
						END
176
					END
177
					BEGIN
178
						SET @TOAL_PAY_DK =(SELECT SUM(AMOUNT) FROM TR_PO_PAYMENT WHERE PO_ID=@REF_ID)
179
						IF((@TOAL_PAY_DK- @TOAL_PAY_REAL-@TOTAL_AMT_BACK)=0)
180
						BEGIN
181
							UPDATE TR_PO_MASTER SET IS_CLOSED='Y' WHERE PO_ID =@REF_ID
182
						END
183
					END
184
				END
185
				FETCH NEXT FROM CURS_PO INTO  @REF_ID , @IS_CLOSED
186
			END
187
			CLOSE CURS_PO
188
			DEALLOCATE CURS_PO
189
		END
190
		--- KIEM TRA NEU LA THANH TOAN CAC HOP DONG DINH KI
191
		ELSE IF((@REQ_TYPE ='P' AND (SELECT IS_PERIOD FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) ='Y') OR (@REQ_TYPE ='I'))
192
		BEGIN
193
		UPDATE TR_REQ_PAY_PERIOD SET PAY_DT_REAL = GETDATE() WHERE REQ_PAY_ID =@p_REQ_PAY_ID
194
		DECLARE @PAY_AMOUNT DECIMAL(18,0),@PAY_DT DATETIME,@l_CONTRACT_ID VARCHAR(15)
195
		DECLARE CURS_PERIOD CURSOR FOR SELECT A.AMT_PAY,A.PAY_DT_REAL,A.CONTRACT_ID,A.PAY_PHASE,A.AD_PAY_ID,A.PROCESS,A.PARENT_ID,A.REASON FROM TR_REQ_PAY_PERIOD A  WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID ORDER BY A.CONTRACT_ID
196
		OPEN CURS_PERIOD
197
			FETCH NEXT FROM CURS_PERIOD INTO @PAY_AMOUNT ,@PAY_DT ,@l_CONTRACT_ID,@PAY_PHASE,@AD_PAY_ID, @PROCESS,@PARENT_ID,@REASON_TTDK
198
			WHILE @@FETCH_STATUS = 0
199
			BEGIN
200
				IF(@PROCESS ='1')
201
				BEGIN
202
					DECLARE @l_PAY_ID VARCHAR(15)
203
					EXEC SYS_CodeMasters_Gen 'TR_CONTRACT_PAYMENT', @l_PAY_ID out
204
					IF @l_PAY_ID='' OR @l_PAY_ID IS NULL GOTO ABORT
205
					INSERT INTO TR_CONTRACT_PAYMENT([PAY_AMOUNT],[PAY_DT], [PAY_ID],[CONTRACT_ID],[PAY_PHASE],[EXPECTED_DT],[PERCENT],[AMOUNT],[PAY_STATUS],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT])
206
					VALUES(@PAY_AMOUNT,CONVERT(DATE,@PAY_DT,103), 
207
					@l_PAY_ID ,@l_CONTRACT_ID ,@PAY_PHASE ,CONVERT(DATE,@PAY_DT,103),100,@PAY_AMOUNT,'1',@REASON_TTDK ,'1' ,@p_MAKER_ID ,GETDATE() ,'A' ,@p_CHECKER_ID_KT,GETDATE())
208
				END
209
				ELSE
210
				BEGIN
211
					IF(@PROCESS ='2' AND (@AD_PAY_ID IS NULL OR @AD_PAY_ID =''))
212
					BEGIN
213
						ROLLBACK TRANSACTION
214
						SELECT '-1' Result,'' REQ_PAY_ID,N'Lưới chi tiết thanh toán định kì: Tại hình thức thanh toán Hoàn ứng, số phiếu tạm ứng không được phép để trống' ErrorDesc
215
						RETURN '-1'
216
					END
217
					UPDATE TR_REQ_PAY_PERIOD SET PROCESS ='2' WHERE PERIOD_ID =@PARENT_ID
218
					UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT = PAY_AMT +@PAY_AMOUNT WHERE REQ_PAY_ID =@AD_PAY_ID
219
				END
220
				IF @@Error <> 0 GOTO ABORT
221
				FETCH NEXT FROM CURS_PERIOD INTO @PAY_AMOUNT ,@PAY_DT ,@l_CONTRACT_ID,@PAY_PHASE,@AD_PAY_ID, @PROCESS,@PARENT_ID,@REASON_TTDK
222
			END
223
		CLOSE CURS_PERIOD
224
		DEALLOCATE CURS_PERIOD
225
		END
226
		---END
227
		UPDATE TR_REQ_PAYMENT
228
	    SET    AUTH_STATUS_KT='A', CHECKER_ID_KT = @p_CHECKER_ID_KT, APPROVE_DT_KT =  GETDATE()
229
	    WHERE  REQ_PAY_ID = @p_REQ_PAY_ID
230
		---UPDATE DETAIL
231
		UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT='A',CHECKER_ID_KT =@p_CHECKER_ID_KT,APPROVE_DT_KT = GETDATE()
232
		WHERE PAY_ID =@p_REQ_PAY_ID
233
		-- UPDATE SCHEDULE
234
		UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='A' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
235
		-- UPDATE PERIOD
236
		UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT='A' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
237
		-- INSERT VAO PL_PROCESS
238
	   INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
239
	   VALUES(@p_REQ_PAY_ID,'APP',@p_CHECKER_ID_KT,GETDATE(), N'Kiểm soát viên phê duyệt phiếu',N'Kế toán duyệt phiếu')
240
		IF @@Error <> 0 GOTO ABORT
241
	   UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TYPE_JOB ='KS' AND LEVEL_JOB =@LEVEL_JOB
242
			--thieuvq ban vao core - 171219 BEGIN 
243
			DECLARE @MAKER VARCHAR(15) = (SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID)
244
			DECLARE @RES VARCHAR(10)
245
			--- BAN BUT TOAN VAO CORE
246
			EXEC [dbo].[PAY_ENTRIES_POST_SetApp] @p_REQ_PAY_ID,@MAKER,@p_CHECKER_ID_KT, @RES OUT 
247
			--END
248
		END
249
		ELSE
250
		BEGIN
251
			-- CAP NHAT C CHO CAP CHA
252
			UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TLNAME=@p_CHECKER_ID_KT
253
			UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_REQ_PAY_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
254
			SELECT '2' as Result, @p_REQ_PAY_ID  REQ_PAY_ID ,N'Xác nhận phiếu thành công' ErrorDesc
255
			RETURN '2'
256
			
257
		END
258
COMMIT TRANSACTION
259
		SELECT '0' as Result, @p_REQ_PAY_ID  REQ_PAY_ID ,N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được phê duyệt thành công!' ErrorDesc
260
		RETURN '0'
261
ABORT:
262
BEGIN
263
		ROLLBACK TRANSACTION
264
		SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
265
		RETURN '-1'
266
END