Project

General

Profile

TR_REQ_ADVANCE_PAYMENT_CHILD_ACTION.txt

Luc Tran Van, 05/31/2023 12:29 PM

 
1
ALTER PROCEDURE dbo.TR_REQ_ADVANCE_PAYMENT_CHILD_ACTION
2
@p_REQ_PAY_ID	varchar(50)= NULL,
3
@p_TK_TGD_NOTES nvarchar(2000)= NULL,
4
@p_TK_HDQT_NOTES nvarchar(2000)= NULL,
5
@p_OTHER_NOTES nvarchar(50)= NULL,
6
@p_CHECKER_ID VARCHAR(15) = NULL,
7
@p_TYPE_ACTION VARCHAR(20) = NULL,
8
@p_IS_AUTHORITY VARCHAR(15) = NULL
9

    
10
AS
11
BEGIN TRANSACTION
12

    
13
IF(@p_IS_AUTHORITY <> 'Y')
14
BEGIN
15
SET @p_IS_AUTHORITY = 'N'
16
END
17

    
18
DECLARE @IS_AUTH_HDQT_NOTES NVARCHAR(6), @IS_AUTHORITY_HDQT VARCHAR(1),@MAKER_ID_OLD VARCHAR(10),@BRANCH_ID VARCHAR(20),@DEP_ID VARCHAR (20)
19
SET @IS_AUTHORITY_HDQT='N'
20
--IF(RIGHT(@p_OTHER_NOTES,6)=N'TMHĐQT')
21
--BEGIN
22
--	SET @IS_AUTH_HDQT_NOTES=N'TMHĐQT'
23
--	SET @IS_AUTHORITY_HDQT ='Y'
24
--	SET @p_OTHER_NOTES = LEFT(@p_OTHER_NOTES, LEN(@p_OTHER_NOTES)-6)
25
--END
26
--IF(RIGHT(@p_OTHER_NOTES,7)=N'KTMHĐQT')
27
--BEGIN
28
--	SET @IS_AUTH_HDQT_NOTES=N''
29
--	SET @IS_AUTHORITY_HDQT ='N'
30
--	SET @p_OTHER_NOTES = LEFT(@p_OTHER_NOTES, LEN(@p_OTHER_NOTES)-7)
31
--END
32
IF(@p_OTHER_NOTES = '' OR @p_OTHER_NOTES IS NULL)
33
BEGIN
34
SET @p_OTHER_NOTES = ''
35
END
36

    
37
IF(@p_TYPE_ACTION='UPDATE')
38
BEGIN
39
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_ID AND PROCESS_ID ='2' AND TYPE_JOB = 'XL' AND STATUS_JOB = 'P'))
40
	BEGIN
41
		ROLLBACK TRANSACTION
42
		SELECT '-1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Cập nhật tham vấn thất bại! Phiếu đề nghị tạm ứng đã được bạn cập nhật trước đó' ErrorDesc
43
		RETURN '-1'
44
	END
45

    
46
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKTGD' AND STATUS ='C'))
47
	BEGIN
48
		IF(@p_TK_TGD_NOTES IS NULL OR @p_TK_TGD_NOTES ='')
49
		BEGIN
50
			ROLLBACK TRANSACTION
51
			SELECT '4' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Vui lòng nhập tham vấn Thư Ký Văn Phòng Tổng Giám Đốc' ErrorDesc
52
			RETURN '4'
53
		END
54
		-- UPDATE DU LIEU
55
		UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_TGD_NOTES = @p_TK_TGD_NOTES, TK_HDQT_NOTES =@p_TK_HDQT_NOTES, OTHER_NOTES =@IS_AUTH_HDQT_NOTES,
56
		TK_TGD_XL_TLNAME =@p_CHECKER_ID, TK_TGD_XL_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY
57
		WHERE REQ_PAY_ID  =@p_REQ_PAY_ID
58
	END
59
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKHDQT' AND STATUS ='C'))
60
	BEGIN
61
		IF(@p_TK_HDQT_NOTES IS NULL OR @p_TK_HDQT_NOTES ='')
62
		BEGIN
63
			ROLLBACK TRANSACTION
64
			SELECT '4' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Vui lòng nhập tham vấn Thư Ký Văn Phòng Hội Đồng Quản Trị' ErrorDesc
65
			RETURN '4'
66
		END
67
		-- UPDATE DU LIEU
68
		UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_TGD_NOTES = @p_TK_TGD_NOTES, TK_HDQT_NOTES =@p_TK_HDQT_NOTES, OTHER_NOTES =@IS_AUTH_HDQT_NOTES,
