Project

General

Profile

adv_serach.txt

Luc Tran Van, 01/11/2023 05:23 PM

 
1
-- PROCEDURE NAME: TR_REQ_ADVANCE_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_RECEIVER_DEBIT nvarchar(250) = NULL,
15
@p_REQ_PAY_TYPE varchar(15) = NULL,
16
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
17
@p_REQ_AMT decimal = NULL,
18
@p_REQ_TEMP_AMT decimal = NULL,
19
@p_MAKER_ID varchar(15) = NULL,
20
@p_CREATE_DT varchar(25) = NULL,
21
@p_EDITOR_ID varchar(15) = NULL,
22
@p_AUTH_STATUS varchar(1) = N'U',
23
@p_CHECKER_ID varchar(15) = NULL,
24
@p_APPROVE_DT varchar(25) = NULL,
25
@p_CREATE_DT_KT varchar(25) = NULL,
26
@p_MAKER_ID_KT varchar(15) = NULL,
27
@p_AUTH_STATUS_KT varchar(1) = NULL,
28
@p_CHECKER_ID_KT varchar(1) = NULL,
29
@p_EXEC_USER_KT nvarchar(20) = NULL,
30
@p_APPROVE_DT_KT varchar(25) = NULL,
31
@p_CORE_NOTE nvarchar(500) = NULL,
32
@p_BRANCH_CREATE varchar(15) = N'DV0001',
33
@p_NOTES nvarchar(15) = NULL,
34
@p_RECORD_STATUS varchar(1) = NULL,
35
@p_TRANSFER_MAKER nvarchar(50) = NULL,
36
@p_TRANSFER_DT varchar(25) = NULL,
37
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
38
@p_PROCESS varchar(15) = NULL,
39
@p_PAY_PHASE varchar(15) = NULL,
40
@p_XMP_TEMP xml = NULL,
41
@p_TOP int = NULL,
42
@p_LEVEL varchar(10) = N'ALL',
43
@p_FRMDATE varchar(20) = NULL,
44
@p_TODATE varchar(20) = N'11/01/2023 00:00:00',
45
@p_BRANCH_LOGIN varchar(15) = N'DV0001',
46
@p_IS_UPDATE_KT varchar(15) = NULL,
47
@p_IS_TRANSFER varchar(15) = NULL,
48
@p_DVDM_ID varchar(15) = NULL,
49
@p_USER_LOGIN varchar(15) = N'muoilvb',
50
@p_RATE decimal = NULL,
51
@p_FUNCTION varchar(15) = NULL,
52
@p_TYPE_SEARCH varchar(15) = N'HC',
53
@p_TEMP_PAY_STATUS varchar(10) = NULL
54

    
55
	SET @p_TOP = NULL  
56
	IF(ISNULL(@p_BRANCH_ID, '') = '')
57
	BEGIN
58
		SET @p_BRANCH_ID = @p_BRANCH_LOGIN
59
	END
60
	IF(ISNULL(@p_BRANCH_CREATE, '') = '')
61
	BEGIN
62
		SET @p_BRANCH_CREATE = @p_BRANCH_LOGIN
63
	END
64
-- BRANCH TYPE CUA USER LOGIN
65
	DECLARE @TB_TYPE TABLE (BRANCH_TYPE VARCHAR(15))  
66
	IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_LOGIN)='HS')  
67
	BEGIN  
68
		INSERT INTO @TB_TYPE VALUES('HS')  
69
	END  
70
	ELSE  
71
	BEGIN  
72
		INSERT INTO @TB_TYPE VALUES('PGD')  
73
		INSERT INTO @TB_TYPE VALUES('CN')  
74
	END  
75

    
76
-- DANH SACH PHONG BAN CON CUA NGUOI TAO PHIEU
77
	IF(NOT EXISTS (SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID))
78
	BEGIN
79
		SET @p_BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE = @p_BRANCH_ID)
80
	END
81
	DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))  
82
	INSERT INTO @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)  
83
-- DANH SACH PHONG BAN CON CUA USER LOGIN
84
	declare @tmp_Login table(BRANCH_ID varchar(15))  
85
	insert into @tmp_Login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)  
86

    
87
	DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15), @BRANCH_TYPE VARCHAR(15) 
88
-- BRANCH TYPE CUA PHIEU DE NGHI TAM UNG
89
	SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID))  
90
-- ROLE CUA USER LOGIN
91
	SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)  
92
-- KHAI BAO UY QUYEN KIEM NHIEM
93
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
94
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
95
	INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID  
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 ='') AND TLNAME =@p_USER_LOGIN
98

    
99
	--AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)  
100

    
101
-- PHONG BAN CUA USER LOGIN
102
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN) 
103
	
104
	DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))  
105
	SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)  
106
	SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)  
107
	INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B WHERE COST_ID =@COST_LG  
108
-- BRANCH_TYPE USER LOGIN
109
	DECLARE @BRANCH_TYPE_LG VARCHAR(15)  
110
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)  
111
-- KHAI BAO NHUNG PHONG BAN MA 1 USER KIEM NHIEM  
112
	DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))  
113
	INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
114
	INSERT INTO @DEP_AUTH SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN  
115
	AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
116
	AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
117

    
118
	DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
119
	INSERT INTO @BRANCH_AUTH VALUES (@BRANCH_TYPE_LG)
120
	INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN 
121
	AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) 
122
	AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
123

    
124
	--END
125
	--IF(EXISTS(SELECT * FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID))  
126
	-- SET @ROLE_ID=(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID)  
127

    
128
-- LAY ROLE USER LOGIN
129
	SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)  
130
	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','TKTGD','TKHDQT'))  
131
	BEGIN  
132
		PRINT @ROLE_ID  
133
	END  
134
	ELSE  
135
	BEGIN  
136
		SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)  
137
		IF(@ROLE_ID IS NULL OR @ROLE_ID ='')  
138
		BEGIN  
139
			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))  
140
		END  
141
	END  
142
	--if(1=1)
143
	--begin
144
	--print 'role: ' + @ROLE_ID
145
	--return;
146
	--end
147
	IF(@p_TOP IS NULL OR @p_TOP=0)
148
	BEGIN
149
-- PAGING BEGIN
150
BEGIN
151
SELECT COUNT(*) -- SELECT END
152
		FROM TR_REQ_ADVANCE_PAYMENT A  
153
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
154
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
155
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
156
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
157
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
158
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
159
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
160
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
161
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
162
		--Luanlt--2019/10/15-Sửa AL,AL1  
163
		LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'  AND AL.CDTYPE = 'REQ_PAY_ADVANCE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)  
164
		LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'  AND AL1.CDTYPE = 'REQ_PAY_METHOD' --Hình thức thanh toán( Tiền mặt/Chuyển khoản)
165
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
166
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
167
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
168
		LEFT JOIN  
169
		(  
170
		SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID  
171
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
172
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
173
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
174
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
175
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
176
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
177
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
178
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
179
		LEFT JOIN  
180
		(  
181
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
182
		INNER JOIN  
183
		(  
184
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
185
			GROUP BY PR.REQ_ID  
186
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
187
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
188
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
189
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
190
		(PC.ROLE_USER = @ROLE_ID OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_PAY_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
191
		AND PC.STATUS='C' 
192
		--LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND PC.STATUS='C'  
193
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
194
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
195
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
196
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
197
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
198
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
199
		WHERE 1=1  
200
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='') 
201
		AND(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL) 
202
		AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)
203
		AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL)
204
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
205
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
206
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
207
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
208
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
209
		AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL OR A.REQ_DT IS NULL)  
210
		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 OR A.REQ_DT IS NULL)  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH  
211
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
212
		--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 <>'')  
213
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
214
		AND	(	(A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' 
215
				OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))	
216
			)  
217
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
218
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
219
				OR @p_AUTH_STATUS='' 
220
				OR @p_AUTH_STATUS IS NULL 
221
				OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS IS NULL)
222
				OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS = '')
223
				OR (	A.REQ_TYPE ='I' 
224
						AND A.AUTH_STATUS <>'A' 
225
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
226
					)
227
			)
