Project

General

Profile

script_search_payment.txt

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

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQ_PAYMENT_Search]
3
@p_REQ_PAY_ID	varchar(15)= NULL,
4
@p_REQ_PAY_CODE	varchar(50)	= NULL,
5
@p_REQ_DT VARCHAR(20)= NULL,
6
@p_BRANCH_ID	varchar(15)	= NULL,
7
@p_DEP_ID	varchar(15)	= NULL,
8
@p_REQ_REASON	nvarchar(MAX)	= NULL,
9
@p_REQ_TYPE	varchar(15)	= NULL,
10
@P_REQ_ENTRIES nvarchar(MAX)	= NULL,
11
@p_REQ_DESCRIPTION	nvarchar(MAX)	= NULL,
12
@p_REF_ID	varchar(15)	= NULL,
13
@p_RECEIVER_PO	nvarchar(250)	= NULL,
14
@p_REQ_PAY_TYPE	varchar(15)	= NULL,
15
@p_REQ_TYPE_CURRENCY	nvarchar(50)	= NULL,
16
@p_REQ_AMT	decimal(18, 0)	= NULL,
17
@p_REQ_TEMP_AMT	decimal(18, 0)	= NULL,
18
@p_MAKER_ID	varchar(15)	= NULL,
19
@p_CREATE_DT	varchar(25)	= NULL,
20
@p_EDITOR_ID	varchar(15)	= NULL,
21
@p_AUTH_STATUS	varchar(1)	= NULL,
22
@p_CHECKER_ID	varchar(15)	= NULL,
23
@p_APPROVE_DT	varchar(25)	= NULL,
24
@p_CREATE_DT_KT	varchar(25)	= NULL,
25
@p_MAKER_ID_KT	varchar(15)	= NULL,
26
@p_AUTH_STATUS_KT	varchar(1)	= NULL,
27
@p_CHECKER_ID_KT	nvarchar(20)	= NULL,
28
@p_EXEC_USER_KT	nvarchar(20)	= NULL,
29
@p_APPROVE_DT_KT  varchar(25)= null,
30
@p_CONFIRM_NOTE	nvarchar(500)	= NULL,
31
@p_BRANCH_CREATE	varchar(15)	= NULL,
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 = 300,
40
@p_LEVEL varchar(10) = NULL,
41
@p_FRMDATE VARCHAR(20)= NULL,
42
@p_TODATE VARCHAR(20) = NULL,
43
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
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)= NULL,
48
@p_FUNCTION VARCHAR(15) = NULL,
49
@p_IS_CREATE_AUTO VARCHAR(15) = NULL,
50
@p_TYPE_SEARCH VARCHAR(15) = NULL
51
AS
52
BEGIN -- PAGING
53
--SET @p_TOP = NULL
54
	IF(ISNULL(@p_REQ_PAY_ID, '') <> '')
55
	BEGIN
56
		SET @p_DEP_ID = NULL
57
	END
58

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

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

    
67
-- USER LOGIN
68
	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)
69
	SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
70
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
71
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
72
	SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
73
	SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
74

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

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

    
100

    
101

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

    
117
--- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
118
	DECLARE @DATE DATE
119
	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
120
	BEGIN
121
		SET @DATE = CONVERT(DATE,GETDATE(),103)
122
		SET @DATE = DATEADD(MONTH,-2,@DATE)
123
	END
124
	ELSE
125
	BEGIN
126
		SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
127
	END
128

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

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

    
159
-- RoleName Rỗng sẽ cập nhật lại
160
	SET  @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
161
	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'))
162
	BEGIN
163
		PRINT @ROLE_ID
164
	END
165
	ELSE
166
	BEGIN
167
		SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
168
		IF(@ROLE_ID IS NULL OR @ROLE_ID ='')
169
		BEGIN
170
			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))
171
		END
172
	END
173
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)--2021823
174

    
175

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

    
192
IF('NVTC_KT' IN (SELECT ROLE_AUTH FROM @TABLE_ROLE) AND @p_TYPE_SEARCH = 'KT')
193
BEGIN
194
	IF(@p_TOP IS NULL OR @p_TOP=0)
