Project

General

Profile

TR_RE_PAY_Search.txt

Luc Tran Van, 01/09/2023 01:53 PM

 
1
-- PROCEDURE NAME: TR_REQ_PAYMENT_Search
2

    
3
DECLARE @p_REQ_PAY_ID varchar(15) = NULL,
4
@p_REQ_PAY_CODE varchar(50) = N'012023/000081',
5
@p_REQ_DT varchar(20) = NULL,
6
@p_BRANCH_ID varchar(15) = N'DV0001',
7
@p_DEP_ID varchar(15) = NULL,
8
@p_REQ_REASON nvarchar(MAX) = NULL,
9
@p_REQ_TYPE varchar(15) = NULL,
10
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
11
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
12
@p_REF_ID varchar(15) = NULL,
13
@p_RECEIVER_PO nvarchar(250) = NULL,
14
@p_REQ_PAY_TYPE varchar(15) = NULL,
15
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
16
@p_REQ_AMT decimal = NULL,
17
@p_REQ_TEMP_AMT decimal = NULL,
18
@p_MAKER_ID varchar(15) = NULL,
19
@p_CREATE_DT varchar(25) = NULL,
20
@p_EDITOR_ID varchar(15) = NULL,
21
@p_AUTH_STATUS varchar(1) = N'A',
22
@p_CHECKER_ID varchar(15) = NULL,
23
@p_APPROVE_DT varchar(25) = NULL,
24
@p_CREATE_DT_KT varchar(25) = NULL,
25
@p_MAKER_ID_KT varchar(15) = NULL,
26
@p_AUTH_STATUS_KT varchar(1) = N'',
27
@p_CHECKER_ID_KT nvarchar(20) = NULL,
28
@p_EXEC_USER_KT nvarchar(20) = NULL,
29
@p_APPROVE_DT_KT varchar(25) = NULL,
30
@p_CONFIRM_NOTE nvarchar(500) = NULL,
31
@p_BRANCH_CREATE varchar(15) = N'DV0001',
32
@p_NOTES varchar(15) = NULL,
33
@p_RECORD_STATUS varchar(1) = NULL,
34
@p_TRANSFER_MAKER nvarchar(50) = NULL,
35
@p_TRANSFER_DT varchar(25) = NULL,
36
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
37
@p_PROCESS varchar(15) = NULL,
38
@p_PAY_PHASE varchar(15) = NULL,
39
@p_TOP int = NULL,
40
@p_LEVEL varchar(10) = N'ALL',
41
@p_FRMDATE varchar(20) = NULL,
42
@p_TODATE varchar(20) = N'09/01/2023 00:00:00',
43
@p_BRANCH_LOGIN varchar(15) = N'DV0001',
44
@p_IS_UPDATE_KT varchar(15) = N'',
45
@P_IS_TRANSFER varchar(15) = NULL,
46
@p_TERM_ID varchar(15) = NULL,
47
@P_USER_LOGIN varchar(15) = N'giaultn1',
48
@p_FUNCTION varchar(15) = N'KT',
49
@p_TYPE_SEARCH varchar(15) = N'KT'
50

    
51
--SET @p_TOP = NULL
52
declare @tmp table(BRANCH_ID varchar(15))
53
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
54
declare @tmp_Login table(BRANCH_ID varchar(15))
55
insert into @tmp_Login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
56
DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15)
57
DECLARE @BRANCH_TYPE VARCHAR(15)
58
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))
59
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
60
SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
61
DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))
62
SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
63
SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
64
INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B  WHERE COST_ID =@COST_LG
65
DECLARE @BRANCH_TYPE_LG VARCHAR(15)
66
SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
67
-- KHAI BAO NHUNG PHONG BAN MA 1 USER KIEM NHIEM
68
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
69
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
70
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@P_USER_LOGIN  
71
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
72
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
73
DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))
74
INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
75
INSERT INTO @DEP_AUTH SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND 
76
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
77
--- LUCTV 19.10.2022 BO SUNG THEM PHONG BAN CHA SE THAY DANH SACH PHONG BAN CON
78
INSERT INTO @DEP_AUTH SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
79
-- KHAI BAO PHẦN ỦY QUYỀN ĐƠN VỊ
80
DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
81
INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
82
INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND 
83
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
84
--- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
85
DECLARE @DATE DATE
86
IF ((@p_FRMDATE IS NULL OR @p_FRMDATE ='') AND ISNULL(@p_REQ_PAY_ID,'')='' AND @p_AUTH_STATUS ='') -- MỤC ĐÍCH NẾU NHƯ XEM CHI TIẾT 1 PĐN THANH TOÁN DẠNG POPUP THÌ BỎ QUA ĐIỀU KIỆN NÀY, TỪ NGÀY VẪN LÀ NULL
87
BEGIN
88
	--DECLARE @MONTH INT, @YEAR INT
89
	--SET @MONTH = MONTH(GETDATE()) -1
90
	--SET @YEAR = YEAR(GETDATE())
91
	--BEGIN
92
	--	SET @p_FRMDATE ='01/'+CONVERT(VARCHAR,@MONTH,5) +'/'+ CONVERT(VARCHAR,@YEAR,5)
93
	--END
94

    
95
	SET @DATE = CONVERT(DATE,GETDATE(),103)
96
	SET @DATE = DATEADD(MONTH,-2,@DATE)
97
END
98
ELSE
99
BEGIN
100
	SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
101
END
102

    
103
-- HẾT KHAI BÁO
104
SET  @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
105
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'))
106
BEGIN
107
	PRINT @ROLE_ID
108
END
109
ELSE
110
BEGIN
111
	SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
112
	IF(@ROLE_ID IS NULL OR @ROLE_ID ='')
