Project

General

Profile

PAY_seach.txt

Luc Tran Van, 12/20/2022 02:00 PM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQ_PAYMENT_Search]
3
@p_REQ_PAY_ID	varchar(15)= NULL,
4
@p_REQ_PAY_CODE	varchar(50)	= NULL,
5
@p_REQ_DT VARCHAR(20)= NULL,
6
@p_BRANCH_ID	varchar(15)	= NULL,
7
@p_DEP_ID	varchar(15)	= NULL,
8
@p_REQ_REASON	nvarchar(MAX)	= NULL,
9
@p_REQ_TYPE	varchar(15)	= NULL,
10
@P_REQ_ENTRIES nvarchar(MAX)	= NULL,
11
@p_REQ_DESCRIPTION	nvarchar(MAX)	= NULL,
12
@p_REF_ID	varchar(15)	= NULL,
13
@p_RECEIVER_PO	nvarchar(250)	= NULL,
14
@p_REQ_PAY_TYPE	varchar(15)	= NULL,
15
@p_REQ_TYPE_CURRENCY	nvarchar(50)	= NULL,
16
@p_REQ_AMT	decimal(18, 0)	= NULL,
17
@p_REQ_TEMP_AMT	decimal(18, 0)	= NULL,
18
@p_MAKER_ID	varchar(15)	= NULL,
19
@p_CREATE_DT	varchar(25)	= NULL,
20
@p_EDITOR_ID	varchar(15)	= NULL,
21
@p_AUTH_STATUS	varchar(1)	= NULL,
22
@p_CHECKER_ID	varchar(15)	= NULL,
23
@p_APPROVE_DT	varchar(25)	= NULL,
24
@p_CREATE_DT_KT	varchar(25)	= NULL,
25
@p_MAKER_ID_KT	varchar(15)	= NULL,
26
@p_AUTH_STATUS_KT	varchar(1)	= NULL,
27
@p_CHECKER_ID_KT	nvarchar(20)	= NULL,
28
@p_EXEC_USER_KT	nvarchar(20)	= NULL,
29
@p_APPROVE_DT_KT  varchar(25)= null,
30
@p_CONFIRM_NOTE	nvarchar(500)	= NULL,
31
@p_BRANCH_CREATE	varchar(15)	= NULL,
32
@p_NOTES	varchar(15)	= NULL,
33
@p_RECORD_STATUS	varchar(1)	= NULL,
34
@p_TRANSFER_MAKER	nvarchar(50)	= NULL,
35
@p_TRANSFER_DT	varchar(25)	= NULL,
36
@p_TRASFER_USER_RECIVE	varchar(15)	= NULL,
37
@p_PROCESS	varchar(15)	= NULL,
38
@p_PAY_PHASE VARCHAR(15) = NULL,
39
@p_TOP INT = 300,
40
@p_LEVEL varchar(10) = NULL,
41
@p_FRMDATE VARCHAR(20)= NULL,
42
@p_TODATE VARCHAR(20) = NULL,
43
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
44
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
45
@P_IS_TRANSFER VARCHAR(15) = NULL,
46
@p_TERM_ID VARCHAR(15) = NULL,
47
@P_USER_LOGIN VARCHAR(15)= NULL,
48
@p_FUNCTION VARCHAR(15) = NULL,
49
@p_TYPE_SEARCH VARCHAR(15) = NULL
50
AS
51
BEGIN -- PAGING
52
--SET @p_TOP = NULL
53
declare @tmp table(BRANCH_ID varchar(15))
54
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
55
declare @tmp_Login table(BRANCH_ID varchar(15))
56
insert into @tmp_Login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
57
DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15)
58
DECLARE @BRANCH_TYPE VARCHAR(15)
59
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))
60
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
61
SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
62
DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))
63
SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
64
SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
65
INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B  WHERE COST_ID =@COST_LG
66
DECLARE @BRANCH_TYPE_LG VARCHAR(15)
67
SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
68
-- KHAI BAO NHUNG PHONG BAN MA 1 USER KIEM NHIEM
69
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
70
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
71
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@P_USER_LOGIN  
72
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
73
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
74
DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))
75
INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
76
INSERT INTO @DEP_AUTH SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND 
77
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
78
--- LUCTV 19.10.2022 BO SUNG THEM PHONG BAN CHA SE THAY DANH SACH PHONG BAN CON
79
INSERT INTO @DEP_AUTH SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
80
-- KHAI BAO PHẦN ỦY QUYỀN ĐƠN VỊ
81
DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
82
INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
83
INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND 
84
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
85
--- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
86
DECLARE @DATE DATE
87
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
88
BEGIN
89
	--DECLARE @MONTH INT, @YEAR INT