228
		AND	(	(A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
229
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
230
				OR @p_IS_UPDATE_KT IS NULL 
231
				OR @p_IS_UPDATE_KT=''
232
			)  
233
		 
234
		AND
235
		(
236
			(	@p_IS_TRANSFER='Y' 
237
				 AND(
238
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
239
			
240
					 OR (
241
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
242
						)
243
					 OR (
244
							@p_TYPE_SEARCH ='KT' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)  OR A.AUTH_STATUS_KT ='A')
245
						)
246
					)
247
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
248
			OR
249
			(	@p_IS_TRANSFER='N' 
250
				AND (
251
						(@p_TYPE_SEARCH ='TKTGD' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND  PROCESS_ID ='1') AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A') 
252
				
253
						OR  (
254
								@p_TYPE_SEARCH ='TKHDQT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2' AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A')
255
							)
256
						OR  (
257
								@p_TYPE_SEARCH ='KT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND (PROCESS_ID IS NULL OR PROCESS_ID ='' OR PROCESS_ID ='3')) AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A' 
258
							)
259
					)
260
			)
261
			OR @p_IS_TRANSFER IS NULL 
262
			OR @p_IS_TRANSFER=''
263
		) 
264

    
265
		AND	(	(	(	@p_PROCESS='PM' 
266
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
267
					)  
268
					AND (	A.REQ_TYPE IN('I','D','P') 
269
							OR	(	@DEP_ID_LG ='DEP000000000014' 
270
									AND A.REQ_TYPE IN ('I','P','D')
271
								)
272
						)	
273
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
274
								OR A.MAKER_ID =@p_USER_LOGIN 
275
								OR A.MAKER_ID IS NULL
276
							) 
277
								OR	(	@BRANCH_TYPE_LG <>'HS' 
278
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
279
									) 
280
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
281
												AND @p_REQ_PAY_CODE <> '' 
282
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
283
											)
284
						)
285
				)  
286
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
287
			)  
288
		AND	(	(	@p_LEVEL='ALL' 
289
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
290
				)  
291
				OR	(	(	@p_LEVEL='UNIT' 
292
							AND A.BRANCH_ID=@p_BRANCH_ID
293
						)
294
						OR	(	@p_BRANCH_ID='' 
295
								OR @p_BRANCH_ID IS NULL
296
							) 
297
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
298
									AND @p_REQ_PAY_CODE <> '' 
299
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
300
							)
301
					)
302
			)    
303
		AND (	(	@p_FUNCTION ='KT' 
304
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
305
										WHERE X.REQ_ID = A.REQ_PAY_ID 
306
										AND (	X.TLNAME= @p_USER_LOGIN 
307
												OR X.TLNAME =@p_EXEC_USER_KT
308
											)
309
									)
310
						) 
311
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
312
				)  
313
				OR @p_FUNCTION IS NULL 
314
				OR @p_FUNCTION ='' 
315
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
316
				OR @p_FUNCTION ='SIGN'
317
			)
318
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
319
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
320
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
321
							AND TYPE_JOB IN ('XL','KS','TP') 
322
							AND REQ_ID = A.REQ_PAY_ID
323
						) 
324
				OR @p_TRASFER_USER_RECIVE IS NULL 
325
				OR @p_TRASFER_USER_RECIVE=''
326
			)  
327
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
328
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
329
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
330
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
331
									AND @BRANCH_TYPE_LG ='HS' 
332
									AND A.REQ_TYPE ='I'  
333
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
334
															WHERE ROLE_AUTH IN ('GDDV','TP', 'PP', 'KTT','TC')
335
														) 
336
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
337
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
338
													)
339
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
340
												AND	(	(	@p_AUTH_STATUS ='A' 
341
															AND ISNULL(PROCESS,'') ='0' 
342
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
343
																			WHERE REQ_ID =A.REQ_PAY_ID 
344
																			AND PROCESS_DESC IN (N'Trưởng đơn vị xác nhận phiếu',N'Cấp phê duyệt trung gian xác nhận phiếu')
345
																		)
346
															OR (@p_AUTH_STATUS ='U' AND (ISNULL(PROCESS,'')='')) 
347
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
348
														)
349
													)
350
											) 
351
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
352
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
353
															OR A.MAKER_ID =@p_MAKER_ID 
354
															OR A.DEP_ID=@p_DEP_ID
355
														)
356
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
357
												)
358
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
359
																WHERE ROLE_AUTH  IN ('GDK','PTGD')
360
															) 
361
													AND	(	A.DVDM_ID =@DVDM_ID 
362
															OR (	A.DVDM_ID IS NULL 
363
																	OR A.DVDM_ID =''
364
																)
365
														) 
366
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
367
																	WHERE REQ_ID = A.REQ_PAY_ID
368
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
369
																	-- AND A.BRANCH_CREATE ='DV0001' 
370
																	AND A.PROCESS<>'' 
371
																	AND A.PROCESS IS NOT NULL
372
																	AND	(	(	@p_AUTH_STATUS ='A' 
373
																				AND STATUS IN ('P','A')
374
																			) 
375
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
376
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
377
																					AND STATUS IN ('C','P','A')
378
																				)
379
																		)
380
																)
381
												)
382
											OR	(	EXISTS	(	SELECT * 
383
																FROM @TABLE_ROLE 
384
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
385
																AND EXISTS	(	SELECT * 
386
																				FROM PL_REQUEST_PROCESS	
387
																				WHERE REQ_ID = A.REQ_PAY_ID
388
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
389
																				--AND A.BRANCH_CREATE ='DV0001' 
390
																				AND A.PROCESS<>'' 
391
																				AND A.PROCESS IS NOT NULL
392
																				AND (	(	@p_AUTH_STATUS ='A' 
393
																							AND STATUS IN ('P','A')
394
																						) 
395
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
396
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
397
																					)
398
																			)
399
												)
400

    
401
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
402
								)	-- ngoac so 2, line 347
403
-- NGUOC LAI NEU LA TAM UNG KHAC
404
								OR	(	@p_TYPE_SEARCH ='HC' 
405
										AND @BRANCH_TYPE_LG ='HS' 
406
										AND A.REQ_TYPE <> 'I' 
407
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
408
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
409
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
410
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
411
															)	
412
														AND	(	A.DEP_ID =@DEP_ID_LG 
413
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
414
															)  
415
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
416
																OR A.TRASFER_USER_RECIVE ='' 
417
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
418
																		AND A.TRASFER_USER_RECIVE <>'' 
419
																		AND A.PROCESS IS NOT NULL 
420
																	)
421
															)
422
													)  
423
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
424
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
425
													)  
426
											)
427
									)
428
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
429
								OR	(	@p_TYPE_SEARCH ='HC' 
430
										AND @BRANCH_TYPE_LG = 'CN' 
431
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
432
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
433
															AND A.TRASFER_USER_RECIVE <>'' 
434
															AND A.PROCESS IS NOT NULL 
435
														)  
436
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
437
													)  
438

    
439
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
440
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
441
															AND A.TRASFER_USER_RECIVE <>''
442
														) 
443
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
444
													)  
445
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
446
											)
447
									)  
448
								OR	(	@p_TYPE_SEARCH ='HC' 
449
										AND @BRANCH_TYPE_LG = 'CN' 
450
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
451
									)  
452
								OR	(	@p_TYPE_SEARCH ='HC' 
453
										AND @BRANCH_TYPE_LG = 'PGD' 
454
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
455
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
456
											)
457
									)  
458
								OR	(	@p_TYPE_SEARCH ='HC' 
459
										AND	(	A.DVDM_ID IS NOT NULL 
460
												AND A.DVDM_ID <>'' 
461
												AND A.DVDM_ID =@DVDM_ID 
462
												AND A.PROCESS IS NOT NULL 
463
												AND A.PROCESS <>'' 
464
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
465
											) 
466
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
467
												AND A.PROCESS IS NOT NULL 
468
												AND A.PROCESS <>''  
469
												AND @ROLE_ID <> 'TKTGD' 
470
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
471
											)
472
									)  
473
								--OR(@p_TYPE_SEARCH ='HC' AND (@ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER IN ('TGD','HDQT','TKTGD','TKHDQT') AND STATUS ='C')))  
474
								OR	(	@p_TYPE_SEARCH='KT' 
475
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
476
									)  