69
		TK_HDQT_XL_TLNAME =@p_CHECKER_ID, TK_HDQT_XL_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY
70
		WHERE REQ_PAY_ID  =@p_REQ_PAY_ID
71
	END
72
	INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@p_CHECKER_ID,N'Nhân viên xử lý phiếu',GETDATE(),N'Nhập thông tin tham vấn thành công')
73
	--COMMIT TRANSACTION
74
	--SELECT '2' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Cập nhật tham vấn thành công' ErrorDesc
75
	--RETURN '2'
76
END
77
ELSE IF(@p_TYPE_ACTION='APPROVE')
78
BEGIN
79
	--doanptt: THU KY DA DIEU PHOI CHO NHAN VIEN XU LY THI KHONG DUOC DUYET NUA
80
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB <> 'C' AND TLNAME =@p_CHECKER_ID AND TYPE_JOB IN ('KS')))
81
	BEGIN
82
		ROLLBACK TRANSACTION
83
		SELECT '-1' as Result, N'Duyệt tham vấn thất bại! Phiếu đang được điều phối đến nhân viên xử lý' ErrorDesc
84
		RETURN '-1'
85
	END
86

    
87
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKTGD' AND STATUS ='C'))
88
	BEGIN
89
		IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ISNULL(TK_TGD_NOTES,'')=''))
90
		BEGIN
91
			UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_TGD_NOTES =@p_OTHER_NOTES, 
92
			TK_TGD_APPR_TLNAME =@p_CHECKER_ID, TK_TGD_APPR_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY WHERE REQ_PAY_ID =@p_REQ_PAY_ID
93
		END
94
		UPDATE TR_REQ_ADVANCE_PAYMENT SET 
95
			TK_TGD_APPR_TLNAME =@p_CHECKER_ID, TK_TGD_APPR_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY WHERE REQ_PAY_ID =@p_REQ_PAY_ID
96
		UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKTGD'
97
		UPDATE PL_REQUEST_PROCESS SET STATUS ='C' WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TGD'
98
		UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB ='C'
99
		IF(ISNULL(@p_OTHER_NOTES, '') <> '')
100
		BEGIN
101
			INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT,PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@p_CHECKER_ID,N'Văn phòng TGĐ phê duyệt',GETDATE(),N'Văn phòng TGĐ: '+ @p_OTHER_NOTES)
102
		END
103
		ELSE
104
		BEGIN
105
			INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT,PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@p_CHECKER_ID,N'Văn phòng TGĐ phê duyệt',GETDATE(),N'Văn phòng TGĐ phê duyệt tham vấn')
106
		END
107
		--COMMIT TRANSACTION
108
		--SELECT '0' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Phê duyệt tham vấn thành công' ErrorDesc
109
		--RETURN '0'
110
		DECLARE @PARENT_PROCESS_ID_TGD INT
111
		SET @PARENT_PROCESS_ID_TGD = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKTGD')
112
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TGD'))
113
		BEGIN
114
			INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD)
115
      VALUES (@p_REQ_PAY_ID,@PARENT_PROCESS_ID_TGD+1,'C','TGD','DV0001',NULL,NULL,@PARENT_PROCESS_ID_TGD, 'Y','',NULL,N'Chờ Tổng Giám Đốc Xác Nhận',NULL)
116
		END
117
	END
118
	ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKHDQT' AND STATUS ='C'))
119
	BEGIN
120
		IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ISNULL(TK_HDQT_NOTES,'')=''))
121
		BEGIN
122
			UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_HDQT_NOTES =@p_OTHER_NOTES, OTHER_NOTES =@IS_AUTH_HDQT_NOTES, TK_HDQT_APPR_TLNAME =@p_CHECKER_ID, TK_HDQT_APPR_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY WHERE REQ_PAY_ID =@p_REQ_PAY_ID
123
		END
124
		UPDATE TR_REQ_ADVANCE_PAYMENT SET OTHER_NOTES =@IS_AUTH_HDQT_NOTES, TK_HDQT_APPR_TLNAME =@p_CHECKER_ID, TK_HDQT_APPR_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY WHERE REQ_PAY_ID =@p_REQ_PAY_ID
125
		UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKHDQT'
126
		UPDATE PL_REQUEST_PROCESS SET STATUS ='C' WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='HDQT'
127
		UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB ='C'
128
		IF(ISNULL(@p_OTHER_NOTES, '') <> '')
129
		BEGIN