113
	BEGIN
114
			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))
115
	END
116
END
117
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)--2021823
118
--SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
119

    
120
IF(@p_TOP IS NULL OR @p_TOP=0)
121
BEGIN
122
-- PAGING BEGIN
123
BEGIN
124
SELECT COUNT(*) FROM(
125
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
126
		TL1.TLFullName APPROVE_FULLNAME,
127
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
128
		TL3.TLFullName APPROVE_FULLNAME_KT,
129
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
130
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
131
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
132
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
133
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
134
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
135
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
136
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
137
		--Luanlt--2019/10/15-Sửa AL,AL1
138
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
139
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
140
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
141
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
142
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
143
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
144
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
145
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
146
		AS BRANCH_NAME_CONTRACT,
147
		--doanptt 300622
148
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
149
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
150
			 ELSE TL2.TLNANME END AS EXEC_USER,
151
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
152
		PC3.TLNAME AS EXEC_USER_KT,
153
		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())
154
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
155
-- SELECT END
156
        FROM TR_REQ_PAYMENT A
157
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
158
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
159
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
160
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
161
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
162
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
163
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
164
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
165
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
166
			 --Luanlt--2019/10/15-Sửa AL,AL1
167
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
168
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
169
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
170
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
171
			 LEFT JOIN 
172
			 (
173
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
174
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
175
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
176
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
177
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
178
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
179
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
180
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
181
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
182
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
183
        WHERE 1=1 
184
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
185
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
186
					OR @p_AUTH_STATUS='' 
187
					OR @p_AUTH_STATUS IS NULL 
188
					OR	(	@p_AUTH_STATUS = 'G' 
189
							AND ISNULL(A.PROCESS, '') = '0' 
190
							AND A.AUTH_STATUS = 'U'
191
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
192
						) 
193
					OR	(	@p_AUTH_STATUS = 'W' 
194
							AND ISNULL(A.PROCESS, '') = '' 
195
							AND A.AUTH_STATUS = 'U'
196
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
197
						)
198
				)
199
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
200
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL OR PC3.TLNAME = @p_MAKER_ID_KT)
201
			  AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
202
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
203
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
204
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
205
												)
206
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
207
						OR	(	(	@p_LEVEL='UNIT' 
208
									AND A.BRANCH_ID=@p_BRANCH_ID
209
								)
210
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
211
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
212
										EXISTS	(	SELECT * 
213
													FROM TR_REQ_ADVANCE_DT 
214
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
215
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
216
													AND AUTH_STATUS_KT ='A'
217
												)
218
									)
219
							)
220
					)
221
			  AND	(	(	@p_LEVEL='ALL' 
222
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
223
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
224
								)
225
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
226
						OR	(	(	@p_LEVEL='UNIT' 
227
									AND A.BRANCH_ID=@p_BRANCH_ID
228
								)
229
								OR	(	@p_BRANCH_ID='' 
230
										OR @p_BRANCH_ID IS NULL
231
									)
232
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
233
																		AND EXISTS	(	SELECT * 
234
																						FROM TR_REQ_ADVANCE_DT 
235
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
236
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
237
																						AND AUTH_STATUS_KT ='A'
238
																					)
239
																	)
240
							)
241
					)
242
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
243
							AND @p_IS_UPDATE_KT='Y'
244
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
245
						OR	(	(	A.MAKER_ID_KT IS NULL 
246
									AND @p_IS_UPDATE_KT='N'
247
								)
248
							)
249
							OR @p_IS_UPDATE_KT IS NULL 
250
							OR @p_IS_UPDATE_KT='')
251
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
252
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
253
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
254
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
255
              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)
256
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
257
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
258
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
259
			  --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 <>'')
260
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
261
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
262
						OR @p_BRANCH_ID='' 
263
						OR @p_BRANCH_ID IS NULL
264
					)
265
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
266
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
267
							OR @p_AUTH_STATUS_KT='' 
268
							OR @p_AUTH_STATUS_KT IS NULL
269
						) 
270
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
271
					)
272
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
273
			  --AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
274
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
275
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
276
			  AND  (
277
						(
278
							@p_FUNCTION ='KT' 
279
							AND (
280
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
281
									AND (
282
											X.TLNAME= @p_USER_LOGIN 
283
											OR X.TLNAME =@p_EXEC_USER_KT)
284
										)
285
								) 
286
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
287
							OR A.CHECKER_ID_KT ='admin' 
288
							OR A.AUTH_STATUS_KT='A' 
289
						)
290
						OR @p_FUNCTION ='' 
291
						OR @p_FUNCTION IS NULL 
292
						OR @p_FUNCTION ='TF' 
293
					)	  
294
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)
295
			 -- AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
296
				AND	(	(	@p_IS_TRANSFER='Y' 
297
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
298
									OR A.AUTH_STATUS_KT ='A'
299
								)
300
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
301
						OR	(	(	@p_IS_TRANSFER='N' 
302
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
303
											AND A.AUTH_STATUS_KT <>'A'
304
								)
305
							)
306
						OR @p_IS_TRANSFER IS NULL 
307
						OR @p_IS_TRANSFER=''
308
					)	
309
				AND
310
				( /*0*/
311
				  A.MAKER_ID =@p_USER_LOGIN  
312
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
313
						AND A.AUTH_STATUS NOT IN ('E','R')
314
					 )
315
				  OR	(	@P_USER_LOGIN = 'xuanpt'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
316
							AND A.DEP_ID = 'DEP000000000014'
317
							AND A.BRANCH_ID = 'DV0001'
318
							AND A.AUTH_STATUS IN ('U','R', 'A')
319
							AND @p_TYPE_SEARCH ='HC'
320
						)