477
								OR	(	@p_TYPE_SEARCH='HC' 
478
										AND	(	@ROLE_ID IN ('KSV','GDV')  
479
												OR @DEP_ID_LG ='DEP000000000022'
480
											) 
481
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
482
									)  
483
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
484
																				WHERE REQ_ID = A.REQ_PAY_ID 
485
																				AND TLNAME =@p_USER_LOGIN 
486
																				AND TYPE_JOB ='XL' 
487
																				AND STATUS_JOB = 'C' 
488
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
489
																			) 
490
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
491
																					WHERE REQ_ID = A.REQ_PAY_ID 
492
																					AND TLNAME =@p_USER_LOGIN 
493
																					AND TYPE_JOB ='XL' 
494
																					AND STATUS_JOB = 'P' 
495
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
496
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
497
																																																							)
498
																				)
499
																)
500
									) 
501
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
502
										AND A.PROCESS<>'' 
503
										AND A.PROCESS IS NOT NULL
504
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
505
																					WHERE REQ_ID = A.REQ_PAY_ID 
506
																					AND ROLE_USER =@ROLE_ID 
507
																					AND STATUS ='C'
508
																				)
509
												)
510
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
511
														AND EXISTS(	SELECT * 
512
																	FROM PL_REQUEST_PROCESS 
513
																	WHERE REQ_ID = A.REQ_PAY_ID 
514
																	AND ROLE_USER =@ROLE_ID 
515
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
516
																			OR	(	@p_IS_TRANSFER <>'N' 
517
																					AND STATUS IN ('C','P')
518
																				)
519
																		)
520
																	)
521
													)
522
											)
523
									)
524
								OR	(	@p_TYPE_SEARCH='PAY' 
525
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
526
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
527
													AND	(	A.DEP_ID =@DEP_ID_LG 
528
															OR A.MAKER_ID =@p_USER_LOGIN 
529
															OR A.MAKER_ID IS NULL 
530
															OR 1=1
531
														)
532
												) 
533
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
534
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
535
													)
536
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
537
														AND @p_REQ_PAY_CODE <> '' 
538
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
539
													)
540
											)
541
									)  
542
							) -- ngoac so 1, line 347
543
						OR	(	@p_TYPE_SEARCH='HC' 
544
								AND	(	@ROLE_ID IN ('KSV','GDV')  
545
										OR @DEP_ID_LG ='DEP000000000022'
546
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
547
							)
548
					) -- line 346
549
			) -- line 344
550
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
551
					AND (@p_TEMP_PAY_STATUS = 'HT')
552
				)  
553
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
554
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
555
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
556
			)  
557
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
558
		
559
;WITH QUERY_DATA AS (  
560
		SELECT A.*, A.CONFIRM_NOTES AS CONFIRM_NOTE, '' as TEMP_PAY_STATUS ,ISNULL(B.AUTH_STATUS_NAME,N'Chờ duyệt') AS AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,  
561
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
562
		BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,  
563
		--Luanlt--2019/10/15-Sửa AL,AL1  
564
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
565
		A.REQ_AMT AS TOTAL_AMT_TEMP,CASE WHEN H.SOTIEN_TT IS NULL THEN ISNULL(A.PAY_AMT,0) ELSE ISNULL(A.PAY_AMT,0) END AS TOTAL_AMT_PAY_HIS,  
566
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
567
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
568
		PO.PO_CODE, PO.PO_NAME,SUP.SUP_NAME,SUP.TAX_NO AS SUP_TAX_NO,CUS.CUSTOMER_CODE AS CUST_CODE, CUS.CUSTOMER_NAME AS CUST_NAME,PM.PAY_PHASE AS KY_TAM_UNG,  
569
		DV.DVDM_CODE, DV.DVDM_NAME, CASE WHEN PC.ROLE_USER ='GDDV' THEN (SELECT RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN) ELSE PC.ROLE_USER END AS ROLE_CONF, 
570
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
571
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
572
		--PC1.NOTES AS NEXT_STEP,  
573
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
574
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
575
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
576
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
577
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
578
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'')='' THEN N'Chờ cấp duyệt trung gian xác nhận'
579
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'') <> '' THEN N'Chờ trưởng đơn vị xác nhận'
580
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND   ISNULL(A.TRASFER_USER_RECIVE,'') = ''  AND ISNULL(A.PROCESS,'') = '' THEN N'Chờ trưởng đơn vị xác nhận'
581
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
582
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE <> 'DV0001' AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND (A.PROCESS IS NULL OR A.PROCESS ='') THEN N'Chờ cấp duyệt trung gian xác nhận'
583
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE<>'DV0001' AND (ISNULL(A.TRASFER_USER_RECIVE,'') ='' OR A.PROCESS ='0') THEN PC1.NOTES END AS NEXT_STEP,  
584
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,TL8.TLFullName AS RECIVER_MONEY_FULLNAME, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR, BR.BRANCH_TYPE,@p_TYPE_SEARCH AS TYPE_SEARCH,  
585
		SR.ROLE_ID AS ROLE_ID_CRE, ISNULL(H.SOTIEN_TT,0) AS STTT, A.REQ_AMT - ISNULL(H.SOTIEN_TT,0) AS SL_CL,BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE, '' AS BRANCH_CODE_CONTRACT, '' AS BRANCH_NAME_CONTRACT,
586
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
587
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
588
						 ELSE TL2.TLNANME  
589
						 END
590
		-- doanptt 120522
591
		, C.AUTH_STATUS_KT_DESC,
592
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
593
		PC3.TLNAME AS EXEC_USER_KT,
594
		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())
595
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
596

    
597
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC   
598
) AS __ROWNUM-- SELECT END
599
		FROM TR_REQ_ADVANCE_PAYMENT A  
600
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
601
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
602
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
603
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
604
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
605
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
606
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
607
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
608
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
609
		--Luanlt--2019/10/15-Sửa AL,AL1  
610
		LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'  AND AL.CDTYPE = 'REQ_PAY_ADVANCE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)  
611
		LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'  AND AL1.CDTYPE = 'REQ_PAY_METHOD' --Hình thức thanh toán( Tiền mặt/Chuyển khoản)
612
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
613
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
614
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
615
		LEFT JOIN  
616
		(  
617
		SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID  
618
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
619
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
620
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
621
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
622
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
623
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
624
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
625
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
626
		LEFT JOIN  
627
		(  
628
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
629
		INNER JOIN  
630
		(  
631
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
632
			GROUP BY PR.REQ_ID  
633
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
634
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
635
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
636
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
637
		(PC.ROLE_USER = @ROLE_ID OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_PAY_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
638
		AND PC.STATUS='C' 
639
		--LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND PC.STATUS='C'  
640
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
641
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
642
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
643
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
644
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
645
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
646
		WHERE 1=1  
647
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='') 
648
		AND(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL) 
649
		AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)
650
		AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL)
651
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
652
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
653
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
654
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
655
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
656
		AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL OR A.REQ_DT IS NULL)  
657
		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 OR A.REQ_DT IS NULL)  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH  
658
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
659
		--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 <>'')  
660
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
661
		AND	(	(A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' 
662
				OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))	
663
			)  
664
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
665
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
666
				OR @p_AUTH_STATUS='' 
667
				OR @p_AUTH_STATUS IS NULL 
668
				OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS IS NULL)
669
				OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS = '')
670
				OR (	A.REQ_TYPE ='I' 
671
						AND A.AUTH_STATUS <>'A' 
672
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
673
					)
674
			)
675
		AND	(	(A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
676
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
677
				OR @p_IS_UPDATE_KT IS NULL 
678
				OR @p_IS_UPDATE_KT=''
679
			)  
680
		 
681
		AND
682
		(
683
			(	@p_IS_TRANSFER='Y' 
684
				 AND(
685
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
686
			
687
					 OR (
688
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
689
						)
690
					 OR (
691
							@p_TYPE_SEARCH ='KT' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)  OR A.AUTH_STATUS_KT ='A')
692
						)
693
					)
694
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
695
			OR
696
			(	@p_IS_TRANSFER='N' 
697
				AND (
698
						(@p_TYPE_SEARCH ='TKTGD' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND  PROCESS_ID ='1') AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A') 
699
				
700
						OR  (
701
								@p_TYPE_SEARCH ='TKHDQT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2' AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A')
702
							)
703
						OR  (
704
								@p_TYPE_SEARCH ='KT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND (PROCESS_ID IS NULL OR PROCESS_ID ='' OR PROCESS_ID ='3')) AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A' 
705
							)
706
					)
707
			)
708
			OR @p_IS_TRANSFER IS NULL 
709
			OR @p_IS_TRANSFER=''
710
		) 
