1
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_KT_Upd]
|
2
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
3
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
4
|
@p_REQ_DT VARCHAR(20)= NULL,
|
5
|
@p_BRANCH_ID varchar(15) = NULL,
|
6
|
@p_DEP_ID varchar(15) = NULL,
|
7
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
8
|
@p_REQ_TYPE varchar(15) = NULL,
|
9
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
10
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
11
|
@p_REF_ID varchar(15) = NULL,
|
12
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
13
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
14
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
15
|
@p_REQ_AMT decimal(18, 0) = NULL,
|
16
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
17
|
@p_MAKER_ID varchar(15) = NULL,
|
18
|
@p_CREATE_DT varchar(25) = NULL,
|
19
|
@p_EDITOR_ID varchar(15) = NULL,
|
20
|
@p_AUTH_STATUS varchar(1) = NULL,
|
21
|
@p_CHECKER_ID varchar(15) = NULL,
|
22
|
@p_APPROVE_DT varchar(25) = NULL,
|
23
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
24
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
25
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
26
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
27
|
@p_APPROVE_DT_KT varchar(25)= null,
|
28
|
@p_CONFIRM_NOTE nvarchar(500) = NULL,
|
29
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
30
|
@p_NOTES varchar(15) = NULL,
|
31
|
@p_RECORD_STATUS varchar(1) = NULL,
|
32
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
33
|
@p_TRANSFER_DT varchar(25) = NULL,
|
34
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
35
|
@p_PROCESS varchar(15) = NULL,
|
36
|
@p_PAY_PHASE VARCHAR(15) = NULL,
|
37
|
@p_XMP_TEMP XML = NULL,
|
38
|
@p_XMP_TEMP_2 XML = NULL
|
39
|
AS
|
40
|
|
41
|
--Validation is here
|
42
|
IF ((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) ='R')
|
43
|
BEGIN
|
44
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị thanh toán đang được trả về đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
45
|
RETURN '-1'
|
46
|
END
|
47
|
DECLARE @ENTRY_PAIR varchar(20),@DR_CR varchar(20),@ACCT VARCHAR(50), @ACCT_NAME VARCHAR(500), @AMT decimal(18,2),@CURRENCY VARCHAR(15), @EXC_RATE DECIMAL(18,0),
|
48
|
@BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15),@TRN_DESC nvarchar(1000),@GL_CODE VARCHAR(100)
|
49
|
DECLARE @VAT decimal(18, 0) =NULL, @TRANS_NO nvarchar(50)=NULL, @TRANS_DT VARCHAR(20)=NULL,@INVOICE_SIGN nvarchar(50) = NULL,@INVOICE_NO_SIGN nvarchar(50)=null,
|
50
|
@INVOICE_NO nvarchar(50) = NULL,@INVOICE_DT VARCHAR(20) = NULL,@SELLER nvarchar(250) = NULL,@TAX_NO nvarchar(15) = NULL,@GOODS_NAME nvarchar(250) = NULL,
|
51
|
@PRICE decimal(18, 0) = NULL,@TAX decimal(18, 0) = NULL,@NOTES NVARCHAR(MAX) = NULL,@VAT_RATE decimal(18,2),
|
52
|
@ACC_NO VARCHAR(25),@ACC_NAME NVARCHAR(250),@ISSUED_BY NVARCHAR(250),@ISSUED_DT VARCHAR(20),@RATE DECIMAL(18,2),@PRICE_KT DECIMAL(18,2) =0,@TOTAL_AMT_KT DECIMAL(18,2) =0,@VAT_KT DECIMAL(18,2) =0,
|
53
|
@TYPE_VAT VARCHAR(15),@TYPE_FUNC VARCHAR(15)
|
54
|
DECLARE @hdoc INT;
|
55
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TEMP;
|
56
|
DECLARE XmlData CURSOR FOR
|
57
|
SELECT *
|
58
|
FROM
|
59
|
OPENXML(@hdoc, '/Root/XmlData', 2)
|
60
|
WITH(ENTRY_PAIR varchar(20),DR_CR varchar(20),ACCT VARCHAR(50), ACCT_NAME VARCHAR(500), AMT decimal(18,2),CURRENCY VARCHAR(15), EXC_RATE DECIMAL(18,0),
|
61
|
BRANCH_ID VARCHAR(15), DEP_ID VARCHAR(15),TRN_DESC nvarchar(1000),GL_CODE VARCHAR(100))
|
62
|
OPEN XmlData;
|
63
|
---
|
64
|
DECLARE XmlInvoice CURSOR FOR
|
65
|
SELECT *
|
66
|
FROM
|
67
|
OPENXML(@hdoc, '/Root/XmlInvoice', 2)
|
68
|
WITH(TRANS_NO nvarchar(50),TRANS_DT VARCHAR(20),INVOICE_SIGN nvarchar(50),INVOICE_NO_SIGN nvarchar(50),
|
69
|
INVOICE_NO nvarchar(50),INVOICE_DT VARCHAR(20) ,SELLER nvarchar(250),TAX_NO nvarchar(15),GOODS_NAME nvarchar(250) ,
|
70
|
PRICE decimal(18,2),TAX decimal(18, 2),VAT decimal(18,2),NOTE NVARCHAR(MAX),VAT_RATE decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),PRICE_KT DECIMAL(18,2),VAT_KT DECIMAL(18,2),TOTAL_AMT_KT DECIMAL(18,2),TYPE_VAT VARCHAR(15), TYPE_FUNC VARCHAR(15))
|
71
|
OPEN XmlInvoice;
|
72
|
DECLARE @INDEX INT =0, @INDEX_IV INT =0
|
73
|
BEGIN TRANSACTION
|
74
|
-- KHAI BAO CAC BUOC DUYET- XAC NHAN
|
75
|
DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
|
76
|
SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT AND STATUS_JOB='C')
|
77
|
SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
|
78
|
----
|
79
|
--IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND MAKER_ID_KT IS NULL))
|
80
|
|
81
|
IF(@p_XMP_TEMP IS NOT NULL)
|
82
|
BEGIN
|
83
|
UPDATE TR_REQ_PAYMENT SET
|
84
|
AUTH_STATUS_KT ='U', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT,CHECKER_ID_KT=NULL,APPROVE_DT_KT = NULL, CONFIRM_NOTE=@p_CONFIRM_NOTE
|
85
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
86
|
DELETE FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
87
|
DELETE FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
88
|
IF @@Error <> 0 GOTO ABORT
|
89
|
DECLARE @DR_CR_NAME NVARCHAR(50),@ACC_NAME_FN NVARCHAR(500)
|
90
|
FETCH NEXT FROM XmlData INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE
|
91
|
WHILE @@fetch_status=0 BEGIN
|
92
|
SET @INDEX = @INDEX +1
|
93
|
SET @GL_CODE = RIGHT(@GL_CODE,9)
|
94
|
IF(@DR_CR='D')
|
95
|
BEGIN
|
96
|
SET @DR_CR_NAME =N'Nợ'
|
97
|
END
|
98
|
ELSE
|
99
|
BEGIN
|
100
|
SET @DR_CR_NAME =N'Có'
|
101
|
END
|
102
|
--SET @ACC_NAME_FN =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@ACCT)
|
103
|
IF(@ACCT_NAME IS NULL OR @ACCT_NAME ='')
|
104
|
BEGIN
|
105
|
ROLLBACK TRANSACTION
|
106
|
CLOSE XmlData;
|
107
|
DEALLOCATE XmlData;
|
108
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tên tài khoản hạch toán chưa đúng. Vui lòng bấm vào nút Check GL & Check CASA để đồng bộ tài khoản từ Core' ErrorDesc
|
109
|
RETURN '-1'
|
110
|
END
|
111
|
IF (LEN(@ACCT) >9 AND ((SELECT ISNULL(TK_GL,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) ='' OR (SELECT ISNULL(TK_GL_NAME,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) =''))
|
112
|
BEGIN
|
113
|
ROLLBACK TRANSACTION
|
114
|
CLOSE XmlData;
|
115
|
DEALLOCATE XmlData;
|
116
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản CASA chưa có thông tin GL Mapping. Vui lòng bấm vào nút Kiểm tra tài khoản để đồng bộ tài khoản từ Core' ErrorDesc
|
117
|
RETURN '-1'
|
118
|
END
|
119
|
IF(@DR_CR IS NULL OR @DR_CR ='')
|
120
|
BEGIN
|
121
|
ROLLBACK TRANSACTION
|
122
|
CLOSE XmlData;
|
123
|
DEALLOCATE XmlData;
|
124
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản nợ không được phép để trống' ErrorDesc
|
125
|
RETURN '-1'
|
126
|
END
|
127
|
IF(@BRANCH_ID IS NULL OR @BRANCH_ID ='')
|
128
|
BEGIN
|
129
|
ROLLBACK TRANSACTION
|
130
|
CLOSE XmlData;
|
131
|
DEALLOCATE XmlData;
|
132
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Đơn vị nhận không được phép để trống' ErrorDesc
|
133
|
RETURN '-1'
|
134
|
END
|
135
|
IF(@ACCT IS NULL OR @ACCT ='')
|
136
|
BEGIN
|
137
|
ROLLBACK TRANSACTION
|
138
|
CLOSE XmlData;
|
139
|
DEALLOCATE XmlData;
|
140
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản có không được phép để trống' ErrorDesc
|
141
|
RETURN '-1'
|
142
|
END
|
143
|
IF(@TRN_DESC IS NULL OR @TRN_DESC ='')
|
144
|
BEGIN
|
145
|
ROLLBACK TRANSACTION
|
146
|
CLOSE XmlData;
|
147
|
DEALLOCATE XmlData;
|
148
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Diễn giải hạch toán không được phép để trống' ErrorDesc
|
149
|
RETURN '-1'
|
150
|
END
|
151
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACCT AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
152
|
BEGIN
|
153
|
IF(@DR_CR ='C' AND ISNULL(@AMT,0) <> (SELECT ISNULL(SUM(TOTAL_AMT),0) FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACCT AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
154
|
BEGIN
|
155
|
ROLLBACK TRANSACTION
|
156
|
CLOSE XmlData;
|
157
|
DEALLOCATE XmlData;
|
158
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Số tiền hạch toán có của tài khoản: '+@ACCT + N' phải bằng với số tiền trên phương thức thanh toán của tài khoản đó là: '+FORMAT((SELECT ISNULL(SUM(TOTAL_AMT),0) FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACCT AND REQ_PAY_ID =@p_REQ_PAY_ID),'#,###') ErrorDesc
|
159
|
RETURN '-1'
|
160
|
END
|
161
|
END
|
162
|
--IF(LEN(@ACCT) >9 AND ISNULL(@ACCT,'') <> '' AND (@GL_CODE IS NULL OR @GL_CODE =''))
|
163
|
--BEGIN
|
164
|
-- ROLLBACK TRANSACTION
|
165
|
-- CLOSE XmlData;
|
166
|
-- DEALLOCATE XmlData;
|
167
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N'Nếu bạn đang hạch toán CASA. Vui lòng bấm vào nút kiểm tra tài khoản để lấy chính xác thông tin tài khoản (tên tài khoản, tài khoản GL tương tứng) từ Core' ErrorDesc
|
168
|
-- RETURN '-1'
|
169
|
-----
|
170
|
--END
|
171
|
DECLARE @p_ET_ID VARCHAR(15);
|
172
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @p_ET_ID OUT;
|
173
|
IF @p_ET_ID='' OR @p_ET_ID IS NULL GOTO ABORT;
|
174
|
INSERT INTO TR_REQ_PAY_ENTRIES (REQ_PAY_DT_ID,REQ_PAY_ID,ENTRY_PAIR,DR_CR,DR_CR_NAME,ACCT,ACCT_NAME,AMT,CURRENCY,EXC_RATE,BRANCH_ID,DEP_ID,TRN_DESC,TRN_DATE,MAKER_ID_KT)
|
175
|
VALUES (@p_ET_ID,@p_REQ_PAY_ID,@ENTRY_PAIR,@DR_CR,@DR_CR_NAME,@ACCT,@ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE, @BRANCH_ID, @DEP_ID,@TRN_DESC,GETDATE(),@p_MAKER_ID_KT)
|
176
|
-- NEU CHUA CO TAI KHOAN THI THEM VO CM_ACCOUNT
|
177
|
IF(NOT EXISTS(SELECT * FROM CM_ACCOUNT WHERE ACC_NO =@ACCT))
|
178
|
BEGIN
|
179
|
INSERT INTO CM_ACCOUNT (ACC_NO, ACC_NAME, TK_GL, TK_GL_NAME, MAKER_ID, CHECKER_ID,CREATE_DT) VALUES
|
180
|
(@ACCT,@ACCT_NAME,@GL_CODE,(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE),'admin','admin',GETDATE())
|
181
|
END
|
182
|
ELSE
|
183
|
BEGIN
|
184
|
IF(@GL_CODE IS NOT NULL AND @GL_CODE <> '')
|
185
|
BEGIN
|
186
|
UPDATE CM_ACCOUNT SET ACC_NAME =@ACCT_NAME, TK_GL =@GL_CODE, TK_GL_NAME =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE)
|
187
|
WHERE ACC_NO=@ACCT
|
188
|
END
|
189
|
--UPDATE CM_ACCOUNT SET ACC_NAME =@ACCT_NAME, TK_GL =@GL_CODE, TK_GL_NAME =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE), CREATE_DT = GETDATE()
|
190
|
--WHERE ACC_NO=@ACCT
|
191
|
END
|
192
|
IF @@error<>0 GOTO ABORT;
|
193
|
FETCH NEXT FROM XmlData INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE
|
194
|
END;
|
195
|
CLOSE XmlData;
|
196
|
DEALLOCATE XmlData;
|
197
|
-- UPDATE INVOICE
|
198
|
--Insert XmlData
|
199
|
|
200
|
FETCH NEXT FROM XmlInvoice INTO @TRANS_NO , @TRANS_DT ,@INVOICE_SIGN ,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,
|
201
|
@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,@TYPE_FUNC
|
202
|
WHILE @@fetch_status=0 BEGIN
|
203
|
SET @INDEX_IV = @INDEX_IV+1
|
204
|
IF(LEN(@INVOICE_NO) >7)
|
205
|
BEGIN
|
206
|
ROLLBACK TRANSACTION
|
207
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' không được lớn hơn 7 kí tự' ErrorDesc
|
208
|
RETURN '-1'
|
209
|
END
|
210
|
IF(LEN(@INVOICE_NO) <7)
|
211
|
BEGIN
|
212
|
ROLLBACK TRANSACTION
|
213
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' phải đủ 7 kí tự' ErrorDesc
|
214
|
RETURN '-1'
|
215
|
END
|
216
|
IF(@TYPE_FUNC ='HC')
|
217
|
BEGIN
|
218
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND
|
219
|
TAX_NO =@TAX_NO AND TAX =@TAX AND TYPE_FUNC ='HC' AND AUTH_STATUS <>'D' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS <> 'E')))
|
220
|
BEGIN
|
221
|
ROLLBACK TRANSACTION
|
222
|
SELECT '-1' as Result, '' REQ_PAY_ID,N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' đã tồn tại trong hệ thống' ErrorDesc
|
223
|
RETURN '-1'
|
224
|
END
|
225
|
END
|
226
|
IF(@TYPE_FUNC ='KT')
|
227
|
BEGIN
|
228
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN
|
229
|
AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX AND TYPE_FUNC ='KT' AND AUTH_STATUS <>'D' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS <> 'E')))
|
230
|
BEGIN
|
231
|
ROLLBACK TRANSACTION
|
232
|
SELECT '-1' as Result, '' REQ_PAY_ID,N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' đã tồn tại trong hệ thống' ErrorDesc
|
233
|
RETURN '-1'
|
234
|
END
|
235
|
END
|
236
|
DECLARE @p_REQ_INV_ID VARCHAR(15);
|
237
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_INVOICE', @p_REQ_INV_ID OUT;
|
238
|
IF @p_REQ_INV_ID='' OR @p_REQ_INV_ID IS NULL GOTO ABORT;
|
239
|
INSERT INTO TR_REQ_PAY_INVOICE(REQ_PAYDT_ID,REQ_PAY_ID,TRANS_NO,TRANS_DT,INVOICE_SIGN,INVOICE_NO,INVOICE_DT,SELLER,TAX_NO,GOODS_NAME,PRICE,TAX,VAT,NOTE,
|
240
|
MAKER_ID,CREATE_DT,EDITOR_ID,AUTH_STATUS,CHECKER_ID,APPROVE_DT,
|
241
|
CREATE_DT_KT,MAKER_ID_KT,AUTH_STATUS_KT,CHECKER_ID_KT,APPROVE_DT_KT,RECORD_STATUS,INVOICE_NO_SIGN,VAT_RATE,CURRENCY,RATE,PRICE_KT ,VAT_KT,TOTAL_AMT_KT,TYPE_VAT,TYPE_FUNC)
|
242
|
VALUES (@p_REQ_INV_ID,@p_REQ_PAY_ID , @TRANS_NO , CONVERT(DATE,@TRANS_DT,103) ,@INVOICE_SIGN ,@INVOICE_NO ,CONVERT(DATE,@INVOICE_DT,103) ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,
|
243
|
@p_MAKER_ID,GETDATE(),NULL,'U',NULL,NULL,GETDATE(),@p_MAKER_ID_KT,'U',NULL,NULL,'1',@INVOICE_NO_SIGN,@VAT_RATE,@CURRENCY,@RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,@TYPE_FUNC)
|
244
|
IF @@error<>0 GOTO ABORT;
|
245
|
FETCH NEXT FROM XmlInvoice
|
246
|
INTO @TRANS_NO , @TRANS_DT,@INVOICE_SIGN,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,
|
247
|
@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,@TYPE_FUNC
|
248
|
END;
|
249
|
CLOSE XmlInvoice;
|
250
|
DEALLOCATE XmlInvoice;
|
251
|
--- Luu log chinh sua
|
252
|
INSERT INTO TR_REQ_PAY_INVOICE_LOG SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
253
|
-----
|
254
|
--- BAT DAU CAP NHAT XAC DINH CAC BUOC DUYET SAU KHI KE TOAN CAP NHAT THONG TIN
|
255
|
END
|
256
|
COMMIT TRANSACTION
|
257
|
IF(@p_XMP_TEMP IS NULL)
|
258
|
BEGIN
|
259
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'S'))
|
260
|
BEGIN
|
261
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đang được được đề xuất từ chối! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
262
|
RETURN '-1'
|
263
|
END
|
264
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'))
|
265
|
BEGIN
|
266
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt thành công trước đó! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
267
|
RETURN '-1'
|
268
|
END
|
269
|
-- CHAN NEU CHI CO 1 BUT NO 1 BUT CO THI KHONG DUOC DI TIEP
|
270
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
271
|
BEGIN
|
272
|
DECLARE @SUM_CR DECIMAL(18,2), @SUM_DR DECIMAL(18,2)
|
273
|
SET @SUM_CR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C'),0)
|
274
|
SET @SUM_DR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D'),0)
|
275
|
IF(@SUM_CR <> @SUM_DR)
|
276
|
BEGIN
|
277
|
--ROLLBACK TRANSACTION
|
278
|
--CLOSE XmlData;
|
279
|
--DEALLOCATE XmlData;
|
280
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tổng hạch toán nợ phải bằng tổng hạch toán có' ErrorDesc
|
281
|
RETURN '-1'
|
282
|
END
|
283
|
END
|
284
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT
|
285
|
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)
|
286
|
-- CAP NHAT TINH TRANG DUYET KE TOAN LA DANG XU LY
|
287
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT='P',CREATE_DT_KT = GETDATE() WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
288
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
289
|
VALUES(@p_REQ_PAY_ID,'SEND',@p_MAKER_ID_KT,GETDATE(), N'Giao dịch viên gửi phê duyệt',N'Giao dịch viên cập nhật thông tin')
|
290
|
SELECT '4' as 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 gửi phê duyệt thành công! Vui lòng đợi kiểm soát viên phê duyệt phiếu' ErrorDesc
|
291
|
RETURN '4'
|
292
|
END
|
293
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
294
|
RETURN '0'
|
295
|
ABORT:
|
296
|
BEGIN
|
297
|
ROLLBACK TRANSACTION
|
298
|
CLOSE XmlData;
|
299
|
DEALLOCATE XmlData;
|
300
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
301
|
RETURN '-1'
|
302
|
End
|
303
|
|
304
|
¿
|
305
|
|
306
|
|
307
|
|
308
|
ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_KT_Upd]
|
309
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
310
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
311
|
@p_REQ_DT VARCHAR(20)= NULL,
|
312
|
@p_BRANCH_ID varchar(15) = NULL,
|
313
|
@p_DEP_ID varchar(15) = NULL,
|
314
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
315
|
@p_REQ_TYPE varchar(15) = NULL,
|
316
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
317
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
318
|
@p_REF_ID varchar(15) = NULL,
|
319
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
320
|
@p_RECEIVER_DEBIT nvarchar(250) = NULL,
|
321
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
322
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
323
|
@p_REQ_AMT decimal(18, 0) = NULL,
|
324
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
325
|
@p_MAKER_ID varchar(15) = NULL,
|
326
|
@p_CREATE_DT varchar(25) = NULL,
|
327
|
@p_EDITOR_ID varchar(15) = NULL,
|
328
|
@p_AUTH_STATUS varchar(1) = NULL,
|
329
|
@p_CHECKER_ID varchar(15) = NULL,
|
330
|
@p_APPROVE_DT varchar(25) = NULL,
|
331
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
332
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
333
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
334
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
335
|
@p_APPROVE_DT_KT varchar(25)= null,
|
336
|
@p_CONFIRM_NOTE nvarchar(500) = NULL,
|
337
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
338
|
@p_NOTES varchar(15) = NULL,
|
339
|
@p_RECORD_STATUS varchar(1) = NULL,
|
340
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
341
|
@p_TRANSFER_DT varchar(25) = NULL,
|
342
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
343
|
@p_PROCESS varchar(15) = NULL,
|
344
|
@p_PAY_PHASE VARCHAR(15)= NULL,
|
345
|
@p_DVDM_ID VARCHAR(15) = NULL,
|
346
|
@p_RATE DECIMAL(18,0)= 0,
|
347
|
@p_XMP_TEMP XML = NULL
|
348
|
AS
|
349
|
--Validation is here
|
350
|
/*
|
351
|
END
|
352
|
*/
|
353
|
DECLARE @ENTRY_PAIR varchar(20),@DR_CR varchar(20),@ACCT VARCHAR(50), @ACCT_NAME VARCHAR(500), @AMT decimal(18,2),@CURRENCY VARCHAR(15), @EXC_RATE DECIMAL(18,0),
|
354
|
@BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15),@TRN_DESC nvarchar(1000),@GL_CODE VARCHAR(10)
|
355
|
DECLARE @hdoc INT;
|
356
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TEMP;
|
357
|
DECLARE XmlData CURSOR FOR
|
358
|
SELECT *
|
359
|
FROM
|
360
|
OPENXML(@hdoc, '/Root/XmlData', 2)
|
361
|
WITH(ENTRY_PAIR varchar(20),DR_CR varchar(20),ACCT VARCHAR(50), ACCT_NAME VARCHAR(500), AMT decimal(18,2),CURRENCY VARCHAR(15), EXC_RATE DECIMAL(18,0),
|
362
|
BRANCH_ID VARCHAR(15), DEP_ID VARCHAR(15),TRN_DESC nvarchar(1000), GL_CODE VARCHAR(10))
|
363
|
OPEN XmlData;
|
364
|
DECLARE @INDEX INT =0
|
365
|
BEGIN TRANSACTION
|
366
|
-- KHAI BAO CAC BUOC DUYET- XAC NHAN
|
367
|
DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
|
368
|
SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT AND TYPE_JOB ='XL')
|
369
|
SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
|
370
|
----
|
371
|
--IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND MAKER_ID_KT IS NULL))
|
372
|
IF(@p_XMP_TEMP IS NOT NULL)
|
373
|
BEGIN
|
374
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET
|
375
|
AUTH_STATUS_KT ='U', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT,CHECKER_ID_KT=NULL,APPROVE_DT_KT = NULL, CONFIRM_NOTES=@p_CONFIRM_NOTE
|
376
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
377
|
DELETE FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
378
|
IF @@Error <> 0 GOTO ABORT
|
379
|
DECLARE @DR_CR_NAME NVARCHAR(50)
|
380
|
FETCH NEXT FROM XmlData INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE
|
381
|
WHILE @@fetch_status=0 BEGIN
|
382
|
|
383
|
SET @INDEX = @INDEX +1
|
384
|
IF(@DR_CR='D')
|
385
|
BEGIN
|
386
|
SET @DR_CR_NAME =N'Nợ'
|
387
|
END
|
388
|
ELSE
|
389
|
BEGIN
|
390
|
SET @DR_CR_NAME =N'Có'
|
391
|
END
|
392
|
--SET @ACCT_NAME =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@ACCT)
|
393
|
IF(@ACCT_NAME IS NULL OR @ACCT_NAME ='')
|
394
|
BEGIN
|
395
|
ROLLBACK TRANSACTION
|
396
|
CLOSE XmlData;
|
397
|
DEALLOCATE XmlData;
|
398
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tên tài khoản hạch toán chưa đúng. Vui lòng bấm vào nút Check GL & Check CASA để đồng bộ tài khoản từ Core' ErrorDesc
|
399
|
RETURN '-1'
|
400
|
END
|
401
|
IF (LEN(@ACCT) >9 AND ((SELECT ISNULL(TK_GL,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) ='' OR (SELECT ISNULL(TK_GL_NAME,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) =''))
|
402
|
BEGIN
|
403
|
ROLLBACK TRANSACTION
|
404
|
CLOSE XmlData;
|
405
|
DEALLOCATE XmlData;
|
406
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản CASA chưa có thông tin GL Mapping. Vui lòng bấm vào nút Kiểm tra tài khoản để đồng bộ tài khoản từ Core' ErrorDesc
|
407
|
RETURN '-1'
|
408
|
END
|
409
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACCT AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
410
|
BEGIN
|
411
|
IF(@DR_CR ='C' AND ISNULL(@AMT,0) <> (SELECT ISNULL(SUM(TOTAL_AMT),0) FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACCT AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
412
|
BEGIN
|
413
|
ROLLBACK TRANSACTION
|
414
|
CLOSE XmlData;
|
415
|
DEALLOCATE XmlData;
|
416
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Số tiền hạch toán có của tài khoản: '+@ACCT + N' phải bằng với số tiền trên phương thức thanh toán của tài khoản đó là: '+FORMAT((SELECT ISNULL(SUM(TOTAL_AMT),0) FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACCT AND REQ_PAY_ID =@p_REQ_PAY_ID),'#,###') ErrorDesc
|
417
|
RETURN '-1'
|
418
|
END
|
419
|
END
|
420
|
--IF(LEN(@ACCT) >9 AND (@GL_CODE IS NULL OR @GL_CODE =''))
|
421
|
--BEGIN
|
422
|
-- ROLLBACK TRANSACTION
|
423
|
-- CLOSE XmlData;
|
424
|
-- DEALLOCATE XmlData;
|
425
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N'Nếu bạn đang hạch toán CASA. Vui lòng bấm vào nút kiểm tra tài khoản để lấy chính xác thông tin tài khoản (tên tài khoản, tài khoản GL tương tứng) từ Core' ErrorDesc
|
426
|
-- RETURN '-1'
|
427
|
-----
|
428
|
--END
|
429
|
--IF(@DR_ACCT IS NULL OR @DR_ACCT ='')
|
430
|
--BEGIN
|
431
|
-- ROLLBACK TRANSACTION
|
432
|
-- CLOSE XmlData;
|
433
|
-- DEALLOCATE XmlData;
|
434
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản có không được phép để trống' ErrorDesc
|
435
|
-- RETURN '-1'
|
436
|
--END
|
437
|
--IF(@TRN_DESC IS NULL OR @TRN_DESC ='')
|
438
|
--BEGIN
|
439
|
-- ROLLBACK TRANSACTION
|
440
|
-- CLOSE XmlData;
|
441
|
-- DEALLOCATE XmlData;
|
442
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Diễn giải hạch toán không được phép để trống' ErrorDesc
|
443
|
-- RETURN '-1'
|
444
|
--END
|
445
|
DECLARE @p_ET_ID VARCHAR(15);
|
446
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @p_ET_ID OUT;
|
447
|
IF @p_ET_ID='' OR @p_ET_ID IS NULL GOTO ABORT;
|
448
|
INSERT INTO TR_REQ_PAY_ENTRIES (REQ_PAY_DT_ID,REQ_PAY_ID,ENTRY_PAIR,DR_CR, DR_CR_NAME,ACCT,ACCT_NAME,AMT,CURRENCY,EXC_RATE,BRANCH_ID,DEP_ID,TRN_DESC,TRN_DATE,MAKER_ID_KT)
|
449
|
VALUES (@p_ET_ID,@p_REQ_PAY_ID,@ENTRY_PAIR,@DR_CR,@DR_CR_NAME,@ACCT,@ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE, @BRANCH_ID, @DEP_ID,@TRN_DESC,GETDATE(),@p_MAKER_ID_KT)
|
450
|
|
451
|
-- NEU CHUA CO TAI KHOAN THI THEM VO CM_ACCOUNT
|
452
|
IF(NOT EXISTS(SELECT * FROM CM_ACCOUNT WHERE ACC_NO =@ACCT))
|
453
|
BEGIN
|
454
|
INSERT INTO CM_ACCOUNT (ACC_NO, ACC_NAME, TK_GL, TK_GL_NAME, MAKER_ID, CHECKER_ID) VALUES
|
455
|
(@ACCT,@ACCT_NAME,@GL_CODE,(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE),'admin','admin')
|
456
|
END
|
457
|
ELSE
|
458
|
BEGIN
|
459
|
IF(@GL_CODE IS NOT NULL AND @GL_CODE <> '')
|
460
|
BEGIN
|
461
|
UPDATE CM_ACCOUNT SET ACC_NAME =@ACCT_NAME, TK_GL =@GL_CODE, TK_GL_NAME =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE)
|
462
|
WHERE ACC_NO=@ACCT
|
463
|
END
|
464
|
END
|
465
|
IF @@error<>0 GOTO ABORT;
|
466
|
FETCH NEXT FROM XmlData INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE
|
467
|
END;
|
468
|
CLOSE XmlData;
|
469
|
DEALLOCATE XmlData;
|
470
|
END
|
471
|
COMMIT TRANSACTION
|
472
|
--- BAT DAU CAP NHAT XAC DINH CAC BUOC DUYET SAU KHI KE TOAN CAP NHAT THONG TIN
|
473
|
IF(@p_XMP_TEMP IS NULL)
|
474
|
BEGIN
|
475
|
-- CHAN NEU CHI CO 1 BUT NO 1 BUT CO THI KHONG DUOC DI TIEP
|
476
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
477
|
BEGIN
|
478
|
DECLARE @SUM_CR DECIMAL(18,2), @SUM_DR DECIMAL(18,2)
|
479
|
SET @SUM_CR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C'),0)
|
480
|
SET @SUM_DR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D'),0)
|
481
|
IF(@SUM_CR<>@SUM_DR)
|
482
|
BEGIN
|
483
|
--ROLLBACK TRANSACTION
|
484
|
--CLOSE XmlData;
|
485
|
--DEALLOCATE XmlData;
|
486
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tổng hạch toán nợ phải bằng tổng hạch toán có' ErrorDesc
|
487
|
RETURN '-1'
|
488
|
END
|
489
|
END
|
490
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT
|
491
|
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)
|
492
|
-- CAP NHAT TINH TRANG VE DANG XU LY
|
493
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT='P',CREATE_DT_KT =GETDATE() WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
494
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
495
|
VALUES(@p_REQ_PAY_ID,'SEND',@p_MAKER_ID_KT,GETDATE(), N'Giao dịch viên gửi phê duyệt phiếu',N'Giao dịch viên cập nhật thông tin')
|
496
|
SELECT '4' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N'đã được gửi phê duyệt thành công! Vui lòng đợi kiểm soát viên phê duyệt phiếu' ErrorDesc
|
497
|
RETURN '4'
|
498
|
END
|
499
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
500
|
RETURN '0'
|
501
|
ABORT:
|
502
|
BEGIN
|
503
|
ROLLBACK TRANSACTION
|
504
|
CLOSE XmlData;
|
505
|
DEALLOCATE XmlData;
|
506
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
507
|
RETURN '-1'
|
508
|
End
|
509
|
|