1
|
ALTER PROCEDURE [dbo].[TR_REQ_TRANSFER_EXTERNAL_Upd_Status]
|
2
|
@p_ET_ID varchar(500) = NULL,
|
3
|
@p_REF_NO VARCHAR(100) = '',--- ID CUA DONG CHUYEN TIEN
|
4
|
@p_TRN_NO VARCHAR(100) = ''---SO REF CUA CORE TRA VE
|
5
|
AS
|
6
|
BEGIN TRY
|
7
|
DECLARE @l_REF_NO VARCHAR(15), @l_REQ_PAY_ID VARCHAR(20);
|
8
|
SET @l_REF_NO = RIGHT(@p_REF_NO, 7)
|
9
|
-- LẤY ID PDN THANH TOÁN
|
10
|
SET @l_REQ_PAY_ID = (SELECT TOP 1 REQ_PAY_ID FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE RIGHT(REQ_TRANS_OUTSIDE_REC_ID,7) = RIGHT(@p_REF_NO, 7))
|
11
|
-- LẤY MÃ BÚT TOÁN LỚN NHẤT
|
12
|
DECLARE @l_ENTRY_PAIR_temp DECIMAL(18,0), @l_ENTRY_PAIR DECIMAL(18,0)
|
13
|
SET @l_ENTRY_PAIR_temp = ISNULL((SELECT TOP 1 CAST(ENTRY_PAIR AS INT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @l_REQ_PAY_ID ORDER BY CAST(ENTRY_PAIR AS INT) DESC), 0)
|
14
|
SET @l_ENTRY_PAIR = CAST(@l_ENTRY_PAIR_temp + 1 AS VARCHAR(3))
|
15
|
print @l_ENTRY_PAIR_temp
|
16
|
-- LẤY SỐ TIỀN, NỘI DUNG THANH TOÁN VÀ GDV
|
17
|
DECLARE @t_TRANS_EXTERNAL TABLE (AMT DECIMAL(18, 0), TRN_DESC VARCHAR(125), GDV VARCHAR(20), KSV VARCHAR(20))
|
18
|
INSERT INTO @t_TRANS_EXTERNAL SELECT TOP 1 A.TRADE_AMT, A.TRADE_DESC, B.MAKER_ID_KT, B.CHECKER_ID_KT
|
19
|
FROM TR_REQ_PAY_TRANS_OUTSIDE_REC A
|
20
|
LEFT JOIN TR_REQ_PAYMENT B ON A.REQ_PAY_ID = B.REQ_PAY_ID
|
21
|
WHERE RIGHT(REQ_TRANS_OUTSIDE_REC_ID,7) = RIGHT(@p_REF_NO, 7)
|
22
|
DECLARE @l_AMT DECIMAL(18,0), @l_TRN_DESC VARCHAR(125), @l_GDV VARCHAR(20), @l_KSV VARCHAR(20);
|
23
|
SET @l_AMT = (SELECT TOP 1 AMT FROM @t_TRANS_EXTERNAL)
|
24
|
SET @l_TRN_DESC = (SELECT TOP 1 TRN_DESC FROM @t_TRANS_EXTERNAL)
|
25
|
SET @l_GDV = (SELECT TOP 1 GDV FROM @t_TRANS_EXTERNAL)
|
26
|
SET @l_KSV = (SELECT TOP 1 KSV FROM @t_TRANS_EXTERNAL)
|
27
|
|
28
|
UPDATE TR_REQ_PAY_TRANS_OUTSIDE_REC
|
29
|
SET IS_TRANSFER = N'Đã chuyển tiền' ,
|
30
|
TRANSFER_DT = GETDATE(),
|
31
|
REF_NO = @p_TRN_NO
|
32
|
WHERE RIGHT(REQ_TRANS_OUTSIDE_REC_ID,7) = RIGHT(@p_REF_NO, 7)
|
33
|
|
34
|
-- NỢ
|
35
|
DECLARE @l_TR_REQ_PAY_ENTRIES_D VARCHAR(15);
|
36
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES_D OUT;
|
37
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],
|
38
|
[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID],
|
39
|
[AMT],[CURRENCY],[EXC_RATE],[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
40
|
VALUES(@l_TR_REQ_PAY_ENTRIES_D, @l_REQ_PAY_ID,NULL,NULL,NULL,
|
41
|
@l_ENTRY_PAIR,N'D',N'Nợ',N'0697044000019',N'NGAN HANG TMCP BAN VIET',N'DV0001',N'',
|
42
|
@l_AMT,N'VND',1.00,GETDATE(),@l_TRN_DESC,NULL,NULL,NULL,NULL,NULL,@l_GDV,NULL,NULL,NULL,NULL,NULL,NULL)
|
43
|
|
44
|
DECLARE @l_PAY_ENTRIES_POST_D VARCHAR(15);
|
45
|
EXEC SYS_CodeMasters_Gen 'PAY_ENTRIES_POST', @l_PAY_ENTRIES_POST_D OUT;
|
46
|
INSERT INTO [PAY_ENTRIES_POST] ([ET_ID],[REF_NO],[TRN_ID],[REF_ID],[TRN_TYPE],
|
47
|
[ENTRY_PAIR],[DO_BRN],[DRCR],[ACCT],[BRN_ID],[DEPT_ID],
|
48
|
[AMT],[CURRENCY],[EXC_RATE],[EXP_TO_CORE],[TRN_DATE],[TRN_DESC],[MAKER_ID],[CHECKER_ID])
|
49
|
VALUES (@l_PAY_ENTRIES_POST_D, @p_TRN_NO, @l_REQ_PAY_ID, @l_TR_REQ_PAY_ENTRIES_D,NULL,
|
50
|
@l_ENTRY_PAIR,N'DV0001',N'D',N'0697044000019',N'DV0001',N'',
|
51
|
@l_AMT,N'VND',1.00,N'1',GETDATE(),@l_TRN_DESC,@l_GDV,@l_KSV)
|
52
|
|
53
|
-- CÓ
|
54
|
|
55
|
DECLARE @l_TR_REQ_PAY_ENTRIES_C VARCHAR(15);
|
56
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES_C OUT;
|
57
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],
|
58
|
[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID],
|
59
|
[AMT],[CURRENCY],[EXC_RATE],[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
60
|
VALUES(@l_TR_REQ_PAY_ENTRIES_C, @l_REQ_PAY_ID,NULL,NULL,NULL,
|
61
|
@l_ENTRY_PAIR,N'C',N'Có',N'0697044000052',N'TRUNG GIAN THANH TOAN - INTERNET BANKING',N'DV0001',N'',
|
62
|
@l_AMT,N'VND',1.00,GETDATE(),@l_TRN_DESC,NULL,NULL,NULL,NULL,NULL,@l_GDV,NULL,NULL,NULL,NULL,NULL,NULL)
|
63
|
|
64
|
DECLARE @l_PAY_ENTRIES_POST_C VARCHAR(15);
|
65
|
EXEC SYS_CodeMasters_Gen 'PAY_ENTRIES_POST', @l_PAY_ENTRIES_POST_C OUT;
|
66
|
INSERT INTO [PAY_ENTRIES_POST] ([ET_ID],[REF_NO],[TRN_ID],[REF_ID],[TRN_TYPE],
|
67
|
[ENTRY_PAIR],[DO_BRN],[DRCR],[ACCT],[BRN_ID],[DEPT_ID],
|
68
|
[AMT],[CURRENCY],[EXC_RATE],[EXP_TO_CORE],[TRN_DATE],[TRN_DESC],[MAKER_ID],[CHECKER_ID])
|
69
|
VALUES (@l_PAY_ENTRIES_POST_C, @p_TRN_NO, @l_REQ_PAY_ID,@l_TR_REQ_PAY_ENTRIES_C,NULL,
|
70
|
@l_ENTRY_PAIR,N'DV0001',N'C',N'0697044000052',N'DV0001',N'',
|
71
|
@l_AMT,N'VND',1.00,N'1',GETDATE(),@l_TRN_DESC,@l_GDV,@l_KSV)
|
72
|
|
73
|
|
74
|
SELECT '0' RESULT, '' ERROR
|
75
|
RETURN 0
|
76
|
END TRY
|
77
|
BEGIN CATCH
|
78
|
SELECT '-1' RESULT, ERROR_MESSAGE() ERROR
|
79
|
RETURN -1
|
80
|
END CATCH
|