711

    
712
		AND	(	(	(	@p_PROCESS='PM' 
713
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
714
					)  
715
					AND (	A.REQ_TYPE IN('I','D','P') 
716
							OR	(	@DEP_ID_LG ='DEP000000000014' 
717
									AND A.REQ_TYPE IN ('I','P','D')
718
								)
719
						)	
720
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
721
								OR A.MAKER_ID =@p_USER_LOGIN 
722
								OR A.MAKER_ID IS NULL
723
							) 
724
								OR	(	@BRANCH_TYPE_LG <>'HS' 
725
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
726
									) 
727
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
728
												AND @p_REQ_PAY_CODE <> '' 
729
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
730
											)
731
						)
732
				)  
733
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
734
			)  
735
		AND	(	(	@p_LEVEL='ALL' 
736
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
737
				)  
738
				OR	(	(	@p_LEVEL='UNIT' 
739
							AND A.BRANCH_ID=@p_BRANCH_ID
740
						)
741
						OR	(	@p_BRANCH_ID='' 
742
								OR @p_BRANCH_ID IS NULL
743
							) 
744
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
745
									AND @p_REQ_PAY_CODE <> '' 
746
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
747
							)
748
					)
749
			)    
750
		AND (	(	@p_FUNCTION ='KT' 
751
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
752
										WHERE X.REQ_ID = A.REQ_PAY_ID 
753
										AND (	X.TLNAME= @p_USER_LOGIN 
754
												OR X.TLNAME =@p_EXEC_USER_KT
755
											)
756
									)
757
						) 
758
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
759
				)  
760
				OR @p_FUNCTION IS NULL 
761
				OR @p_FUNCTION ='' 
762
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
763
				OR @p_FUNCTION ='SIGN'
764
			)
765
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
766
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
767
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
768
							AND TYPE_JOB IN ('XL','KS','TP') 
769
							AND REQ_ID = A.REQ_PAY_ID
770
						) 
771
				OR @p_TRASFER_USER_RECIVE IS NULL 
772
				OR @p_TRASFER_USER_RECIVE=''
773
			)  
774
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
775
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
776
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
777
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
778
									AND @BRANCH_TYPE_LG ='HS' 
779
									AND A.REQ_TYPE ='I'  
780
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
781
															WHERE ROLE_AUTH IN ('GDDV','TP', 'PP', 'KTT','TC')
782
														) 
783
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
784
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
785
													)
786
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
787
												AND	(	(	@p_AUTH_STATUS ='A' 
788
															AND ISNULL(PROCESS,'') ='0' 
789
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
790
																			WHERE REQ_ID =A.REQ_PAY_ID 
791
																			AND PROCESS_DESC IN (N'Trưởng đơn vị xác nhận phiếu',N'Cấp phê duyệt trung gian xác nhận phiếu')
792
																		)
793
															OR (@p_AUTH_STATUS ='U' AND (ISNULL(PROCESS,'')='')) 
794
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
795
														)
796
													)
797
											) 
798
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
799
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
800
															OR A.MAKER_ID =@p_MAKER_ID 
801
															OR A.DEP_ID=@p_DEP_ID
802
														)
803
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
804
												)
805
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
806
																WHERE ROLE_AUTH  IN ('GDK','PTGD')
807
															) 
808
													AND	(	A.DVDM_ID =@DVDM_ID 
809
															OR (	A.DVDM_ID IS NULL 
810
																	OR A.DVDM_ID =''
811
																)
812
														) 
813
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
814
																	WHERE REQ_ID = A.REQ_PAY_ID
815
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
816
																	-- AND A.BRANCH_CREATE ='DV0001' 
817
																	AND A.PROCESS<>'' 
818
																	AND A.PROCESS IS NOT NULL
819
																	AND	(	(	@p_AUTH_STATUS ='A' 
820
																				AND STATUS IN ('P','A')
821
																			) 
822
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
823
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
824
																					AND STATUS IN ('C','P','A')
825
																				)
826
																		)
827
																)
828
												)
829
											OR	(	EXISTS	(	SELECT * 
830
																FROM @TABLE_ROLE 
831
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
832
																AND EXISTS	(	SELECT * 
833
																				FROM PL_REQUEST_PROCESS	
834
																				WHERE REQ_ID = A.REQ_PAY_ID
835
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
836
																				--AND A.BRANCH_CREATE ='DV0001' 
837
																				AND A.PROCESS<>'' 
838
																				AND A.PROCESS IS NOT NULL
839
																				AND (	(	@p_AUTH_STATUS ='A' 
840
																							AND STATUS IN ('P','A')
841
																						) 
842
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
843
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
844
																					)
845
																			)
846
												)
847

    
848
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
849
								)	-- ngoac so 2, line 347
850
-- NGUOC LAI NEU LA TAM UNG KHAC
851
								OR	(	@p_TYPE_SEARCH ='HC' 
852
										AND @BRANCH_TYPE_LG ='HS' 
853
										AND A.REQ_TYPE <> 'I' 
854
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
855
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
856
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
857
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
858
															)	
859
														AND	(	A.DEP_ID =@DEP_ID_LG 
860
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
861
															)  
862
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
863
																OR A.TRASFER_USER_RECIVE ='' 
864
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
865
																		AND A.TRASFER_USER_RECIVE <>'' 
866
																		AND A.PROCESS IS NOT NULL 
867
																	)
868
															)
869
													)  
870
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
871
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
872
													)  
873
											)
874
									)
875
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
876
								OR	(	@p_TYPE_SEARCH ='HC' 
877
										AND @BRANCH_TYPE_LG = 'CN' 
878
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
879
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
880
															AND A.TRASFER_USER_RECIVE <>'' 
881
															AND A.PROCESS IS NOT NULL 
882
														)  
883
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
884
													)  
885

    
886
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
887
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
888
															AND A.TRASFER_USER_RECIVE <>''
889
														) 
890
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
891
													)  
892
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
893
											)
894
									)  
895
								OR	(	@p_TYPE_SEARCH ='HC' 
896
										AND @BRANCH_TYPE_LG = 'CN' 
897
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
898
									)  
899
								OR	(	@p_TYPE_SEARCH ='HC' 
900
										AND @BRANCH_TYPE_LG = 'PGD' 
901
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
902
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
903
											)
904
									)  
905
								OR	(	@p_TYPE_SEARCH ='HC' 
906
										AND	(	A.DVDM_ID IS NOT NULL 
907
												AND A.DVDM_ID <>'' 
908
												AND A.DVDM_ID =@DVDM_ID 
909
												AND A.PROCESS IS NOT NULL 
910
												AND A.PROCESS <>'' 
911
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
912
											) 
913
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
914
												AND A.PROCESS IS NOT NULL 
915
												AND A.PROCESS <>''  
916
												AND @ROLE_ID <> 'TKTGD' 
917
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
918
											)
919
									)  
920
								--OR(@p_TYPE_SEARCH ='HC' AND (@ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER IN ('TGD','HDQT','TKTGD','TKHDQT') AND STATUS ='C')))  
921
								OR	(	@p_TYPE_SEARCH='KT' 
922
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
923
									)  
924
								OR	(	@p_TYPE_SEARCH='HC' 
925
										AND	(	@ROLE_ID IN ('KSV','GDV')  
926
												OR @DEP_ID_LG ='DEP000000000022'
927
											) 
928
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
929
									)  
930
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
931
																				WHERE REQ_ID = A.REQ_PAY_ID 
932
																				AND TLNAME =@p_USER_LOGIN 
933
																				AND TYPE_JOB ='XL' 
934
																				AND STATUS_JOB = 'C' 
935
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
936
																			) 
937
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
938
																					WHERE REQ_ID = A.REQ_PAY_ID 