195
	BEGIN
196
	-- PAGING BEGIN
197
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
198
		TL1.TLFullName APPROVE_FULLNAME,
199
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
200
		TL3.TLFullName APPROVE_FULLNAME_KT,
201
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
202
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
203
										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 
204
										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 
205
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
206
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
207
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
208
		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, 
209
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
210
		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,
211
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
212
		@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,
213
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
214
		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))),'')
215
		AS BRANCH_NAME_CONTRACT,
216
		--doanptt 300622
217
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
218
				WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
219
				ELSE TL2.TLNANME END AS EXEC_USER,
220
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
221
		PC3.TLNAME AS EXEC_USER_KT,
222
		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())
223
			ELSE 0 END AS NUMBER_OF_SEND_APPR,
224
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
225
		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
226
	-- SELECT END
227
		FROM TR_REQ_PAYMENT A
228
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
229
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
230
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
231
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
232
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
233
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
234
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
235
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
236
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
237
			--Luanlt--2019/10/15-Sửa AL,AL1
238
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
239
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
240
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
241
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
242
			LEFT JOIN 
243
			(
244
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
245
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
246
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
247
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
248
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
249
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
250
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
251
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
252
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
253
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
254
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
255
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
256
		WHERE 1=1 
257
			AND A.AUTH_STATUS = 'A'
258
			AND A.AUTH_STATUS_KT = 'A'
259
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
260
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
261
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
262
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
263
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
264
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
265
			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)
266
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
267
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
268
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
269
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
270
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
271
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
272
											)
273
					)
274
					OR	(	(	@p_LEVEL='UNIT' 
275
								AND A.BRANCH_ID=@p_BRANCH_ID
276
							)
277
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
278
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
279
									EXISTS	(	SELECT * 
280
												FROM TR_REQ_ADVANCE_DT 
281
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
282
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
283
												AND A.AUTH_STATUS_KT ='A'
284
											)
285
								)
286
						)
287
				)
288
				  
289
			ORDER BY A.CREATE_DT DESC
290
	-- PAGING END
291
		END;
292
    ELSE 
293
	BEGIN
294
-- PAGING BEGIN
295
        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,
296
		TL1.TLFullName APPROVE_FULLNAME,
297
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
298
		TL3.TLFullName APPROVE_FULLNAME_KT,
299
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
300
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
301
										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 
302
										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 
303
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
304
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
305
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
306
		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, 
307
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
308
		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,
309
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
310
		@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,
311
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
312
		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))),'')
313
		AS BRANCH_NAME_CONTRACT,
314
		--doanptt 300622
315
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
316
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
317
			 ELSE TL2.TLNANME END AS EXEC_USER,
318
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
319
		PC3.TLNAME AS EXEC_USER_KT,
320
		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())
321
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
322
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
323
		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
324
-- SELECT END
325
        FROM TR_REQ_PAYMENT A
326
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
327
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
328
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
329
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
330
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
331
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
332
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
333
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
334
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
335
			--Luanlt--2019/10/15-Sửa AL,AL1
336
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
337
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
338
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
339
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
340
			LEFT JOIN 
341
			(
342
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
343
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
344
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
345
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
346
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
347
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
348
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
349
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
350
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
351
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
352
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
353
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
354
        WHERE 1=1  
355
			AND A.AUTH_STATUS = 'A'
356
			AND A.AUTH_STATUS_KT = 'A'
357
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
358
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
359
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
360
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
361
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
362
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
363
			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)
364
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
365
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
366
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
367
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
368
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
369
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
370
											)
371
					)
372
					OR	(	(	@p_LEVEL='UNIT' 
373
								AND A.BRANCH_ID=@p_BRANCH_ID
374
							)
375
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
376
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
377
									EXISTS	(	SELECT * 
378
												FROM TR_REQ_ADVANCE_DT 
379
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
380
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
381
												AND A.AUTH_STATUS_KT ='A'
382
											)
383
								)
384
						)
385
				)
386
		ORDER BY A.CREATE_DT DESC
387
-- PAGING END
388
    END;
