Project

General

Profile

advance_search.txt

Luc Tran Van, 11/24/2022 09:05 AM

 
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) = N'01/10/2022 00:00:00',
44
@p_TODATE varchar(20) = N'24/11/2022 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'trangnt2',
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
-- BRANCH TYPE CUA USER LOGIN
57
	DECLARE @TB_TYPE TABLE (BRANCH_TYPE VARCHAR(15))  
58
	IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_LOGIN)='HS')  
59
	BEGIN  
60
		INSERT INTO @TB_TYPE VALUES('HS')  
61
	END  
62
	ELSE  
63
	BEGIN  
64
		INSERT INTO @TB_TYPE VALUES('PGD')  
65
		INSERT INTO @TB_TYPE VALUES('CN')  
66
	END  
67

    
68
-- DANH SACH PHONG BAN CON CUA NGUOI TAO PHIEU
69
	IF(NOT EXISTS (SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID))
70
	BEGIN
71
		SET @p_BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE = @p_BRANCH_ID)
72
	END
73
	DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))  
74
	INSERT INTO @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)  
75
-- DANH SACH PHONG BAN CON CUA USER LOGIN
76
	declare @tmp_Login table(BRANCH_ID varchar(15))  
77
	insert into @tmp_Login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)  
78

    
79
	DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15), @BRANCH_TYPE VARCHAR(15) 
80
-- BRANCH TYPE CUA PHIEU DE NGHI TAM UNG
81
	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))  
82
-- ROLE CUA USER LOGIN
83
	SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)  
84
-- KHAI BAO UY QUYEN KIEM NHIEM
85
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
86
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
87
	INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID  
88
	AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
89
	AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') AND TLNAME =@p_USER_LOGIN
90

    
91
	--AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)  
92

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

    
110
	DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
111
	INSERT INTO @BRANCH_AUTH VALUES (@BRANCH_TYPE_LG)
112
	INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN 
113
	AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) 
114
	AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
115

    
116
	--END
117
	--IF(EXISTS(SELECT * FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID))  
118
	-- SET @ROLE_ID=(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID)  
119

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1863
go