Project

General

Profile

PAY_SEARCH_011022.txt

Luc Tran Van, 01/10/2023 03:54 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
	--DOANPTT: XAC DINH USER CO DUOC XEM HET PHIEU DE NGHI THANH TOAN CUA PHONG MINH HAY KHONG
103
	DECLARE @IS_SEE_ALL_HC VARCHAR(1) 
104
	IF((SELECT COUNT(*) FROM PL_ROLE_DATA_CONFIG WHERE BRANCH_ID = @P_USER_LOGIN AND ROLE_TYPE = 'TR_REQ_PAYMENT') > 0)
105
	BEGIN
106
		SET @IS_SEE_ALL_HC = 'Y'
107
	END
108
	ELSE
109
	BEGIN
110
		SET @IS_SEE_ALL_HC = 'N'
111
	END
112

    
113
-- HẾT KHAI BÁO
114
SET  @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
115
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'))
116
BEGIN
117
	PRINT @ROLE_ID
118
END
119
ELSE
120
BEGIN
121
	SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
122
	IF(@ROLE_ID IS NULL OR @ROLE_ID ='')
123
	BEGIN
124
			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))
125
	END
126
END
127
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)--2021823
128
--SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
129

    
130
IF(@p_TOP IS NULL OR @p_TOP=0)
131
BEGIN
132
-- PAGING BEGIN
133
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
134
		TL1.TLFullName APPROVE_FULLNAME,
135
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
136
		TL3.TLFullName APPROVE_FULLNAME_KT,
137
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
138
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
139
										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 
140
										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 
141
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
142
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
143
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
144
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
145
		--Luanlt--2019/10/15-Sửa AL,AL1
146
		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, 
147
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
148
		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,
149
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
150
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
151
		@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,
152
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
153
		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))),'')
154
		AS BRANCH_NAME_CONTRACT,
155
		--doanptt 300622
156
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
157
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
158
			 ELSE TL2.TLNANME END AS EXEC_USER,
159
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
160
		PC3.TLNAME AS EXEC_USER_KT,
161
		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())
162
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
163
-- SELECT END
164
        FROM TR_REQ_PAYMENT A
165
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
166
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
167
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
168
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
169
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
170
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
171
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
172
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
173
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
174
			 --Luanlt--2019/10/15-Sửa AL,AL1
175
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
176
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
177
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
178
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
179
			 LEFT JOIN 
180
			 (
181
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
182
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
183
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
184
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
185
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
186
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
187
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
188
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
189
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
190
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
191
        WHERE 1=1 
192
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
193
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
194
					OR @p_AUTH_STATUS='' 
195
					OR @p_AUTH_STATUS IS NULL 
196
					OR	(	@p_AUTH_STATUS = 'G' 
197
							AND ISNULL(A.PROCESS, '') = '0' 
198
							AND A.AUTH_STATUS = 'U'
199
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
200
						) 
201
					OR	(	@p_AUTH_STATUS = 'W' 
202
							AND ISNULL(A.PROCESS, '') = '' 
203
							AND A.AUTH_STATUS = 'U'
204
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
205
						)
206
				)
207
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
208
			  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)
209
			  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)
210
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
211
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
212
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
213
												)
214
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
215
						OR	(	(	@p_LEVEL='UNIT' 
216
									AND A.BRANCH_ID=@p_BRANCH_ID
217
								)
218
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
219
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
220
										EXISTS	(	SELECT * 
221
													FROM TR_REQ_ADVANCE_DT 
222
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
223
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
224
													AND AUTH_STATUS_KT ='A'
225
												)
226
									)
227
							)
228
					)
229
			  AND	(	(	@p_LEVEL='ALL' 
230
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
231
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
232
								)
233
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
234
						OR	(	(	@p_LEVEL='UNIT' 
235
									AND A.BRANCH_ID=@p_BRANCH_ID
236
								)
237
								OR	(	@p_BRANCH_ID='' 
238
										OR @p_BRANCH_ID IS NULL
239
									)
240
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
241
																		AND EXISTS	(	SELECT * 
242
																						FROM TR_REQ_ADVANCE_DT 
243
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
244
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
245
																						AND AUTH_STATUS_KT ='A'
246
																					)
247
																	)
248
							)