90
	--SET @MONTH = MONTH(GETDATE()) -1
91
	--SET @YEAR = YEAR(GETDATE())
92
	--BEGIN
93
	--	SET @p_FRMDATE ='01/'+CONVERT(VARCHAR,@MONTH,5) +'/'+ CONVERT(VARCHAR,@YEAR,5)
94
	--END
95

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

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

    
121
IF(@p_TOP IS NULL OR @p_TOP=0)
122
BEGIN
123
-- PAGING BEGIN
124
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
125
		TL1.TLFullName APPROVE_FULLNAME,
126
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
127
		TL3.TLFullName APPROVE_FULLNAME_KT,
128
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
129
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
130
										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 
131
										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 
132
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
133
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
134
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
135
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
136
		--Luanlt--2019/10/15-Sửa AL,AL1
137
		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, 
138
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
139
		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,
140
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
141
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
142
		@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,
143
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
144
		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))),'')
145
		AS BRANCH_NAME_CONTRACT,
146
		--doanptt 300622
147
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
148
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
149
			 ELSE TL2.TLNANME END AS EXEC_USER,
150
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
151
		PC3.TLNAME AS EXEC_USER_KT,
152
		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())
153
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
154
-- SELECT END
155
        FROM TR_REQ_PAYMENT A
156
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
157
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
158
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
159
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
160
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
161
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
162
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
163
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
164
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
165
			 --Luanlt--2019/10/15-Sửa AL,AL1
166
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
167
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
168
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
169
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
170
			 LEFT JOIN 
171
			 (
172
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
173
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
174
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
175
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
176
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
177
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
178
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
179
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
180
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
181
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
182
        WHERE 1=1 
183
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
184
			  AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.PROCESS, '') = '0') OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.PROCESS, '') = ''))
185
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
186
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)
187
			  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)
188
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
189
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
190
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
191
												)
192
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
193
						OR	(	(	@p_LEVEL='UNIT' 
194
									AND A.BRANCH_ID=@p_BRANCH_ID
195
								)
196
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
197
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
198
										EXISTS	(	SELECT * 
199
													FROM TR_REQ_ADVANCE_DT 
200
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
201
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
202
													AND AUTH_STATUS_KT ='A'
203
												)
204
									)
205
							)
206
					)
207
			  AND	(	(	@p_LEVEL='ALL' 
208
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
209
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
210
								)
211
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
212
						OR	(	(	@p_LEVEL='UNIT' 
213
									AND A.BRANCH_ID=@p_BRANCH_ID
214
								)
215
								OR	(	@p_BRANCH_ID='' 
216
										OR @p_BRANCH_ID IS NULL
217
									)
218
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
219
																		AND EXISTS	(	SELECT * 
220
																						FROM TR_REQ_ADVANCE_DT 
221
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
222
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
223
																						AND AUTH_STATUS_KT ='A'
224
																					)
225
																	)
226
							)
227
					)
228
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
229
							AND @p_IS_UPDATE_KT='Y'
230
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
231
						OR	(	(	A.MAKER_ID_KT IS NULL 
232
									AND @p_IS_UPDATE_KT='N'
233
								)
234
							)
235
							OR @p_IS_UPDATE_KT IS NULL 
236
							OR @p_IS_UPDATE_KT='')
237
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
238
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
239
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
240
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
241
              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)
242
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
243
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
244
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
245
			  --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 <>'')
246
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
247
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
248
						OR @p_BRANCH_ID='' 
249
						OR @p_BRANCH_ID IS NULL
250
					)
251
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
252
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
253
							OR @p_AUTH_STATUS_KT='' 
254
							OR @p_AUTH_STATUS_KT IS NULL
255
						) 
256
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
257
					)
258
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
259
			  --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
260
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
261
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
262
			  AND  (
263
						(
264
							@p_FUNCTION ='KT' 
265
							AND (
266
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
267
									AND (
268
											X.TLNAME= @p_USER_LOGIN 
269
											OR X.TLNAME =@p_EXEC_USER_KT)
270
										)
271
								) 
272
							OR A.CHECKER_ID_KT ='admin' 
273
							OR A.AUTH_STATUS_KT='A' 
274
						)
275
						OR @p_FUNCTION ='' 
276
						OR @p_FUNCTION IS NULL 
277
						OR @p_FUNCTION ='TF' 
278
					)	  
279
				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)
280
			 -- 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 ='')