939
																					AND TLNAME =@p_USER_LOGIN 
940
																					AND TYPE_JOB ='XL' 
941
																					AND STATUS_JOB = 'P' 
942
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
943
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
944
																																																							)
945
																				)
946
																)
947
									) 
948
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
949
										AND A.PROCESS<>'' 
950
										AND A.PROCESS IS NOT NULL
951
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
952
																					WHERE REQ_ID = A.REQ_PAY_ID 
953
																					AND ROLE_USER =@ROLE_ID 
954
																					AND STATUS ='C'
955
																				)
956
												)
957
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
958
														AND EXISTS(	SELECT * 
959
																	FROM PL_REQUEST_PROCESS 
960
																	WHERE REQ_ID = A.REQ_PAY_ID 
961
																	AND ROLE_USER =@ROLE_ID 
962
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
963
																			OR	(	@p_IS_TRANSFER <>'N' 
964
																					AND STATUS IN ('C','P')
965
																				)
966
																		)
967
																	)
968
													)
969
											)
970
									)
971
								OR	(	@p_TYPE_SEARCH='PAY' 
972
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
973
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
974
													AND	(	A.DEP_ID =@DEP_ID_LG 
975
															OR A.MAKER_ID =@p_USER_LOGIN 
976
															OR A.MAKER_ID IS NULL 
977
															OR 1=1
978
														)
979
												) 
980
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
981
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
982
													)
983
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
984
														AND @p_REQ_PAY_CODE <> '' 
985
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
986
													)
987
											)
988
									)  
989
							) -- ngoac so 1, line 347
990
						OR	(	@p_TYPE_SEARCH='HC' 
991
								AND	(	@ROLE_ID IN ('KSV','GDV')  
992
										OR @DEP_ID_LG ='DEP000000000022'
993
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
994
							)
995
					) -- line 346
996
			) -- line 344
997
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
998
					AND (@p_TEMP_PAY_STATUS = 'HT')
999
				)  
1000
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
1001
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
1002
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
1003
			)  
1004
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
1005
		
1006
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
1007
END-- PAGING END
1008
	END;
1009
	ELSE 
1010
	BEGIN
1011
-- PAGING BEGIN
1012
BEGIN
1013
SELECT COUNT(*) -- SELECT END
1014
		FROM TR_REQ_ADVANCE_PAYMENT A  
1015
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
1016
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
1017
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
1018
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
1019
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
1020
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
1021
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
1022
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
1023
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
1024
		--Luanlt--2019/10/15-Sửa AL,AL1  
1025
		LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'  AND AL.CDTYPE = 'REQ_PAY_ADVANCE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)  
1026
		LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'  AND AL1.CDTYPE = 'REQ_PAY_METHOD' --Hình thức thanh toán( Tiền mặt/Chuyển khoản)
1027
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
1028
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
1029
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
1030
		LEFT JOIN  
1031
		(  
1032
		SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID  
1033
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
1034
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
1035
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
1036
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
1037
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
1038
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
1039
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
1040
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
1041
		LEFT JOIN  
1042
		(  
1043
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
1044
		INNER JOIN  
1045
		(  
1046
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
1047
			GROUP BY PR.REQ_ID  
1048
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
1049
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
1050
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
1051
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
1052
		(PC.ROLE_USER = @ROLE_ID OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_PAY_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
1053
		AND PC.STATUS='C'  
1054
		--LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND PC.STATUS='C'  
1055
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
1056
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
1057
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
1058
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
1059
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
1060
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
1061
		WHERE 1=1  
1062
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='')  
1063
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL) 
1064
		AND(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL) 
1065
		AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)  
1066
		AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL)
1067
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
1068
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
1069
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
1070
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
1071
		AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL OR A.REQ_DT IS NULL)  
1072
		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 OR A.REQ_DT IS NULL)  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH  
1073
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
1074
		--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 <>'')  
1075
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
1076
		AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))  
1077
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
1078
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
1079
				OR @p_AUTH_STATUS='' 
1080
				OR @p_AUTH_STATUS IS NULL 
1081
				OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS IS NULL)
1082
				OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS = '')
1083
				OR (	A.REQ_TYPE ='I' 
1084
						AND A.AUTH_STATUS <>'A' 
1085
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
1086
					)
1087
			)
1088
		AND	(	(A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
1089
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
1090
				OR @p_IS_UPDATE_KT IS NULL 
1091
				OR @p_IS_UPDATE_KT=''
1092
			)  
1093
		 
1094
		AND
1095
		(
1096
			(	@p_IS_TRANSFER='Y' 
1097
				 AND(
1098
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
1099
			
1100
					 OR (
1101
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
1102
						)
1103
					 OR (
1104
							@p_TYPE_SEARCH ='KT' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)  OR A.AUTH_STATUS_KT ='A')
1105
						)
1106
					)
1107
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
1108
			OR
1109
			(	@p_IS_TRANSFER='N' 
1110
				AND (
1111
						(@p_TYPE_SEARCH ='TKTGD' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND  PROCESS_ID ='1') AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A') 
1112
				
1113
						OR  (
1114
								@p_TYPE_SEARCH ='TKHDQT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2' AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A')
1115
							)
1116
						OR  (
1117
								@p_TYPE_SEARCH ='KT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND (PROCESS_ID IS NULL OR PROCESS_ID ='' OR PROCESS_ID ='3')) AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A' 
1118
							)
1119
					)
1120
			)
1121
			OR @p_IS_TRANSFER IS NULL 
1122
			OR @p_IS_TRANSFER=''
1123
		) 
1124

    
1125
		AND	(	(	(	@p_PROCESS='PM' 
1126
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
1127
					)  
1128
					AND (	A.REQ_TYPE IN('I','D','P') 
1129
							OR	(	@DEP_ID_LG ='DEP000000000014' 
1130
									AND A.REQ_TYPE IN ('I','P','D')
1131
								)
1132
						)	
1133
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
1134
								OR A.MAKER_ID =@p_USER_LOGIN 
1135
								OR A.MAKER_ID IS NULL
1136
							) 
1137
								OR	(	@BRANCH_TYPE_LG <>'HS' 
1138
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
1139
									) 
1140
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
1141
												AND @p_REQ_PAY_CODE <> '' 
1142
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1143
											)
1144
						)
1145
				)  
1146
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
1147
			)  
1148
		AND	(	(	@p_LEVEL='ALL' 
1149
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
1150
				)  
1151
				OR	(	(	@p_LEVEL='UNIT' 
1152
							AND A.BRANCH_ID=@p_BRANCH_ID
1153
						)
1154
						OR	(	@p_BRANCH_ID='' 
1155
								OR @p_BRANCH_ID IS NULL
1156
							) 
1157
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1158
									AND @p_REQ_PAY_CODE <> '' 
1159
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1160
							)
1161
					)
1162
			)    
1163
		AND (	(	@p_FUNCTION ='KT' 
1164
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
1165
										WHERE X.REQ_ID = A.REQ_PAY_ID 
1166
										AND (	X.TLNAME= @p_USER_LOGIN 
1167
												OR X.TLNAME =@p_EXEC_USER_KT
1168
											)
1169
									)
1170
						) 
1171
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
1172
				)  
1173
				OR @p_FUNCTION IS NULL 
1174
				OR @p_FUNCTION ='' 
1175
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
1176
				OR @p_FUNCTION ='SIGN'
1177
			)
1178
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
1179
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1180
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
1181
							AND TYPE_JOB IN ('XL','KS','TP') 
1182
							AND REQ_ID = A.REQ_PAY_ID
1183
						) 
1184
				OR @p_TRASFER_USER_RECIVE IS NULL 
1185
				OR @p_TRASFER_USER_RECIVE=''
1186
			)  
1187
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
1188
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
1189
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
1190
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
1191
									AND @BRANCH_TYPE_LG ='HS' 
1192
									AND A.REQ_TYPE ='I'  
1193
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1194
															WHERE ROLE_AUTH IN ('GDDV','TP', 'PP', 'KTT','TC')
1195
														) 
1196
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1197
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1198
													)