249
					)
250
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
251
							AND @p_IS_UPDATE_KT='Y'
252
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
253
						OR	(	(	A.MAKER_ID_KT IS NULL 
254
									AND @p_IS_UPDATE_KT='N'
255
								)
256
							)
257
							OR @p_IS_UPDATE_KT IS NULL 
258
							OR @p_IS_UPDATE_KT='')
259
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
260
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
261
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
262
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
263
              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)
264
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
265
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
266
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
267
			  --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 <>'')
268
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
269
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
270
						OR @p_BRANCH_ID='' 
271
						OR @p_BRANCH_ID IS NULL
272
					)
273
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
274
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
275
							OR @p_AUTH_STATUS_KT='' 
276
							OR @p_AUTH_STATUS_KT IS NULL
277
						) 
278
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
279
					)
280
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
281
			  --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
282
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
283
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
284
			  AND  (
285
						(
286
							@p_FUNCTION ='KT' 
287
							AND (
288
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
289
									AND (
290
											X.TLNAME= @p_USER_LOGIN 
291
											OR X.TLNAME =@p_EXEC_USER_KT)
292
										)
293
								) 
294
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
295
							OR A.CHECKER_ID_KT ='admin' 
296
							OR A.AUTH_STATUS_KT='A' 
297
						)
298
						OR @p_FUNCTION ='' 
299
						OR @p_FUNCTION IS NULL 
300
						OR @p_FUNCTION ='TF' 
301
					)	  
302
				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)
303
			 -- 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 ='')
304
				AND	(	(	@p_IS_TRANSFER='Y' 
305
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
306
									OR A.AUTH_STATUS_KT ='A'
307
								)
308
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
309
						OR	(	(	@p_IS_TRANSFER='N' 
310
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
311
											AND A.AUTH_STATUS_KT <>'A'
312
								)
313
							)
314
						OR @p_IS_TRANSFER IS NULL 
315
						OR @p_IS_TRANSFER=''
316
					)	
317
				AND
318
				( /*0*/
319
				  A.MAKER_ID =@p_USER_LOGIN  
320
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
321
						AND A.AUTH_STATUS NOT IN ('E','R')
322
					 )
323
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
324
								AND A.DEP_ID = @DEP_ID_LG
325
								AND A.BRANCH_ID = 'DV0001'
326
								AND A.AUTH_STATUS IN ('U','R', 'A')
327
								AND @p_TYPE_SEARCH ='HC'
328
							)
329
							OR	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
330
									AND A.BRANCH_ID = @p_BRANCH_LOGIN
331
									AND A.AUTH_STATUS IN ('U','R', 'A')
332
									AND @p_TYPE_SEARCH ='HC'
333
								)
334

    
335
						)
336
				  OR (	A.AUTH_STATUS <>'E' /*1*/
337
						AND
338
						(/*2*/
339
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
340
								AND @BRANCH_TYPE_LG ='HS'  
341
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
342
										OR (/*5*/
343
												EXISTS (	SELECT * 
344
															FROM @TABLE_ROLE 
345
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
346
													   )
347
												AND    (
348
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
349
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
350
															) 
351
															AND (	A.DEP_ID = @DEP_ID_LG 
352
																	OR  ( 
353
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
354
																			AND @p_USER_LOGIN ='cuongpv2'
355
																		) 
356
																	OR A.DEP_ID IN (
357
																						SELECT * 
358
																						FROM @DEP_AUTH
359
																					)
360
																)
361
														)
362
												AND ( 
363
														A.TRASFER_USER_RECIVE IS NULL 
364
														OR A.TRASFER_USER_RECIVE ='' 
365
														OR (
366
																A.TRASFER_USER_RECIVE IS NOT NULL 
367
																AND A.TRASFER_USER_RECIVE <>'' 
368
																AND A.PROCESS IS NOT NULL 
369
																AND A.PROCESS <>''
370
															)
371
													)
372
											)/*5*/
373
										)/*4*/
374
								)/*3*/