281
				AND	(	(	@p_IS_TRANSFER='Y' 
282
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
283
									OR A.AUTH_STATUS_KT ='A'
284
								)
285
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
286
						OR	(	(	@p_IS_TRANSFER='N' 
287
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
288
											AND A.AUTH_STATUS_KT <>'A'
289
								)
290
							)
291
						OR @p_IS_TRANSFER IS NULL 
292
						OR @p_IS_TRANSFER=''
293
					)	
294
				AND
295
				( /*0*/
296
				  A.MAKER_ID =@p_USER_LOGIN  
297
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
298
						AND A.AUTH_STATUS NOT IN ('E','R')
299
					 )
300
				  OR	(	@P_USER_LOGIN = 'xuanpt'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
301
							AND A.DEP_ID = 'DEP000000000014'
302
							AND A.BRANCH_ID = 'DV0001'
303
							AND A.AUTH_STATUS IN ('U','R', 'A')
304
						)
305
				  OR (	A.AUTH_STATUS <>'E' /*1*/
306
						AND
307
						(/*2*/
308
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
309
								AND @BRANCH_TYPE_LG ='HS'  
310
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
311
										OR (/*5*/
312
												EXISTS (	SELECT * 
313
															FROM @TABLE_ROLE 
314
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
315
													   )
316
												AND    (
317
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
318
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
319
															) 
320
															AND (	A.DEP_ID = @DEP_ID_LG 
321
																	OR  ( 
322
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
323
																			AND @p_USER_LOGIN ='cuongpv2'
324
																		) 
325
																	OR A.DEP_ID IN (
326
																						SELECT * 
327
																						FROM @DEP_AUTH
328
																					)
329
																)
330
														)
331
												AND ( 
332
														A.TRASFER_USER_RECIVE IS NULL 
333
														OR A.TRASFER_USER_RECIVE ='' 
334
														OR (
335
																A.TRASFER_USER_RECIVE IS NOT NULL 
336
																AND A.TRASFER_USER_RECIVE <>'' 
337
																AND A.PROCESS IS NOT NULL 
338
																AND A.PROCESS <>''
339
															)
340
													)
341
											)/*5*/
342
										)/*4*/
343
								)/*3*/
344
							OR(/*trong 2*/
345
									@p_TYPE_SEARCH ='HC' 
346
									AND @BRANCH_TYPE_LG = 'CN' 
347
									AND (
348
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
349
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
350
											AND
351
												(
352
													(
353
														A.TRASFER_USER_RECIVE IS NOT NULL 
354
														AND A.TRASFER_USER_RECIVE <>'' 
355
														AND A.PROCESS IS NOT NULL 
356
														AND A.PROCESS <>''
357
													 ) 
358
													OR A.TRASFER_USER_RECIVE ='' 
359
													OR A.TRASFER_USER_RECIVE IS NULL
360
												 )
361
											OR (
362
													(
363
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
364
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
365
															AND A.TRASFER_USER_RECIVE <>''
366
													) 
367
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
368
												)
369
											AND A.BRANCH_ID =@p_BRANCH_ID
370
										)
371
								)
372
							 OR
373
								(
374
									@p_TYPE_SEARCH ='HC' 
375
									AND @BRANCH_TYPE_LG = 'PGD' 
376
									AND (
377
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
378
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
379
										)
380
								)
381
							 OR
382
								(
383
									@p_TYPE_SEARCH ='HC' 
384
									AND(
385
											@ROLE_ID IN ('KSV','GDV','NVTC') 
386
											OR @DEP_ID_LG ='DEP000000000022'
387
										) 
388
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
389
								)
390
							OR	(
391
									@p_TYPE_SEARCH='KT' 
392
									AND @p_BRANCH_LOGIN ='DV0001' 
393
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
394
								)
395
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
396
						)/*2*/
397
				)/*1*/
398
				  OR
399
				  (
400
						(
401
							@ROLE_ID IN ('KSV','GDV','NVTC') 
402
							OR @DEP_ID_LG ='DEP000000000022'
403
						) 
404
						AND @p_BRANCH_LOGIN ='DV0001' 
405
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
406
				  )
407
				  -- 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
408
				  OR(	@p_TYPE_SEARCH ='HC' 
409
						AND A.BRANCH_CREATE <> 'DV0001' 
410
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
411
					)
412
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
413
				  OR (
414
						@p_TYPE_SEARCH ='HC' 
415
						AND @BRANCH_TYPE_LG <> 'HS' 
416
						AND
417
						EXISTS (
418
									SELECT * 
419
									FROM TR_REQ_ADVANCE_DT 
420
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
421
																					SELECT CONTRACT_ID 
422
																					FROM TR_CONTRACT
423
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
424
																				  ) 
425
									AND AUTH_STATUS_KT ='A'
426
								)
