Project

General

Profile

payment_search_050723.txt

Luc Tran Van, 07/05/2023 11:05 AM

 
1
-- PROCEDURE NAME: TR_REQ_PAYMENT_Search
2

    
3
DECLARE @p_REQ_PAY_ID varchar(15) = NULL,
4
@p_REQ_PAY_CODE varchar(50) = NULL,
5
@p_REQ_DT varchar(20) = NULL,
6
@p_BRANCH_ID varchar(15) = NULL,
7
@p_DEP_ID varchar(15) = NULL,
8
@p_REQ_REASON nvarchar(MAX) = NULL,
9
@p_REQ_TYPE varchar(15) = NULL,
10
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
11
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
12
@p_REF_ID varchar(15) = NULL,
13
@p_RECEIVER_PO nvarchar(250) = NULL,
14
@p_REQ_PAY_TYPE varchar(15) = NULL,
15
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
16
@p_REQ_AMT decimal = NULL,
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) = NULL,
27
@p_CHECKER_ID_KT nvarchar(20) = NULL,
28
@p_EXEC_USER_KT nvarchar(20) = NULL,
29
@p_APPROVE_DT_KT varchar(25) = NULL,
30
@p_CONFIRM_NOTE nvarchar(500) = NULL,
31
@p_BRANCH_CREATE varchar(15) = N'BRN000000000824',
32
@p_NOTES varchar(15) = NULL,
33
@p_RECORD_STATUS varchar(1) = NULL,
34
@p_TRANSFER_MAKER nvarchar(50) = NULL,
35
@p_TRANSFER_DT varchar(25) = NULL,
36
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
37
@p_PROCESS varchar(15) = NULL,
38
@p_PAY_PHASE varchar(15) = NULL,
39
@p_TOP int = NULL,
40
@p_LEVEL varchar(10) = N'ALL',
41
@p_FRMDATE varchar(20) = N'05/06/2023 00:00:00',
42
@p_TODATE varchar(20) = N'05/07/2023 00:00:00',
43
@p_BRANCH_LOGIN varchar(15) = N'BRN000000000824',
44
@p_IS_UPDATE_KT varchar(15) = NULL,
45
@P_IS_TRANSFER varchar(15) = NULL,
46
@p_TERM_ID varchar(15) = NULL,
47
@P_USER_LOGIN varchar(15) = N'nhungtt',
48
@p_FUNCTION varchar(15) = NULL,
49
@p_IS_CREATE_AUTO varchar(15) = NULL,
50
@p_TYPE_SEARCH varchar(15) = N'HC'
51

    
52
--SET @p_TOP = NULL
53
	IF(ISNULL(@p_REQ_PAY_ID, '') <> '')
54
	BEGIN
55
		SET @p_DEP_ID = NULL
56
	END
57

    
58
-- BRANCH TRUYEN TU UI
59
	DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))
60
	INSERT INTO @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
61

    
62
-- BRANCH LOGIN
63
	DECLARE @tmp_login TABLE(BRANCH_ID varchar(15))
64
	INSERT INTO @tmp_login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
65

    
66
-- USER LOGIN
67
	DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15), @BRANCH_TYPE VARCHAR(15), @BRANCH_TYPE_LG VARCHAR(15)
68
	SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
69
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
70
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
71
	SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
72
	SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
73

    
74
-- TABLE ROLE USER
75
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
76
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
77
	INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME = @P_USER_LOGIN  
78
																			AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
79
																			AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
80
																			AND RECORD_STATUS = '1'
81

    
82
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM
83
	DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))
84
	INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
85
	-- LUCTV 19.10.2022 BO SUNG THEM PHONG BAN CHA SE THAY DANH SACH PHONG BAN CON
86
	INSERT INTO @DEP_AUTH SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID = @DEP_ID_LG
87
	INSERT INTO @DEP_AUTH	SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME =@P_USER_LOGIN 
88
																			AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
89
																			AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
90
																			AND RECORD_STATUS = '1'
91
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM CÓ QUYỀN DUYỆT PHIẾU
92
	DECLARE @DEP_IS_TDV TABLE (DEP_AUTH VARCHAR(15))
93
	INSERT INTO @DEP_IS_TDV	SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME = @P_USER_LOGIN 
94
																			AND ROLE_NEW IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
95
																			AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
96
																			AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
97
																			AND RECORD_STATUS = '1'
98

    
99

    
100

    
101
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM
102
	DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
103
	INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
104
	INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING  WHERE	TLNAME = @P_USER_LOGIN 
105
																				AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
106
																				AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
107
																				AND RECORD_STATUS = '1'
108
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM CÓ QUYỀN DUYỆT
109
	DECLARE @BRANCH_IS_TDV TABLE (BRN_AUTH VARCHAR(15))
110
	INSERT INTO @BRANCH_IS_TDV SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME = @P_USER_LOGIN 
111
																				AND ROLE_NEW IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
112
																				AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
113
																				AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
114
																				AND RECORD_STATUS = '1'
115

    
116
--- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
117
	DECLARE @DATE DATE
118
	IF ((@p_FRMDATE IS NULL OR @p_FRMDATE ='') AND ISNULL(@p_REQ_PAY_ID,'')='' AND @p_AUTH_STATUS ='') -- MỤC ĐÍCH NẾU NHƯ XEM CHI TIẾT 1 PĐN THANH TOÁN DẠNG POPUP THÌ BỎ QUA ĐIỀU KIỆN NÀY, TỪ NGÀY VẪN LÀ NULL
119
	BEGIN
120
		SET @DATE = CONVERT(DATE,GETDATE(),103)
121
		SET @DATE = DATEADD(MONTH,-2,@DATE)
122
	END
123
	ELSE
124
	BEGIN
125
		SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
126
	END
127

    
128
--DOANPTT: XÁC ĐỊNH USER XEM TOÀN BỘ PHIẾU
129
	DECLARE @IS_VIEW_ALL VARCHAR(1) 
130
	IF((SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('KSV', 'GDV', 'NVTC')) > 0)		-- ROLE CHỈ ĐỊNH
131
	BEGIN
132
		SET @IS_VIEW_ALL = 'Y'
133
	END
134
	ELSE IF(@DEP_ID_LG = 'DEP000000000022')														-- PHÒNG CHỈ ĐỊNH
135
	BEGIN
136
		SET @IS_VIEW_ALL = 'Y'
137
	END
138
	ELSE IF(@P_USER_LOGIN = 'baotq')															-- USER CHỈ ĐỊNH
139
	BEGIN
140
		SET @IS_VIEW_ALL = 'Y'
141
	END
142
	ELSE
143
	BEGIN
144
		SET @IS_VIEW_ALL = 'N'
145
	END
146

    
147
--DOANPTT: XÁC ĐỊNH USER CÓ ĐƯỢC XEM HẾT PHIẾU CỦA PHÒNG MÌNH HAY KHÔNG
148
	DECLARE @IS_SEE_ALL_HC VARCHAR(1) 
149
	IF((SELECT COUNT(*) FROM PL_ROLE_DATA_CONFIG WHERE BRANCH_ID = @P_USER_LOGIN AND ROLE_TYPE = 'TR_REQ_PAYMENT') > 0)
150
	BEGIN
151
		SET @IS_SEE_ALL_HC = 'Y'
152
	END
153
	ELSE
154
	BEGIN
155
		SET @IS_SEE_ALL_HC = 'N'
