1
|
-- PROCEDURE NAME: TR_REQ_PAYMENT_Log
|
2
|
|
3
|
DECLARE @p_REQ_PAY_ID varchar(15) = N'TADY00000203477',
|
4
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
5
|
@p_BRANCH_ID varchar(15) = NULL,
|
6
|
@p_DEP_ID varchar(15) = NULL,
|
7
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
8
|
@p_REQ_TYPE varchar(15) = NULL,
|
9
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
10
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
11
|
@p_REF_ID varchar(15) = NULL,
|
12
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
13
|
@p_RECEIVER_DEBIT nvarchar(250) = NULL,
|
14
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
15
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
16
|
@p_REQ_AMT decimal = 0,
|
17
|
@p_REQ_TEMP_AMT decimal = NULL,
|
18
|
@p_MAKER_ID varchar(15) = NULL,
|
19
|
@p_CREATE_DT varchar(25) = NULL,
|
20
|
@p_EDITOR_ID varchar(15) = NULL,
|
21
|
@p_AUTH_STATUS varchar(1) = NULL,
|
22
|
@p_CHECKER_ID varchar(15) = NULL,
|
23
|
@p_APPROVE_DT varchar(25) = NULL,
|
24
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
25
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
26
|
@p_AUTH_STATUS_KT varchar(1) = N'A',
|
27
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
28
|
@p_APPROVE_DT_KT varchar(25) = NULL,
|
29
|
@p_CORE_NOTE nvarchar(500) = NULL,
|
30
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
31
|
@p_NOTES varchar(15) = NULL,
|
32
|
@p_RECORD_STATUS varchar(1) = NULL,
|
33
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
34
|
@p_TRANSFER_DT varchar(25) = NULL,
|
35
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
36
|
@p_PROCESS varchar(15) = NULL,
|
37
|
@p_XMP_TEMP xml = NULL,
|
38
|
@p_TOP int = 300,
|
39
|
@p_LEVEL varchar(10) = NULL,
|
40
|
@p_FRMDATE varchar(20) = NULL,
|
41
|
@p_TODATE varchar(20) = NULL,
|
42
|
@p_BRANCH_LOGIN varchar(15) = N'DV0001',
|
43
|
@p_IS_UPDATE_KT varchar(15) = NULL,
|
44
|
@p_IS_TRANSFER varchar(15) = NULL,
|
45
|
@p_PAY_PHASE varchar(15) = NULL
|
46
|
|
47
|
SET @p_TOP = NULL
|
48
|
declare @tmp table(BRANCH_ID varchar(15))
|
49
|
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
50
|
|
51
|
IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0 OR @P_TOP>0)
|
52
|
BEGIN
|
53
|
-- PAGING BEGIN
|
54
|
BEGIN
|
55
|
SELECT COUNT(*) -- SELECT END
|
56
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
57
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
58
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
59
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
60
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
61
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
62
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
63
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
64
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
65
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
66
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
67
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE' AND AL.CDTYPE = 'REQ_TYPE'
|
68
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ_TRANSFER'
|
69
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
70
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
71
|
LEFT JOIN
|
72
|
(
|
73
|
SELECT X.PAY_ADV_ID,X.APPROVE_DT_KT, B.REQ_PAY_CODE, SUM (AMT_DO) PAY_HIS ,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
74
|
FROM TR_REQ_PAYMENT_DT X
|
75
|
INNER JOIN TR_REQ_PAYMENT B ON X.PAY_ID = B.REQ_PAY_ID
|
76
|
WHERE X.AUTH_STATUS_KT ='A'
|
77
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_PERIOD WHERE X.PAY_ADV_ID = PARENT_ID)
|
78
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE X.PAY_ADV_ID = REQ_ADV_ID AND TRN_TYPE = 'PAY')
|
79
|
--LEFT JOIN TR_REQ_ADVANCE_PAYMENT Y ON X.PAY_ADV_ID = Y.REQ_PAY_ID
|
80
|
--WHERE Y.REF_ID = @p_REF_ID
|
81
|
GROUP BY X.PAY_ADV_ID, X.APPROVE_DT_KT,B.REQ_PAY_CODE, B.REQ_PAY_ID
|
82
|
UNION
|
83
|
SELECT X.PARENT_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
84
|
FROM TR_REQ_PAY_PERIOD X
|
85
|
INNER JOIN TR_REQ_PAYMENT B ON X.REQ_PAY_ID = B.REQ_PAY_ID
|
86
|
WHERE X.AUTH_STATUS_KT ='A' AND X.PARENT_ID IS NOT NULL AND X.PROCESS = '2'
|
87
|
UNION
|
88
|
SELECT X.REQ_PAY_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY_REAL SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
89
|
FROM TR_REQ_PAY_SCHEDULE X -- PDN TAM UNG
|
90
|
LEFT JOIN TR_REQ_PAY_SCHEDULE X1 ON X.PAY_ID = X1.PAY_ID AND X1.TRN_TYPE = 'PAY' AND X.TRN_TYPE = 'ADV_PAY' AND X.PAY_PHASE = X1.PAY_PHASE AND X.REF_ID = X1.REF_ID -- PDN THANH TOAN
|
91
|
INNER JOIN TR_REQ_PAYMENT B ON X1.REQ_PAY_ID = B.REQ_PAY_ID AND X1.AUTH_STATUS_KT ='A' AND X1.PROCESS IN ('0', '2') AND X1.TRN_TYPE = 'PAY' -- LAY RA CAC PDN THANH TOAN LA HOAN UNG
|
92
|
WHERE X.AUTH_STATUS_KT ='A'
|
93
|
) H ON A.REQ_PAY_ID = H.PAY_ADV_ID
|
94
|
LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'
|
95
|
LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'
|
96
|
LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'
|
97
|
--LEFT JOIN TR_REQ_ADVANCE_DT DT ON A.REQ_PAY_ID = DT.REQ_PAY_ID AND A.REQ_TYPE ='P' AND DT.[TYPE]='ADV_PAY'
|
98
|
--LEFT JOIN TR_PO_MASTER PO ON DT.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
99
|
--LEFT JOIN TR_CONTRACT CT ON DT.REF_ID = CT.CONTRACT_ID AND A.REQ_TYPE='P' AND DT.[TYPE]='ADV_PAY'
|
100
|
--LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'
|
101
|
LEFT JOIN TR_REQ_ADVANCE_CUS CS ON A.REQ_PAY_ID= CS.REQ_PAY_ID
|
102
|
LEFT JOIN LS_CUSTOMER CUS ON CS.CUST_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'
|
103
|
WHERE 1=1
|
104
|
AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='' )
|
105
|
AND (A.AUTH_STATUS_KT ='A')
|
106
|
|
107
|
;WITH QUERY_DATA AS (
|
108
|
SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,
|
109
|
TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
110
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
111
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
112
|
BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,
|
113
|
(A.REQ_AMT -ISNULL(A.PAY_AMT,0)) AS AMT_REMAIN,
|
114
|
H.PAY_HIS AS AMT_PAY_HIS,
|
115
|
CASE WHEN H.SO_TIEN_THANH_TOAN IS NOT NULL THEN (ISNULL(H.SO_TIEN_THANH_TOAN,0)) ELSE A.PAY_AMT END AS TOTAL_AMT_PAY,
|
116
|
TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
|
117
|
TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE,
|
118
|
TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,
|
119
|
--ISNULL(PO.PO_CODE, CT.CONTRACT_CODE) AS PO_CODE ,ISNULL(PO.PO_NAME, CT.[CONTRACT_NAME]) AS PO_NAME,
|
120
|
--PO.SUP_NAME,
|
121
|
--SUP.TAX_NO AS SUP_TAX_NO,
|
122
|
CUS.CUSTOMER_CODE AS CUST_CODE,
|
123
|
CUS.CUSTOMER_NAME AS CUST_NAME,
|
124
|
PM.PAY_PHASE KY_TAM_UNG,
|
125
|
H.APPROVE_DT_KT NGAY_HOAN_UNG,
|
126
|
H.REQ_PAY_CODE AS SO_PHIEU_HOAN_UNG, H.ID_HOAN_UNG
|
127
|
, ROW_NUMBER() OVER (ORDER BY A.CREATE_DT DESC
|
128
|
) AS __ROWNUM-- SELECT END
|
129
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
130
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
131
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
132
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
133
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
134
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
135
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
136
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
137
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
138
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
139
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
140
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE' AND AL.CDTYPE = 'REQ_TYPE'
|
141
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ_TRANSFER'
|
142
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
143
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
144
|
LEFT JOIN
|
145
|
(
|
146
|
SELECT X.PAY_ADV_ID,X.APPROVE_DT_KT, B.REQ_PAY_CODE, SUM (AMT_DO) PAY_HIS ,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
147
|
FROM TR_REQ_PAYMENT_DT X
|
148
|
INNER JOIN TR_REQ_PAYMENT B ON X.PAY_ID = B.REQ_PAY_ID
|
149
|
WHERE X.AUTH_STATUS_KT ='A'
|
150
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_PERIOD WHERE X.PAY_ADV_ID = PARENT_ID)
|
151
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE X.PAY_ADV_ID = REQ_ADV_ID AND TRN_TYPE = 'PAY')
|
152
|
--LEFT JOIN TR_REQ_ADVANCE_PAYMENT Y ON X.PAY_ADV_ID = Y.REQ_PAY_ID
|
153
|
--WHERE Y.REF_ID = @p_REF_ID
|
154
|
GROUP BY X.PAY_ADV_ID, X.APPROVE_DT_KT,B.REQ_PAY_CODE, B.REQ_PAY_ID
|
155
|
UNION
|
156
|
SELECT X.PARENT_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
157
|
FROM TR_REQ_PAY_PERIOD X
|
158
|
INNER JOIN TR_REQ_PAYMENT B ON X.REQ_PAY_ID = B.REQ_PAY_ID
|
159
|
WHERE X.AUTH_STATUS_KT ='A' AND X.PARENT_ID IS NOT NULL AND X.PROCESS = '2'
|
160
|
UNION
|
161
|
SELECT X.REQ_PAY_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY_REAL SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
162
|
FROM TR_REQ_PAY_SCHEDULE X -- PDN TAM UNG
|
163
|
LEFT JOIN TR_REQ_PAY_SCHEDULE X1 ON X.PAY_ID = X1.PAY_ID AND X1.TRN_TYPE = 'PAY' AND X.TRN_TYPE = 'ADV_PAY' AND X.PAY_PHASE = X1.PAY_PHASE AND X.REF_ID = X1.REF_ID -- PDN THANH TOAN
|
164
|
INNER JOIN TR_REQ_PAYMENT B ON X1.REQ_PAY_ID = B.REQ_PAY_ID AND X1.AUTH_STATUS_KT ='A' AND X1.PROCESS IN ('0', '2') AND X1.TRN_TYPE = 'PAY' -- LAY RA CAC PDN THANH TOAN LA HOAN UNG
|
165
|
WHERE X.AUTH_STATUS_KT ='A'
|
166
|
) H ON A.REQ_PAY_ID = H.PAY_ADV_ID
|
167
|
LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'
|
168
|
LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'
|
169
|
LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'
|
170
|
--LEFT JOIN TR_REQ_ADVANCE_DT DT ON A.REQ_PAY_ID = DT.REQ_PAY_ID AND A.REQ_TYPE ='P' AND DT.[TYPE]='ADV_PAY'
|
171
|
--LEFT JOIN TR_PO_MASTER PO ON DT.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
172
|
--LEFT JOIN TR_CONTRACT CT ON DT.REF_ID = CT.CONTRACT_ID AND A.REQ_TYPE='P' AND DT.[TYPE]='ADV_PAY'
|
173
|
--LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'
|
174
|
LEFT JOIN TR_REQ_ADVANCE_CUS CS ON A.REQ_PAY_ID= CS.REQ_PAY_ID
|
175
|
LEFT JOIN LS_CUSTOMER CUS ON CS.CUST_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'
|
176
|
WHERE 1=1
|
177
|
AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='' )
|
178
|
AND (A.AUTH_STATUS_KT ='A')
|
179
|
|
180
|
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
|
181
|
END-- PAGING END
|
182
|
END
|
183
|
ELSE
|
184
|
BEGIN
|
185
|
-- PAGING BEGIN
|
186
|
BEGIN
|
187
|
SELECT COUNT(*) -- SELECT END
|
188
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
189
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
190
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
191
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
192
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
193
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
194
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
195
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
196
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
197
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
198
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
199
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE' AND AL.CDTYPE = 'REQ_TYPE'
|
200
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ_TRANSFER'
|
201
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
202
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
203
|
LEFT JOIN
|
204
|
(
|
205
|
SELECT X.PAY_ADV_ID,X.APPROVE_DT_KT, B.REQ_PAY_CODE, SUM (AMT_DO) PAY_HIS ,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
206
|
FROM TR_REQ_PAYMENT_DT X
|
207
|
INNER JOIN TR_REQ_PAYMENT B ON X.PAY_ID = B.REQ_PAY_ID
|
208
|
WHERE X.AUTH_STATUS_KT ='A'
|
209
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_PERIOD WHERE X.PAY_ADV_ID = PARENT_ID)
|
210
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE X.PAY_ADV_ID = REQ_ADV_ID AND TRN_TYPE = 'PAY')
|
211
|
--LEFT JOIN TR_REQ_ADVANCE_PAYMENT Y ON X.PAY_ADV_ID = Y.REQ_PAY_ID
|
212
|
--WHERE Y.REF_ID = @p_REF_ID
|
213
|
GROUP BY X.PAY_ADV_ID, X.APPROVE_DT_KT,B.REQ_PAY_CODE, B.REQ_PAY_ID
|
214
|
UNION
|
215
|
SELECT X.PARENT_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
216
|
FROM TR_REQ_PAY_PERIOD X
|
217
|
INNER JOIN TR_REQ_PAYMENT B ON X.REQ_PAY_ID = B.REQ_PAY_ID
|
218
|
WHERE X.AUTH_STATUS_KT ='A' AND X.PARENT_ID IS NOT NULL AND X.PROCESS = '2'
|
219
|
UNION
|
220
|
SELECT X.REQ_PAY_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY_REAL SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
221
|
FROM TR_REQ_PAY_SCHEDULE X -- PDN TAM UNG
|
222
|
LEFT JOIN TR_REQ_PAY_SCHEDULE X1 ON X.PAY_ID = X1.PAY_ID AND X1.TRN_TYPE = 'PAY' AND X.TRN_TYPE = 'ADV_PAY' AND X.PAY_PHASE = X1.PAY_PHASE AND X.REF_ID = X1.REF_ID -- PDN THANH TOAN
|
223
|
INNER JOIN TR_REQ_PAYMENT B ON X1.REQ_PAY_ID = B.REQ_PAY_ID AND X1.AUTH_STATUS_KT ='A' AND X1.PROCESS IN ('0', '2') AND X1.TRN_TYPE = 'PAY' -- LAY RA CAC PDN THANH TOAN LA HOAN UNG
|
224
|
WHERE X.AUTH_STATUS_KT ='A'
|
225
|
) H ON A.REQ_PAY_ID = H.PAY_ADV_ID
|
226
|
LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'
|
227
|
LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'
|
228
|
LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'
|
229
|
--LEFT JOIN TR_REQ_ADVANCE_DT DT ON A.REQ_PAY_ID = DT.REQ_PAY_ID AND A.REQ_TYPE ='P' AND DT.[TYPE]='ADV_PAY'
|
230
|
--LEFT JOIN TR_PO_MASTER PO ON DT.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
231
|
--LEFT JOIN TR_CONTRACT CT ON DT.REF_ID = CT.CONTRACT_ID AND A.REQ_TYPE='P' AND DT.[TYPE]='ADV_PAY'
|
232
|
--LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'
|
233
|
LEFT JOIN TR_REQ_ADVANCE_CUS CS ON A.REQ_PAY_ID= CS.REQ_PAY_ID
|
234
|
LEFT JOIN LS_CUSTOMER CUS ON CS.CUST_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'
|
235
|
WHERE 1=1
|
236
|
AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='' )
|
237
|
AND (A.AUTH_STATUS_KT ='A')
|
238
|
|
239
|
;WITH QUERY_DATA AS (
|
240
|
SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,
|
241
|
TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
242
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
243
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
244
|
BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,
|
245
|
(A.REQ_AMT -ISNULL(A.PAY_AMT,0)) AS AMT_REMAIN,
|
246
|
H.PAY_HIS AS AMT_PAY_HIS,
|
247
|
CASE WHEN H.SO_TIEN_THANH_TOAN IS NOT NULL THEN (ISNULL(H.SO_TIEN_THANH_TOAN,0)) ELSE A.PAY_AMT END AS TOTAL_AMT_PAY,
|
248
|
TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
|
249
|
TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE,
|
250
|
TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,
|
251
|
--ISNULL(PO.PO_CODE, CT.CONTRACT_CODE) AS PO_CODE ,ISNULL(PO.PO_NAME, CT.[CONTRACT_NAME]) AS PO_NAME,
|
252
|
--PO.SUP_NAME,
|
253
|
--SUP.TAX_NO AS SUP_TAX_NO,
|
254
|
CUS.CUSTOMER_CODE AS CUST_CODE,
|
255
|
CUS.CUSTOMER_NAME AS CUST_NAME,
|
256
|
PM.PAY_PHASE KY_TAM_UNG,
|
257
|
H.APPROVE_DT_KT NGAY_HOAN_UNG,
|
258
|
H.REQ_PAY_CODE AS SO_PHIEU_HOAN_UNG, H.ID_HOAN_UNG
|
259
|
, ROW_NUMBER() OVER (ORDER BY A.CREATE_DT DESC
|
260
|
) AS __ROWNUM-- SELECT END
|
261
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
262
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
263
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
264
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
265
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
266
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
267
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
268
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
269
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
270
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
271
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
272
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE' AND AL.CDTYPE = 'REQ_TYPE'
|
273
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ_TRANSFER'
|
274
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
275
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
276
|
LEFT JOIN
|
277
|
(
|
278
|
SELECT X.PAY_ADV_ID,X.APPROVE_DT_KT, B.REQ_PAY_CODE, SUM (AMT_DO) PAY_HIS ,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
279
|
FROM TR_REQ_PAYMENT_DT X
|
280
|
INNER JOIN TR_REQ_PAYMENT B ON X.PAY_ID = B.REQ_PAY_ID
|
281
|
WHERE X.AUTH_STATUS_KT ='A'
|
282
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_PERIOD WHERE X.PAY_ADV_ID = PARENT_ID)
|
283
|
AND NOT EXISTS (SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE X.PAY_ADV_ID = REQ_ADV_ID AND TRN_TYPE = 'PAY')
|
284
|
--LEFT JOIN TR_REQ_ADVANCE_PAYMENT Y ON X.PAY_ADV_ID = Y.REQ_PAY_ID
|
285
|
--WHERE Y.REF_ID = @p_REF_ID
|
286
|
GROUP BY X.PAY_ADV_ID, X.APPROVE_DT_KT,B.REQ_PAY_CODE, B.REQ_PAY_ID
|
287
|
UNION
|
288
|
SELECT X.PARENT_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
289
|
FROM TR_REQ_PAY_PERIOD X
|
290
|
INNER JOIN TR_REQ_PAYMENT B ON X.REQ_PAY_ID = B.REQ_PAY_ID
|
291
|
WHERE X.AUTH_STATUS_KT ='A' AND X.PARENT_ID IS NOT NULL AND X.PROCESS = '2'
|
292
|
UNION
|
293
|
SELECT X.REQ_PAY_ID AS PAY_ADV_ID, B.APPROVE_DT_KT AS APPROVE_DT_KT, B.REQ_PAY_CODE, X.AMT_PAY PAY_HIS ,X.AMT_PAY_REAL SO_TIEN_THANH_TOAN, B.REQ_PAY_ID AS ID_HOAN_UNG
|
294
|
FROM TR_REQ_PAY_SCHEDULE X -- PDN TAM UNG
|
295
|
LEFT JOIN TR_REQ_PAY_SCHEDULE X1 ON X.PAY_ID = X1.PAY_ID AND X1.TRN_TYPE = 'PAY' AND X.TRN_TYPE = 'ADV_PAY' AND X.PAY_PHASE = X1.PAY_PHASE AND X.REF_ID = X1.REF_ID -- PDN THANH TOAN
|
296
|
INNER JOIN TR_REQ_PAYMENT B ON X1.REQ_PAY_ID = B.REQ_PAY_ID AND X1.AUTH_STATUS_KT ='A' AND X1.PROCESS IN ('0', '2') AND X1.TRN_TYPE = 'PAY' -- LAY RA CAC PDN THANH TOAN LA HOAN UNG
|
297
|
WHERE X.AUTH_STATUS_KT ='A'
|
298
|
) H ON A.REQ_PAY_ID = H.PAY_ADV_ID
|
299
|
LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'
|
300
|
LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'
|
301
|
LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'
|
302
|
--LEFT JOIN TR_REQ_ADVANCE_DT DT ON A.REQ_PAY_ID = DT.REQ_PAY_ID AND A.REQ_TYPE ='P' AND DT.[TYPE]='ADV_PAY'
|
303
|
--LEFT JOIN TR_PO_MASTER PO ON DT.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
304
|
--LEFT JOIN TR_CONTRACT CT ON DT.REF_ID = CT.CONTRACT_ID AND A.REQ_TYPE='P' AND DT.[TYPE]='ADV_PAY'
|
305
|
--LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'
|
306
|
LEFT JOIN TR_REQ_ADVANCE_CUS CS ON A.REQ_PAY_ID= CS.REQ_PAY_ID
|
307
|
LEFT JOIN LS_CUSTOMER CUS ON CS.CUST_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'
|
308
|
WHERE 1=1
|
309
|
AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='' )
|
310
|
AND (A.AUTH_STATUS_KT ='A')
|
311
|
|
312
|
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
|
313
|
END-- PAGING END
|
314
|
END;
|
315
|
|
316
|
go
|