389
END
390
ELSE
391
BEGIN
392
	IF(@p_TOP IS NULL OR @p_TOP=0)
393
	BEGIN
394
	-- PAGING BEGIN
395
			SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
396
			TL1.TLFullName APPROVE_FULLNAME,
397
			CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
398
			TL3.TLFullName APPROVE_FULLNAME_KT,
399
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
400
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
401
											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 
402
											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 
403
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
404
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
405
			--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
406
			BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
407
			--Luanlt--2019/10/15-Sửa AL,AL1
408
			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, 
409
			ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
410
			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,
411
			PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
412
			--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
413
			@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,
414
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
415
			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))),'')
416
			AS BRANCH_NAME_CONTRACT,
417
			--doanptt 300622
418
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
419
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
420
				 ELSE TL2.TLNANME END AS EXEC_USER,
421
			dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
422
			PC3.TLNAME AS EXEC_USER_KT,
423
			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())
424
				 ELSE 0 END AS NUMBER_OF_SEND_APPR,
425
			L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
426
		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
427
	-- SELECT END
428
			FROM TR_REQ_PAYMENT A
429
				LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
430
				LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
431
				LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
432
				LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
433
				LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
434
				LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
435
				LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
436
				LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
437
				LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
438
				--Luanlt--2019/10/15-Sửa AL,AL1
439
				LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
440
				LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
441
				LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
442
				LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
443
				LEFT JOIN 
444
				(
445
				SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
446
				) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
447
				LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
448
				LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
449
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
450
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
451
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
452
				LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
453
				LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
454
				LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
455
				LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
456
				LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
457
			WHERE 1=1 
458
			-- BEGIN FILTER
459
				AND	(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
460
				AND	(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
461
				AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
462
				AND	(A.REF_ID =@p_REF_ID OR ISNULL(@p_REF_ID, '') = '')
463
				AND	(A.BRANCH_ID = @p_BRANCH_ID  OR ISNULL(@p_BRANCH_ID, '') = '' OR @p_BRANCH_ID = 'DV0001')
464
				AND	(A.DEP_ID = @p_DEP_ID  OR ISNULL(@p_DEP_ID, '') = '')
465
				AND	(ISNULL(@p_MAKER_ID_KT, '') = '' OR A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
466
				AND	(ISNULL(@p_EXEC_USER_KT, '') = '' OR ISNULL(PC3.TLNAME, '') = '' OR PC3.TLNAME = @p_EXEC_USER_KT)
467
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR ISNULL(@p_TRASFER_USER_RECIVE, '') = '' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)	
468
				AND	(	A.AUTH_STATUS = @p_AUTH_STATUS 
469
						OR @p_AUTH_STATUS = '' 
470
						OR @p_AUTH_STATUS IS NULL 
471
						OR	(	@p_AUTH_STATUS = 'W' 
472
								AND ISNULL(A.PROCESS, '') = '' 
473
								AND A.AUTH_STATUS = 'U'
474
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
475
							)-- CHỜ DUYỆT TRUNG GIAN
476
						OR	(	@p_AUTH_STATUS = 'G' 
477
								AND ISNULL(A.PROCESS, '') = '0' 
478
								AND A.AUTH_STATUS = 'U'
479
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
480
							) -- ĐÃ DUYỆT TRUNG GIAN
481
					)
482
				AND	(A.NOTES LIKE N'%'+@p_NOTES+'%' OR ISNULL(@p_NOTES, '') = '')
483
				AND	(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR ISNULL(@p_REQ_TYPE, '') = '')
484
				AND	(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
485
				AND	(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR ISNULL(@p_REQ_REASON, '') = '')
486
				AND	(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
487
				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)
488
				-- KT
489
				AND	(	
490
						(	A.MAKER_ID_KT IS NOT NULL 
491
							AND @p_IS_UPDATE_KT='Y'
492
						) 
493
						OR	(	A.MAKER_ID_KT IS NULL 
494
								AND @p_IS_UPDATE_KT='N'
495
							)
496
						OR  ISNULL(@p_IS_UPDATE_KT, '') = ''
497
					)	-- TINH TRANG CAP NHAT - GDV
498
				AND	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
499
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')) 
500
						OR ISNULL(@p_AUTH_STATUS_KT, '') = ''
501
					)	-- TRANG THAI DUYET KT
502
				AND	(	(	@p_IS_TRANSFER='Y' 
503
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
504
									OR A.AUTH_STATUS_KT ='A'
505
								)
506
						)
507
						OR	(	(	@p_IS_TRANSFER='N' 
508
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
509
											AND A.AUTH_STATUS_KT <>'A'
510
								)
511
							)
512
						OR  ISNULL(@p_IS_TRANSFER, '') = ''
513
					)	-- TINH TRANG DIEU CHUYEN KT
514
				AND	(
515
						(
516
							@p_FUNCTION ='KT' 
517
							AND (
518
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
519
									AND (
520
											X.TLNAME= @p_USER_LOGIN 
521
											OR X.TLNAME =@p_EXEC_USER_KT)
522
										)
523
								) 
524
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
525
							OR A.CHECKER_ID_KT ='admin' 
526
							OR A.AUTH_STATUS_KT='A' 
527
						)
528
						OR ISNULL(@p_FUNCTION, '') = '' 
529
						OR @p_FUNCTION ='TF' 
530
					)