156
	END
157

    
158
-- RoleName Rỗng sẽ cập nhật lại
159
	SET  @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
160
	IF(@ROLE_ID IS NOT NULL AND @ROLE_ID <>'' AND @ROLE_ID IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD'))
161
	BEGIN
162
		PRINT @ROLE_ID
163
	END
164
	ELSE
165
	BEGIN
166
		SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
167
		IF(@ROLE_ID IS NULL OR @ROLE_ID ='')
168
		BEGIN
169
			SET @ROLE_ID =(SELECT TOP 1 ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT TOP 1 ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN))
170
		END
171
	END
172
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)--2021823
173

    
174

    
175
-- CHECK NGUOI DUYET
176
	DECLARE @IS_TDV VARCHAR(1) = 'N'
177
	IF	(		
178
				(	SELECT COUNT(*) 
179
					FROM @TABLE_ROLE A 
180
					WHERE A.ROLE_AUTH IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
181
				) = 0
182
		)
183
	BEGIN
184
		SET @IS_TDV = 'N'
185
	END
186
	ELSE
187
	BEGIN
188
		SET @IS_TDV = 'Y'
189
	END
190

    
191
IF('NVTC_KT' IN (SELECT ROLE_AUTH FROM @TABLE_ROLE) AND @p_TYPE_SEARCH = 'KT')
192
BEGIN
193
	IF(@p_TOP IS NULL OR @p_TOP=0)
194
	BEGIN
195
	-- PAGING BEGIN
196
BEGIN
197
SELECT COUNT(*) FROM(
198
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
199
		TL1.TLFullName APPROVE_FULLNAME,
200
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
201
		TL3.TLFullName APPROVE_FULLNAME_KT,
202
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
203
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
204
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
205
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
206
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
207
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
208
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
209
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
210
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
211
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
212
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
213
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
214
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
215
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
216
		AS BRANCH_NAME_CONTRACT,
217
		--doanptt 300622
218
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
219
				WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
220
				ELSE TL2.TLNANME END AS EXEC_USER,
221
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
222
		PC3.TLNAME AS EXEC_USER_KT,
223
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
224
			ELSE 0 END AS NUMBER_OF_SEND_APPR,
225
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
226
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
227
	-- SELECT END
228
		FROM TR_REQ_PAYMENT A
229
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
230
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
231
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
232
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
233
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
234
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
235
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
236
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
237
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
238
			--Luanlt--2019/10/15-Sửa AL,AL1
239
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
240
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
241
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
242
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
243
			LEFT JOIN 
244
			(
245
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
246
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
247
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
248
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
249
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
250
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
251
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
252
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
253
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
254
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
255
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
256
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
257
		WHERE 1=1 
258
			AND A.AUTH_STATUS = 'A'
259
			AND A.AUTH_STATUS_KT = 'A'
260
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
261
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
262
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
263
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
264
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
265
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
266
			AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
267
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
268
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
269
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
270
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
271
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
272
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
273
											)
274
					)
275
					OR	(	(	@p_LEVEL='UNIT' 
276
								AND A.BRANCH_ID=@p_BRANCH_ID
277
							)
278
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
279
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
280
									EXISTS	(	SELECT * 
281
												FROM TR_REQ_ADVANCE_DT 
282
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
283
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
284
												AND A.AUTH_STATUS_KT ='A'
285
											)
286
								)
287
						)
288
				)
289
				  
290
			
291
	) COUNTER_TOP;WITH QUERY_DATA AS ( 
292
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
293
		TL1.TLFullName APPROVE_FULLNAME,
294
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
295
		TL3.TLFullName APPROVE_FULLNAME_KT,
296
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
297
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
298
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
299
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
300
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
301
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
302
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
303
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
304
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
305
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
306
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
307
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
308
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
309
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
310
		AS BRANCH_NAME_CONTRACT,
311
		--doanptt 300622
312
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
313
				WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
314
				ELSE TL2.TLNANME END AS EXEC_USER,
315
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
316
		PC3.TLNAME AS EXEC_USER_KT,
317
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
318
			ELSE 0 END AS NUMBER_OF_SEND_APPR,
319
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
320
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
321
	, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
322
) AS __ROWNUM-- SELECT END
323
		FROM TR_REQ_PAYMENT A
324
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
325
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
326
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
327
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
328
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
329
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
330
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
331
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
332
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
333
			--Luanlt--2019/10/15-Sửa AL,AL1
334
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
335
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
336
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
337
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
338
			LEFT JOIN 
339
			(
340
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
341
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
342
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
343
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
344
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
345
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
346
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
347
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
348
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
349
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
350
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
351
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
352
		WHERE 1=1 
353
			AND A.AUTH_STATUS = 'A'
354
			AND A.AUTH_STATUS_KT = 'A'
355
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
356
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
357
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
358
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
359
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
360
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
361
			AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
362
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
363
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
364
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
365
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
366
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
367
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
368
											)
369
					)
370
					OR	(	(	@p_LEVEL='UNIT' 
371
								AND A.BRANCH_ID=@p_BRANCH_ID
372
							)
373
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
374
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
375
									EXISTS	(	SELECT * 
376
												FROM TR_REQ_ADVANCE_DT 
377
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
378
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
379
												AND A.AUTH_STATUS_KT ='A'
380
											)
381
								)
382
						)
383
				)
384
				  
385
			
386
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
387
END-- PAGING END
388
		END;
389
    ELSE 
390
	BEGIN
391
-- PAGING BEGIN
392
BEGIN
393
SELECT COUNT(*) FROM(
394
        SELECT TOP(CONVERT(INT,@p_TOP)) A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
395
		TL1.TLFullName APPROVE_FULLNAME,
396
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
397
		TL3.TLFullName APPROVE_FULLNAME_KT,
398
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
399
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
400
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
401
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
402
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
403
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
404
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
405
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
406
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
407
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
408
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
409
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
410
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
411
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
412
		AS BRANCH_NAME_CONTRACT,
413
		--doanptt 300622
414
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
415
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
416
			 ELSE TL2.TLNANME END AS EXEC_USER,
417
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
418
		PC3.TLNAME AS EXEC_USER_KT,
419
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
420
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
421
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
422
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
423
-- SELECT END
424
        FROM TR_REQ_PAYMENT A
425
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
426
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
427
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
428
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
429
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
430
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
431
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
432
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
433
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
434
			--Luanlt--2019/10/15-Sửa AL,AL1
435
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
436
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
437
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
438
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
439
			LEFT JOIN 
440
			(
441
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
442
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
443
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
444
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
445
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
446
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
447
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
448
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
449
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
450
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
451
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
452
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
453
        WHERE 1=1  
454
			AND A.AUTH_STATUS = 'A'
455
			AND A.AUTH_STATUS_KT = 'A'
456
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
457
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
458
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
459
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
460
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
461
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
462
			AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
463
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
464
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
465
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
466
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
467
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
468
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
469
											)
470
					)
471
					OR	(	(	@p_LEVEL='UNIT' 
472
								AND A.BRANCH_ID=@p_BRANCH_ID
473
							)
474
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
475
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
476
									EXISTS	(	SELECT * 
477
												FROM TR_REQ_ADVANCE_DT 
478
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
479
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
480
												AND A.AUTH_STATUS_KT ='A'
481
											)
482
								)
483
						)
484
				)
485
		ORDER BY  A.CREATE_DT DESC
