1
|
ALTER PROCEDURE [dbo].[rpt_TR_ADVANCE_TEMP_PAYMENT_ByID]
|
2
|
@p_REQ_PAY_ID varchar(15)= NULL
|
3
|
AS
|
4
|
-------
|
5
|
DECLARE @TITLE_APPROVE NVARCHAR(50) ='', @TITLE_APPROVE_KSV NVARCHAR(50) =''
|
6
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT='S'))
|
7
|
BEGIN
|
8
|
SET @TITLE_APPROVE =N'Đã từ chối '
|
9
|
END
|
10
|
ELSE
|
11
|
BEGIN
|
12
|
SET @TITLE_APPROVE =N'Đã chấp thuận '
|
13
|
END
|
14
|
----------------
|
15
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT='R'))
|
16
|
BEGIN
|
17
|
SET @TITLE_APPROVE_KSV =N'Đã từ chối '
|
18
|
END
|
19
|
ELSE
|
20
|
BEGIN
|
21
|
SET @TITLE_APPROVE_KSV =N'Đã chấp thuận '
|
22
|
END
|
23
|
----------------
|
24
|
DECLARE @TRUONG_DV NVARCHAR(50),@DVKD_APP_DT NVARCHAR(50), @SO_DU_TAM_UNG DECIMAL(18,2)
|
25
|
DECLARE @DATE_APPR DATETIME
|
26
|
SET @DATE_APPR =ISNULL((SELECT TOP 1 CONVERT(DATETIME,APPROVE_DT,103) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID),CONVERT(DATETIME,GETDATE(),103))
|
27
|
DECLARE @REQ_TYPE VARCHAR(15)
|
28
|
SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
|
29
|
-------------------------------------------
|
30
|
DECLARE @CONTENT NVARCHAR(MAX)='', @CONTENT_CK NVARCHAR(MAX)='', @REQ_PAY_TYPE VARCHAR(5), @ACCNO VARCHAR(50), @ACCNAME NVARCHAR(500), @BANK NVARCHAR(500),
|
31
|
@ISUED_DT DATE,@REASON NVARCHAR(MAX), @DESC NVARCHAR(MAX),@NDTM NVARCHAR(MAX) ='', @NDCK NVARCHAR(MAX) =''
|
32
|
DECLARE CURS CURSOR FOR SELECT A.REQ_PAY_TYPE, A.ACC_NO,A.ACC_NAME,A.ISSUED_BY,A.ISSUED_DT,A.REQ_PAY_REASON,A.REQ_PAY_ENTRIES FROM TR_REQ_PAY_METHOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
33
|
DECLARE @NOIDUNG NVARCHAR(MAX) =''
|
34
|
--- LAY NOI DUNG THANH TOAN NEU THANH TOAN CHO NHA CUNG CAP
|
35
|
DECLARE CURS_PO CURSOR FOR SELECT A.REQ_PAY_DESC,A.REQ_PAY_ENTRIES FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
36
|
DECLARE @NOIDUNG_PO NVARCHAR(MAX) =''
|
37
|
DECLARE @BRANCH_TYPE VARCHAR(15), @BRANCH_RQ VARCHAR(15),@TOTAL_ADVANCE DECIMAL(18,0), @TOTAL_PAYBACK DECIMAL(18,0)
|
38
|
SET @BRANCH_RQ =(SELECT TOP 1 BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
39
|
SET @BRANCH_TYPE = (SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)
|
40
|
IF(@BRANCH_TYPE ='HS' AND @REQ_TYPE ='I')
|
41
|
BEGIN
|
42
|
SET @TRUONG_DV = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = (SELECT top 1 CHECKER_ID FROM PL_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID AND PROCESS_ID='0'
|
43
|
AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='0')))
|
44
|
SET @DVKD_APP_DT =(SELECT TOP 1 ISNULL(FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID AND PROCESS_ID='0'
|
45
|
AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='0'))
|
46
|
IF(@DVKD_APP_DT IS NOT NULL AND @DVKD_APP_DT <>'')
|
47
|
BEGIN
|
48
|
SET @DVKD_APP_DT =N'Đã chấp thuận '+ @DVKD_APP_DT
|
49
|
END
|
50
|
END
|
51
|
ELSE IF (@BRANCH_TYPE = 'PGD' AND @REQ_TYPE ='I')
|
52
|
BEGIN
|
53
|
SET @TRUONG_DV =(SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = (SELECT TOP 1 CHECKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
54
|
--AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='0')))
|
55
|
SET @DVKD_APP_DT =(SELECT TOP 1 ISNULL(FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
56
|
--AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='0'))
|
57
|
IF(@DVKD_APP_DT IS NOT NULL AND @DVKD_APP_DT <>'')
|
58
|
BEGIN
|
59
|
SET @DVKD_APP_DT =N'Đã chấp thuận '+ @DVKD_APP_DT
|
60
|
END
|
61
|
END
|
62
|
ELSE
|
63
|
BEGIN
|
64
|
SET @TRUONG_DV = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = (SELECT top 1 CHECKER_ID FROM PL_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID AND PROCESS_ID='1'
|
65
|
AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID ='1')))
|
66
|
--SET @DVKD_APP_DT =(SELECT TOP 1 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')
|
67
|
SET @DVKD_APP_DT = (SELECT TOP 1 ISNULL(FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID )
|
68
|
IF(@DVKD_APP_DT IS NOT NULL AND @DVKD_APP_DT <>'')
|
69
|
BEGIN
|
70
|
SET @DVKD_APP_DT =N'Đã chấp thuận '+ @DVKD_APP_DT
|
71
|
END
|
72
|
END
|
73
|
DECLARE @TMP_DVDM TABLE(DVDM_ID VARCHAR(15))
|
74
|
INSERT INTO @TMP_DVDM
|
75
|
SELECT A.DVDM_ID--, A.COST_CODE, A.COST_NAME, B.DEP_ID --, C.DEP_CODE, C.DEP_NAME
|
76
|
FROM PL_COSTCENTER A
|
77
|
LEFT JOIN PL_COSTCENTER_DT B ON A.COST_ID = B.COST_ID
|
78
|
WHERE B.DEP_ID = (SELECT TOP 1 DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
79
|
GROUP BY A.DVDM_ID
|
80
|
DECLARE @tmp_CN table(BRANCH_ID varchar(15))
|
81
|
IF((SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)='CN')
|
82
|
BEGIN
|
83
|
INSERT into @tmp_CN SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@BRANCH_RQ)
|
84
|
END
|
85
|
ELSE IF((SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)='PGD')
|
86
|
BEGIN
|
87
|
DECLARE @FATHER_ID VARCHAR(15) = NULL
|
88
|
SET @FATHER_ID =(SELECT TOP 1 FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)
|
89
|
INSERT into @tmp_CN SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@FATHER_ID)
|
90
|
END
|
91
|
SET @SO_DU_TAM_UNG = (SELECT AMT FROM TR_REQ_ADVANCE_LIMIT_LOG
|
92
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ID
|
93
|
=(SELECT MAX(ID) FROM TR_REQ_ADVANCE_LIMIT_LOG WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
94
|
--IF(@BRANCH_TYPE='HS' AND @REQ_TYPE ='I')
|
95
|
-- BEGIN
|
96
|
-- SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
97
|
-- DEP_ID IN
|
98
|
-- (SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
99
|
-- LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
100
|
-- WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
101
|
-- AND REQ_TYPE ='I' AND AUTH_STATUS ='A' AND (CONVERT(DATETIME,APPROVE_DT,103) <=@DATE_APPR OR APPROVE_DT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID),0)
|
102
|
-- SET @TOTAL_PAYBACK =
|
103
|
-- ISNULL(
|
104
|
-- (
|
105
|
-- SELECT (SUM(B.AMT_USE) - SUM(B.AMT_ADD) + SUM (B.AMT_REVERT))
|
106
|
-- FROM TR_REQ_PAYMENT_DT B
|
107
|
-- INNER JOIN TR_REQ_PAYMENT A ON B.PAY_ID = A.REQ_PAY_ID
|
108
|
-- INNER JOIN TR_REQ_ADVANCE_PAYMENT C ON C.REQ_PAY_ID = B.PAY_ADV_ID
|
109
|
-- WHERE A.DEP_ID IN
|
110
|
-- (SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
111
|
-- LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
112
|
-- WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
113
|
-- AND A.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I' AND (CONVERT(DATETIME,A.APPROVE_DT_KT,103) <=@DATE_APPR OR A.APPROVE_DT_KT IS NULL) AND B.PAY_ADV_ID <>@p_REQ_PAY_ID
|
114
|
-- ),0)
|
115
|
-- END
|
116
|
|
117
|
-- -- NEU PHIEU DUOC TAO KHAC VOI HOI SO THI TIEN HANH TINH TONG SO TIEN TAM UNG CUA CN VA PHONG GIAO DICH TRUC THUOC
|
118
|
-- ELSE IF(@BRANCH_TYPE <>'HS')
|
119
|
-- BEGIN
|
120
|
-- SET @TOTAL_ADVANCE =(SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp_CN)
|
121
|
-- AND REQ_TYPE ='I' AND AUTH_STATUS='A' AND (CONVERT(DATETIME,APPROVE_DT,103) <=@DATE_APPR OR APPROVE_DT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID)
|
122
|
-- SET @TOTAL_PAYBACK =
|
123
|
-- (
|
124
|
-- SELECT (SUM(B.AMT_USE) - SUM(B.AMT_ADD) + SUM (B.AMT_REVERT))
|
125
|
-- FROM TR_REQ_PAYMENT_DT B
|
126
|
-- INNER JOIN TR_REQ_PAYMENT A ON B.PAY_ID = A.REQ_PAY_ID
|
127
|
-- INNER JOIN TR_REQ_ADVANCE_PAYMENT C ON C.REQ_PAY_ID = B.PAY_ADV_ID
|
128
|
-- WHERE A.BRANCH_ID IN
|
129
|
-- (SELECT BRANCH_ID FROM @tmp_CN)
|
130
|
-- AND A.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I' AND (CONVERT(DATETIME,A.APPROVE_DT_KT,103) <=@DATE_APPR OR A.APPROVE_DT_KT IS NULL) AND B.PAY_ADV_ID <>@p_REQ_PAY_ID
|
131
|
-- )
|
132
|
-- END
|
133
|
---
|
134
|
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,
|
135
|
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,A.CHECKER_ID_KT,MAKER_ID_KT,
|
136
|
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'),'') ELSE '' END AS APPROVE_DT_KT ,
|
137
|
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,
|
138
|
B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, CASE WHEN A.REF_ID IS NOT NULL AND A.REF_ID <>'' THEN TL6.TLFullName ELSE TL.TLFullName END CREATE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
139
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
140
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
141
|
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,
|
142
|
DAY(A.CREATE_DT) D_, MONTH(A.CREATE_DT) M_, YEAR(A.CREATE_DT) Y_,
|
143
|
CASE
|
144
|
WHEN A.REQ_TYPE='I' THEN CAST(1 AS BIT)
|
145
|
WHEN A.REQ_TYPE <>'I' THEN CAST(0 AS BIT)
|
146
|
END AS IS_NB,
|
147
|
CASE
|
148
|
WHEN A.REQ_TYPE='P' THEN CAST(1 AS BIT)
|
149
|
WHEN A.REQ_TYPE <>'P' THEN CAST(0 AS BIT)
|
150
|
END AS IS_NCC,
|
151
|
CASE
|
152
|
WHEN A.REQ_TYPE='D' THEN CAST(1 AS BIT)
|
153
|
WHEN A.REQ_TYPE <>'D' THEN CAST(0 AS BIT)
|
154
|
END AS IS_XLN,
|
155
|
CASE WHEN LEN(@CONTENT) >0 THEN LEFT(@CONTENT,LEN(@CONTENT)-2) ELSE '' END AS TTTM,
|
156
|
CASE WHEN LEN(@CONTENT_CK) >0 THEN LEFT(@CONTENT_CK, LEN(@CONTENT_CK)-2) ELSE NULL END AS TTCK,
|
157
|
CASE WHEN LEN(@CONTENT) >0 THEN N'Tiền mặt:' ELSE '' END AS TM_TITLE,
|
158
|
CASE WHEN LEN(@CONTENT_CK) >0 THEN N'Chuyển khoản:' ELSE NULL END AS CK_TITLE,
|
159
|
--CASE WHEN @REQ_TYPE <>'P' THEN LEFT(@NOIDUNG, LEN(@NOIDUNG)-2) ELSE LEFT(@NOIDUNG_PO,LEN(@NOIDUNG_PO)-2) END AS NOIDUNG,
|
160
|
TL1.TLFullName AS APPROVE_FULLNAME,
|
161
|
--ISNULL(A.REQ_AMT,0) AS SO_TIEN_PTTT,
|
162
|
CASE WHEN LEN(@NDTM + @NDCK) >0 THEN LEFT(@NDTM + @NDCK,LEN(@NDTM + @NDCK)-2) ELSE '' END AS PHUONG_THUC_THANH_TOAN, CASE WHEN
|
163
|
EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND CURRENCY <>'VND')
|
164
|
THEN (SELECT TOP 1 CURRENCY FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID) ELSE 'VND' END AS TYPE_CUR,
|
165
|
CASE WHEN
|
166
|
EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND CURRENCY <>'VND')
|
167
|
THEN (SELECT SUM(TOTAL_AMT) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
168
|
ELSE A.REQ_AMT END AS SO_TIEN_PTTT,
|
169
|
--(ISNULL(@TOTAL_ADVANCE,0) -ISNULL(@TOTAL_PAYBACK,0))+A.REQ_AMT*A.RATE AS SO_DU_TAM_UNG,
|
170
|
ISNULL(@SO_DU_TAM_UNG,0.00) AS SO_DU_TAM_UNG,
|
171
|
CASE WHEN EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND CURRENCY <>'VND')
|
172
|
THEN (SELECT SUM(TOTAL_AMT) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
173
|
ELSE A.REQ_AMT END AS REQ_AMT, @TRUONG_DV AS TRUONG_DV, @DVKD_APP_DT AS DVKD_APP_DT,CASE WHEN A.CONFIRM_NOTES <>'' AND A.CONFIRM_NOTES IS NOT NULL THEN N'Ghi chú: '+ A.CONFIRM_NOTES ELSE '' END AS CONFIRM_NOTES
|
174
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
175
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
176
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
177
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
178
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
179
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
180
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
181
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
182
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
183
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
184
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
185
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'
|
186
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'
|
187
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
188
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
189
|
LEFT JOIN TL_USER TL6 ON A.REF_ID = TL6.TLNANME
|
190
|
WHERE 1=1
|
191
|
AND(A.REQ_PAY_ID=@p_REQ_PAY_ID)
|
192
|
ORDER BY A.CREATE_DT DESC;
|