375
							OR(/*trong 2*/
376
									@p_TYPE_SEARCH ='HC' 
377
									AND @BRANCH_TYPE_LG = 'CN' 
378
									AND (
379
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
380
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
381
											AND
382
												(
383
													(
384
														A.TRASFER_USER_RECIVE IS NOT NULL 
385
														AND A.TRASFER_USER_RECIVE <>'' 
386
														AND A.PROCESS IS NOT NULL 
387
														AND A.PROCESS <>''
388
													 ) 
389
													OR A.TRASFER_USER_RECIVE ='' 
390
													OR A.TRASFER_USER_RECIVE IS NULL
391
												 )
392
											OR (
393
													(
394
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
395
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
396
															AND A.TRASFER_USER_RECIVE <>''
397
													) 
398
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
399
												)
400
											AND A.BRANCH_ID =@p_BRANCH_ID
401
										)
402
								)
403
							 OR
404
								(
405
									@p_TYPE_SEARCH ='HC' 
406
									AND @BRANCH_TYPE_LG = 'PGD' 
407
									AND (
408
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
409
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
410
										)
411
								)
412
							 OR
413
								(
414
									@p_TYPE_SEARCH ='HC' 
415
									AND(
416
											@ROLE_ID IN ('KSV','GDV','NVTC') 
417
											OR @DEP_ID_LG ='DEP000000000022'
418
										) 
419
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
420
								)
421
							OR	(
422
									@p_TYPE_SEARCH='KT' 
423
									AND @p_BRANCH_LOGIN ='DV0001' 
424
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
425
								)
426
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
427
						)/*2*/
428
				)/*1*/
429
				  OR
430
				  (
431
						(
432
							@ROLE_ID IN ('KSV','GDV','NVTC') 
433
							OR @DEP_ID_LG ='DEP000000000022'
434
						) 
435
						AND @p_BRANCH_LOGIN ='DV0001' 
436
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
437
				  )
438
				  -- 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
439
				  OR(	@p_TYPE_SEARCH ='HC' 
440
						AND A.BRANCH_CREATE <> 'DV0001' 
441
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
442
					)
443
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
444
				  OR (
445
						@p_TYPE_SEARCH ='HC' 
446
						AND @BRANCH_TYPE_LG <> 'HS' 
447
						AND
448
						EXISTS (
449
									SELECT * 
450
									FROM TR_REQ_ADVANCE_DT 
451
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
452
																					SELECT CONTRACT_ID 
453
																					FROM TR_CONTRACT
454
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
455
																				  ) 
456
									AND AUTH_STATUS_KT ='A'
457
								)
458
					)
459
			 )/*0*/
460
		ORDER BY A.CREATE_DT DESC
461
-- PAGING END
462
    END;
463
    ELSE 
464
	BEGIN
465
-- PAGING BEGIN
466
        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,
467
		TL1.TLFullName APPROVE_FULLNAME,
468
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
469
		TL3.TLFullName APPROVE_FULLNAME_KT,
470
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
471
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
472
										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 
473
										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 
474
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
475
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
476
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
477
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
478
		--Luanlt--2019/10/15-Sửa AL,AL1
479
		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, 
480
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
481
		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,
482
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
483
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
484
		@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,
485
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
486
		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))),'')
487
		AS BRANCH_NAME_CONTRACT,
488
		--doanptt 300622
489
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
490
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
491
			 ELSE TL2.TLNANME END AS EXEC_USER,
492
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
493
		PC3.TLNAME AS EXEC_USER_KT,
494
		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())
495
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
496
-- SELECT END
497
        FROM TR_REQ_PAYMENT A
498
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
499
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
500
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
501
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
502
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
503
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
504
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
505
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
506
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
507
			 --Luanlt--2019/10/15-Sửa AL,AL1
508
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
509
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
510
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
511
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
512
			 LEFT JOIN 
