Project

General

Profile

search_pdntt_2.txt

Luc Tran Van, 07/13/2023 02:59 PM

 
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) = N'DV0001',
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) = N'',
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'DV0001',
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'13/06/2023 00:00:00',
42
@p_TODATE varchar(20) = N'13/07/2023 00:00:00',
43
@p_BRANCH_LOGIN varchar(15) = N'DV0001',
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'thuanvd',
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
						OR A.MAKER_ID = @p_USER_LOGIN
747
					)
748
			-- VALIDATE DEP
749
				AND	(
750
						A.DEP_ID IN	(SELECT * FROM @DEP_AUTH)
751
						OR A.BRANCH_ID <> 'DV0001'
752
						OR	(	@BRANCH_TYPE_LG <> 'HS' 
753
								AND EXISTS	(	SELECT * 
754
												FROM TR_REQ_ADVANCE_DT 
755
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
756
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
757
												AND A.AUTH_STATUS_KT ='A'
758
											)
759
							)	-- PHIEU CUA HOI SO TAO
760
					-- TRUONG HOP VIEW ALL
761
						OR @IS_VIEW_ALL = 'Y'
762
						OR A.MAKER_ID = @p_USER_LOGIN	
763
					)
764
			-- VALIDATE FLOW
765
				AND	(
766
				-- TRUONG HOP VIEW ALL
767
						 @IS_VIEW_ALL = 'Y'	
768
				-- BEGIN TRUONG HOP DAC BIET
769
						OR	(	@IS_SEE_ALL_HC = 'Y'										-- DOANPTT 20/12/22: CHO USER XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
770
								AND A.DEP_ID = @DEP_ID_LG
771
								AND A.BRANCH_ID = 'DV0001'
772
								AND A.AUTH_STATUS IN ('U','R', 'A')
773
								AND @p_TYPE_SEARCH ='HC'
774
							)
775
				-- END TRUONG HOP DAC BIET
776
						OR A.MAKER_ID = @p_USER_LOGIN									-- NGUOI TAO
777
						OR	(	A.AUTH_STATUS ='A')										-- PHIEU DA DUYET
778
						OR	(	A.TRASFER_USER_RECIVE = @P_USER_LOGIN					
779
								AND A.AUTH_STATUS NOT IN ('E','R')
780
							)															-- TRUNG GIAN													
781
						OR	(	@p_TYPE_SEARCH ='HC'									
782
								AND A.BRANCH_ID <> 'DV0001'							
783
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
784
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
785
								AND @IS_TDV = 'Y'
786
							)															-- TDV - DVKD
787
						OR	(	@p_TYPE_SEARCH ='HC'									
788
								AND A.BRANCH_ID = 'DV0001'							
789
								AND A.DEP_ID IN (SELECT * FROM @DEP_IS_TDV)
790
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
791
								AND @IS_TDV = 'Y'
792
							)															-- TDV - HOI SO
793
						OR	(
794
								@p_TYPE_SEARCH ='HC'									
795
								AND @BRANCH_TYPE_LG <> 'HS' 
796
								AND EXISTS (
797
												SELECT * 
798
												FROM TR_REQ_ADVANCE_DT 
799
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
800
												AND REF_ID IN	(
801
																	SELECT CONTRACT_ID 
802
																	FROM TR_CONTRACT
803
																	WHERE BRANCH_ID =@p_BRANCH_LOGIN
804
																) 
805
												AND A.AUTH_STATUS_KT ='A'
806
											)
807
							)															-- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
808

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

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

    
1782
--13072023_secretkey