531
			-- END FILTER
532
				AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
533
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
534
						OR @p_BRANCH_ID='' 
535
						OR @p_BRANCH_ID IS NULL
536
					)
537
			-- VALIDATE BRANCH
538
				AND	(	A.BRANCH_ID = @p_BRANCH_LOGIN	-- PHIEU CUA DON VI MINH
539
						OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH) -- PHIEU CUA DON VI KIEM NHIEM
540
						OR	(	@BRANCH_TYPE_LG <> 'HS' 
541
								AND EXISTS	(	SELECT * 
542
												FROM TR_REQ_ADVANCE_DT 
543
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
544
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
545
												AND A.AUTH_STATUS_KT ='A'
546
											)
547
							)	-- PHIEU CUA HOI SO TAO
548
					-- TRUONG HOP VIEW ALL
549
						OR @IS_VIEW_ALL = 'Y'
550
					)
551
			-- VALIDATE DEP
552
				AND	(
553
						A.DEP_ID IN	(SELECT * FROM @DEP_AUTH)
554
						OR A.BRANCH_ID <> 'DV0001'
555
						OR	(	@BRANCH_TYPE_LG <> 'HS' 
556
								AND EXISTS	(	SELECT * 
557
												FROM TR_REQ_ADVANCE_DT 
558
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
559
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
560
												AND A.AUTH_STATUS_KT ='A'
561
											)
562
							)	-- PHIEU CUA HOI SO TAO
563
					-- TRUONG HOP VIEW ALL
564
						OR @IS_VIEW_ALL = 'Y'
565
					)
566
			-- VALIDATE FLOW