130
			INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@p_CHECKER_ID,N' Văn phòng HĐQT phê duyệt',GETDATE(),N'Văn phòng HDQT: '+@p_OTHER_NOTES)
131
		END
132
		ELSE
133
		BEGIN
134
			INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@p_CHECKER_ID,N' Văn phòng HĐQT phê duyệt',GETDATE(),N'Văn phòng HDQT phê duyệt tham vấn')
135
		END
136
		DECLARE @PARENT_PROCESS_ID_HDQT INT
137
		SET @PARENT_PROCESS_ID_HDQT = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKHDQT')
138
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='HDQT'))
139
		BEGIN
140
			INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD)
141
      VALUES (@p_REQ_PAY_ID,CONVERT(VARCHAR(5),@PARENT_PROCESS_ID_HDQT+1),'C','HDQT','DV0001',NULL,NULL,@PARENT_PROCESS_ID_HDQT, 'Y','',NULL,N'Chờ Chủ Tịch HĐQT Xác Nhận',NULL)
142
		END
143
		--COMMIT TRANSACTION
144
		--SELECT '0' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Phê duyệt tham vấn thành công' ErrorDesc
145
		--RETURN '0'
146
	END
147
	ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKTGD' AND STATUS ='P'))
148
	BEGIN
149
		ROLLBACK TRANSACTION
150
		SELECT '4' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'TKTGD đã phê duyệt tham vấn thành công trước đó' ErrorDesc
151
		RETURN '4'
152
	END
153
	ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKHDQT' AND STATUS ='P'))
154
	BEGIN
155
		ROLLBACK TRANSACTION
156
		SELECT '4' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'TKHDQT đã phê duyệt tham vấn thành công trước đó' ErrorDesc
157
		RETURN '4'
158
	END
159
	
160
END
161
ELSE IF(@p_TYPE_ACTION='SEND')
162
BEGIN
163
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKTGD' AND STATUS ='C'))
164
	BEGIN
165
		UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID =@p_REQ_PAY_ID AND TLNAME =@p_CHECKER_ID AND TYPE_JOB ='XL'
166
		UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID =@p_REQ_PAY_ID AND TYPE_JOB IN ('KS','TP')
167
		-- UPDATE DU LIEU
168
		UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_TGD_NOTES = @p_TK_TGD_NOTES, TK_HDQT_NOTES =@p_TK_HDQT_NOTES, OTHER_NOTES =@IS_AUTH_HDQT_NOTES,
169
		TK_TGD_XL_TLNAME =@p_CHECKER_ID, TK_TGD_XL_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY
170
		WHERE REQ_PAY_ID  =@p_REQ_PAY_ID
171
	END
172
	ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='TKHDQT' AND STATUS ='C'))
173
	BEGIN
174
		UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID =@p_REQ_PAY_ID AND TLNAME =@p_CHECKER_ID AND TYPE_JOB ='XL'
175
		UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID =@p_REQ_PAY_ID AND TYPE_JOB IN ('KS','TP')
176

    
177
		-- UPDATE DU LIEU
178
		UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_TGD_NOTES = @p_TK_TGD_NOTES, TK_HDQT_NOTES =@p_TK_HDQT_NOTES, OTHER_NOTES =@IS_AUTH_HDQT_NOTES,
179
		TK_HDQT_XL_TLNAME =@p_CHECKER_ID, TK_HDQT_XL_DT = GETDATE(),  IS_AUTHORITY = @p_IS_AUTHORITY
180
		WHERE REQ_PAY_ID  =@p_REQ_PAY_ID
181
	END
182
	INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT,PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@p_CHECKER_ID,N'Nhân viên xử lý',GETDATE(),N'Gửi phê duyệt thông tin tham vấn thành công')
183
END
184
ELSE IF(@p_TYPE_ACTION='CONFIG')
185
BEGIN
186
	DECLARE @REQ_ID VARCHAR(15)
187
	IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID) AND NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID))
188
	BEGIN
189
			ROLLBACK TRANSACTION
190
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Giao dịch không tồn tại trong hệ thống' ErrorDesc
191
			RETURN '4'
192
	END
193
	PRINT @p_REQ_PAY_ID
194
	IF(CONVERT(DATE,@p_TK_HDQT_NOTES,103)) >=CONVERT(DATE,GETDATE(),103)
195
	BEGIN
196
			ROLLBACK TRANSACTION
197
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Ngày lùi phải nhỏ hơn ngày hiện tại' ErrorDesc
198
			RETURN '4'
199
	END
200
	IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID))
201
	BEGIN
