Project

General

Profile

BAO CAO DE NGHI THANH TOAN.txt

Luc Tran Van, 07/28/2020 05:58 PM

 
1
ALTER PROC [dbo].[TR_REQ_PAY_DETAIL]
2
@p_REQ_PAY_ID VARCHAR(15) = NULL
3
AS
4
BEGIN
5
	
6
	DECLARE @TABLE_RETURN_01 TABLE ([NAME] NVARCHAR(250))
7
	DECLARE @TABLE_RETURN_01_DT TABLE (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(250))
8
	DECLARE @TABLE_RETURN_02 TABLE ([NAME] NVARCHAR(250))
9
	DECLARE @TABLE_RETURN_02_DT TABLE (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(250))
10
	DECLARE @TABLE_RETURN_03 TABLE  (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(250), AMT DECIMAL(18,0))
11
	DECLARE @TABLE_RETURN_04 TABLE (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(250), AMT DECIMAL(18,0))
12
	DECLARE @TABLE_RETURN_06 TABLE ([NAME] NVARCHAR(250), AMT DECIMAL(18,0))
13
	DECLARE @INDEX INT =1
14
	DECLARE @INDEX_TT INT =0
15
	IF(EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='1'))
16
	BEGIN
17
	  SET @INDEX_TT = @INDEX_TT+1
18
	--INSERT INTO @TABLE_RETURN
19
	--SELECT N'Tiền mặt' AS PHUONG_THUC, ISNULL(SUM (TOTAL_AMT),0) AS T1 FROM TR_REQ_PAY_METHOD
20
	--WHERE REQ_PAY_TYPE ='1' AND REQ_PAY_ID = @p_REQ_PAY_ID
21
	INSERT INTO @TABLE_RETURN_03
22
	SELECT N'. Người nhận: '+ ACC_NAME + CHAR(10) + N'    CMND số: ' + ACC_NO + char(10) + N'    Được cấp bởi: '+ ISSUED_BY + N' ngày cấp: '+ CONVERT(VARCHAR,ISSUED_DT,103) AS ACC_NAME, SUM(TOTAL_AMT) AS T2 
23
	FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='1'
24
	GROUP BY ACC_NO, ACC_NAME, ISSUED_BY, ISSUED_DT
25
	-- INSERT BANG TAM THE HIEN SO TIEN
26
	INSERT INTO @TABLE_RETURN_04
27
	SELECT 'N'+ CHAR(10) + 'D'+char(10) AS ACC_NAME, SUM(TOTAL_AMT) AS T2 
28
	FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='1'
29
	GROUP BY ACC_NO, ACC_NAME, ISSUED_BY, ISSUED_DT
30
	END
31
	IF(EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='0'))
32
	BEGIN
33
		SET @INDEX_TT = @INDEX_TT+1
34
		--INSERT INTO @TABLE_RETURN
35
		--SELECT N'Chuyển khoản' AS PHUONG_THUC,ISNULL(SUM (TOTAL_AMT),0) AS T3 FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_TYPE ='0' AND REQ_PAY_ID = @p_REQ_PAY_ID
36
		INSERT INTO @TABLE_RETURN_03
37
		SELECT N'. Đơn vị thụ hưởng: '+ ACC_NAME + CHAR(10)+ N'    Số tài khoản: ' + ACC_NO + char(10) + N'    Tại ngân hàng: '+ ISSUED_BY AS ACC_NAME, SUM(TOTAL_AMT) AS T4 
38
		FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='0'
39
		GROUP BY ACC_NO, ACC_NAME, ISSUED_BY
40
		-- INSERT BANG TAM THE HIEN SO TIEN
41
		INSERT INTO @TABLE_RETURN_04
42
		SELECT  'N'+ CHAR(10)+ 'S'+ char(10) AS ACC_NAME, SUM(TOTAL_AMT) AS T4 
43
		FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='0'
44
		GROUP BY ACC_NO, ACC_NAME, ISSUED_BY
45
	END
46
	-- KIEM TRA NOI DUNG SU DUNG CHI PHI VA NGAN SACH