1199
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1200
												AND	(	(	@p_AUTH_STATUS ='A' 
1201
															AND ISNULL(PROCESS,'') ='0' 
1202
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
1203
																			WHERE REQ_ID =A.REQ_PAY_ID 
1204
																			AND PROCESS_DESC IN (N'Trưởng đơn vị xác nhận phiếu',N'Cấp phê duyệt trung gian xác nhận phiếu')
1205
																		)
1206
															OR (@p_AUTH_STATUS ='U' AND ISNULL(PROCESS,'')='') 
1207
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
1208
														)
1209
													)
1210
											) 
1211
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
1212
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
1213
															OR A.MAKER_ID =@p_MAKER_ID 
1214
															OR A.DEP_ID=@p_DEP_ID
1215
														)
1216
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
1217
												)
1218
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1219
																WHERE ROLE_AUTH  IN ('GDK','PTGD')
1220
															) 
1221
													AND	(	A.DVDM_ID =@DVDM_ID 
1222
															OR (	A.DVDM_ID IS NULL 
1223
																	OR A.DVDM_ID =''
1224
																)
1225
														) 
1226
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1227
																	WHERE REQ_ID = A.REQ_PAY_ID
1228
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
1229
																	-- AND A.BRANCH_CREATE ='DV0001' 
1230
																	AND A.PROCESS<>'' 
1231
																	AND A.PROCESS IS NOT NULL
1232
																	AND	(	(	@p_AUTH_STATUS ='A' 
1233
																				AND STATUS IN ('P','A')
1234
																			) 
1235
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1236
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
1237
																					AND STATUS IN ('C','P','A')
1238
																				)
1239
																		)
1240
																)
1241
												)
1242
											OR	(	EXISTS	(	SELECT * 
1243
																FROM @TABLE_ROLE 
1244
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
1245
																AND EXISTS	(	SELECT * 
1246
																				FROM PL_REQUEST_PROCESS	
1247
																				WHERE REQ_ID = A.REQ_PAY_ID
1248
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
1249
																				--AND A.BRANCH_CREATE ='DV0001' 
1250
																				AND A.PROCESS<>'' 
1251
																				AND A.PROCESS IS NOT NULL
1252
																				AND (	(	@p_AUTH_STATUS ='A' 
1253
																							AND STATUS IN ('P','A')
1254
																						) 
1255
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1256
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
1257
																					)
1258
																			)
1259
												)
1260

    
1261
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
1262
								)	-- ngoac so 2, line 347
1263
-- NGUOC LAI NEU LA TAM UNG KHAC
1264
								OR	(	@p_TYPE_SEARCH ='HC' 
1265
										AND @BRANCH_TYPE_LG ='HS' 
1266
										AND A.REQ_TYPE <> 'I' 
1267
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1268
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1269
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1270
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
1271
															)	
1272
														AND	(	A.DEP_ID =@DEP_ID_LG 
1273
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
1274
															)  
1275
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
1276
																OR A.TRASFER_USER_RECIVE ='' 
1277
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1278
																		AND A.TRASFER_USER_RECIVE <>'' 
1279
																		AND A.PROCESS IS NOT NULL 
1280
																		AND A.PROCESS <>''
1281
																	)
1282
															)
1283
													)  
1284
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1285
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1286
													)  
1287
											)
1288
									)
1289
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
1290
								OR	(	@p_TYPE_SEARCH ='HC' 
1291
										AND @BRANCH_TYPE_LG = 'CN' 
1292
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1293
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1294
															AND A.TRASFER_USER_RECIVE <>'' 
1295
															AND A.PROCESS IS NOT NULL 
1296
															AND A.PROCESS <>''
1297
														)  
1298
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
1299
													)  
1300

    
1301
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1302
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
1303
															AND A.TRASFER_USER_RECIVE <>''
1304
														) 
1305
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1306
													)  
1307
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1308
											)
1309
									)  
1310
								OR	(	@p_TYPE_SEARCH ='HC' 
1311
										AND @BRANCH_TYPE_LG = 'CN' 
1312
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1313
									)  
1314
								OR	(	@p_TYPE_SEARCH ='HC' 
1315
										AND @BRANCH_TYPE_LG = 'PGD' 
1316
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1317
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
1318
											)
1319
									)  
1320
								OR	(	@p_TYPE_SEARCH ='HC' 
1321
										AND	(	A.DVDM_ID IS NOT NULL 
1322
												AND A.DVDM_ID <>'' 
1323
												AND A.DVDM_ID =@DVDM_ID 
1324
												AND A.PROCESS IS NOT NULL 
1325
												AND A.PROCESS <>'' 
1326
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1327
											) 
1328
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
1329
												AND A.PROCESS IS NOT NULL 
1330
												AND A.PROCESS <>''  
1331
												AND @ROLE_ID <> 'TKTGD' 
1332
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1333
											)
1334
									)  
1335
								--OR(@p_TYPE_SEARCH ='HC' AND (@ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER IN ('TGD','HDQT','TKTGD','TKHDQT') AND STATUS ='C')))  
1336
								OR	(	@p_TYPE_SEARCH='KT' 
1337
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1338
									)  
1339
								OR	(	@p_TYPE_SEARCH='HC' 
1340
										AND	(	@ROLE_ID IN ('KSV','GDV')  
1341
												OR @DEP_ID_LG ='DEP000000000022'
1342
											) 
1343
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1344
									)  
1345
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1346
																				WHERE REQ_ID = A.REQ_PAY_ID 
1347
																				AND TLNAME =@p_USER_LOGIN 
1348
																				AND TYPE_JOB ='XL' 
1349
																				AND STATUS_JOB = 'C' 
1350
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
1351
																			) 
1352
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1353
																					WHERE REQ_ID = A.REQ_PAY_ID 
1354
																					AND TLNAME =@p_USER_LOGIN 
1355
																					AND TYPE_JOB ='XL' 
1356
																					AND STATUS_JOB = 'P' 
1357
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
1358
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
1359
																																																							)
1360
																				)
1361
																)
1362
									) 
1363
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
1364
										AND A.PROCESS<>'' 
1365
										AND A.PROCESS IS NOT NULL
1366
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1367
																					WHERE REQ_ID = A.REQ_PAY_ID 
1368
																					AND ROLE_USER =@ROLE_ID 
1369
																					AND STATUS ='C'
1370
																				)
1371
												)
1372
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
1373
														AND EXISTS(	SELECT * 
1374
																	FROM PL_REQUEST_PROCESS 
1375
																	WHERE REQ_ID = A.REQ_PAY_ID 
1376
																	AND ROLE_USER =@ROLE_ID 
1377
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
1378
																			OR	(	@p_IS_TRANSFER <>'N' 
1379
																					AND STATUS IN ('C','P')
1380
																				)
1381
																		)
1382
																	)
1383
													)
1384
											)
1385
									)
1386
								OR	(	@p_TYPE_SEARCH='PAY' 
1387
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
1388
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
1389
													AND	(	A.DEP_ID =@DEP_ID_LG 
1390
															OR A.MAKER_ID =@p_USER_LOGIN 
1391
															OR A.MAKER_ID IS NULL 
1392
															OR 1=1
1393
														)
1394
												) 
1395
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
1396
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
1397
													)
1398
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1399
														AND @p_REQ_PAY_CODE <> '' 
1400
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1401
													)
1402
											)
1403
									)  
1404
							) -- ngoac so 1, line 347
1405
						OR	(	@p_TYPE_SEARCH='HC' 
1406
								AND	(	@ROLE_ID IN ('KSV','GDV')  
1407
										OR @DEP_ID_LG ='DEP000000000022'
1408
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1409
							)
1410
					) -- line 346
1411
			) -- line 344
1412
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
1413
					AND (@p_TEMP_PAY_STATUS = 'HT')
1414
				)  
1415
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
1416
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
1417
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
1418
			)  
1419
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
1420
		