486
) COUNTER_TOP;WITH QUERY_DATA AS ( 
487
        SELECT TOP(CONVERT(INT,@p_TOP)) A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
488
		TL1.TLFullName APPROVE_FULLNAME,
489
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
490
		TL3.TLFullName APPROVE_FULLNAME_KT,
491
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
492
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
493
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
494
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
495
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
496
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
497
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
498
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
499
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
500
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
501
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
502
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
503
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
504
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
505
		AS BRANCH_NAME_CONTRACT,
506
		--doanptt 300622
507
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
508
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
509
			 ELSE TL2.TLNANME END AS EXEC_USER,
510
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
511
		PC3.TLNAME AS EXEC_USER_KT,
512
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
513
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
514
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
515
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
516
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
517
) AS __ROWNUM-- SELECT END
518
        FROM TR_REQ_PAYMENT A
519
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
520
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
521
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
522
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
523
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
524
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
525
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
526
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
527
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
528
			--Luanlt--2019/10/15-Sửa AL,AL1
529
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
530
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
531
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
532
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
533
			LEFT JOIN 
534
			(
535
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
536
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
537
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
538
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
539
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
540
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
541
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
542
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
543
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
544
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
545
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
546
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
547
        WHERE 1=1  
548
			AND A.AUTH_STATUS = 'A'
549
			AND A.AUTH_STATUS_KT = 'A'
550
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
551
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
552
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
553
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
554
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
555
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
556
			AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
557
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
558
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
559
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
560
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
561
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
562
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
563
											)
564
					)
565
					OR	(	(	@p_LEVEL='UNIT' 
566
								AND A.BRANCH_ID=@p_BRANCH_ID
567
							)
568
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
569
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
570
									EXISTS	(	SELECT * 
571
												FROM TR_REQ_ADVANCE_DT 
572
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
573
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
574
												AND A.AUTH_STATUS_KT ='A'
575
											)
576
								)
577
						)
578
				)
579
		ORDER BY  A.CREATE_DT DESC
580
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
581
END-- PAGING END
582
    END;
583
END
584
ELSE
585
BEGIN
586
	IF(@p_TOP IS NULL OR @p_TOP=0)
587
	BEGIN
588
	-- PAGING BEGIN