321
				  OR (	A.AUTH_STATUS <>'E' /*1*/
322
						AND
323
						(/*2*/
324
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
325
								AND @BRANCH_TYPE_LG ='HS'  
326
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
327
										OR (/*5*/
328
												EXISTS (	SELECT * 
329
															FROM @TABLE_ROLE 
330
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
331
													   )
332
												AND    (
333
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
334
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
335
															) 
336
															AND (	A.DEP_ID = @DEP_ID_LG 
337
																	OR  ( 
338
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
339
																			AND @p_USER_LOGIN ='cuongpv2'
340
																		) 
341
																	OR A.DEP_ID IN (
342
																						SELECT * 
343
																						FROM @DEP_AUTH
344
																					)
345
																)
346
														)
347
												AND ( 
348
														A.TRASFER_USER_RECIVE IS NULL 
349
														OR A.TRASFER_USER_RECIVE ='' 
350
														OR (
351
																A.TRASFER_USER_RECIVE IS NOT NULL 
352
																AND A.TRASFER_USER_RECIVE <>'' 
353
																AND A.PROCESS IS NOT NULL 
354
																AND A.PROCESS <>''
355
															)
356
													)
357
											)/*5*/
358
										)/*4*/
359
								)/*3*/
360
							OR(/*trong 2*/
361
									@p_TYPE_SEARCH ='HC' 
362
									AND @BRANCH_TYPE_LG = 'CN' 
363
									AND (
364
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
365
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
366
											AND
367
												(
368
													(
369
														A.TRASFER_USER_RECIVE IS NOT NULL 
370
														AND A.TRASFER_USER_RECIVE <>'' 
371
														AND A.PROCESS IS NOT NULL 
372
														AND A.PROCESS <>''
373
													 ) 
374
													OR A.TRASFER_USER_RECIVE ='' 
375
													OR A.TRASFER_USER_RECIVE IS NULL
376
												 )
377
											OR (
378
													(
379
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
380
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
381
															AND A.TRASFER_USER_RECIVE <>''
382
													) 
383
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
384
												)
385
											AND A.BRANCH_ID =@p_BRANCH_ID
386
										)
387
								)
388
							 OR
389
								(
390
									@p_TYPE_SEARCH ='HC' 
391
									AND @BRANCH_TYPE_LG = 'PGD' 
392
									AND (
393
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
394
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
395
										)
396
								)
397
							 OR
398
								(
399
									@p_TYPE_SEARCH ='HC' 
400
									AND(
401
											@ROLE_ID IN ('KSV','GDV','NVTC') 
402
											OR @DEP_ID_LG ='DEP000000000022'
403
										) 
404
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
405
								)
406
							OR	(
407
									@p_TYPE_SEARCH='KT' 
408
									AND @p_BRANCH_LOGIN ='DV0001' 
409
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
410
								)
411
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
412
						)/*2*/
413
				)/*1*/
414
				  OR
415
				  (
416
						(
417
							@ROLE_ID IN ('KSV','GDV','NVTC') 
418
							OR @DEP_ID_LG ='DEP000000000022'
419
						) 
420
						AND @p_BRANCH_LOGIN ='DV0001' 
421
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
422
				  )
423
				  -- NEU DUOC UY QUYEN DUYỆT CHO 1 ĐƠN VỊ KHÁC HỘI SỞ THÌ CHỈ SETUP ĐƠN VỊ, KHÔNG CẦN SETUP PHÒNG BAN
424
				  OR(	@p_TYPE_SEARCH ='HC' 
425
						AND A.BRANCH_CREATE <> 'DV0001' 
426
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
427
					)
428
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
429
				  OR (
430
						@p_TYPE_SEARCH ='HC' 
431
						AND @BRANCH_TYPE_LG <> 'HS' 
432
						AND
433
						EXISTS (
434
									SELECT * 
435
									FROM TR_REQ_ADVANCE_DT 
436
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
437
																					SELECT CONTRACT_ID 
438
																					FROM TR_CONTRACT
439
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
440
																				  ) 
441
									AND AUTH_STATUS_KT ='A'
442
								)
443
					)
444
			 )/*0*/
445
		
446
) COUNTER_TOP;WITH QUERY_DATA AS ( 
447
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
448
		TL1.TLFullName APPROVE_FULLNAME,
449
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
450
		TL3.TLFullName APPROVE_FULLNAME_KT,
451
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
452
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
453
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
454
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
455
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
456
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
457
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
458
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
459
		--Luanlt--2019/10/15-Sửa AL,AL1
460
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
461
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
462
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
463
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
464
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
465
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
466
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
467
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
468
		AS BRANCH_NAME_CONTRACT,
469
		--doanptt 300622
470
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
471
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
472
			 ELSE TL2.TLNANME END AS EXEC_USER,
473
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
474
		PC3.TLNAME AS EXEC_USER_KT,
475
		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())
476
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
477
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
478
) AS __ROWNUM-- SELECT END
479
        FROM TR_REQ_PAYMENT A
480
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
481
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
482
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
483
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
484
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
485
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
486
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
487
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
488
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
489
			 --Luanlt--2019/10/15-Sửa AL,AL1
490
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
491
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
492
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
493
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
494
			 LEFT JOIN 
495
			 (
496
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
497
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
498
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
499
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
500
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
501
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
502
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
503
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
504
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
505
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
506
        WHERE 1=1 
507
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
508
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
509
					OR @p_AUTH_STATUS='' 
510
					OR @p_AUTH_STATUS IS NULL 
511
					OR	(	@p_AUTH_STATUS = 'G' 
512
							AND ISNULL(A.PROCESS, '') = '0' 
513
							AND A.AUTH_STATUS = 'U'
514
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
515
						) 
516
					OR	(	@p_AUTH_STATUS = 'W' 
517
							AND ISNULL(A.PROCESS, '') = '' 
518
							AND A.AUTH_STATUS = 'U'
519
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
520
						)
521
				)
