Project

General

Profile

8.0 IN PDN THANH TOAN.txt

Luc Tran Van, 03/10/2021 10:33 AM

 
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;