589
BEGIN
590
SELECT COUNT(*) FROM(
591
			SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
592
			TL1.TLFullName APPROVE_FULLNAME,
593
			CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
594
			TL3.TLFullName APPROVE_FULLNAME_KT,
595
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
596
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
597
											WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
598
											BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
599
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
600
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
601
			--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
602
			BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
603
			--Luanlt--2019/10/15-Sửa AL,AL1
604
			BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
605
			ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
606
			TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
607
			PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
608
			--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
609
			@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
610
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
611
			ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
612
			AS BRANCH_NAME_CONTRACT,
613
			--doanptt 300622
614
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
615
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
616
				 ELSE TL2.TLNANME END AS EXEC_USER,
617
			dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
618
			PC3.TLNAME AS EXEC_USER_KT,
619
			CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
620
				 ELSE 0 END AS NUMBER_OF_SEND_APPR,
621
			L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
622
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
623
	-- SELECT END
624
			FROM TR_REQ_PAYMENT A
625
				LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
626
				LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
627
				LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
628
				LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
629
				LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
630
				LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
631
				LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
632
				LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
633
				LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
634
				--Luanlt--2019/10/15-Sửa AL,AL1
635
				LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
636
				LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
637
				LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
638
				LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
639
				LEFT JOIN 
640
				(
641
				SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
642
				) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
643
				LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
644
				LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
645
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
646
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
647
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
648
				LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
649
				LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
650
				LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
651
				LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
652
				LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
653
			WHERE 1=1 
654
			-- BEGIN FILTER
655
				AND	(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
656
				AND	(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
657
				AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
658
				AND	(A.REF_ID =@p_REF_ID OR ISNULL(@p_REF_ID, '') = '')
659
				AND	(A.BRANCH_ID = @p_BRANCH_ID  OR ISNULL(@p_BRANCH_ID, '') = '' OR @p_BRANCH_ID = 'DV0001')
660
				AND	(A.DEP_ID = @p_DEP_ID  OR ISNULL(@p_DEP_ID, '') = '')
661
				AND	(ISNULL(@p_MAKER_ID_KT, '') = '' OR A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
662
				AND	(ISNULL(@p_EXEC_USER_KT, '') = '' OR ISNULL(PC3.TLNAME, '') = '' OR PC3.TLNAME = @p_EXEC_USER_KT)
663
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR ISNULL(@p_TRASFER_USER_RECIVE, '') = '' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)	
664
				AND	(	A.AUTH_STATUS = @p_AUTH_STATUS 
665
						OR @p_AUTH_STATUS = '' 
666
						OR @p_AUTH_STATUS IS NULL 
667
						OR	(	@p_AUTH_STATUS = 'W' 
668
								AND ISNULL(A.PROCESS, '') = '' 
669
								AND A.AUTH_STATUS = 'U'
670
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
671
							)-- CHỜ DUYỆT TRUNG GIAN
672
						OR	(	@p_AUTH_STATUS = 'G' 
673
								AND ISNULL(A.PROCESS, '') = '0' 
674
								AND A.AUTH_STATUS = 'U'
675
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
676
							) -- ĐÃ DUYỆT TRUNG GIAN
677
					)
678
				AND	(A.NOTES LIKE N'%'+@p_NOTES+'%' OR ISNULL(@p_NOTES, '') = '')
679
				AND	(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR ISNULL(@p_REQ_TYPE, '') = '')
680
				AND	(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
681
				AND	(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR ISNULL(@p_REQ_REASON, '') = '')
682
				AND	(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
683
				AND	(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
684
				-- KT
685
				AND	(	
686
						(	A.MAKER_ID_KT IS NOT NULL 
687
							AND @p_IS_UPDATE_KT='Y'
688
						) 
689
						OR	(	A.MAKER_ID_KT IS NULL 
690
								AND @p_IS_UPDATE_KT='N'
691
							)
692
						OR  ISNULL(@p_IS_UPDATE_KT, '') = ''
693
					)	-- TINH TRANG CAP NHAT - GDV
694
				AND	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
695
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')) 
696
						OR ISNULL(@p_AUTH_STATUS_KT, '') = ''
697
					)	-- TRANG THAI DUYET KT
698
				AND	(	(	@p_IS_TRANSFER='Y' 
699
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
700
									OR A.AUTH_STATUS_KT ='A'
701
								)
702
						)
703
						OR	(	(	@p_IS_TRANSFER='N' 
704
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
705
											AND A.AUTH_STATUS_KT <>'A'
706
								)
707
							)
708
						OR  ISNULL(@p_IS_TRANSFER, '') = ''
709
					)	-- TINH TRANG DIEU CHUYEN KT
710
				AND	(
711
						(
712
							@p_FUNCTION ='KT' 
713
							AND (
714
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
715
									AND (
716
											X.TLNAME= @p_USER_LOGIN 
717
											OR X.TLNAME =@p_EXEC_USER_KT)
718
										)
719
								) 
720
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
721
							OR A.CHECKER_ID_KT ='admin' 
722
							OR A.AUTH_STATUS_KT='A' 
723
						)
724
						OR ISNULL(@p_FUNCTION, '') = '' 
725
						OR @p_FUNCTION ='TF' 
726
					)
727
			-- END FILTER
728
				AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
729
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
730
						OR @p_BRANCH_ID='' 
731
						OR @p_BRANCH_ID IS NULL
732
					)
733
			-- VALIDATE BRANCH
734
				AND	(	A.BRANCH_ID = @p_BRANCH_LOGIN	-- PHIEU CUA DON VI MINH
735
						OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH) -- PHIEU CUA DON VI KIEM NHIEM
736
						OR	(	@BRANCH_TYPE_LG <> 'HS' 
737
								AND EXISTS	(	SELECT * 
738
												FROM TR_REQ_ADVANCE_DT 
739
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
740
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
741
												AND A.AUTH_STATUS_KT ='A'
742
											)
743
							)	-- PHIEU CUA HOI SO TAO
744
					-- TRUONG HOP VIEW ALL
745
						OR @IS_VIEW_ALL = 'Y'
746
					)
747
			-- VALIDATE DEP
748
				AND	(
749
						A.DEP_ID IN	(SELECT * FROM @DEP_AUTH)
750
						OR A.BRANCH_ID <> 'DV0001'
751
					-- TRUONG HOP VIEW ALL
752
						OR @IS_VIEW_ALL = 'Y'
753
					)
754
			-- VALIDATE FLOW
755
				AND	(
756
				-- TRUONG HOP VIEW ALL
757
						 @IS_VIEW_ALL = 'Y'	
758
				-- BEGIN TRUONG HOP DAC BIET
759
						OR	(	@IS_SEE_ALL_HC = 'Y'										-- DOANPTT 20/12/22: CHO USER XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
760
								AND A.DEP_ID = @DEP_ID_LG
761
								AND A.BRANCH_ID = 'DV0001'
762
								AND A.AUTH_STATUS IN ('U','R', 'A')
763
								AND @p_TYPE_SEARCH ='HC'
764
							)
765
				-- END TRUONG HOP DAC BIET
766
						OR A.MAKER_ID = @p_USER_LOGIN									-- NGUOI TAO
767
						OR	(	A.AUTH_STATUS ='A')										-- PHIEU DA DUYET
768
						OR	(	A.TRASFER_USER_RECIVE = @P_USER_LOGIN					
769
								AND A.AUTH_STATUS NOT IN ('E','R')
770
							)															-- TRUNG GIAN													
771
						OR	(	@p_TYPE_SEARCH ='HC'									
772
								AND A.BRANCH_ID <> 'DV0001'							
773
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
774
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
775
								AND @IS_TDV = 'Y'
776
							)															-- TDV - DVKD
777
						OR	(	@p_TYPE_SEARCH ='HC'									
778
								AND A.BRANCH_ID = 'DV0001'							
779
								AND A.DEP_ID IN (SELECT * FROM @DEP_IS_TDV)
780
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
781
								AND @IS_TDV = 'Y'
782
							)															-- TDV - HOI SO
783
						OR	(
784
								@p_TYPE_SEARCH ='HC'									
785
								AND @BRANCH_TYPE_LG <> 'HS' 
786
								AND EXISTS (
787
												SELECT * 
788
												FROM TR_REQ_ADVANCE_DT 
789
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
790
												AND REF_ID IN	(
791
																	SELECT CONTRACT_ID 
792
																	FROM TR_CONTRACT
793
																	WHERE BRANCH_ID =@p_BRANCH_LOGIN
794
																) 
795
												AND A.AUTH_STATUS_KT ='A'
796
											)
797
							)															-- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
798

    
799
						-- HOI SO
800
						OR	(	@p_TYPE_SEARCH ='HC'
801
								AND @BRANCH_TYPE_LG ='HS'  
802
								AND (	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
803
										OR	(	@IS_TDV = 'Y'
804
												AND (	A.BRANCH_ID = @p_BRANCH_LOGIN 
805
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
806
													)
807
												AND (	A.DEP_ID = @DEP_ID_LG 
808
														OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
809
													)
810
												AND (	ISNULL(A.TRASFER_USER_RECIVE, '') = '' 
811
														OR	(	ISNULL(A.TRASFER_USER_RECIVE, '') <> '' 
812
																AND ISNULL(A.PROCESS, '') <> ''
813
															)
814
													)
815
											)
816
								)
817
							)
818
						-- CN
819
						OR	(	@p_TYPE_SEARCH ='HC' 
820
								AND @BRANCH_TYPE_LG = 'CN' 
821
								AND @IS_TDV = 'Y'
822
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
823
							)
824
						-- PGD
825
						OR	(	@p_TYPE_SEARCH ='HC' 
826
								AND @BRANCH_TYPE_LG = 'PGD' 
827
								AND (
828
										@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
829
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
830
									)
831
							)
832
						-- KT
833
						OR	(	@p_TYPE_SEARCH='KT' 
834
								AND @p_BRANCH_LOGIN ='DV0001' 
835
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
836
							)
837
						OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
838
					)
839
			
840
	) COUNTER_TOP;WITH QUERY_DATA AS ( 
841
			SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
842
			TL1.TLFullName APPROVE_FULLNAME,
843
			CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
844
			TL3.TLFullName APPROVE_FULLNAME_KT,
845
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
846
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
847
											WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
848
											BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
849
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
850
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
851
			--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
852
			BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
853
			--Luanlt--2019/10/15-Sửa AL,AL1
854
			BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
855
			ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
856
			TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
857
			PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
858
			--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
859
			@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
860
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
861
			ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
862
			AS BRANCH_NAME_CONTRACT,
863
			--doanptt 300622
864
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
865
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
866
				 ELSE TL2.TLNANME END AS EXEC_USER,
867
			dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
868
			PC3.TLNAME AS EXEC_USER_KT,
869
			CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
870
				 ELSE 0 END AS NUMBER_OF_SEND_APPR,
871
			L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
872
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
873
	, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
874
) AS __ROWNUM-- SELECT END
875
			FROM TR_REQ_PAYMENT A
876
				LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
877
				LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
878
				LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
879
				LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
880
				LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
881
				LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
882
				LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
883
				LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
884
				LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
885
				--Luanlt--2019/10/15-Sửa AL,AL1
886
				LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
887
				LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
888
				LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
889
				LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
890
				LEFT JOIN 
891
				(
892
				SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
893
				) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
894
				LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
895
				LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
896
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
897
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
898
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
899
				LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
900
				LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
901
				LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
902
				LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
903
				LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
904
			WHERE 1=1 
905
			-- BEGIN FILTER
