1
|
|
2
|
|
3
|
ALTER PROCEDURE [dbo].[rpt_TR_REQ_PAYMENT_ByID]
|
4
|
@p_REQ_PAY_ID varchar(15)= NULL
|
5
|
AS
|
6
|
-------
|
7
|
DECLARE @TITLE_APPROVE NVARCHAR(50) ='', @TITLE_APPROVE_KSV NVARCHAR(50) =''
|
8
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT='S'))
|
9
|
BEGIN
|
10
|
SET @TITLE_APPROVE =N'Đã từ chối '
|
11
|
END
|
12
|
ELSE
|
13
|
BEGIN
|
14
|
SET @TITLE_APPROVE =N'Đã chấp thuận '
|
15
|
END
|
16
|
----------------
|
17
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT='R'))
|
18
|
BEGIN
|
19
|
SET @TITLE_APPROVE_KSV =N'Đã từ chối '
|
20
|
END
|
21
|
ELSE
|
22
|
BEGIN
|
23
|
SET @TITLE_APPROVE_KSV =N'Đã chấp thuận '
|
24
|
END
|
25
|
----------------
|
26
|
DECLARE @REQ_TYPE VARCHAR(15)
|
27
|
SET @REQ_TYPE =(SELECT REQ_TYPE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
|
28
|
-------------------------------------------
|
29
|
DECLARE @CONTENT NVARCHAR(MAX)='', @CONTENT_CK NVARCHAR(MAX)='', @TM_TITLE NVARCHAR(100), @CK_TITLE NVARCHAR(100), @NDTM NVARCHAR(MAX) ='', @NDCK NVARCHAR(MAX) ='',
|
30
|
@REQ_PAY_TYPE VARCHAR(5), @ACCNO VARCHAR(50), @ACCNAME NVARCHAR(500), @BANK NVARCHAR(500), @ISUED_DT DATE,
|
31
|
@REASON NVARCHAR(MAX), @DESC NVARCHAR(MAX),@NOIDUNG NVARCHAR(MAX) ='',@AMT DECIMAL(18,2),@TYPE_TRANSFER VARCHAR(15)
|
32
|
SELECT A.REQ_PAY_CODE, A.REQ_REASON,A.DEP_ID,N'Đã chấp thuận '+ISNULL(FORMAT(A.CREATE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') AS CREATE_DT, A.MAKER_ID_KT,A.CHECKER_ID,
|
33
|
CASE WHEN ISNULL(FORMAT(A.APPROVE_DT,'dd/MM/yyyy,,hh:mm:ss tt'),'') <>'' THEN N'Đã chấp thuận ' +ISNULL(FORMAT(A.APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') ELSE '' END AS APPROVE_DT,
|
34
|
A.CHECKER_ID_KT,MAKER_ID_KT,CASE WHEN ISNULL(FORMAT(A.APPROVE_DT_KT,'dd/MM/yyyy,hh:mm:ss tt'),'') <>'' THEN @TITLE_APPROVE_KSV + ISNULL(FORMAT(A.APPROVE_DT_KT,'dd/MM/yyyy,hh:mm:ss tt'),'')
|
35
|
ELSE '' END AS APPROVE_DT_KT ,
|
36
|
CASE WHEN ISNULL(FORMAT(A.CREATE_DT_KT,'dd/MM/yyyy,hh:mm:ss tt'),'') <>'' THEN @TITLE_APPROVE + ISNULL(FORMAT(A.CREATE_DT_KT,'dd/MM/yyyy,hh:mm:ss tt'),'') ELSE '' END AS CREATE_DT_KT,
|
37
|
B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,
|
38
|
TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
39
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
40
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
41
|
BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, 0 TOTAL_AMT_TEMP, 0 TOTAL_AMT_PAY_HIS,TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
|
42
|
CASE WHEN @REQ_TYPE <> 'I' THEN (ISNULL(X2.SO_TIEN_TAM_UNG,0) + ISNULL(X3.SO_TIEN_TAM_UNG,0)) ELSE ISNULL(X.SOTIEN_TAMUNG,0) END AS SOTIEN_TAMUNG,
|
43
|
CASE WHEN @REQ_TYPE <> 'I' THEN (ISNULL(X4.SO_TIEN_TAM_UNG,0.00) + ISNULL(X5.SO_TIEN_TAM_UNG,0.00) +ISNULL(X6.SO_TIEN_TAM_UNG,0.00)) ELSE ISNULL(X.AMT_USE,0.00) END AS SO_TIEN_DE_NGHI,
|
44
|
CASE WHEN (ISNULL(X.SOTIEN_TAMUNG,0.00) - ISNULL(X.AMT_USE,0.00)) >0 THEN (ISNULL(X.SOTIEN_TAMUNG,0.00) - ISNULL(X.AMT_USE,0.00)) ELSE 0 END AS SO_TIEN_CL,
|
45
|
-- CASE WHEN @REQ_TYPE <> 'I' THEN (ISNULL(X2.SO_TIEN_TAM_UNG,0) + ISNULL(X3.SO_TIEN_TAM_UNG,0)) - (ISNULL(X4.SO_TIEN_TAM_UNG,0.00) + ISNULL(X5.SO_TIEN_TAM_UNG,0.00) +ISNULL(X6.SO_TIEN_TAM_UNG,0.00))
|
46
|
-- ELSE ISNULL(X.SOTIEN_TAMUNG,0) - ISNULL(X.AMT_USE,.00) END AS SO_TIEN_CL,
|
47
|
ISNULL(X.ST_BO_SUNG,0.00) SO_TIEN_VUOT,
|
48
|
--CASE WHEN @REQ_TYPE <> 'I' THEN (ISNULL(X4.SO_TIEN_TAM_UNG,0.00) + ISNULL(X5.SO_TIEN_TAM_UNG,0.00) +ISNULL(X6.SO_TIEN_TAM_UNG,0.00)) -(ISNULL(X2.SO_TIEN_TAM_UNG,0) + ISNULL(X3.SO_TIEN_TAM_UNG,0)) ELSE
|
49
|
--ISNULL(X.AMT_USE,.00) -ISNULL(X.SOTIEN_TAMUNG,0) END AS SO_TIEN_VUOT,
|
50
|
ISNULL(X.ST_BO_SUNG,0.00) + ISNULL(X.ST_HOAN_UNG,0) CHI_BO_SUNG,
|
51
|
--CASE WHEN @REQ_TYPE <> 'I' THEN (ISNULL(X4.SO_TIEN_TAM_UNG,0.00) + ISNULL(X5.SO_TIEN_TAM_UNG,0.00) +ISNULL(X6.SO_TIEN_TAM_UNG,0.00)) -(ISNULL(X2.SO_TIEN_TAM_UNG,0) + ISNULL(X3.SO_TIEN_TAM_UNG,0)) ELSE
|
52
|
--ISNULL(X.AMT_USE,.00) -ISNULL(X.SOTIEN_TAMUNG,0) END AS CHI_BO_SUNG,\
|
53
|
DAY(A.CREATE_DT) D_, MONTH(A.CREATE_DT) M_, YEAR(A.CREATE_DT) Y_,
|
54
|
'' AS NOIDUNG,
|
55
|
'' AS PHUONG_THUC_THANH_TOAN, CASE WHEN EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND CURRENCY <>'VND')
|
56
|
THEN (SELECT TOP 1 CURRENCY FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID) ELSE'VND' END TYPE_CUR,
|
57
|
ISNULL(X.ST_HOAN_UNG,0.00) + ISNULL(X.ST_BO_SUNG,0.00) AS SO_TIEN_PTTT, CASE WHEN A.CONFIRM_NOTE <>'' AND A.CONFIRM_NOTE IS NOT NULL THEN N'Ghi chú: '+ A.CONFIRM_NOTE ELSE '' END AS CONFIRM_NOTE,
|
58
|
CASE WHEN @REQ_TYPE ='I' THEN A.REQ_AMT ELSE (SELECT SUM(TOTAL_AMT) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID) END AS REQ_AMT
|
59
|
FROM TR_REQ_PAYMENT A
|
60
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
61
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
62
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
63
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
64
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
65
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
66
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
67
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
68
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
69
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
70
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE'
|
71
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'
|
72
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
73
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
74
|
LEFT JOIN
|
75
|
(
|
76
|
SELECT A.PAY_ID, SUM(A.AMT_REMAIN) SOTIEN_TAMUNG,
|
77
|
SUM(A.AMT_DO) ST_DA_HOAN,
|
78
|
SUM(A.AMT_ADD) ST_BO_SUNG,ABS(SUM(A.AMT_USE) - SUM(A.AMT_REVERT)) AS AMT_USE, SUM(A.AMT_REVERT) AS ST_HOAN_UNG FROM TR_REQ_PAYMENT_DT A
|
79
|
GROUP BY A.PAY_ID
|
80
|
) X ON A.REQ_PAY_ID = X.PAY_ID
|
81
|
LEFT JOIN
|
82
|
(
|
83
|
SELECT P.REQ_PAY_ID,SUM(P.AMT_PAY) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_PERIOD P
|
84
|
WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID AND P.PROCESS <>'1'
|
85
|
GROUP BY P.REQ_PAY_ID
|
86
|
)
|
87
|
X2 ON A.REQ_PAY_ID = X2.REQ_PAY_ID
|
88
|
LEFT JOIN
|
89
|
(
|
90
|
SELECT P.REQ_PAY_ID,SUM(P.AMT_ADVANCE) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_SCHEDULE P
|
91
|
WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID AND P.PROCESS <>'1'
|
92
|
GROUP BY P.REQ_PAY_ID
|
93
|
)
|
94
|
X3 ON A.REQ_PAY_ID = X3.REQ_PAY_ID
|
95
|
|
96
|
LEFT JOIN
|
97
|
(
|
98
|
SELECT P.REQ_PAY_ID,SUM(P.AMT_PAY) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_PERIOD P
|
99
|
WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID
|
100
|
GROUP BY P.REQ_PAY_ID
|
101
|
)
|
102
|
X4 ON A.REQ_PAY_ID = X4.REQ_PAY_ID
|
103
|
LEFT JOIN
|
104
|
(
|
105
|
SELECT P.REQ_PAY_ID,SUM(P.AMT_PAY_REAL) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_SCHEDULE P
|
106
|
WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID
|
107
|
GROUP BY P.REQ_PAY_ID
|
108
|
)
|
109
|
X5 ON A.REQ_PAY_ID = X5.REQ_PAY_ID
|
110
|
LEFT JOIN
|
111
|
(
|
112
|
SELECT P.REQ_PAY_ID,SUM(P.TOTAL_AMT) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_SERVICE P
|
113
|
WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID
|
114
|
GROUP BY P.REQ_PAY_ID
|
115
|
)
|
116
|
X6 ON A.REQ_PAY_ID = X6.REQ_PAY_ID
|
117
|
WHERE 1=1
|
118
|
AND(A.REQ_PAY_ID=@p_REQ_PAY_ID)
|
119
|
ORDER BY A.CREATE_DT DESC;
|