522
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
523
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL OR PC3.TLNAME = @p_MAKER_ID_KT)
524
			  AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
525
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
526
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
527
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
528
												)
529
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
530
						OR	(	(	@p_LEVEL='UNIT' 
531
									AND A.BRANCH_ID=@p_BRANCH_ID
532
								)
533
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
534
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
535
										EXISTS	(	SELECT * 
536
													FROM TR_REQ_ADVANCE_DT 
537
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
538
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
539
													AND AUTH_STATUS_KT ='A'
540
												)
541
									)
542
							)
543
					)
544
			  AND	(	(	@p_LEVEL='ALL' 
545
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
546
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
547
								)
548
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
549
						OR	(	(	@p_LEVEL='UNIT' 
550
									AND A.BRANCH_ID=@p_BRANCH_ID
551
								)
552
								OR	(	@p_BRANCH_ID='' 
553
										OR @p_BRANCH_ID IS NULL
554
									)
555
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
556
																		AND EXISTS	(	SELECT * 
557
																						FROM TR_REQ_ADVANCE_DT 
558
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
559
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
560
																						AND AUTH_STATUS_KT ='A'
561
																					)
562
																	)
563
							)
564
					)
565
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
566
							AND @p_IS_UPDATE_KT='Y'
567
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
568
						OR	(	(	A.MAKER_ID_KT IS NULL 
569
									AND @p_IS_UPDATE_KT='N'
570
								)
571
							)
572
							OR @p_IS_UPDATE_KT IS NULL 
573
							OR @p_IS_UPDATE_KT='')
574
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
575
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
576
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
577
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
578
              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)
579
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
580
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
581
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
582
			  --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 <>'')
583
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
584
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
585
						OR @p_BRANCH_ID='' 
586
						OR @p_BRANCH_ID IS NULL
587
					)
588
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
589
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
590
							OR @p_AUTH_STATUS_KT='' 
591
							OR @p_AUTH_STATUS_KT IS NULL
592
						) 
593
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
594
					)
595
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
596
			  --AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
597
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
598
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
599
			  AND  (
600
						(
601
							@p_FUNCTION ='KT' 
602
							AND (
603
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
604
									AND (
605
											X.TLNAME= @p_USER_LOGIN 
606
											OR X.TLNAME =@p_EXEC_USER_KT)
607
										)
608
								) 
609
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
610
							OR A.CHECKER_ID_KT ='admin' 
611
							OR A.AUTH_STATUS_KT='A' 
612
						)
613
						OR @p_FUNCTION ='' 
614
						OR @p_FUNCTION IS NULL 
615
						OR @p_FUNCTION ='TF' 
616
					)	  
617
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)
618
			 -- AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
619
				AND	(	(	@p_IS_TRANSFER='Y' 
620
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
621
									OR A.AUTH_STATUS_KT ='A'
622
								)
623
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
624
						OR	(	(	@p_IS_TRANSFER='N' 
625
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
626
											AND A.AUTH_STATUS_KT <>'A'
627
								)
628
							)
629
						OR @p_IS_TRANSFER IS NULL 
630
						OR @p_IS_TRANSFER=''
631
					)	
632
				AND
633
				( /*0*/
634
				  A.MAKER_ID =@p_USER_LOGIN  
635
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
636
						AND A.AUTH_STATUS NOT IN ('E','R')
637
					 )
638
				  OR	(	@P_USER_LOGIN = 'xuanpt'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
639
							AND A.DEP_ID = 'DEP000000000014'
640
							AND A.BRANCH_ID = 'DV0001'
641
							AND A.AUTH_STATUS IN ('U','R', 'A')
642
							AND @p_TYPE_SEARCH ='HC'
643
						)
644
				  OR (	A.AUTH_STATUS <>'E' /*1*/
645
						AND
646
						(/*2*/
647
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
648
								AND @BRANCH_TYPE_LG ='HS'  
649
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
650
										OR (/*5*/
651
												EXISTS (	SELECT * 
652
															FROM @TABLE_ROLE 
653
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
654
													   )
655
												AND    (
656
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
657
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
658
															) 
659
															AND (	A.DEP_ID = @DEP_ID_LG 
660
																	OR  ( 
661
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
662
																			AND @p_USER_LOGIN ='cuongpv2'
663
																		) 
664
																	OR A.DEP_ID IN (
665
																						SELECT * 
666
																						FROM @DEP_AUTH
667
																					)
668
																)
669
														)
670
												AND ( 
671
														A.TRASFER_USER_RECIVE IS NULL 
672
														OR A.TRASFER_USER_RECIVE ='' 
673
														OR (
674
																A.TRASFER_USER_RECIVE IS NOT NULL 
675
																AND A.TRASFER_USER_RECIVE <>'' 
676
																AND A.PROCESS IS NOT NULL 
677
																AND A.PROCESS <>''
678
															)
679
													)
680
											)/*5*/
681
										)/*4*/
682
								)/*3*/
683
							OR(/*trong 2*/
684
									@p_TYPE_SEARCH ='HC' 
685
									AND @BRANCH_TYPE_LG = 'CN' 
686
									AND (
687
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
688
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
689
											AND
690
												(
691
													(
692
														A.TRASFER_USER_RECIVE IS NOT NULL 
693
														AND A.TRASFER_USER_RECIVE <>'' 
694
														AND A.PROCESS IS NOT NULL 
695
														AND A.PROCESS <>''
696
													 ) 
697
													OR A.TRASFER_USER_RECIVE ='' 
698
													OR A.TRASFER_USER_RECIVE IS NULL
699
												 )
700
											OR (
701
													(
702
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
703
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
704
															AND A.TRASFER_USER_RECIVE <>''
705
													) 
706
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
707
												)
708
											AND A.BRANCH_ID =@p_BRANCH_ID
709
										)
710
								)