427
					)
428
			 )/*0*/
429
		ORDER BY A.CREATE_DT DESC
430
-- PAGING END
431
    END;
432
    ELSE 
433
	BEGIN
434
-- PAGING BEGIN
435
        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,
436
		TL1.TLFullName APPROVE_FULLNAME,
437
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
438
		TL3.TLFullName APPROVE_FULLNAME_KT,
439
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
440
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
441
										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 
442
										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 
443
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
444
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
445
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
446
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
447
		--Luanlt--2019/10/15-Sửa AL,AL1
448
		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, 
449
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
450
		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,
451
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
452
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
453
		@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,
454
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
455
		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))),'')
456
		AS BRANCH_NAME_CONTRACT,
457
		--doanptt 300622
458
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
459
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
460
			 ELSE TL2.TLNANME END AS EXEC_USER,
461
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
462
		PC3.TLNAME AS EXEC_USER_KT,
463
		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())
464
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
465
-- SELECT END
466
        FROM TR_REQ_PAYMENT A
467
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
468
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
469
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
470
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
471
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
472
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
473
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
474
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
475
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
476
			 --Luanlt--2019/10/15-Sửa AL,AL1
477
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
478
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
479
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
480
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
481
			 LEFT JOIN 
482
			 (
483
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
484
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
485
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
486
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
487
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
488
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
489
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
490
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
491
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
492
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
493
        WHERE 1=1 
494
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
495
			  AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.PROCESS, '') = '0') OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.PROCESS, '') = ''))
496
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
497
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)
498
			  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)
499
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
500
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
501
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
502
												)
503
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
504
						OR	(	(	@p_LEVEL='UNIT' 
505
									AND A.BRANCH_ID=@p_BRANCH_ID
506
								)
507
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
508
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
509
										EXISTS	(	SELECT * 
510
													FROM TR_REQ_ADVANCE_DT 
511
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
512
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
513
													AND AUTH_STATUS_KT ='A'
514
												)
515
									)
516
							)
517
					)
518
			  AND	(	(	@p_LEVEL='ALL' 
519
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
520
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
521
								)
522
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
523
						OR	(	(	@p_LEVEL='UNIT' 
524
									AND A.BRANCH_ID=@p_BRANCH_ID
525
								)
526
								OR	(	@p_BRANCH_ID='' 
527
										OR @p_BRANCH_ID IS NULL
528
									)
529
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
530
																		AND EXISTS	(	SELECT * 
531
																						FROM TR_REQ_ADVANCE_DT 
532
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
533
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
534
																						AND AUTH_STATUS_KT ='A'
535
																					)
536
																	)
537
							)
538
					)
539
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
540
							AND @p_IS_UPDATE_KT='Y'
541
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
542
						OR	(	(	A.MAKER_ID_KT IS NULL 
543
									AND @p_IS_UPDATE_KT='N'
544
								)
545
							)
546
							OR @p_IS_UPDATE_KT IS NULL 
547
							OR @p_IS_UPDATE_KT='')
548
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
549
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
550
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
551
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
552
              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)
553
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
554
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
555
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
556
			  --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 <>'')
557
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
558
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
559
						OR @p_BRANCH_ID='' 
560
						OR @p_BRANCH_ID IS NULL
561
					)
562
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
563
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
564
							OR @p_AUTH_STATUS_KT='' 
565
							OR @p_AUTH_STATUS_KT IS NULL
566
						) 
567
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
568
					)
569
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
570
			  --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
571
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
572
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
573
			  AND  (
574
						(
575
							@p_FUNCTION ='KT' 
576
							AND (
577
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
578
									AND (
579
											X.TLNAME= @p_USER_LOGIN 
580
											OR X.TLNAME =@p_EXEC_USER_KT)
581
										)
582
								) 
583
							OR A.CHECKER_ID_KT ='admin' 
584
							OR A.AUTH_STATUS_KT='A' 
585
						)
586
						OR @p_FUNCTION ='' 
587
						OR @p_FUNCTION IS NULL 
588
						OR @p_FUNCTION ='TF' 
589
					)	  
590
				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)
591
			 -- 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 ='')
592
				AND	(	(	@p_IS_TRANSFER='Y' 
593
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
594
									OR A.AUTH_STATUS_KT ='A'
595
								)
596
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
597
						OR	(	(	@p_IS_TRANSFER='N' 
598
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
599
											AND A.AUTH_STATUS_KT <>'A'
600
								)
601
							)
602
						OR @p_IS_TRANSFER IS NULL 
603
						OR @p_IS_TRANSFER=''
604
					)	