567
				AND	(
568
				-- TRUONG HOP VIEW ALL
569
						 @IS_VIEW_ALL = 'Y'	
570
				-- BEGIN TRUONG HOP DAC BIET
571
						OR	(	@IS_SEE_ALL_HC = 'Y'										-- DOANPTT 20/12/22: CHO USER XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
572
								AND A.DEP_ID = @DEP_ID_LG
573
								AND A.BRANCH_ID = 'DV0001'
574
								AND A.AUTH_STATUS IN ('U','R', 'A')
575
								AND @p_TYPE_SEARCH ='HC'
576
							)
577
				-- END TRUONG HOP DAC BIET
578
						OR A.MAKER_ID = @p_USER_LOGIN									-- NGUOI TAO
579
						OR	(	A.AUTH_STATUS ='A')										-- PHIEU DA DUYET
580
						OR	(	A.TRASFER_USER_RECIVE = @P_USER_LOGIN					
581
								AND A.AUTH_STATUS NOT IN ('E','R')
582
							)															-- TRUNG GIAN													
583
						OR	(	@p_TYPE_SEARCH ='HC'									
584
								AND A.BRANCH_ID <> 'DV0001'							
585
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
586
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
587
								AND @IS_TDV = 'Y'
588
							)															-- TDV - DVKD
589
						OR	(	@p_TYPE_SEARCH ='HC'									
590
								AND A.BRANCH_ID = 'DV0001'							
591
								AND A.DEP_ID IN (SELECT * FROM @DEP_IS_TDV)
592
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
593
								AND @IS_TDV = 'Y'
594
							)															-- TDV - HOI SO
595
						OR	(
596
								@p_TYPE_SEARCH ='HC'									
597
								AND @BRANCH_TYPE_LG <> 'HS' 
598
								AND EXISTS (
599
												SELECT * 
600
												FROM TR_REQ_ADVANCE_DT 
601
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
602
												AND REF_ID IN	(
603
																	SELECT CONTRACT_ID 
604
																	FROM TR_CONTRACT
605
																	WHERE BRANCH_ID =@p_BRANCH_LOGIN
606
																) 
607
												AND A.AUTH_STATUS_KT ='A'
608
											)
609
							)															-- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
610

    
611
						-- HOI SO
612
						OR	(	@p_TYPE_SEARCH ='HC'
613
								AND @BRANCH_TYPE_LG ='HS'  
614
								AND (	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
615
										OR	(	@IS_TDV = 'Y'
616
												AND (	A.BRANCH_ID = @p_BRANCH_LOGIN 
617
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
618
													)
619
												AND (	A.DEP_ID = @DEP_ID_LG 
620
														OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
621
													)
622
												AND (	ISNULL(A.TRASFER_USER_RECIVE, '') = '' 
623
														OR	(	ISNULL(A.TRASFER_USER_RECIVE, '') <> '' 
624
																AND ISNULL(A.PROCESS, '') <> ''
625
															)
626
													)
627
											)
628
								)
629
							)
630
						-- CN
631
						OR	(	@p_TYPE_SEARCH ='HC' 
632
								AND @BRANCH_TYPE_LG = 'CN' 
633
								AND @IS_TDV = 'Y'
634
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
635
							)
636
						-- PGD
637
						OR	(	@p_TYPE_SEARCH ='HC' 
638
								AND @BRANCH_TYPE_LG = 'PGD' 
639
								AND (
640
										@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
641
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
642
									)
643
							)
644
						-- KT
645
						OR	(	@p_TYPE_SEARCH='KT' 
646
								AND @p_BRANCH_LOGIN ='DV0001' 
647
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
648
							)
649
						OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
650
					)
651
			ORDER BY A.CREATE_DT DESC
652
	-- PAGING END
653
		END;
654
    ELSE 
655
	BEGIN
656
-- PAGING BEGIN
657
        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,
658
		TL1.TLFullName APPROVE_FULLNAME,
659
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
660
		TL3.TLFullName APPROVE_FULLNAME_KT,
661
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
662
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
663
										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 
664
										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 
665
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
666
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
667
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
668
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
669
		--Luanlt--2019/10/15-Sửa AL,AL1
670
		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, 
671
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
672
		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,
673
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
674
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
675
		@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,
676
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
677
		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))),'')
678
		AS BRANCH_NAME_CONTRACT,
679
		--doanptt 300622
680
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
681
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
682
			 ELSE TL2.TLNANME END AS EXEC_USER,
683
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
684
		PC3.TLNAME AS EXEC_USER_KT,
685
		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())
686
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
687
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
688
		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
689
-- SELECT END
690
        FROM TR_REQ_PAYMENT A
691
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
692
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
693
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
694
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
695
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
696
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
697
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
698
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
699
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
700
			 --Luanlt--2019/10/15-Sửa AL,AL1
701
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
702
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
703
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
704
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
705
			 LEFT JOIN 
706
			 (
707
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
708
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
709
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
710
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
711
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
712
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
713
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
714
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
715
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
716
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
717
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
718
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
719
        WHERE 1=1 
720
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
721
			  AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
722
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
723
					OR @p_AUTH_STATUS='' 
724
					OR @p_AUTH_STATUS IS NULL 
725
					OR	(	@p_AUTH_STATUS = 'G' 
726
							AND ISNULL(A.PROCESS, '') = '0' 
727
							AND A.AUTH_STATUS = 'U'
728
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
729
						) 
730
					OR	(	@p_AUTH_STATUS = 'W' 
731
							AND ISNULL(A.PROCESS, '') = '' 
732
							AND A.AUTH_STATUS = 'U'
733
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
734
						)
735
				)