513
			 (
514
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
515
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
516
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
517
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
518
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
519
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
520
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
521
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
522
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
523
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
524
        WHERE 1=1 
525
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
526
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
527
					OR @p_AUTH_STATUS='' 
528
					OR @p_AUTH_STATUS IS NULL 
529
					OR	(	@p_AUTH_STATUS = 'G' 
530
							AND ISNULL(A.PROCESS, '') = '0' 
531
							AND A.AUTH_STATUS = 'U'
532
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
533
						) 
534
					OR	(	@p_AUTH_STATUS = 'W' 
535
							AND ISNULL(A.PROCESS, '') = '' 
536
							AND A.AUTH_STATUS = 'U'
537
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
538
						)
539
				)
540
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
541
			  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)
542
			  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)
543
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
544
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
545
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
546
												)
547
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
548
						OR	(	(	@p_LEVEL='UNIT' 
549
									AND A.BRANCH_ID=@p_BRANCH_ID
550
								)
551
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
552
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
553
										EXISTS	(	SELECT * 
554
													FROM TR_REQ_ADVANCE_DT 
555
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
556
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
557
													AND AUTH_STATUS_KT ='A'
558
												)
559
									)
560
							)
561
					)
562
			  AND	(	(	@p_LEVEL='ALL' 
563
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
564
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
565
								)
566
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
567
						OR	(	(	@p_LEVEL='UNIT' 
568
									AND A.BRANCH_ID=@p_BRANCH_ID
569
								)
570
								OR	(	@p_BRANCH_ID='' 
571
										OR @p_BRANCH_ID IS NULL
572
									)
573
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
574
																		AND EXISTS	(	SELECT * 
575
																						FROM TR_REQ_ADVANCE_DT 
576
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
577
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
578
																						AND AUTH_STATUS_KT ='A'
579
																					)
580
																	)
581
							)
582
					)
583
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
584
							AND @p_IS_UPDATE_KT='Y'
585
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
586
						OR	(	(	A.MAKER_ID_KT IS NULL 
587
									AND @p_IS_UPDATE_KT='N'
588
								)
589
							)
590
							OR @p_IS_UPDATE_KT IS NULL 
591
							OR @p_IS_UPDATE_KT='')
592
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
593
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
594
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
595
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
596
              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)
597
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
598
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
599
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
600
			  --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 <>'')
601
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
602
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
603
						OR @p_BRANCH_ID='' 
604
						OR @p_BRANCH_ID IS NULL
605
					)
606
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
607
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
608
							OR @p_AUTH_STATUS_KT='' 
609
							OR @p_AUTH_STATUS_KT IS NULL
610
						) 
611
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
612
					)
613
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
614
			  --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
615
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
616
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
617
			  AND  (
618
						(
619
							@p_FUNCTION ='KT' 
620
							AND (
621
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
622
									AND (
623
											X.TLNAME= @p_USER_LOGIN 
624
											OR X.TLNAME =@p_EXEC_USER_KT)
625
										)
626
								) 
627
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
628
							OR A.CHECKER_ID_KT ='admin' 
629
							OR A.AUTH_STATUS_KT='A' 
630
						)
631
						OR @p_FUNCTION ='' 
632
						OR @p_FUNCTION IS NULL 
633
						OR @p_FUNCTION ='TF' 
634
					)	  
635
				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)
636
			 -- 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 ='')
637
				AND	(	(	@p_IS_TRANSFER='Y' 
638
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
639
									OR A.AUTH_STATUS_KT ='A'
640
								)
641
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
642
						OR	(	(	@p_IS_TRANSFER='N' 
643
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
644
											AND A.AUTH_STATUS_KT <>'A'
645
								)
646
							)
647
						OR @p_IS_TRANSFER IS NULL 
648
						OR @p_IS_TRANSFER=''
649
					)	
650
				AND
651
				( /*0*/
652
				  A.MAKER_ID =@p_USER_LOGIN  
653
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
654
						AND A.AUTH_STATUS NOT IN ('E','R')
655
					 )
656
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
657
								AND A.DEP_ID = @DEP_ID_LG
658
								AND A.BRANCH_ID = 'DV0001'
659
								AND A.AUTH_STATUS IN ('U','R', 'A')
660
								AND @p_TYPE_SEARCH ='HC'
661
							)
662
							OR	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
663
									AND A.BRANCH_ID = @p_BRANCH_LOGIN
664
									AND A.AUTH_STATUS IN ('U','R', 'A')