202
		SET @REQ_ID =(SELECT TOP 1 REQ_ID FROM PL_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID)
203
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID AND PROCESS_ID ='APPROVE'))
204
		BEGIN
205
			ROLLBACK TRANSACTION
206
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Tờ trình chủ trương chưa được duyệt' ErrorDesc
207
			RETURN '4'
208
		END
209
		UPDATE PL_REQUEST_PROCESS SET APPROVE_DT =CONVERT(DATE, @p_TK_HDQT_NOTES, 103) WHERE REQ_ID =@REQ_ID
210
		UPDATE PL_REQUEST_DOC SET APPROVE_DT =CONVERT(DATE, @p_TK_HDQT_NOTES, 103), 
211
		EFFEC_DT =CONVERT(DATE, @p_TK_HDQT_NOTES, 103), REQ_DT =CONVERT(DATE, @p_TK_HDQT_NOTES, 103), IS_BACKDAY =1 WHERE REQ_ID =@REQ_ID
212
	END
213
	ELSE IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID))
214
	BEGIN
215
		IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID AND PROCESS_ID ='APPROVE'))
216
		BEGIN
217
			ROLLBACK TRANSACTION
218
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Phiếu yêu cầu mua sắm chưa được duyệt' ErrorDesc
219
			RETURN '4'
220
		END
221
		SET @REQ_ID =(SELECT TOP 1 REQ_ID FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID)
222
		UPDATE PL_PROCESS SET APPROVE_DT =CONVERT(DATE, @p_TK_HDQT_NOTES, 103) WHERE REQ_ID =@REQ_ID
223
		UPDATE TR_REQUEST_DOC SET APPROVE_DT =CONVERT(DATE, @p_TK_HDQT_NOTES, 103), REQ_DT = CONVERT(DATE, @p_TK_HDQT_NOTES, 103), CREATE_DT = CONVERT(DATE, @p_TK_HDQT_NOTES, 103) WHERE REQ_ID =@REQ_ID
224
	END
225
	INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@REQ_ID,@p_CHECKER_ID,N'Cập nhật thông tin lùi ngày',GETDATE(),@p_OTHER_NOTES)
226
END
227

    
228
ELSE IF(@p_TYPE_ACTION='DRAFT')
229
BEGIN
230
	IF(@p_CHECKER_ID <> (SELECT MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_PAY_ID)) ------- LUCTV 25052023_SECRETKEY -CHỈ CÓ NGƯỜI TẠO PHIẾU MỚI ĐƯỢC PHÉP ĐÓNG PHIẾU
231
	BEGIN
232
			ROLLBACK TRANSACTION
233
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Đóng phiếu thất bại! Chỉ có người tạo mới được phép đóng phiếu' ErrorDesc
234
			RETURN '4'
235
	END
236
	IF (NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID))
237
	BEGIN
238
			ROLLBACK TRANSACTION
239
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Giao dịch không tồn tại trong hệ thống' ErrorDesc
240
			RETURN '4'
241
	END
242
	---- LUCTV 24052023_SECRETKEY - NẾU PYCMS ĐANG NẰM TRONG 1 PĐN THANH TOÁN MÀ PĐN THANH TOÁN NÀY CHƯA HOÀN TẤT THÌ KHÔNG CHO ĐÓNG
243
	IF (EXISTS(SELECT A.* FROM TR_REQ_ADVANCE_DT A 
244
	WHERE 1=1 AND (A.REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_REQ_PAY_ID) OR A.REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT  WHERE REQ_DOC_ID =@p_REQ_PAY_ID))
245
	AND A.REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','R'))))
246
	BEGIN
247
			ROLLBACK TRANSACTION
248
			SELECT '4' as Result, ''  REQ_PAY_ID, N'PYCMS này đang được sử dụng trong các PĐN thanh toán. Vui lòng rà soát và hủy toàn bộ các PĐN thanh toán trước khi đóng PYCMS' ErrorDesc
249
			RETURN '4'
250
	END
251
	---- END
252
	IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID))
253
	BEGIN
254
		IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID AND PROCESS_ID ='APPROVE'))
255
		BEGIN
256
			ROLLBACK TRANSACTION
257
			SELECT '4' as Result, ''  REQ_PAY_ID, N'PYCMS này chưa được hoàn tất. Bạn chỉ được phép đưa phiếu về lưu nháp trong trường hợp phiếu đã được hoàn tất nhưng sai sót hồ sơ và đưa về lưu nháp để người tạo hủy phiếu' ErrorDesc
258
			RETURN '4'