47
	IF(EXISTS(SELECT * FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID) OR EXISTS(SELECT * FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID) OR EXISTS(SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
48
	BEGIN
49
		--INSERT INTO @TABLE_RETURN_01 VALUES (CONVERT(VARCHAR(15),@INDEX) +N'. Nội dung tạm ứng: ')
50
		INSERT INTO @TABLE_RETURN_01 VALUES( N'A - Nội dung thanh toán: ')
51
		--INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.REQ_PAY_REASON FROM TR_REQ_PAY_METHOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
52
		--INSERT INTO @TABLE_RETURN_06 SELECT 'A', A.TOTAL_AMT FROM TR_REQ_PAY_METHOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID	
53
		INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.REASON FROM TR_REQ_PAY_PERIOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
54
		INSERT INTO @TABLE_RETURN_06 SELECT 'A', A.AMT_PAY FROM  TR_REQ_PAY_PERIOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID	
55
		
56
		INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.REQ_PAY_DESC FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
57
		INSERT INTO @TABLE_RETURN_06 SELECT 'A', A.AMT_PAY_REAL FROM  TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID	
58

    
59
		INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.[SERVICE_NAME] FROM TR_REQ_PAY_SERVICE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
60
		INSERT INTO @TABLE_RETURN_06 SELECT 'A', A.TOTAL_AMT FROM  TR_REQ_PAY_SERVICE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID	
61
	END
62
	--- HĐ & CHỨNG TỪ ĐÍNH KÈM
63
	IF(EXISTS(SELECT * FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
64
	BEGIN
65
		SET @INDEX = @INDEX+1
66
		--INSERT INTO @TABLE_RETURN_01 SELECT CONVERT(VARCHAR(15),@INDEX)+ N'. Chứng từ đính kèm: '
67
		INSERT INTO @TABLE_RETURN_02 SELECT N'B - Chứng từ đính kèm: '
68
	END
69
	IF(EXISTS(SELECT * FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE ='C'))
70
	BEGIN
71
		--INSERT INTO @TABLE_RETURN_01 SELECT N'Thông tin hợp đồng đính kèm: ' 
72
		INSERT INTO @TABLE_RETURN_02_DT SELECT ' '+ N'. Hợp đồng số ' + REF_CODE + ISNULL(N' ngày '+  FORMAT(REF_DT,'dd/MM/yyyy'),'')+ CASE WHEN AMT >0 THEN  N', số tiền '+ FORMAT( ISNULL(AMT,0),'#,#', 'vi-VN') ELSE '' END  AS T1 FROM TR_REQ_PAY_ATTACH
73
		WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND [TYPE] ='C'
74
	END
75
	IF(EXISTS(SELECT * FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE ='R'))
76
	BEGIN
77
		--INSERT INTO @TABLE_RETURN_01 SELECT N'Thông tin chứng từ khác đính kèm: ' 
78
		INSERT INTO @TABLE_RETURN_02_DT SELECT N'. '+ [DESCRIPTION]+ CASE WHEN AMT >0 THEN  N', số tiền '+ FORMAT( ISNULL(AMT,0),'#,#', 'vi-VN') ELSE '' END AS T1 FROM TR_REQ_PAY_ATTACH
79
		WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND [TYPE] ='R'
80
	END
81
	IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
82
	BEGIN
83
		--INSERT INTO @TABLE_RETURN_01 SELECT N'Thông tin chứng từ khác đính kèm: ' 
84
		INSERT INTO @TABLE_RETURN_02_DT SELECT N'. Số hóa đơn '+ INVOICE_NO +ISNULL(N' ngày '+  FORMAT(INVOICE_DT,'dd/MM/yyyy'),'')+ N', số tiền '+ FORMAT( ISNULL(PRICE+VAT,0),'#,#', 'vi-VN') AS T1 FROM TR_REQ_PAY_INVOICE
85
		WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND TYPE_FUNC='HC'
86
	END
87
	-- LAY THONG TIN CAP PHE DUYET
88
	IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_TYPE ='I'))
89
	BEGIN
90
		DECLARE @TABLE_RETURN_07 TABLE (HDQT NVARCHAR(50),TGD NVARCHAR(50),PTGD NVARCHAR(50),GDK NVARCHAR(50),GDDV NVARCHAR(50))
91
		DECLARE @GDDV NVARCHAR(50),@GDK NVARCHAR(50),@PTGD NVARCHAR(50),@TGD NVARCHAR(50),@HDQT NVARCHAR(50)
92
		DECLARE @APPR VARCHAR(15),@APPR1 VARCHAR(15),@APPR2 VARCHAR(15),@APPR3 VARCHAR(15),@APPR4 VARCHAR(15),@APPR5 VARCHAR(15)
93

    
94
		DECLARE @POS NVARCHAR(50),@POS1 NVARCHAR(50),@POS2 NVARCHAR(50),@POS3 NVARCHAR(50),@POS4 NVARCHAR(50)
95

    
96
		DECLARE @DATE NVARCHAR(50),@DATE1 NVARCHAR(50),@DATE2 NVARCHAR(50),@DATE3 NVARCHAR(50),@DATE4 NVARCHAR(50)
97

    
98
		SET @APPR =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='1')
99
		SET @POS =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR)