1421
;WITH QUERY_DATA AS (  
1422
		SELECT A.*, A.CONFIRM_NOTES AS CONFIRM_NOTE,'' as TEMP_PAY_STATUS ,ISNULL(B.AUTH_STATUS_NAME,N'Chờ duyệt') AS AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,  
1423
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
1424
		BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,  
1425
		--Luanlt--2019/10/15-Sửa AL,AL1  
1426
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
1427
		A.REQ_AMT AS TOTAL_AMT_TEMP,CASE WHEN H.SOTIEN_TT IS NULL THEN ISNULL(A.PAY_AMT,0) ELSE ISNULL(A.PAY_AMT,0) END AS TOTAL_AMT_PAY_HIS,  
1428
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
1429
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
1430
		PO.PO_CODE, PO.PO_NAME,SUP.SUP_NAME,SUP.TAX_NO AS SUP_TAX_NO,CUS.CUSTOMER_CODE AS CUST_CODE, CUS.CUSTOMER_NAME AS CUST_NAME,PM.PAY_PHASE AS KY_TAM_UNG,  
1431
		DV.DVDM_CODE, DV.DVDM_NAME, CASE WHEN PC.ROLE_USER ='GDDV' THEN (SELECT RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN) ELSE PC.ROLE_USER END AS ROLE_CONF, 
1432
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
1433
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
1434
		--PC1.NOTES AS NEXT_STEP,  
1435
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
1436
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
1437
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
1438
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
1439
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
1440
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'')='' THEN N'Chờ cấp duyệt trung gian xác nhận'
1441
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'') <> '' THEN N'Chờ trưởng đơn vị xác nhận'
1442
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND   ISNULL(A.TRASFER_USER_RECIVE,'') = ''  AND ISNULL(A.PROCESS,'') = '' THEN N'Chờ trưởng đơn vị xác nhận'
1443
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
1444
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE <> 'DV0001' AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND (A.PROCESS IS NULL OR A.PROCESS ='') THEN N'Chờ cấp duyệt trung gian xác nhận'
1445
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE<>'DV0001' AND (ISNULL(A.TRASFER_USER_RECIVE,'') ='' OR A.PROCESS ='0') THEN PC1.NOTES END AS NEXT_STEP,  
1446
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB, TL8.TLFullName AS RECIVER_MONEY_FULLNAME, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR, BR.BRANCH_TYPE,@p_TYPE_SEARCH AS TYPE_SEARCH,  
1447
		SR.ROLE_ID AS ROLE_ID_CRE, ISNULL(H.SOTIEN_TT,0) AS STTT, A.REQ_AMT - ISNULL(H.SOTIEN_TT,0) AS SL_CL,BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE, '' AS BRANCH_CODE_CONTRACT, '' AS BRANCH_NAME_CONTRACT,
1448
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
1449
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
1450
						 ELSE TL2.TLNANME  
1451
						 END
1452
		-- doanptt 120522
1453
		, C.AUTH_STATUS_KT_DESC,
1454
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
1455
		PC3.TLNAME AS EXEC_USER_KT,
1456
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
1457
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
1458
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC   
1459
) AS __ROWNUM-- SELECT END
1460
		FROM TR_REQ_ADVANCE_PAYMENT A  
1461
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
1462
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
1463
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
1464
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
1465
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
1466
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
1467
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
1468
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
1469
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
1470
		--Luanlt--2019/10/15-Sửa AL,AL1  
1471
		LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'  AND AL.CDTYPE = 'REQ_PAY_ADVANCE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)  
1472
		LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'  AND AL1.CDTYPE = 'REQ_PAY_METHOD' --Hình thức thanh toán( Tiền mặt/Chuyển khoản)
1473
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
1474
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
1475
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
1476
		LEFT JOIN  
1477
		(  
1478
		SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID  
1479
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
1480
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
1481
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
1482
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
1483
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
1484
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
1485
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
1486
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
1487
		LEFT JOIN  
1488
		(  
1489
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
1490
		INNER JOIN  
1491
		(  
1492
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
1493
			GROUP BY PR.REQ_ID  
1494
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
1495
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
1496
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
1497
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
1498
		(PC.ROLE_USER = @ROLE_ID OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_PAY_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
1499
		AND PC.STATUS='C'  
1500
		--LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND PC.STATUS='C'  
1501
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
1502
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
1503
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
1504
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
1505
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
1506
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
1507
		WHERE 1=1  
1508
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='')  
1509
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL) 
1510
		AND(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL) 
1511
		AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)  
1512
		AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL)
1513
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
1514
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
1515
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
1516
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
1517
		AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL OR A.REQ_DT IS NULL)  
1518
		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 OR A.REQ_DT IS NULL)  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH  
1519
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
1520
		--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 <>'')  
1521
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
1522
		AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))  
1523
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
1524
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
1525
				OR @p_AUTH_STATUS='' 
1526
				OR @p_AUTH_STATUS IS NULL 
1527
				OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS IS NULL)
1528
				OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS = '')
1529
				OR (	A.REQ_TYPE ='I' 
1530
						AND A.AUTH_STATUS <>'A' 
1531
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
1532
					)
1533
			)
1534
		AND	(	(A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
1535
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
1536
				OR @p_IS_UPDATE_KT IS NULL 
1537
				OR @p_IS_UPDATE_KT=''
1538
			)  
1539
		 
1540
		AND
1541
		(
1542
			(	@p_IS_TRANSFER='Y' 
1543
				 AND(
1544
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
1545
			
1546
					 OR (
1547
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
1548
						)
1549
					 OR (
1550
							@p_TYPE_SEARCH ='KT' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)  OR A.AUTH_STATUS_KT ='A')
1551
						)
1552
					)
1553
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
1554
			OR
1555
			(	@p_IS_TRANSFER='N' 
1556
				AND (
1557
						(@p_TYPE_SEARCH ='TKTGD' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND  PROCESS_ID ='1') AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A') 
1558
				
1559
						OR  (
1560
								@p_TYPE_SEARCH ='TKHDQT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2' AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A')
1561
							)
1562
						OR  (
1563
								@p_TYPE_SEARCH ='KT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND (PROCESS_ID IS NULL OR PROCESS_ID ='' OR PROCESS_ID ='3')) AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A' 
1564
							)
1565
					)
1566
			)
1567
			OR @p_IS_TRANSFER IS NULL 
1568
			OR @p_IS_TRANSFER=''
1569
		) 
1570

    
1571
		AND	(	(	(	@p_PROCESS='PM' 
1572
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
1573
					)  
1574
					AND (	A.REQ_TYPE IN('I','D','P') 
1575
							OR	(	@DEP_ID_LG ='DEP000000000014' 
1576
									AND A.REQ_TYPE IN ('I','P','D')
1577
								)
1578
						)	
1579
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
1580
								OR A.MAKER_ID =@p_USER_LOGIN 
1581
								OR A.MAKER_ID IS NULL
1582
							) 
1583
								OR	(	@BRANCH_TYPE_LG <>'HS' 
1584
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
1585
									) 
1586
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
1587
												AND @p_REQ_PAY_CODE <> '' 
1588
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1589
											)
1590
						)
1591
				)  
1592
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
1593
			)  
1594
		AND	(	(	@p_LEVEL='ALL' 
1595
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
1596
				)  
1597
				OR	(	(	@p_LEVEL='UNIT' 
1598
							AND A.BRANCH_ID=@p_BRANCH_ID
1599
						)
1600
						OR	(	@p_BRANCH_ID='' 
1601
								OR @p_BRANCH_ID IS NULL
1602
							) 
1603
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1604
									AND @p_REQ_PAY_CODE <> '' 
1605
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1606
							)
1607
					)
1608
			)    
1609
		AND (	(	@p_FUNCTION ='KT' 
1610
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
1611
										WHERE X.REQ_ID = A.REQ_PAY_ID 
1612
										AND (	X.TLNAME= @p_USER_LOGIN 
1613
												OR X.TLNAME =@p_EXEC_USER_KT
1614
											)
1615
									)
1616
						) 
1617
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
1618
				)  
1619
				OR @p_FUNCTION IS NULL 
1620
				OR @p_FUNCTION ='' 
1621
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
1622
				OR @p_FUNCTION ='SIGN'
1623
			)
1624
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
1625
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1626
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
1627
							AND TYPE_JOB IN ('XL','KS','TP') 
1628
							AND REQ_ID = A.REQ_PAY_ID
1629
						) 
1630
				OR @p_TRASFER_USER_RECIVE IS NULL 
1631
				OR @p_TRASFER_USER_RECIVE=''
1632
			)  
1633
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
1634
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
1635
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
1636
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
1637
									AND @BRANCH_TYPE_LG ='HS' 