259
		END
260
		SET @REQ_ID =(SELECT TOP 1 REQ_ID FROM TR_REQUEST_DOC WHERE REQ_CODE =@p_REQ_PAY_ID)
261
		UPDATE TR_REQUEST_DOC SET AUTH_STATUS='E' WHERE REQ_ID =@REQ_ID
262
	END
263
	INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@REQ_ID,@p_CHECKER_ID,N'Cập nhật tình trạng phiếu lưu nháp',GETDATE(),@p_OTHER_NOTES)
264
END
265
ELSE IF(@p_TYPE_ACTION='CLOSE_PUR')
266
BEGIN
267
	IF(@p_CHECKER_ID <> (SELECT MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_PAY_ID)) ------- LUCTV 25052023_SECRETKEY -CHỈ CÓ NGƯỜI TẠO PHIẾU MỚI ĐƯỢC PHÉP ĐÓNG PHIẾU
268
	BEGIN
269
			ROLLBACK TRANSACTION
270
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Đóng phiếu thất bại! Chỉ có người tạo mới được phép đóng phiếu' ErrorDesc
271
			RETURN '4'
272
	END
273
	IF (NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_PAY_ID))
274
	BEGIN
275
			ROLLBACK TRANSACTION
276
			SELECT '4' as Result, ''  REQ_PAY_ID, N'Giao dịch không tồn tại trong hệ thống' ErrorDesc
277
			RETURN '4'
278
	END
279
	---- LUCTV 24052023_SECRETKEY - NẾU PYCMS ĐANG NẰM TRONG 1 PĐN THANH TOÁN MÀ PĐN THANH TOÁN NÀY CHƯA HOÀN TẤT THÌ KHÔNG CHO ĐÓNG
280
	IF (EXISTS(SELECT A.* FROM TR_REQ_ADVANCE_DT A 
281
	WHERE 1=1 AND (A.REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_REQ_PAY_ID) OR A.REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT  WHERE REQ_DOC_ID =@p_REQ_PAY_ID))
282
	AND A.REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','R'))))
283
	BEGIN
284
			ROLLBACK TRANSACTION
285
			SELECT '4' as Result, ''  REQ_PAY_ID, N'PYCMS này đang được sử dụng trong các phiếu đề nghị thanh toán / tạm ứng. Vui lòng rà soát và hủy toàn bộ các PĐN thanh toán trước khi đóng PYCMS' ErrorDesc
286
			RETURN '4'
287
	END
288
	---- END
289
	IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_PAY_ID))
290
	BEGIN
291
		IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_PAY_ID AND PROCESS_ID ='APPROVE'))
292
		BEGIN
293
			ROLLBACK TRANSACTION
294
			SELECT '4' as Result, ''  REQ_PAY_ID, N'PYCMS này chưa được hoàn tất. Bạn chỉ được phép đóng phiếu khi đã hoàn tất' ErrorDesc
295
			RETURN '4'
296
		END
297
		DECLARE @REQ_CODE NVARCHAR(50) =''
298
		SET @REQ_CODE = (SELECT TOP(1) REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID = @p_REQ_PAY_ID)
299
		DELETE FROM TR_REQUEST_DOC WHERE  REQ_ID = @p_REQ_PAY_ID
300
		DELETE FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID = @p_REQ_PAY_ID
301
		DELETE FROM TR_REQUEST_DOC_PL_DT WHERE REQ_DOC_ID = @p_REQ_PAY_ID
302
	END
303
	INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@p_CHECKER_ID,N'Người tạo đóng PYCMS',GETDATE(),@REQ_CODE)
304
END
305
-- To trinh chu truong
306
ELSE IF(@p_TYPE_ACTION = 'TRANSFER_PL')
307
BEGIN
308
  IF EXISTS (SELECT * FROM PL_REQUEST_DOC UO WHERE UO.REQ_ID = @p_REQ_PAY_ID)
309
    BEGIN
310
        IF(EXISTS (SELECT * FROM TL_USER tu WHERE tu.TLNANME = @p_CHECKER_ID))
311
        BEGIN
312
          SET @MAKER_ID_OLD = (SELECT G.MAKER_ID FROM PL_REQUEST_DOC G WHERE G.REQ_ID = @p_REQ_PAY_ID)
313
          UPDATE PL_REQUEST_DOC SET MAKER_ID = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID
314
--          UPDATE PL_REQUEST_DOC_DT SET MAKER_ID = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID
315
--          UPDATE PL_REQUEST_DOC_DT_HIST set MAKER_ID = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID
316
          INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@MAKER_ID_OLD,N'Người tạo bàn giao phiếu tờ trình chủ trương cho user' + @p_CHECKER_ID,GETDATE(),@REQ_CODE)
317
        END
318
       
319
    END
320
END
321
-- PYC mua sam
322
ELSE IF(@p_TYPE_ACTION = 'REQUEST_DOC')
323
BEGIN
324
  IF EXISTS (SELECT * FROM TR_REQUEST_DOC UO WHERE UO.REQ_ID = @p_REQ_PAY_ID)
325
    BEGIN
326
        IF(EXISTS (SELECT * FROM TL_USER tu WHERE tu.TLNANME = @p_CHECKER_ID))
327
        BEGIN
328
         SET @MAKER_ID_OLD = (SELECT H.MAKER_ID FROM TR_REQUEST_DOC H WHERE H.REQ_ID = @p_REQ_PAY_ID)
329
         UPDATE TR_REQUEST_DOC SET MAKER_ID = @p_CHECKER_ID, USER_REQUEST = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID
330
         UPDATE TR_REQUEST_DOC_DT SET MAKER_ID = @p_CHECKER_ID WHERE REQ_DOC_ID = @p_REQ_PAY_ID
331
         UPDATE TR_REQUEST_DOC_PL_DT SET MAKER_ID =  @p_CHECKER_ID WHERE REQ_DOC_ID = @p_REQ_PAY_ID
332
         INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@MAKER_ID_OLD,N'Người tạo bàn giao phiếu yêu cầu mua sắm cho user ' + @p_CHECKER_ID,GETDATE(),@REQ_CODE)
333
        END
334
       
335
    END
336
END
337
-- PYC xe
338
ELSE IF (@p_TYPE_ACTION = 'REQUEST_CAR')
339
BEGIN
340
  IF(EXISTS (SELECT * FROM TR_REQUEST_CAR U WHERE U.REQ_ID = @p_REQ_PAY_ID))
341
    BEGIN
342
    	SET @MAKER_ID_OLD = (SELECT P.MAKER_ID FROM TR_REQUEST_CAR P WHERE P.REQ_ID = @p_REQ_PAY_ID)
343
      UPDATE TR_REQUEST_CAR SET MAKER_ID = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID
344
      UPDATE PL_REQUEST_PROCESS SET ROLE_USER = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID AND PROCESS_ID = 'MAKER_APP'
345
      INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@MAKER_ID_OLD,N'Người tạo bàn giao phiếu yêu cầu xe cho user ' + @p_CHECKER_ID,GETDATE(),@REQ_CODE)
346
    END
347
END
348
-- PYC cong tac
349
ELSE IF (@p_TYPE_ACTION = 'REQUEST_JOB')
350
BEGIN
351
  IF(EXISTS (SELECT * FROM TR_REQUEST_JOB_FORM T WHERE T.REQ_ID = @p_REQ_PAY_ID))
352
    BEGIN
353
    	SET @MAKER_ID_OLD = (SELECT R.MAKER_ID FROM TR_REQUEST_JOB_FORM R WHERE R.REQ_ID = @p_REQ_PAY_ID)
354
      UPDATE TR_REQUEST_JOB_FORM SET MAKER_ID = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID
355
      UPDATE PL_REQUEST_PROCESS SET ROLE_USER = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID AND PROCESS_ID = 'MAKER_CONF'
356
      UPDATE PL_REQUEST_PROCESS SET ROLE_USER = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_PAY_ID AND PROCESS_ID =  'MAKER_APP'
357
      INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@MAKER_ID_OLD,N'Người tạo bàn giao phiếu yêu cầu công tác cho user ' + @p_CHECKER_ID,GETDATE(),@REQ_CODE)
358
    END
359
END
360
-- Phieu de nghi thanh toan
361
ELSE IF (@p_TYPE_ACTION = 'REQ_PAYMENT')
362
BEGIN
363
  IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT T WHERE T.REQ_PAY_ID = @p_REQ_PAY_ID))
364
    BEGIN
365
    	SET @MAKER_ID_OLD = (SELECT R.MAKER_ID FROM TR_REQ_PAYMENT R WHERE R.REQ_PAY_ID = @p_REQ_PAY_ID)
366
      SET @BRANCH_ID = (SELECT tu.TLSUBBRID FROM TL_USER tu WHERE tu.TLNANME = @p_CHECKER_ID)
367
      SET @DEP_ID = (SELECT tu.DEP_ID FROM TL_USER tu WHERE TU.TLNANME = @p_CHECKER_ID)