100
		SET @DATE =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='1')
101
		--IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR) ='GDDV') BEGIN SET @GDDV =@APPR END
102
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR) ='GDK')BEGIN SET @GDK =@APPR END
103
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR) ='PTGD') BEGIN SET @PTGD =@APPR END
104
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR) ='TGD') BEGIN	SET @TGD =@APPR	END
105
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR) ='HDQT') BEGIN SET @HDQT =@APPR END
106
		-------------
107
		SET @APPR1 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='2')
108
		SET @POS1 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR1)
109
		SET @DATE1 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='2')
110
		--IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='GDDV') BEGIN SET @GDDV =@APPR1 END
111
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='GDK')BEGIN SET @GDK =@APPR1 END
112
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='PTGD') BEGIN SET @PTGD =@APPR1 END
113
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='TGD') BEGIN	SET @TGD =@APPR1	END
114
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='HDQT')	BEGIN SET @HDQT =@APPR1 END
115
		------------
116

    
117
		SET @APPR2 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='3')
118
		SET @POS2 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR2)
119
		SET @DATE2 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='3')
120
		--IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='GDDV') BEGIN SET @GDDV =@APPR2 END
121
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='GDK')BEGIN SET @GDK =@APPR2 END
122
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='PTGD') BEGIN SET @PTGD =@APPR2 END
123
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='TGD') BEGIN	SET @TGD =@APPR2	END
124
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='HDQT')	BEGIN SET @HDQT =@APPR2 END
125

    
126
		SET @APPR3 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='4')
127
		SET @POS3 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR3)
128
		SET @DATE3 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='4')
129

    
130
		SET @APPR4 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='5')
131
		SET @POS4 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR4)
132
		SET @DATE4 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='5')
133
		DECLARE @BRANCH_TYPE VARCHAR(15), @BRANCH_RQ VARCHAR(15)
134
		SET @BRANCH_RQ =(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
135
		SET @BRANCH_TYPE  = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)
136
		IF(@BRANCH_TYPE='CN')
137
		BEGIN
138
			INSERT INTO @TABLE_RETURN_07 VALUES ((SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR4),(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR3),
139
		(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR2),(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME =  @APPR1),'')
140
		INSERT INTO @TABLE_RETURN_07 VALUES (@POS4,@POS3,@POS2,@POS1,'')
141
		INSERT INTO @TABLE_RETURN_07 VALUES (@DATE4,@DATE3,@DATE2,@DATE1,'')
142
		END
143
		ELSE
144
		BEGIN
145
			INSERT INTO @TABLE_RETURN_07 VALUES ((SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR4),(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR3),
146
		(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR2),(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME =  @APPR1),(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR))
147
		INSERT INTO @TABLE_RETURN_07 VALUES (@POS4,@POS3,@POS2,@POS1,@POS)
148
		INSERT INTO @TABLE_RETURN_07 VALUES (@DATE4,@DATE3,@DATE2,@DATE1,@DATE)
149
		END
150
		
151
		--IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='GDDV') BEGIN SET @GDDV =@APPR2 END
152
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='GDK')BEGIN SET @GDK =@APPR2 END
153
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='PTGD') BEGIN SET @PTGD =@APPR2 END
154
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='TGD') BEGIN	SET @TGD =@APPR2	END
155
		--ELSE IF((SELECT RoleName FROM TL_USER WHERE TLNANME =@APPR1) ='HDQT')	BEGIN SET @HDQT =@APPR2 END
156

    
157

    
158
	END
159
	SELECT * FROM @TABLE_RETURN_01
160
	SELECT * FROM @TABLE_RETURN_01_DT
161
	SELECT * FROM @TABLE_RETURN_02
162
    SELECT * FROM @TABLE_RETURN_02_DT
163
	SELECT * FROM @TABLE_RETURN_03
164
	SELECT * FROM @TABLE_RETURN_04
165
	SELECT * FROM @TABLE_RETURN_06
166
	SELECT * FROM  @TABLE_RETURN_07
167
END
168