906
				AND	(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
907
				AND	(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
908
				AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
909
				AND	(A.REF_ID =@p_REF_ID OR ISNULL(@p_REF_ID, '') = '')
910
				AND	(A.BRANCH_ID = @p_BRANCH_ID  OR ISNULL(@p_BRANCH_ID, '') = '' OR @p_BRANCH_ID = 'DV0001')
911
				AND	(A.DEP_ID = @p_DEP_ID  OR ISNULL(@p_DEP_ID, '') = '')
912
				AND	(ISNULL(@p_MAKER_ID_KT, '') = '' OR A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
913
				AND	(ISNULL(@p_EXEC_USER_KT, '') = '' OR ISNULL(PC3.TLNAME, '') = '' OR PC3.TLNAME = @p_EXEC_USER_KT)
914
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR ISNULL(@p_TRASFER_USER_RECIVE, '') = '' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)	
915
				AND	(	A.AUTH_STATUS = @p_AUTH_STATUS 
916
						OR @p_AUTH_STATUS = '' 
917
						OR @p_AUTH_STATUS IS NULL 
918
						OR	(	@p_AUTH_STATUS = 'W' 
919
								AND ISNULL(A.PROCESS, '') = '' 
920
								AND A.AUTH_STATUS = 'U'
921
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
922
							)-- CHỜ DUYỆT TRUNG GIAN
923
						OR	(	@p_AUTH_STATUS = 'G' 
924
								AND ISNULL(A.PROCESS, '') = '0' 
925
								AND A.AUTH_STATUS = 'U'
926
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
927
							) -- ĐÃ DUYỆT TRUNG GIAN
928
					)
929
				AND	(A.NOTES LIKE N'%'+@p_NOTES+'%' OR ISNULL(@p_NOTES, '') = '')
930
				AND	(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR ISNULL(@p_REQ_TYPE, '') = '')
931
				AND	(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
932
				AND	(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR ISNULL(@p_REQ_REASON, '') = '')
933
				AND	(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
934
				AND	(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
935
				-- KT
936
				AND	(	
937
						(	A.MAKER_ID_KT IS NOT NULL 
938
							AND @p_IS_UPDATE_KT='Y'
939
						) 
940
						OR	(	A.MAKER_ID_KT IS NULL 
941
								AND @p_IS_UPDATE_KT='N'
942
							)
943
						OR  ISNULL(@p_IS_UPDATE_KT, '') = ''
944
					)	-- TINH TRANG CAP NHAT - GDV
945
				AND	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
946
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')) 
947
						OR ISNULL(@p_AUTH_STATUS_KT, '') = ''
948
					)	-- TRANG THAI DUYET KT
949
				AND	(	(	@p_IS_TRANSFER='Y' 
950
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
951
									OR A.AUTH_STATUS_KT ='A'
952
								)
953
						)
954
						OR	(	(	@p_IS_TRANSFER='N' 
955
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
956
											AND A.AUTH_STATUS_KT <>'A'
957
								)
958
							)
959
						OR  ISNULL(@p_IS_TRANSFER, '') = ''
960
					)	-- TINH TRANG DIEU CHUYEN KT
961
				AND	(
962
						(
963
							@p_FUNCTION ='KT' 
964
							AND (
965
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
966
									AND (
967
											X.TLNAME= @p_USER_LOGIN 
968
											OR X.TLNAME =@p_EXEC_USER_KT)
969
										)
970
								) 
971
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
972
							OR A.CHECKER_ID_KT ='admin' 
973
							OR A.AUTH_STATUS_KT='A' 
974
						)
975
						OR ISNULL(@p_FUNCTION, '') = '' 
976
						OR @p_FUNCTION ='TF' 
977
					)
978
			-- END FILTER
979
				AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
980
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
981
						OR @p_BRANCH_ID='' 
982
						OR @p_BRANCH_ID IS NULL
983
					)
984
			-- VALIDATE BRANCH
985
				AND	(	A.BRANCH_ID = @p_BRANCH_LOGIN	-- PHIEU CUA DON VI MINH
986
						OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH) -- PHIEU CUA DON VI KIEM NHIEM
987
						OR	(	@BRANCH_TYPE_LG <> 'HS' 
988
								AND EXISTS	(	SELECT * 
989
												FROM TR_REQ_ADVANCE_DT 
990
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
991
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
992
												AND A.AUTH_STATUS_KT ='A'
993
											)
994
							)	-- PHIEU CUA HOI SO TAO
995
					-- TRUONG HOP VIEW ALL
996
						OR @IS_VIEW_ALL = 'Y'
997
					)
998
			-- VALIDATE DEP
999
				AND	(
1000
						A.DEP_ID IN	(SELECT * FROM @DEP_AUTH)
1001
						OR A.BRANCH_ID <> 'DV0001'
1002
					-- TRUONG HOP VIEW ALL
1003
						OR @IS_VIEW_ALL = 'Y'
1004
					)
1005
			-- VALIDATE FLOW
1006
				AND	(
1007
				-- TRUONG HOP VIEW ALL
1008
						 @IS_VIEW_ALL = 'Y'	
1009
				-- BEGIN TRUONG HOP DAC BIET
1010
						OR	(	@IS_SEE_ALL_HC = 'Y'										-- DOANPTT 20/12/22: CHO USER XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
1011
								AND A.DEP_ID = @DEP_ID_LG
1012
								AND A.BRANCH_ID = 'DV0001'
1013
								AND A.AUTH_STATUS IN ('U','R', 'A')
1014
								AND @p_TYPE_SEARCH ='HC'
1015
							)
1016
				-- END TRUONG HOP DAC BIET
1017
						OR A.MAKER_ID = @p_USER_LOGIN									-- NGUOI TAO
1018
						OR	(	A.AUTH_STATUS ='A')										-- PHIEU DA DUYET
1019
						OR	(	A.TRASFER_USER_RECIVE = @P_USER_LOGIN					
1020
								AND A.AUTH_STATUS NOT IN ('E','R')
1021
							)															-- TRUNG GIAN													
1022
						OR	(	@p_TYPE_SEARCH ='HC'									
1023
								AND A.BRANCH_ID <> 'DV0001'							
1024
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
1025
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
1026
								AND @IS_TDV = 'Y'
1027
							)															-- TDV - DVKD
1028
						OR	(	@p_TYPE_SEARCH ='HC'									
1029
								AND A.BRANCH_ID = 'DV0001'							
1030
								AND A.DEP_ID IN (SELECT * FROM @DEP_IS_TDV)
1031
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
1032
								AND @IS_TDV = 'Y'
1033
							)															-- TDV - HOI SO
1034
						OR	(
1035
								@p_TYPE_SEARCH ='HC'									
1036
								AND @BRANCH_TYPE_LG <> 'HS' 
1037
								AND EXISTS (
1038
												SELECT * 
1039
												FROM TR_REQ_ADVANCE_DT 
1040
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
1041
												AND REF_ID IN	(
1042
																	SELECT CONTRACT_ID 
1043
																	FROM TR_CONTRACT
1044
																	WHERE BRANCH_ID =@p_BRANCH_LOGIN
1045
																) 
1046
												AND A.AUTH_STATUS_KT ='A'
1047
											)
1048
							)															-- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
1049

    
1050
						-- HOI SO
1051
						OR	(	@p_TYPE_SEARCH ='HC'
1052
								AND @BRANCH_TYPE_LG ='HS'  
1053
								AND (	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1054
										OR	(	@IS_TDV = 'Y'
1055
												AND (	A.BRANCH_ID = @p_BRANCH_LOGIN 
1056
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1057
													)
1058
												AND (	A.DEP_ID = @DEP_ID_LG 
1059
														OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
1060
													)
1061
												AND (	ISNULL(A.TRASFER_USER_RECIVE, '') = '' 
1062
														OR	(	ISNULL(A.TRASFER_USER_RECIVE, '') <> '' 
1063
																AND ISNULL(A.PROCESS, '') <> ''
1064
															)
1065
													)
1066
											)
1067
								)
1068
							)
1069
						-- CN
1070
						OR	(	@p_TYPE_SEARCH ='HC' 
1071
								AND @BRANCH_TYPE_LG = 'CN' 
1072
								AND @IS_TDV = 'Y'
1073
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
1074
							)
1075
						-- PGD
1076
						OR	(	@p_TYPE_SEARCH ='HC' 
1077
								AND @BRANCH_TYPE_LG = 'PGD' 
1078
								AND (
1079
										@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1080
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
1081
									)
1082
							)
1083
						-- KT
1084
						OR	(	@p_TYPE_SEARCH='KT' 
1085
								AND @p_BRANCH_LOGIN ='DV0001' 
1086
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1087
							)
1088
						OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
1089
					)