368
      UPDATE TR_REQ_PAYMENT SET MAKER_ID = @p_CHECKER_ID, DEP_ID = @DEP_ID, BRANCH_ID = @BRANCH_ID, BRANCH_CREATE = @BRANCH_ID  WHERE REQ_PAY_ID = @p_REQ_PAY_ID
369
      INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@MAKER_ID_OLD,N'Người tạo bàn phiếu đề nghị thanh toán cho user ' + @p_CHECKER_ID,GETDATE(),@REQ_CODE)
370
    END
371
END
372
-- Phieu de nghi tam ung
373
ELSE IF (@p_TYPE_ACTION = 'REQ_TEMP_PAYMENT')
374
BEGIN
375
  IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT E WHERE E.REQ_PAY_ID = @p_REQ_PAY_ID))
376
    BEGIN
377
    	SET @MAKER_ID_OLD = (SELECT R.MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT R WHERE R.REQ_PAY_ID = @p_REQ_PAY_ID)
378
      SET @BRANCH_ID = (SELECT tu.TLSUBBRID FROM TL_USER tu WHERE tu.TLNANME = @p_CHECKER_ID)
379
      SET @DEP_ID = (SELECT tu.DEP_ID FROM TL_USER tu WHERE TU.TLNANME = @p_CHECKER_ID)
380
      UPDATE TR_REQ_ADVANCE_PAYMENT SET MAKER_ID = @p_CHECKER_ID, DEP_ID = @DEP_ID, BRANCH_ID = @BRANCH_ID, BRANCH_CREATE = @BRANCH_ID WHERE REQ_PAY_ID = @p_REQ_PAY_ID
381
      INSERT INTO PL_PROCESS (REQ_ID,CHECKER_ID,NOTES, APPROVE_DT, PROCESS_DESC) VALUES (@p_REQ_PAY_ID,@MAKER_ID_OLD,N'Người tạo bàn giao phiếu đề nghị tạm ứng cho user ' + @p_CHECKER_ID,GETDATE(),@REQ_CODE)
382
    END
383
END
384
ELSE IF(@p_TYPE_ACTION = 'DELAYDATE100-500')
385
BEGIN
386
	IF(EXISTS( SELECT * FROM TR_REQ_DOC_XETGIA_100M_500M pac WHERE PAC.REQ_DOC_ID = @p_REQ_PAY_ID))
387
  BEGIN
388
    UPDATE TR_REQ_DOC_XETGIA_100M_500M SET CREATE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_DOC_ID =@p_REQ_PAY_ID
389
    UPDATE PL_REQUEST_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @p_REQ_PAY_ID
390
    UPDATE PL_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @p_REQ_PAY_ID
391
  END
392
END
393
ELSE IF(@p_TYPE_ACTION = 'DELAYDATEON500')
394
BEGIN
395
	IF(EXISTS( SELECT * FROM TR_REQ_DOC_XETGIA_TREN_500M pac WHERE PAC.REQ_DOC_ID = @p_REQ_PAY_ID))
396
  BEGIN
397
    UPDATE TR_REQ_DOC_XETGIA_TREN_500M SET CREATE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_DOC_ID =@p_REQ_PAY_ID
398
    UPDATE PL_REQUEST_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @p_REQ_PAY_ID
399
    UPDATE PL_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @p_REQ_PAY_ID
400
  END
401
END
402
ELSE IF(@p_TYPE_ACTION = 'DELAYDATE10-100')
403
BEGIN
404
	IF(EXISTS( SELECT * FROM TR_REQ_DOC_XETGIA_DUOI_100M pac WHERE PAC.REQ_DOC_ID = @p_REQ_PAY_ID))
405
  BEGIN
406
    UPDATE TR_REQ_DOC_XETGIA_DUOI_100M SET CREATE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103), FR_DATE  = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_DOC_ID =@p_REQ_PAY_ID
407
    UPDATE PL_REQUEST_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @p_REQ_PAY_ID
408
    UPDATE PL_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @p_REQ_PAY_ID
409
  END
410
END
411
ELSE IF(@p_TYPE_ACTION = 'DELAYDATE_APPOINT')
412
IF(EXISTS(SELECT * FROM PL_APPOINT_CONTRACTOR pac WHERE PAC.REQ_ID = @p_REQ_PAY_ID))
413
BEGIN
414
	  UPDATE PL_APPOINT_CONTRACTOR SET REQ_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103), CREATE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID =@p_REQ_PAY_ID