736
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
737
			  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)
738
			  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)
739
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
740
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
741
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
742
												)
743
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
744
						OR	(	(	@p_LEVEL='UNIT' 
745
									AND A.BRANCH_ID=@p_BRANCH_ID
746
								)
747
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
748
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
749
										EXISTS	(	SELECT * 
750
													FROM TR_REQ_ADVANCE_DT 
751
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
752
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
753
													AND A.AUTH_STATUS_KT ='A'
754
												)
755
									)
756
							)
757
					)
758
			  AND	(	(	@p_LEVEL='ALL' 
759
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
760
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
761
								)
762
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
763
						OR	(	(	@p_LEVEL='UNIT' 
764
									AND A.BRANCH_ID=@p_BRANCH_ID
765
								)
766
								OR	(	@p_BRANCH_ID='' 
767
										OR @p_BRANCH_ID IS NULL
768
									)
769
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
770
																		AND EXISTS	(	SELECT * 
771
																						FROM TR_REQ_ADVANCE_DT 
772
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
773
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
774
																						AND A.AUTH_STATUS_KT ='A'
775
																					)
776
																	)
777
							)
778
					)
779
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
780
							AND @p_IS_UPDATE_KT='Y'
781
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
782
						OR	(	(	A.MAKER_ID_KT IS NULL 
783
									AND @p_IS_UPDATE_KT='N'
784
								)
785
							)
786
							OR @p_IS_UPDATE_KT IS NULL 
787
							OR @p_IS_UPDATE_KT='')
788
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
789
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
790
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
791
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
792
              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)
793
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
794
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
795
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
796
			  --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 <>'')
797
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
798
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
799
						OR @p_BRANCH_ID='' 
800
						OR @p_BRANCH_ID IS NULL
801
					)
802
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
803
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
804
							OR @p_AUTH_STATUS_KT='' 
805
							OR @p_AUTH_STATUS_KT IS NULL
806
						) 
807
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
808
					)
809
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
810
			  --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
811
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
812
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
813
			  AND  (
814
						(
815
							@p_FUNCTION ='KT' 
816
							AND (
817
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
818
									AND (
819
											X.TLNAME= @p_USER_LOGIN 
820
											OR X.TLNAME =@p_EXEC_USER_KT)
821
										)
822
								) 
823
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
824
							OR A.CHECKER_ID_KT ='admin' 
825
							OR A.AUTH_STATUS_KT='A' 
826
						)
827
						OR @p_FUNCTION ='' 
828
						OR @p_FUNCTION IS NULL 
829
						OR @p_FUNCTION ='TF' 
830
					)	  
831
				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)
832
			 -- 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 ='')
833
				AND	(	(	@p_IS_TRANSFER='Y' 
834
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
835
									OR A.AUTH_STATUS_KT ='A'
836
								)
837
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
838
						OR	(	(	@p_IS_TRANSFER='N' 
839
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
840
											AND A.AUTH_STATUS_KT <>'A'
841
								)
842
							)
843
						OR @p_IS_TRANSFER IS NULL 
844
						OR @p_IS_TRANSFER=''
845
					)	
846
				AND
847
				( /*0*/
848
				  A.MAKER_ID =@p_USER_LOGIN  
849
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
850
						AND A.AUTH_STATUS NOT IN ('E','R')
851
					 )
852
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
853
								AND A.DEP_ID = @DEP_ID_LG
854
								AND A.BRANCH_ID = 'DV0001'
855
								AND A.AUTH_STATUS IN ('U','R', 'A')
856
								AND @p_TYPE_SEARCH ='HC'
857
							)
858
						)
859
				  OR (@P_USER_LOGIN = 'baotq')					-- DOANPTT 08/05/2023: CHO A BẢO XEM TẤT CẢ PHIẾU CỦA HỆ THỐNG