1090
			
1091
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
1092
END-- PAGING END
1093
		END;
1094
    ELSE 
1095
	BEGIN
1096
-- PAGING BEGIN
1097
BEGIN
1098
SELECT COUNT(*) FROM(
1099
        SELECT TOP(CONVERT(INT,@p_TOP)) A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
1100
		TL1.TLFullName APPROVE_FULLNAME,
1101
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
1102
		TL3.TLFullName APPROVE_FULLNAME_KT,
1103
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
1104
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
1105
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
1106
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
1107
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1108
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
1109
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
1110
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
1111
		--Luanlt--2019/10/15-Sửa AL,AL1
1112
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
1113
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
1114
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
1115
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
1116
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
1117
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
1118
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
1119
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1120
		AS BRANCH_NAME_CONTRACT,
1121
		--doanptt 300622
1122
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
1123
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
1124
			 ELSE TL2.TLNANME END AS EXEC_USER,
1125
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
1126
		PC3.TLNAME AS EXEC_USER_KT,
1127
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
1128
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
1129
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
1130
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
1131
-- SELECT END
1132
        FROM TR_REQ_PAYMENT A
1133
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
1134
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
1135
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
1136
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
1137
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
1138
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
1139
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
1140
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
1141
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
1142
			 --Luanlt--2019/10/15-Sửa AL,AL1
1143
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
1144
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
1145
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
1146
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
1147
			 LEFT JOIN 
1148
			 (
1149
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
1150
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
1151
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
1152
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
1153
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
1154
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
1155
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
1156
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
1157
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
1158
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
1159
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
1160
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
1161
        WHERE 1=1 
1162
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
1163
			  AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
1164
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
1165
					OR @p_AUTH_STATUS='' 
1166
					OR @p_AUTH_STATUS IS NULL 
1167
					OR	(	@p_AUTH_STATUS = 'G' 
1168
							AND ISNULL(A.PROCESS, '') = '0' 
1169
							AND A.AUTH_STATUS = 'U'
1170
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
1171
						) 
1172
					OR	(	@p_AUTH_STATUS = 'W' 
1173
							AND ISNULL(A.PROCESS, '') = '' 
1174
							AND A.AUTH_STATUS = 'U'
1175
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
1176
						)
1177
				)
1178
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
1179
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL OR PC3.TLNAME = @p_MAKER_ID_KT)
1180
			  AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
1181
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
1182
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
1183
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
1184
												)
1185
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
1186
						OR	(	(	@p_LEVEL='UNIT' 
1187
									AND A.BRANCH_ID=@p_BRANCH_ID
1188
								)
1189
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
1190
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
1191
										EXISTS	(	SELECT * 
1192
													FROM TR_REQ_ADVANCE_DT 
1193
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
1194
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
1195
													AND A.AUTH_STATUS_KT ='A'
1196
												)
1197
									)
1198
							)
1199
					)
1200
			  AND	(	(	@p_LEVEL='ALL' 
1201
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
1202
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
1203
								)
1204
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
1205
						OR	(	(	@p_LEVEL='UNIT' 
1206
									AND A.BRANCH_ID=@p_BRANCH_ID
1207
								)
1208
								OR	(	@p_BRANCH_ID='' 
1209
										OR @p_BRANCH_ID IS NULL
1210
									)
1211
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
1212
																		AND EXISTS	(	SELECT * 
1213
																						FROM TR_REQ_ADVANCE_DT 
1214
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
1215
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
1216
																						AND A.AUTH_STATUS_KT ='A'
1217
																					)
1218
																	)
1219
							)
1220
					)
1221
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
1222
							AND @p_IS_UPDATE_KT='Y'
1223
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1224
						OR	(	(	A.MAKER_ID_KT IS NULL 
1225
									AND @p_IS_UPDATE_KT='N'
1226
								)
1227
							)
1228
							OR @p_IS_UPDATE_KT IS NULL 
1229
							OR @p_IS_UPDATE_KT='')
1230
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
1231
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
1232
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
1233
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
1234
              AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
1235
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
1236
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
1237
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
1238
			  --AND(A.TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE or @p_TRASFER_USER_RECIVE='' OR @p_TRASFER_USER_RECIVE IS NULL OR A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <>'')
1239
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
1240
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
1241
						OR @p_BRANCH_ID='' 
1242
						OR @p_BRANCH_ID IS NULL
1243
					)
1244
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
1245
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
1246
							OR @p_AUTH_STATUS_KT='' 
1247
							OR @p_AUTH_STATUS_KT IS NULL
1248
						) 
1249
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
1250
					)
1251
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
1252
			  --AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1253
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
1254
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
1255
			  AND  (
1256
						(
1257
							@p_FUNCTION ='KT' 
1258
							AND (
1259
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
1260
									AND (
1261
											X.TLNAME= @p_USER_LOGIN 
1262
											OR X.TLNAME =@p_EXEC_USER_KT)
1263
										)
1264
								) 
1265
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
1266
							OR A.CHECKER_ID_KT ='admin' 
1267
							OR A.AUTH_STATUS_KT='A' 
1268
						)
1269
						OR @p_FUNCTION ='' 
1270
						OR @p_FUNCTION IS NULL 
1271
						OR @p_FUNCTION ='TF' 
1272
					)	  
1273
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)
1274
			 -- AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
1275
				AND	(	(	@p_IS_TRANSFER='Y' 
1276
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
1277
									OR A.AUTH_STATUS_KT ='A'
1278
								)
1279
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1280
						OR	(	(	@p_IS_TRANSFER='N' 
1281
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
1282
											AND A.AUTH_STATUS_KT <>'A'
1283
								)
1284
							)
1285
						OR @p_IS_TRANSFER IS NULL 
1286
						OR @p_IS_TRANSFER=''
1287
					)	
1288
				AND
1289
				( /*0*/
1290
				  A.MAKER_ID =@p_USER_LOGIN  
1291
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
1292
						AND A.AUTH_STATUS NOT IN ('E','R')
1293
					 )
1294
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
1295
								AND A.DEP_ID = @DEP_ID_LG
1296
								AND A.BRANCH_ID = 'DV0001'
1297
								AND A.AUTH_STATUS IN ('U','R', 'A')
1298
								AND @p_TYPE_SEARCH ='HC'
1299
							)
1300
						)
1301
				  OR (@P_USER_LOGIN = 'baotq')					-- DOANPTT 08/05/2023: CHO A BẢO XEM TẤT CẢ PHIẾU CỦA HỆ THỐNG