415
    DECLARE @REQ_ID_PYCMS VARCHAR(15) = (SELECT TOP 1 pac.TR_REQUEST_DOC_ID FROM PL_APPOINT_CONTRACTOR pac WHERE PAC.REQ_ID = @p_REQ_PAY_ID) 
416
    UPDATE PL_REQUEST_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @REQ_ID_PYCMS
417
    UPDATE PL_PROCESS SET APPROVE_DT = CONVERT(DATETIME,@P_tK_HDQT_NOTES,103) WHERE REQ_ID = @REQ_ID_PYCMS
418

    
419
END
420
COMMIT TRANSACTION
421
	IF(@p_TYPE_ACTION='SEND')
422
	BEGIN
423
		SELECT '0' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Gửi phê duyệt nội dung tham vấn giao dịch thành công' ErrorDesc
424
		RETURN '0'
425
	END
426
	ELSE IF(@p_TYPE_ACTION='APPROVE')
427
	BEGIN
428
		SELECT '2' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Phê duyệt tham vấn thành công' ErrorDesc
429
		RETURN '2'
430
	END
431
	ELSE IF(@p_TYPE_ACTION='CONFIG')
432
	BEGIN
433
		SELECT '0' as Result, ''  REQ_PAY_ID, N'Lùi ngày giao dịch thành công' ErrorDesc
434
		RETURN '0'
435
	END
436
	ELSE IF(@p_TYPE_ACTION='UPDATE')
437
	BEGIN
438
		SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Cập nhật nội dung tham vấn thành công' ErrorDesc
439
		RETURN '1'
440
	END
441
	ELSE IF(@p_TYPE_ACTION='DRAFT')
442
	BEGIN
443
		SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Cập nhật tình trạng phiếu lưu nháp thành công' ErrorDesc
444
		RETURN '1'
445
	END
446
	ELSE IF(@p_TYPE_ACTION='CLOSE_PUR')
447
	BEGIN
448
		SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Đóng phiếu yêu cầu mua sắm thành công' ErrorDesc
449
		RETURN '1'
450
	END
451
  ELSE IF(@p_TYPE_ACTION = 'TRANSFER_PL')
452
  BEGIN
453
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Bàn giao thành công' ErrorDesc
454
		RETURN '1'
455
  END
456
  ELSE IF(@p_TYPE_ACTION = 'REQUEST_DOC')
457
  BEGIN
458
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Bàn giao thành công' ErrorDesc
459
		RETURN '1'
460
  END
461
  ELSE IF(@p_TYPE_ACTION = 'REQUEST_CAR')
462
  BEGIN
463
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Bàn giao thành công' ErrorDesc
464
		RETURN '1'
465
  END
466
  ELSE IF(@p_TYPE_ACTION = 'REQUEST_JOB')
467
  BEGIN
468
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Bàn giao thành công' ErrorDesc
469
		RETURN '1'
470
  END
471
  ELSE IF(@p_TYPE_ACTION = 'REQ_PAYMENT')
472
  BEGIN
473
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Bàn giao thành công' ErrorDesc
474
		RETURN '1'
475
  END
476
  ELSE IF(@p_TYPE_ACTION = 'REQ_TEMP_PAYMENT')
477
  BEGIN
478
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Bàn giao thành công' ErrorDesc
479
		RETURN '1'
480
  END
481
  ELSE IF(@p_TYPE_ACTION = 'DELAYDATEON500')
482
  BEGIN
483
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Lùi ngày thành công' ErrorDesc
484
		RETURN '1'
485
  END
486
  ELSE IF(@p_TYPE_ACTION = 'DELAYDATE100-500')
487
  BEGIN
488
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Lùi ngày thành công' ErrorDesc
489
		RETURN '1'
490
  END
491
  ELSE IF(@p_TYPE_ACTION = 'DELAYDATE10-100')
492
  BEGIN
493
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Lùi ngày thành công' ErrorDesc
494
		RETURN '1'
495
  END
496
   ELSE IF(@p_TYPE_ACTION = 'DELAYDATE_APPOINT')
497
  BEGIN
498
  	SELECT '1' as Result, @p_REQ_PAY_ID  REQ_PAY_ID, N'Lùi ngày thành công' ErrorDesc
499
		RETURN '1'
500
  END
501

    
502

    
503
ABORT:
504
BEGIN
505
		ROLLBACK TRANSACTION
506
		SELECT '-1' as Result, '' REQ_PAY_ID, N'Tham vấn thất bại: ' + ERROR_MESSAGE() ErrorDesc
507
		RETURN '-1'
508
END