605
				AND
606
				( /*0*/
607
				  A.MAKER_ID =@p_USER_LOGIN  
608
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
609
						AND A.AUTH_STATUS NOT IN ('E','R')
610
					 )
611
				  OR	(	@P_USER_LOGIN = 'xuanpt'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
612
							AND A.DEP_ID = 'DEP000000000014'
613
							AND A.BRANCH_ID = 'DV0001'
614
							AND A.AUTH_STATUS IN ('U','R', 'A')
615
						)
616
				  OR (	A.AUTH_STATUS <>'E' /*1*/
617
						AND
618
						(/*2*/
619
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
620
								AND @BRANCH_TYPE_LG ='HS'  
621
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
622
										OR (/*5*/
623
												EXISTS (	SELECT * 
624
															FROM @TABLE_ROLE 
625
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
626
													   )
627
												AND    (
628
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
629
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
630
															) 
631
															AND (	A.DEP_ID = @DEP_ID_LG 
632
																	OR  ( 
633
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
634
																			AND @p_USER_LOGIN ='cuongpv2'
635
																		) 
636
																	OR A.DEP_ID IN (
637
																						SELECT * 
638
																						FROM @DEP_AUTH
639
																					)
640
																)
641
														)
642
												AND ( 
643
														A.TRASFER_USER_RECIVE IS NULL 
644
														OR A.TRASFER_USER_RECIVE ='' 
645
														OR (
646
																A.TRASFER_USER_RECIVE IS NOT NULL 
647
																AND A.TRASFER_USER_RECIVE <>'' 
648
																AND A.PROCESS IS NOT NULL 
649
																AND A.PROCESS <>''
650
															)
651
													)
652
											)/*5*/
653
										)/*4*/
654
								)/*3*/
655
							OR(/*trong 2*/
656
									@p_TYPE_SEARCH ='HC' 
657
									AND @BRANCH_TYPE_LG = 'CN' 
658
									AND (
659
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
660
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
661
											AND
662
												(
663
													(
664
														A.TRASFER_USER_RECIVE IS NOT NULL 
665
														AND A.TRASFER_USER_RECIVE <>'' 
666
														AND A.PROCESS IS NOT NULL 
667
														AND A.PROCESS <>''
668
													 ) 
669
													OR A.TRASFER_USER_RECIVE ='' 
670
													OR A.TRASFER_USER_RECIVE IS NULL
671
												 )
672
											OR (
673
													(
674
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
675
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
676
															AND A.TRASFER_USER_RECIVE <>''
677
													) 
678
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
679
												)
680
											AND A.BRANCH_ID =@p_BRANCH_ID
681
										)
682
								)
683
							 OR
684
								(
685
									@p_TYPE_SEARCH ='HC' 
686
									AND @BRANCH_TYPE_LG = 'PGD' 
687
									AND (
688
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
689
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
690
										)
691
								)
692
							 OR
693
								(
694
									@p_TYPE_SEARCH ='HC' 
695
									AND(
696
											@ROLE_ID IN ('KSV','GDV','NVTC') 
697
											OR @DEP_ID_LG ='DEP000000000022'
698
										) 
699
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
700
								)
701
							OR	(
702
									@p_TYPE_SEARCH='KT' 
703
									AND @p_BRANCH_LOGIN ='DV0001' 
704
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
705
								)
706
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
707
						)/*2*/
708
				)/*1*/
709
				  OR
710
				  (
711
						(
712
							@ROLE_ID IN ('KSV','GDV','NVTC') 
713
							OR @DEP_ID_LG ='DEP000000000022'
714
						) 
715
						AND @p_BRANCH_LOGIN ='DV0001' 
716
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
717
				  )
718
				  -- 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
719
				  OR(	@p_TYPE_SEARCH ='HC' 
720
						AND A.BRANCH_CREATE <> 'DV0001' 
721
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
722
					)
723
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
724
				  OR (
725
						@p_TYPE_SEARCH ='HC' 
726
						AND @BRANCH_TYPE_LG <> 'HS' 
727
						AND
728
						EXISTS (
729
									SELECT * 
730
									FROM TR_REQ_ADVANCE_DT 
731
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
732
																					SELECT CONTRACT_ID 
733
																					FROM TR_CONTRACT
734
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
735
																				  ) 
736
									AND AUTH_STATUS_KT ='A'
737
								)
738
					)
739
			 )/*0*/
740
		ORDER BY A.CREATE_DT DESC
741
-- PAGING END
742
    END;
743
END -- PAGING