711
							 OR
712
								(
713
									@p_TYPE_SEARCH ='HC' 
714
									AND @BRANCH_TYPE_LG = 'PGD' 
715
									AND (
716
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
717
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
718
										)
719
								)
720
							 OR
721
								(
722
									@p_TYPE_SEARCH ='HC' 
723
									AND(
724
											@ROLE_ID IN ('KSV','GDV','NVTC') 
725
											OR @DEP_ID_LG ='DEP000000000022'
726
										) 
727
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
728
								)
729
							OR	(
730
									@p_TYPE_SEARCH='KT' 
731
									AND @p_BRANCH_LOGIN ='DV0001' 
732
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
733
								)
734
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
735
						)/*2*/
736
				)/*1*/
737
				  OR
738
				  (
739
						(
740
							@ROLE_ID IN ('KSV','GDV','NVTC') 
741
							OR @DEP_ID_LG ='DEP000000000022'
742
						) 
743
						AND @p_BRANCH_LOGIN ='DV0001' 
744
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
745
				  )
746
				  -- NEU DUOC UY QUYEN DUYỆT CHO 1 ĐƠN VỊ KHÁC HỘI SỞ THÌ CHỈ SETUP ĐƠN VỊ, KHÔNG CẦN SETUP PHÒNG BAN
747
				  OR(	@p_TYPE_SEARCH ='HC' 
748
						AND A.BRANCH_CREATE <> 'DV0001' 
749
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
750
					)
751
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
752
				  OR (
753
						@p_TYPE_SEARCH ='HC' 
754
						AND @BRANCH_TYPE_LG <> 'HS' 
755
						AND
756
						EXISTS (
757
									SELECT * 
758
									FROM TR_REQ_ADVANCE_DT 
759
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
760
																					SELECT CONTRACT_ID 
761
																					FROM TR_CONTRACT
762
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
763
																				  ) 
764
									AND AUTH_STATUS_KT ='A'
765
								)
766
					)
767
			 )/*0*/
768
		
769
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
770
END-- PAGING END
771
    END;
772
    ELSE 
773
	BEGIN
774
-- PAGING BEGIN
775
BEGIN
776
SELECT COUNT(*) FROM(
777
        SELECT TOP(CONVERT(INT,@p_TOP)) A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
778
		TL1.TLFullName APPROVE_FULLNAME,
779
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
780
		TL3.TLFullName APPROVE_FULLNAME_KT,
781
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
782
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
783
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
784
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
785
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
786
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
787
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
788
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
789
		--Luanlt--2019/10/15-Sửa AL,AL1
790
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
791
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
792
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
793
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
794
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
795
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
796
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
797
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
798
		AS BRANCH_NAME_CONTRACT,
799
		--doanptt 300622
800
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
801
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
802
			 ELSE TL2.TLNANME END AS EXEC_USER,
803
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
804
		PC3.TLNAME AS EXEC_USER_KT,
805
		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())
806
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
807
-- SELECT END
808
        FROM TR_REQ_PAYMENT A
809
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
810
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
811
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
812
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
813
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
814
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
815
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
816
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
817
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
818
			 --Luanlt--2019/10/15-Sửa AL,AL1
819
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
820
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
821
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
822
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
823
			 LEFT JOIN 
824
			 (
825
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
826
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
827
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
828
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
829
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
830
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
831
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
832
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
833
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
834
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
835
        WHERE 1=1 
836
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
837
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
838
					OR @p_AUTH_STATUS='' 
839
					OR @p_AUTH_STATUS IS NULL 
840
					OR	(	@p_AUTH_STATUS = 'G' 
841
							AND ISNULL(A.PROCESS, '') = '0' 
842
							AND A.AUTH_STATUS = 'U'
843
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
844
						) 
845
					OR	(	@p_AUTH_STATUS = 'W' 
846
							AND ISNULL(A.PROCESS, '') = '' 
847
							AND A.AUTH_STATUS = 'U'
848
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
849
						)
850
				)
851
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
852
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL OR PC3.TLNAME = @p_MAKER_ID_KT)
853
			  AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
854
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
855
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
856
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
857
												)
858
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
859
						OR	(	(	@p_LEVEL='UNIT' 
860
									AND A.BRANCH_ID=@p_BRANCH_ID
861
								)
862
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
863
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
864
										EXISTS	(	SELECT * 
865
													FROM TR_REQ_ADVANCE_DT 
866
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
867
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
868
													AND AUTH_STATUS_KT ='A'
869
												)
870
									)
871
							)
872
					)
873
			  AND	(	(	@p_LEVEL='ALL' 
874
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
875
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
876
								)
877
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
878
						OR	(	(	@p_LEVEL='UNIT' 
879
									AND A.BRANCH_ID=@p_BRANCH_ID
880
								)
881
								OR	(	@p_BRANCH_ID='' 
882
										OR @p_BRANCH_ID IS NULL
883
									)
884
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
885
																		AND EXISTS	(	SELECT * 
886
																						FROM TR_REQ_ADVANCE_DT 
887
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
888
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
889
																						AND AUTH_STATUS_KT ='A'
890
																					)
891
																	)
892
							)
893
					)
894
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
895
							AND @p_IS_UPDATE_KT='Y'
896
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
897
						OR	(	(	A.MAKER_ID_KT IS NULL 
898
									AND @p_IS_UPDATE_KT='N'
899
								)
900
							)
901
							OR @p_IS_UPDATE_KT IS NULL 