860
				  OR (	A.AUTH_STATUS <>'E' /*1*/
861
						AND
862
						(/*2*/
863
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
864
								AND @BRANCH_TYPE_LG ='HS'  
865
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
866
										OR (/*5*/
867
												EXISTS (	SELECT * 
868
															FROM @TABLE_ROLE 
869
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
870
													   )
871
												AND    (
872
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
873
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
874
															) 
875
															AND (	A.DEP_ID = @DEP_ID_LG 
876
																	OR  ( 
877
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
878
																			AND @p_USER_LOGIN ='cuongpv2'
879
																		) 
880
																	OR A.DEP_ID IN (
881
																						SELECT * 
882
																						FROM @DEP_AUTH
883
																					)
884
																)
885
														)
886
												AND ( 
887
														A.TRASFER_USER_RECIVE IS NULL 
888
														OR A.TRASFER_USER_RECIVE ='' 
889
														OR (
890
																A.TRASFER_USER_RECIVE IS NOT NULL 
891
																AND A.TRASFER_USER_RECIVE <>'' 
892
																AND A.PROCESS IS NOT NULL 
893
																AND A.PROCESS <>''
894
															)
895
													)
896
											)/*5*/
897
										)/*4*/
898
								)/*3*/
899
							OR(/*trong 2*/
900
									@p_TYPE_SEARCH ='HC' 
901
									AND @BRANCH_TYPE_LG = 'CN' 
902
									AND (
903
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
904
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
905
											AND
906
												(
907
													(
908
														A.TRASFER_USER_RECIVE IS NOT NULL 
909
														AND A.TRASFER_USER_RECIVE <>'' 
910
														AND A.PROCESS IS NOT NULL 
911
														AND A.PROCESS <>''
912
													 ) 
913
													OR A.TRASFER_USER_RECIVE ='' 
914
													OR A.TRASFER_USER_RECIVE IS NULL
915
												 )
916
											OR (
917
													(
918
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
919
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
920
															AND A.TRASFER_USER_RECIVE <>''
921
													) 
922
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
923
												)
924
											AND A.BRANCH_ID =@p_BRANCH_ID
925
										)
926
								)
927
							 OR
928
								(
929
									@p_TYPE_SEARCH ='HC' 
930
									AND @BRANCH_TYPE_LG = 'PGD' 
931
									AND (
932
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
933
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
934
										)
935
								)
936
							 OR
937
								(
938
									@p_TYPE_SEARCH ='HC' 
939
									AND(
940
											@ROLE_ID IN ('KSV','GDV','NVTC') 
941
											OR @DEP_ID_LG ='DEP000000000022'
942
										) 
943
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
944
								)
945
							OR	(
946
									@p_TYPE_SEARCH='KT' 
947
									AND @p_BRANCH_LOGIN ='DV0001' 
948
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
949
								)
950
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
951
						)/*2*/
952
				)/*1*/
953
				  OR
954
				  (
955
						(
956
							@ROLE_ID IN ('KSV','GDV','NVTC') 
957
							OR @DEP_ID_LG ='DEP000000000022'
958
						) 
959
						AND @p_BRANCH_LOGIN ='DV0001' 
960
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
961
				  )
962
				  -- 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
963
				  OR(	@p_TYPE_SEARCH ='HC' 
964
						AND A.BRANCH_CREATE <> 'DV0001' 
965
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
966
					)
967
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
968
				  OR (
969
						@p_TYPE_SEARCH ='HC' 
970
						AND @BRANCH_TYPE_LG <> 'HS' 
971
						AND
972
						EXISTS (
973
									SELECT * 
974
									FROM TR_REQ_ADVANCE_DT 
975
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
976
																					SELECT CONTRACT_ID 
977
																					FROM TR_CONTRACT
978
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
979
																				  ) 
980
									AND A.AUTH_STATUS_KT ='A'
981
								)
982
					)
983
			 )/*0*/
984
		ORDER BY A.CREATE_DT DESC
985
-- PAGING END
986
    END;
987
END
988

    
989
END -- PAGING