665
									AND @p_TYPE_SEARCH ='HC'
666
								)
667

    
668
						)
669
				  OR (	A.AUTH_STATUS <>'E' /*1*/
670
						AND
671
						(/*2*/
672
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
673
								AND @BRANCH_TYPE_LG ='HS'  
674
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
675
										OR (/*5*/
676
												EXISTS (	SELECT * 
677
															FROM @TABLE_ROLE 
678
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
679
													   )
680
												AND    (
681
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
682
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
683
															) 
684
															AND (	A.DEP_ID = @DEP_ID_LG 
685
																	OR  ( 
686
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
687
																			AND @p_USER_LOGIN ='cuongpv2'
688
																		) 
689
																	OR A.DEP_ID IN (
690
																						SELECT * 
691
																						FROM @DEP_AUTH
692
																					)
693
																)
694
														)
695
												AND ( 
696
														A.TRASFER_USER_RECIVE IS NULL 
697
														OR A.TRASFER_USER_RECIVE ='' 
698
														OR (
699
																A.TRASFER_USER_RECIVE IS NOT NULL 
700
																AND A.TRASFER_USER_RECIVE <>'' 
701
																AND A.PROCESS IS NOT NULL 
702
																AND A.PROCESS <>''
703
															)
704
													)
705
											)/*5*/
706
										)/*4*/
707
								)/*3*/
708
							OR(/*trong 2*/
709
									@p_TYPE_SEARCH ='HC' 
710
									AND @BRANCH_TYPE_LG = 'CN' 
711
									AND (
712
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
713
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
714
											AND
715
												(
716
													(
717
														A.TRASFER_USER_RECIVE IS NOT NULL 
718
														AND A.TRASFER_USER_RECIVE <>'' 
719
														AND A.PROCESS IS NOT NULL 
720
														AND A.PROCESS <>''
721
													 ) 
722
													OR A.TRASFER_USER_RECIVE ='' 
723
													OR A.TRASFER_USER_RECIVE IS NULL
724
												 )
725
											OR (
726
													(
727
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
728
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
729
															AND A.TRASFER_USER_RECIVE <>''
730
													) 
731
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
732
												)
733
											AND A.BRANCH_ID =@p_BRANCH_ID
734
										)
735
								)
736
							 OR
737
								(
738
									@p_TYPE_SEARCH ='HC' 
739
									AND @BRANCH_TYPE_LG = 'PGD' 
740
									AND (
741
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
742
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
743
										)
744
								)
745
							 OR
746
								(
747
									@p_TYPE_SEARCH ='HC' 
748
									AND(
749
											@ROLE_ID IN ('KSV','GDV','NVTC') 
750
											OR @DEP_ID_LG ='DEP000000000022'
751
										) 
752
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
753
								)
754
							OR	(
755
									@p_TYPE_SEARCH='KT' 
756
									AND @p_BRANCH_LOGIN ='DV0001' 
757
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
758
								)
759
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
760
						)/*2*/
761
				)/*1*/
762
				  OR
763
				  (
764
						(
765
							@ROLE_ID IN ('KSV','GDV','NVTC') 
766
							OR @DEP_ID_LG ='DEP000000000022'
767
						) 
768
						AND @p_BRANCH_LOGIN ='DV0001' 
769
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
770
				  )
771
				  -- 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
772
				  OR(	@p_TYPE_SEARCH ='HC' 
773
						AND A.BRANCH_CREATE <> 'DV0001' 
774
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
775
					)
776
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
777
				  OR (
778
						@p_TYPE_SEARCH ='HC' 
779
						AND @BRANCH_TYPE_LG <> 'HS' 
780
						AND
781
						EXISTS (
782
									SELECT * 
783
									FROM TR_REQ_ADVANCE_DT 
784
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
785
																					SELECT CONTRACT_ID 
786
																					FROM TR_CONTRACT
787
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
788
																				  ) 
789
									AND AUTH_STATUS_KT ='A'
790
								)
791
					)
792
			 )/*0*/
793
		ORDER BY A.CREATE_DT DESC
794
-- PAGING END
795
    END;
796
END -- PAGING