902
							OR @p_IS_UPDATE_KT='')
903
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
904
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
905
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
906
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
907
              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)
908
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
909
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
910
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
911
			  --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 <>'')
912
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
913
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
914
						OR @p_BRANCH_ID='' 
915
						OR @p_BRANCH_ID IS NULL
916
					)
917
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
918
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
919
							OR @p_AUTH_STATUS_KT='' 
920
							OR @p_AUTH_STATUS_KT IS NULL
921
						) 
922
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
923
					)
924
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
925
			  --AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
926
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
927
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
928
			  AND  (
929
						(
930
							@p_FUNCTION ='KT' 
931
							AND (
932
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
933
									AND (
934
											X.TLNAME= @p_USER_LOGIN 
935
											OR X.TLNAME =@p_EXEC_USER_KT)
936
										)
937
								) 
938
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
939
							OR A.CHECKER_ID_KT ='admin' 
940
							OR A.AUTH_STATUS_KT='A' 
941
						)
942
						OR @p_FUNCTION ='' 
943
						OR @p_FUNCTION IS NULL 
944
						OR @p_FUNCTION ='TF' 
945
					)	  
946
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)
947
			 -- AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
948
				AND	(	(	@p_IS_TRANSFER='Y' 
949
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
950
									OR A.AUTH_STATUS_KT ='A'
951
								)
952
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
953
						OR	(	(	@p_IS_TRANSFER='N' 
954
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
955
											AND A.AUTH_STATUS_KT <>'A'
956
								)
957
							)
958
						OR @p_IS_TRANSFER IS NULL 
959
						OR @p_IS_TRANSFER=''
960
					)	
961
				AND
962
				( /*0*/
963
				  A.MAKER_ID =@p_USER_LOGIN  
964
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
965
						AND A.AUTH_STATUS NOT IN ('E','R')
966
					 )
967
				  OR	(	@P_USER_LOGIN = 'xuanpt'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
968
							AND A.DEP_ID = 'DEP000000000014'
969
							AND A.BRANCH_ID = 'DV0001'
970
							AND A.AUTH_STATUS IN ('U','R', 'A')
971
							AND @p_TYPE_SEARCH ='HC'
972
						)
973
				  OR (	A.AUTH_STATUS <>'E' /*1*/
974
						AND
975
						(/*2*/
976
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
977
								AND @BRANCH_TYPE_LG ='HS'  
978
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
979
										OR (/*5*/
980
												EXISTS (	SELECT * 
981
															FROM @TABLE_ROLE 
982
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
983
													   )
984
												AND    (
985
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
986
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
987
															) 
988
															AND (	A.DEP_ID = @DEP_ID_LG 
989
																	OR  ( 
990
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
991
																			AND @p_USER_LOGIN ='cuongpv2'
992
																		) 
993
																	OR A.DEP_ID IN (
994
																						SELECT * 
995
																						FROM @DEP_AUTH
996
																					)
997
																)
998
														)
999
												AND ( 
1000
														A.TRASFER_USER_RECIVE IS NULL 
1001
														OR A.TRASFER_USER_RECIVE ='' 
1002
														OR (
1003
																A.TRASFER_USER_RECIVE IS NOT NULL 
1004
																AND A.TRASFER_USER_RECIVE <>'' 
1005
																AND A.PROCESS IS NOT NULL 
1006
																AND A.PROCESS <>''
1007
															)
1008
													)
1009
											)/*5*/
1010
										)/*4*/
1011
								)/*3*/
1012
							OR(/*trong 2*/
1013
									@p_TYPE_SEARCH ='HC' 
1014
									AND @BRANCH_TYPE_LG = 'CN' 
1015
									AND (
1016
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1017
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
1018
											AND
1019
												(
1020
													(
1021
														A.TRASFER_USER_RECIVE IS NOT NULL 
1022
														AND A.TRASFER_USER_RECIVE <>'' 
1023
														AND A.PROCESS IS NOT NULL 
1024
														AND A.PROCESS <>''
1025
													 ) 
1026
													OR A.TRASFER_USER_RECIVE ='' 
1027
													OR A.TRASFER_USER_RECIVE IS NULL
1028
												 )
1029
											OR (
1030
													(
1031
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1032
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
1033
															AND A.TRASFER_USER_RECIVE <>''
1034
													) 
1035
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1036
												)
1037
											AND A.BRANCH_ID =@p_BRANCH_ID
1038
										)
1039
								)
1040
							 OR
1041
								(
1042
									@p_TYPE_SEARCH ='HC' 
1043
									AND @BRANCH_TYPE_LG = 'PGD' 
1044
									AND (
1045
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1046
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
1047
										)
1048
								)
1049
							 OR
1050
								(
1051
									@p_TYPE_SEARCH ='HC' 
1052
									AND(
1053
											@ROLE_ID IN ('KSV','GDV','NVTC') 
1054
											OR @DEP_ID_LG ='DEP000000000022'
1055
										) 
1056
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1057
								)
1058
							OR	(
1059
									@p_TYPE_SEARCH='KT' 
1060
									AND @p_BRANCH_LOGIN ='DV0001' 
1061
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1062
								)
1063
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
1064
						)/*2*/
1065
				)/*1*/
1066
				  OR
1067
				  (
1068
						(
1069
							@ROLE_ID IN ('KSV','GDV','NVTC') 
1070
							OR @DEP_ID_LG ='DEP000000000022'
1071
						) 
1072
						AND @p_BRANCH_LOGIN ='DV0001' 
1073
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1074
				  )
1075
				  -- NEU DUOC UY QUYEN DUYỆT CHO 1 ĐƠN VỊ KHÁC HỘI SỞ THÌ CHỈ SETUP ĐƠN VỊ, KHÔNG CẦN SETUP PHÒNG BAN