1302
				  OR (	A.AUTH_STATUS <>'E' /*1*/
1303
						AND
1304
						(/*2*/
1305
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
1306
								AND @BRANCH_TYPE_LG ='HS'  
1307
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1308
										OR (/*5*/
1309
												EXISTS (	SELECT * 
1310
															FROM @TABLE_ROLE 
1311
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
1312
													   )
1313
												AND    (
1314
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
1315
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1316
															) 
1317
															AND (	A.DEP_ID = @DEP_ID_LG 
1318
																	OR  ( 
1319
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
1320
																			AND @p_USER_LOGIN ='cuongpv2'
1321
																		) 
1322
																	OR A.DEP_ID IN (
1323
																						SELECT * 
1324
																						FROM @DEP_AUTH
1325
																					)
1326
																)
1327
														)
1328
												AND ( 
1329
														A.TRASFER_USER_RECIVE IS NULL 
1330
														OR A.TRASFER_USER_RECIVE ='' 
1331
														OR (
1332
																A.TRASFER_USER_RECIVE IS NOT NULL 
1333
																AND A.TRASFER_USER_RECIVE <>'' 
1334
																AND A.PROCESS IS NOT NULL 
1335
																AND A.PROCESS <>''
1336
															)
1337
													)
1338
											)/*5*/
1339
										)/*4*/
1340
								)/*3*/
1341
							OR(/*trong 2*/
1342
									@p_TYPE_SEARCH ='HC' 
1343
									AND @BRANCH_TYPE_LG = 'CN' 
1344
									AND (
1345
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1346
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
1347
											AND
1348
												(
1349
													(
1350
														A.TRASFER_USER_RECIVE IS NOT NULL 
1351
														AND A.TRASFER_USER_RECIVE <>'' 
1352
														AND A.PROCESS IS NOT NULL 
1353
														AND A.PROCESS <>''
1354
													 ) 
1355
													OR A.TRASFER_USER_RECIVE ='' 
1356
													OR A.TRASFER_USER_RECIVE IS NULL
1357
												 )
1358
											OR (
1359
													(
1360
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1361
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
1362
															AND A.TRASFER_USER_RECIVE <>''
1363
													) 
1364
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1365
												)
1366
											AND A.BRANCH_ID =@p_BRANCH_ID
1367
										)
1368
								)
1369
							 OR
1370
								(
1371
									@p_TYPE_SEARCH ='HC' 
1372
									AND @BRANCH_TYPE_LG = 'PGD' 
1373
									AND (
1374
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1375
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
1376
										)
1377
								)
1378
							 OR
1379
								(
1380
									@p_TYPE_SEARCH ='HC' 
1381
									AND(
1382
											@ROLE_ID IN ('KSV','GDV','NVTC') 
1383
											OR @DEP_ID_LG ='DEP000000000022'
1384
										) 
1385
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1386
								)
1387
							OR	(
1388
									@p_TYPE_SEARCH='KT' 
1389
									AND @p_BRANCH_LOGIN ='DV0001' 
1390
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1391
								)
1392
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
1393
						)/*2*/
1394
				)/*1*/
1395
				  OR
1396
				  (
1397
						(
1398
							@ROLE_ID IN ('KSV','GDV','NVTC') 
1399
							OR @DEP_ID_LG ='DEP000000000022'
1400
						) 
1401
						AND @p_BRANCH_LOGIN ='DV0001' 
1402
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1403
				  )
1404
				  -- NEU DUOC UY QUYEN DUYỆT CHO 1 ĐƠN VỊ KHÁC HỘI SỞ THÌ CHỈ SETUP ĐƠN VỊ, KHÔNG CẦN SETUP PHÒNG BAN
1405
				  OR(	@p_TYPE_SEARCH ='HC' 
1406
						AND A.BRANCH_CREATE <> 'DV0001' 
1407
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1408
					)
1409
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
1410
				  OR (
1411
						@p_TYPE_SEARCH ='HC' 
1412
						AND @BRANCH_TYPE_LG <> 'HS' 
1413
						AND
1414
						EXISTS (
1415
									SELECT * 
1416
									FROM TR_REQ_ADVANCE_DT 
1417
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
1418
																					SELECT CONTRACT_ID 
1419
																					FROM TR_CONTRACT
1420
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
1421
																				  ) 
1422
									AND A.AUTH_STATUS_KT ='A'
1423
								)
1424
					)
1425
			 )/*0*/
1426
		ORDER BY  A.CREATE_DT DESC
1427
) COUNTER_TOP;WITH QUERY_DATA AS ( 
1428
        SELECT TOP(CONVERT(INT,@p_TOP)) A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
1429
		TL1.TLFullName APPROVE_FULLNAME,
1430
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
1431
		TL3.TLFullName APPROVE_FULLNAME_KT,
1432
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
1433
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
1434
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
1435
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
1436
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1437
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
1438
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
1439
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
1440
		--Luanlt--2019/10/15-Sửa AL,AL1
1441
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
1442
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
1443
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
1444
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
1445
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
1446
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
1447
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
1448
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1449
		AS BRANCH_NAME_CONTRACT,
1450
		--doanptt 300622
1451
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
1452
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
1453
			 ELSE TL2.TLNANME END AS EXEC_USER,
1454
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
1455
		PC3.TLNAME AS EXEC_USER_KT,
1456
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
1457
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
1458
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
1459
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
1460
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
1461
) AS __ROWNUM-- SELECT END
1462
        FROM TR_REQ_PAYMENT A
1463
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
1464
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
1465
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
1466
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
1467
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
1468
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
1469
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
1470
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
1471
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
1472
			 --Luanlt--2019/10/15-Sửa AL,AL1
1473
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
1474
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
1475
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
1476
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
1477
			 LEFT JOIN 
1478
			 (
1479
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
1480
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
1481
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
1482
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
1483
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
1484
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
1485
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
1486
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
1487
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
1488
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
1489
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
1490
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
1491
        WHERE 1=1 
1492
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
1493
			  AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
1494
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
1495
					OR @p_AUTH_STATUS='' 
1496
					OR @p_AUTH_STATUS IS NULL 
1497
					OR	(	@p_AUTH_STATUS = 'G' 
1498
							AND ISNULL(A.PROCESS, '') = '0' 
1499
							AND A.AUTH_STATUS = 'U'
1500
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
1501
						) 
1502
					OR	(	@p_AUTH_STATUS = 'W' 
1503
							AND ISNULL(A.PROCESS, '') = '' 
1504
							AND A.AUTH_STATUS = 'U'
1505
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
1506
						)
1507
				)
1508
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
1509
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL OR PC3.TLNAME = @p_MAKER_ID_KT)
1510
			  AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
1511
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
1512
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
1513
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
1514
												)
1515
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
1516
						OR	(	(	@p_LEVEL='UNIT' 
1517
									AND A.BRANCH_ID=@p_BRANCH_ID
1518
								)
1519
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
1520
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
1521
										EXISTS	(	SELECT * 
1522
													FROM TR_REQ_ADVANCE_DT 
1523
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
1524
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
1525
													AND A.AUTH_STATUS_KT ='A'
1526
												)
1527
									)
1528
							)
1529
					)
1530
			  AND	(	(	@p_LEVEL='ALL' 
1531
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
1532
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
1533
								)
1534
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
1535
						OR	(	(	@p_LEVEL='UNIT' 
1536
									AND A.BRANCH_ID=@p_BRANCH_ID
1537
								)
1538
								OR	(	@p_BRANCH_ID='' 
1539
										OR @p_BRANCH_ID IS NULL
1540
									)
1541
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
1542
																		AND EXISTS	(	SELECT * 
1543
																						FROM TR_REQ_ADVANCE_DT 
1544
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
1545
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
1546
																						AND A.AUTH_STATUS_KT ='A'
1547
																					)
1548
																	)
1549
							)
1550
					)
1551
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
1552
							AND @p_IS_UPDATE_KT='Y'
