Project

General

Profile

pay_search_231222.txt

Luc Tran Van, 12/23/2022 01:49 PM

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