1076
				  OR(	@p_TYPE_SEARCH ='HC' 
1077
						AND A.BRANCH_CREATE <> 'DV0001' 
1078
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1079
					)
1080
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
1081
				  OR (
1082
						@p_TYPE_SEARCH ='HC' 
1083
						AND @BRANCH_TYPE_LG <> 'HS' 
1084
						AND
1085
						EXISTS (
1086
									SELECT * 
1087
									FROM TR_REQ_ADVANCE_DT 
1088
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
1089
																					SELECT CONTRACT_ID 
1090
																					FROM TR_CONTRACT
1091
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
1092
																				  ) 
1093
									AND AUTH_STATUS_KT ='A'
1094
								)
1095
					)
1096
			 )/*0*/
1097
		ORDER BY  A.CREATE_DT DESC
1098
) COUNTER_TOP;WITH QUERY_DATA AS ( 
1099
        SELECT TOP(CONVERT(INT,@p_TOP)) A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
1100
		TL1.TLFullName APPROVE_FULLNAME,
1101
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
1102
		TL3.TLFullName APPROVE_FULLNAME_KT,
1103
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
1104
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
1105
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
1106
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
1107
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1108
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
1109
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
1110
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
1111
		--Luanlt--2019/10/15-Sửa AL,AL1
1112
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
1113
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
1114
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
1115
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
1116
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
1117
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
1118
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
1119
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1120
		AS BRANCH_NAME_CONTRACT,
1121
		--doanptt 300622
1122
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
1123
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
1124
			 ELSE TL2.TLNANME END AS EXEC_USER,
1125
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
1126
		PC3.TLNAME AS EXEC_USER_KT,
1127
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
1128
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
1129
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
1130
) AS __ROWNUM-- SELECT END
1131
        FROM TR_REQ_PAYMENT A
1132
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
1133
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
1134
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
1135
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
1136
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
1137
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
1138
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
1139
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
1140
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
1141
			 --Luanlt--2019/10/15-Sửa AL,AL1
1142
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
1143
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
1144
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
1145
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
1146
			 LEFT JOIN 
1147
			 (
1148
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
1149
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
1150
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
1151
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
1152
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
1153
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
1154
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
1155
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
1156
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
1157
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
1158
        WHERE 1=1 
1159
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
1160
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
1161
					OR @p_AUTH_STATUS='' 
1162
					OR @p_AUTH_STATUS IS NULL 
1163
					OR	(	@p_AUTH_STATUS = 'G' 
1164
							AND ISNULL(A.PROCESS, '') = '0' 
1165
							AND A.AUTH_STATUS = 'U'
1166
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
1167
						) 
1168
					OR	(	@p_AUTH_STATUS = 'W' 
1169
							AND ISNULL(A.PROCESS, '') = '' 
1170
							AND A.AUTH_STATUS = 'U'
1171
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
1172
						)
1173
				)
1174
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
1175
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL OR PC3.TLNAME = @p_MAKER_ID_KT)
1176
			  AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
1177
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
1178
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
1179
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
1180
												)
1181
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
1182
						OR	(	(	@p_LEVEL='UNIT' 
1183
									AND A.BRANCH_ID=@p_BRANCH_ID
1184
								)
1185
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
1186
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
1187
										EXISTS	(	SELECT * 
1188
													FROM TR_REQ_ADVANCE_DT 
1189
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
1190
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
1191
													AND AUTH_STATUS_KT ='A'
1192
												)
1193
									)
1194
							)
1195
					)
1196
			  AND	(	(	@p_LEVEL='ALL' 
1197
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
1198
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
1199
								)
1200
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
1201
						OR	(	(	@p_LEVEL='UNIT' 
1202
									AND A.BRANCH_ID=@p_BRANCH_ID
1203
								)
1204
								OR	(	@p_BRANCH_ID='' 
1205
										OR @p_BRANCH_ID IS NULL
1206
									)
1207
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
1208
																		AND EXISTS	(	SELECT * 
1209
																						FROM TR_REQ_ADVANCE_DT 
1210
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
1211
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
1212
																						AND AUTH_STATUS_KT ='A'
1213
																					)
1214
																	)
1215
							)
1216
					)
1217
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
1218
							AND @p_IS_UPDATE_KT='Y'
1219
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1220
						OR	(	(	A.MAKER_ID_KT IS NULL 
1221
									AND @p_IS_UPDATE_KT='N'
1222
								)
1223
							)
1224
							OR @p_IS_UPDATE_KT IS NULL 
1225
							OR @p_IS_UPDATE_KT='')
1226
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
1227
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
1228
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
1229
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
1230
              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)
1231
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
1232
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
1233
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
1234
			  --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 <>'')
1235
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
1236
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
1237
						OR @p_BRANCH_ID='' 
1238
						OR @p_BRANCH_ID IS NULL
1239
					)
1240
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
1241
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
1242
							OR @p_AUTH_STATUS_KT='' 
1243
							OR @p_AUTH_STATUS_KT IS NULL
1244
						) 
1245
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
1246
					)
1247
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
1248
			  --AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1249
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
1250
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
1251
			  AND  (
1252
						(
1253
							@p_FUNCTION ='KT' 
1254
							AND (
1255
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
1256
									AND (
1257
											X.TLNAME= @p_USER_LOGIN 
1258
											OR X.TLNAME =@p_EXEC_USER_KT)
1259
										)
1260
								) 
1261
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
1262
							OR A.CHECKER_ID_KT ='admin' 
1263
							OR A.AUTH_STATUS_KT='A' 
1264
						)
1265
						OR @p_FUNCTION ='' 
1266
						OR @p_FUNCTION IS NULL 