1553
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1554
						OR	(	(	A.MAKER_ID_KT IS NULL 
1555
									AND @p_IS_UPDATE_KT='N'
1556
								)
1557
							)
1558
							OR @p_IS_UPDATE_KT IS NULL 
1559
							OR @p_IS_UPDATE_KT='')
1560
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
1561
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
1562
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
1563
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
1564
              AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
1565
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
1566
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
1567
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
1568
			  --AND(A.TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE or @p_TRASFER_USER_RECIVE='' OR @p_TRASFER_USER_RECIVE IS NULL OR A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <>'')
1569
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
1570
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
1571
						OR @p_BRANCH_ID='' 
1572
						OR @p_BRANCH_ID IS NULL
1573
					)
1574
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
1575
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
1576
							OR @p_AUTH_STATUS_KT='' 
1577
							OR @p_AUTH_STATUS_KT IS NULL
1578
						) 
1579
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
1580
					)
1581
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
1582
			  --AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1583
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
1584
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
1585
			  AND  (
1586
						(
1587
							@p_FUNCTION ='KT' 
1588
							AND (
1589
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
1590
									AND (
1591
											X.TLNAME= @p_USER_LOGIN 
1592
											OR X.TLNAME =@p_EXEC_USER_KT)
1593
										)
1594
								) 
1595
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
1596
							OR A.CHECKER_ID_KT ='admin' 
1597
							OR A.AUTH_STATUS_KT='A' 
1598
						)
1599
						OR @p_FUNCTION ='' 
1600
						OR @p_FUNCTION IS NULL 
1601
						OR @p_FUNCTION ='TF' 
1602
					)	  
1603
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)
1604
			 -- AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
1605
				AND	(	(	@p_IS_TRANSFER='Y' 
1606
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
1607
									OR A.AUTH_STATUS_KT ='A'
1608
								)
1609
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1610
						OR	(	(	@p_IS_TRANSFER='N' 
1611
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
1612
											AND A.AUTH_STATUS_KT <>'A'
1613
								)
1614
							)
1615
						OR @p_IS_TRANSFER IS NULL 
1616
						OR @p_IS_TRANSFER=''
1617
					)	
1618
				AND
1619
				( /*0*/
1620
				  A.MAKER_ID =@p_USER_LOGIN  
1621
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
1622
						AND A.AUTH_STATUS NOT IN ('E','R')
1623
					 )
1624
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
1625
								AND A.DEP_ID = @DEP_ID_LG
1626
								AND A.BRANCH_ID = 'DV0001'
1627
								AND A.AUTH_STATUS IN ('U','R', 'A')
1628
								AND @p_TYPE_SEARCH ='HC'
1629
							)
1630
						)
1631
				  OR (@P_USER_LOGIN = 'baotq')					-- DOANPTT 08/05/2023: CHO A BẢO XEM TẤT CẢ PHIẾU CỦA HỆ THỐNG
1632
				  OR (	A.AUTH_STATUS <>'E' /*1*/
1633
						AND
1634
						(/*2*/
1635
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
1636
								AND @BRANCH_TYPE_LG ='HS'  
1637
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1638
										OR (/*5*/
1639
												EXISTS (	SELECT * 
1640
															FROM @TABLE_ROLE 
1641
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
1642
													   )
1643
												AND    (
1644
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
1645
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1646
															) 
1647
															AND (	A.DEP_ID = @DEP_ID_LG 
1648
																	OR  ( 
1649
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
1650
																			AND @p_USER_LOGIN ='cuongpv2'
1651
																		) 
1652
																	OR A.DEP_ID IN (
1653
																						SELECT * 
1654
																						FROM @DEP_AUTH
1655
																					)
1656
																)
1657
														)
1658
												AND ( 
1659
														A.TRASFER_USER_RECIVE IS NULL 
1660
														OR A.TRASFER_USER_RECIVE ='' 
1661
														OR (
1662
																A.TRASFER_USER_RECIVE IS NOT NULL 
1663
																AND A.TRASFER_USER_RECIVE <>'' 
1664
																AND A.PROCESS IS NOT NULL 
1665
																AND A.PROCESS <>''
1666
															)
1667
													)
1668
											)/*5*/
1669
										)/*4*/
1670
								)/*3*/
1671
							OR(/*trong 2*/
1672
									@p_TYPE_SEARCH ='HC' 
1673
									AND @BRANCH_TYPE_LG = 'CN' 
1674
									AND (
1675
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1676
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
1677
											AND
1678
												(
1679
													(
1680
														A.TRASFER_USER_RECIVE IS NOT NULL 
1681
														AND A.TRASFER_USER_RECIVE <>'' 
1682
														AND A.PROCESS IS NOT NULL 
1683
														AND A.PROCESS <>''
1684
													 ) 
1685
													OR A.TRASFER_USER_RECIVE ='' 
1686
													OR A.TRASFER_USER_RECIVE IS NULL
1687
												 )
1688
											OR (
1689
													(
1690
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1691
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
1692
															AND A.TRASFER_USER_RECIVE <>''
1693
													) 
1694
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1695
												)
1696
											AND A.BRANCH_ID =@p_BRANCH_ID
1697
										)
1698
								)
1699
							 OR
1700
								(
1701
									@p_TYPE_SEARCH ='HC' 
1702
									AND @BRANCH_TYPE_LG = 'PGD' 
1703
									AND (
1704
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1705
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
1706
										)
1707
								)
1708
							 OR
1709
								(
1710
									@p_TYPE_SEARCH ='HC' 
1711
									AND(
1712
											@ROLE_ID IN ('KSV','GDV','NVTC') 
1713
											OR @DEP_ID_LG ='DEP000000000022'
1714
										) 
1715
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1716
								)
1717
							OR	(
1718
									@p_TYPE_SEARCH='KT' 
1719
									AND @p_BRANCH_LOGIN ='DV0001' 
1720
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1721
								)
1722
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
1723
						)/*2*/
1724
				)/*1*/
1725
				  OR
1726
				  (
1727
						(
1728
							@ROLE_ID IN ('KSV','GDV','NVTC') 
1729
							OR @DEP_ID_LG ='DEP000000000022'
1730
						) 
1731
						AND @p_BRANCH_LOGIN ='DV0001' 
1732
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1733
				  )
1734
				  -- NEU DUOC UY QUYEN DUYỆT CHO 1 ĐƠN VỊ KHÁC HỘI SỞ THÌ CHỈ SETUP ĐƠN VỊ, KHÔNG CẦN SETUP PHÒNG BAN
1735
				  OR(	@p_TYPE_SEARCH ='HC' 
1736
						AND A.BRANCH_CREATE <> 'DV0001' 
1737
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1738
					)
1739
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
1740
				  OR (
1741
						@p_TYPE_SEARCH ='HC' 
1742
						AND @BRANCH_TYPE_LG <> 'HS' 
1743
						AND
1744
						EXISTS (
1745
									SELECT * 
1746
									FROM TR_REQ_ADVANCE_DT 
1747
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
1748
																					SELECT CONTRACT_ID 
1749
																					FROM TR_CONTRACT
1750
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
1751
																				  ) 
1752
									AND A.AUTH_STATUS_KT ='A'
1753
								)
1754
					)
1755
			 )/*0*/
1756
		ORDER BY  A.CREATE_DT DESC
1757
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
1758
END-- PAGING END
1759
    END;
1760
END
1761

    
1762

    
1763
go