Project

General

Profile

IN THANH TOAN.txt

Luc Tran Van, 02/04/2021 11:47 AM

 
1

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

    
95
			 LEFT JOIN
96
			 (
97
			 SELECT P.REQ_PAY_ID,SUM(P.AMT_PAY) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_PERIOD P 
98
			 WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID 
99
			 GROUP BY P.REQ_PAY_ID
100
			 )
101
			 X4 ON A.REQ_PAY_ID = X4.REQ_PAY_ID
102
			  LEFT JOIN
103
			 (
104
			 SELECT P.REQ_PAY_ID,SUM(P.AMT_PAY_REAL) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_SCHEDULE P 
105
			 WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID 
106
			 GROUP BY P.REQ_PAY_ID
107
			 )
108
			 X5 ON A.REQ_PAY_ID = X5.REQ_PAY_ID
109
			  LEFT JOIN
110
			 (
111
			 SELECT P.REQ_PAY_ID,SUM(P.TOTAL_AMT) AS SO_TIEN_TAM_UNG FROM TR_REQ_PAY_SERVICE P 
112
			 WHERE P.REQ_PAY_ID=@p_REQ_PAY_ID 
113
			 GROUP BY P.REQ_PAY_ID
114
			 )
115
			 X6 ON A.REQ_PAY_ID = X6.REQ_PAY_ID
116
        WHERE 1=1 
117
			  AND(A.REQ_PAY_ID=@p_REQ_PAY_ID)
118
ORDER BY A.CREATE_DT DESC;