1267
						OR @p_FUNCTION ='TF' 
1268
					)	  
1269
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)
1270
			 -- AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
1271
				AND	(	(	@p_IS_TRANSFER='Y' 
1272
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
1273
									OR A.AUTH_STATUS_KT ='A'
1274
								)
1275
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
1276
						OR	(	(	@p_IS_TRANSFER='N' 
1277
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
1278
											AND A.AUTH_STATUS_KT <>'A'
1279
								)
1280
							)
1281
						OR @p_IS_TRANSFER IS NULL 
1282
						OR @p_IS_TRANSFER=''
1283
					)	
1284
				AND
1285
				( /*0*/
1286
				  A.MAKER_ID =@p_USER_LOGIN  
1287
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
1288
						AND A.AUTH_STATUS NOT IN ('E','R')
1289
					 )
1290
				  OR	(	@P_USER_LOGIN = 'xuanpt'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
1291
							AND A.DEP_ID = 'DEP000000000014'
1292
							AND A.BRANCH_ID = 'DV0001'
1293
							AND A.AUTH_STATUS IN ('U','R', 'A')
1294
							AND @p_TYPE_SEARCH ='HC'
1295
						)
1296
				  OR (	A.AUTH_STATUS <>'E' /*1*/
1297
						AND
1298
						(/*2*/
1299
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
1300
								AND @BRANCH_TYPE_LG ='HS'  
1301
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1302
										OR (/*5*/
1303
												EXISTS (	SELECT * 
1304
															FROM @TABLE_ROLE 
1305
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
1306
													   )
1307
												AND    (
1308
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
1309
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1310
															) 
1311
															AND (	A.DEP_ID = @DEP_ID_LG 
1312
																	OR  ( 
1313
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
1314
																			AND @p_USER_LOGIN ='cuongpv2'
1315
																		) 
1316
																	OR A.DEP_ID IN (
1317
																						SELECT * 
1318
																						FROM @DEP_AUTH
1319
																					)
1320
																)
1321
														)
1322
												AND ( 
1323
														A.TRASFER_USER_RECIVE IS NULL 
1324
														OR A.TRASFER_USER_RECIVE ='' 
1325
														OR (
1326
																A.TRASFER_USER_RECIVE IS NOT NULL 
1327
																AND A.TRASFER_USER_RECIVE <>'' 
1328
																AND A.PROCESS IS NOT NULL 
1329
																AND A.PROCESS <>''
1330
															)
1331
													)
1332
											)/*5*/
1333
										)/*4*/
1334
								)/*3*/
1335
							OR(/*trong 2*/
1336
									@p_TYPE_SEARCH ='HC' 
1337
									AND @BRANCH_TYPE_LG = 'CN' 
1338
									AND (
1339
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1340
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
1341
											AND
1342
												(
1343
													(
1344
														A.TRASFER_USER_RECIVE IS NOT NULL 
1345
														AND A.TRASFER_USER_RECIVE <>'' 
1346
														AND A.PROCESS IS NOT NULL 
1347
														AND A.PROCESS <>''
1348
													 ) 
1349
													OR A.TRASFER_USER_RECIVE ='' 
1350
													OR A.TRASFER_USER_RECIVE IS NULL
1351
												 )
1352
											OR (
1353
													(
1354
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1355
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
1356
															AND A.TRASFER_USER_RECIVE <>''
1357
													) 
1358
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1359
												)
1360
											AND A.BRANCH_ID =@p_BRANCH_ID
1361
										)
1362
								)
1363
							 OR
1364
								(
1365
									@p_TYPE_SEARCH ='HC' 
1366
									AND @BRANCH_TYPE_LG = 'PGD' 
1367
									AND (
1368
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1369
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
1370
										)
1371
								)
1372
							 OR
1373
								(
1374
									@p_TYPE_SEARCH ='HC' 
1375
									AND(
1376
											@ROLE_ID IN ('KSV','GDV','NVTC') 
1377
											OR @DEP_ID_LG ='DEP000000000022'
1378
										) 
1379
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1380
								)
1381
							OR	(
1382
									@p_TYPE_SEARCH='KT' 
1383
									AND @p_BRANCH_LOGIN ='DV0001' 
1384
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1385
								)
1386
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
1387
						)/*2*/
1388
				)/*1*/
1389
				  OR
1390
				  (
1391
						(
1392
							@ROLE_ID IN ('KSV','GDV','NVTC') 
1393
							OR @DEP_ID_LG ='DEP000000000022'
1394
						) 
1395
						AND @p_BRANCH_LOGIN ='DV0001' 
1396
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1397
				  )
1398
				  -- NEU DUOC UY QUYEN DUYỆT CHO 1 ĐƠN VỊ KHÁC HỘI SỞ THÌ CHỈ SETUP ĐƠN VỊ, KHÔNG CẦN SETUP PHÒNG BAN
1399
				  OR(	@p_TYPE_SEARCH ='HC' 
1400
						AND A.BRANCH_CREATE <> 'DV0001' 
1401
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1402
					)
1403
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
1404
				  OR (
1405
						@p_TYPE_SEARCH ='HC' 
1406
						AND @BRANCH_TYPE_LG <> 'HS' 
1407
						AND
1408
						EXISTS (
1409
									SELECT * 
1410
									FROM TR_REQ_ADVANCE_DT 
1411
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
1412
																					SELECT CONTRACT_ID 
1413
																					FROM TR_CONTRACT
1414
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
1415
																				  ) 
1416
									AND AUTH_STATUS_KT ='A'
1417
								)
1418
					)
1419
			 )/*0*/
1420
		ORDER BY  A.CREATE_DT DESC
1421
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
1422
END-- PAGING END
1423
    END;
1424

    
1425
go