1638
									AND A.REQ_TYPE ='I'  
1639
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1640
															WHERE ROLE_AUTH IN ('GDDV','TP', 'PP', 'KTT','TC')
1641
														) 
1642
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1643
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1644
													)
1645
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1646
												AND	(	(	@p_AUTH_STATUS ='A' 
1647
															AND ISNULL(PROCESS,'') ='0' 
1648
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
1649
																			WHERE REQ_ID =A.REQ_PAY_ID 
1650
																			AND PROCESS_DESC IN (N'Trưởng đơn vị xác nhận phiếu',N'Cấp phê duyệt trung gian xác nhận phiếu')
1651
																		)
1652
															OR (@p_AUTH_STATUS ='U' AND ISNULL(PROCESS,'')='') 
1653
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
1654
														)
1655
													)
1656
											) 
1657
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
1658
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
1659
															OR A.MAKER_ID =@p_MAKER_ID 
1660
															OR A.DEP_ID=@p_DEP_ID
1661
														)
1662
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
1663
												)
1664
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1665
																WHERE ROLE_AUTH  IN ('GDK','PTGD')
1666
															) 
1667
													AND	(	A.DVDM_ID =@DVDM_ID 
1668
															OR (	A.DVDM_ID IS NULL 
1669
																	OR A.DVDM_ID =''
1670
																)
1671
														) 
1672
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1673
																	WHERE REQ_ID = A.REQ_PAY_ID
1674
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
1675
																	-- AND A.BRANCH_CREATE ='DV0001' 
1676
																	AND A.PROCESS<>'' 
1677
																	AND A.PROCESS IS NOT NULL
1678
																	AND	(	(	@p_AUTH_STATUS ='A' 
1679
																				AND STATUS IN ('P','A')
1680
																			) 
1681
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1682
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
1683
																					AND STATUS IN ('C','P','A')
1684
																				)
1685
																		)
1686
																)
1687
												)
1688
											OR	(	EXISTS	(	SELECT * 
1689
																FROM @TABLE_ROLE 
1690
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
1691
																AND EXISTS	(	SELECT * 
1692
																				FROM PL_REQUEST_PROCESS	
1693
																				WHERE REQ_ID = A.REQ_PAY_ID
1694
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
1695
																				--AND A.BRANCH_CREATE ='DV0001' 
1696
																				AND A.PROCESS<>'' 
1697
																				AND A.PROCESS IS NOT NULL
1698
																				AND (	(	@p_AUTH_STATUS ='A' 
1699
																							AND STATUS IN ('P','A')
1700
																						) 
1701
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1702
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
1703
																					)
1704
																			)
1705
												)
1706

    
1707
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
1708
								)	-- ngoac so 2, line 347
1709
-- NGUOC LAI NEU LA TAM UNG KHAC
1710
								OR	(	@p_TYPE_SEARCH ='HC' 
1711
										AND @BRANCH_TYPE_LG ='HS' 
1712
										AND A.REQ_TYPE <> 'I' 
1713
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1714
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1715
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1716
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
1717
															)	
1718
														AND	(	A.DEP_ID =@DEP_ID_LG 
1719
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
1720
															)  
1721
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
1722
																OR A.TRASFER_USER_RECIVE ='' 
1723
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1724
																		AND A.TRASFER_USER_RECIVE <>'' 
1725
																		AND A.PROCESS IS NOT NULL 
1726
																		AND A.PROCESS <>''
1727
																	)
1728
															)
1729
													)  
1730
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1731
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1732
													)  
1733
											)
1734
									)
1735
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
1736
								OR	(	@p_TYPE_SEARCH ='HC' 
1737
										AND @BRANCH_TYPE_LG = 'CN' 
1738
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1739
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1740
															AND A.TRASFER_USER_RECIVE <>'' 
1741
															AND A.PROCESS IS NOT NULL 
1742
															AND A.PROCESS <>''
1743
														)  
1744
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
1745
													)  
1746

    
1747
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1748
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
1749
															AND A.TRASFER_USER_RECIVE <>''
1750
														) 
1751
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1752
													)  
1753
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1754
											)
1755
									)  
1756
								OR	(	@p_TYPE_SEARCH ='HC' 
1757
										AND @BRANCH_TYPE_LG = 'CN' 
1758
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1759
									)  
1760
								OR	(	@p_TYPE_SEARCH ='HC' 
1761
										AND @BRANCH_TYPE_LG = 'PGD' 
1762
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1763
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
1764
											)
1765
									)  
1766
								OR	(	@p_TYPE_SEARCH ='HC' 
1767
										AND	(	A.DVDM_ID IS NOT NULL 
1768
												AND A.DVDM_ID <>'' 
1769
												AND A.DVDM_ID =@DVDM_ID 
1770
												AND A.PROCESS IS NOT NULL 
1771
												AND A.PROCESS <>'' 
1772
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1773
											) 
1774
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
1775
												AND A.PROCESS IS NOT NULL 
1776
												AND A.PROCESS <>''  
1777
												AND @ROLE_ID <> 'TKTGD' 
1778
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1779
											)
1780
									)  
1781
								--OR(@p_TYPE_SEARCH ='HC' AND (@ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER IN ('TGD','HDQT','TKTGD','TKHDQT') AND STATUS ='C')))  
1782
								OR	(	@p_TYPE_SEARCH='KT' 
1783
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1784
									)  
1785
								OR	(	@p_TYPE_SEARCH='HC' 
1786
										AND	(	@ROLE_ID IN ('KSV','GDV')  
1787
												OR @DEP_ID_LG ='DEP000000000022'
1788
											) 
1789
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1790
									)  
1791
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1792
																				WHERE REQ_ID = A.REQ_PAY_ID 
1793
																				AND TLNAME =@p_USER_LOGIN 
1794
																				AND TYPE_JOB ='XL' 
1795
																				AND STATUS_JOB = 'C' 
1796
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
1797
																			) 
1798
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1799
																					WHERE REQ_ID = A.REQ_PAY_ID 
1800
																					AND TLNAME =@p_USER_LOGIN 
1801
																					AND TYPE_JOB ='XL' 
1802
																					AND STATUS_JOB = 'P' 
1803
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
1804
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
1805
																																																							)
1806
																				)
1807
																)
1808
									) 
1809
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
1810
										AND A.PROCESS<>'' 
1811
										AND A.PROCESS IS NOT NULL
1812
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1813
																					WHERE REQ_ID = A.REQ_PAY_ID 
1814
																					AND ROLE_USER =@ROLE_ID 
1815
																					AND STATUS ='C'
1816
																				)
1817
												)
1818
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
1819
														AND EXISTS(	SELECT * 
1820
																	FROM PL_REQUEST_PROCESS 
1821
																	WHERE REQ_ID = A.REQ_PAY_ID 
1822
																	AND ROLE_USER =@ROLE_ID 
1823
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
1824
																			OR	(	@p_IS_TRANSFER <>'N' 
1825
																					AND STATUS IN ('C','P')
1826
																				)
1827
																		)
1828
																	)
1829
													)
1830
											)
1831
									)
1832
								OR	(	@p_TYPE_SEARCH='PAY' 
1833
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
1834
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
1835
													AND	(	A.DEP_ID =@DEP_ID_LG 
1836
															OR A.MAKER_ID =@p_USER_LOGIN 
1837
															OR A.MAKER_ID IS NULL 
1838
															OR 1=1
1839
														)
1840
												) 
1841
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
1842
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
1843
													)
1844
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1845
														AND @p_REQ_PAY_CODE <> '' 
1846
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1847
													)
1848
											)
1849
									)  
1850
							) -- ngoac so 1, line 347
1851
						OR	(	@p_TYPE_SEARCH='HC' 
1852
								AND	(	@ROLE_ID IN ('KSV','GDV')  
1853
										OR @DEP_ID_LG ='DEP000000000022'
1854
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1855
							)
1856
					) -- line 346
1857
			) -- line 344
1858
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
1859
					AND (@p_TEMP_PAY_STATUS = 'HT')
1860
				)  
1861
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
1862
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
1863
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
1864
			)  
1865
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
1866
		
1867
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
1868
END-- PAGING END
1869
	END;
1870

    
1871
go