Project

General

Profile

payment_search.txt

Luc Tran Van, 11/18/2022 02:21 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 = 10,
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='' 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
		DATEDIFF(day, A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER
150
-- SELECT END
151
        FROM TR_REQ_PAYMENT A
152
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
153
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
154
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
155
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
156
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
157
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
158
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
159
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
160
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
161
			 --Luanlt--2019/10/15-Sửa AL,AL1
162
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
163
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
164
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
165
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
166
			 LEFT JOIN 
167
			 (
168
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
169
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
170
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
171
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
172
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
173
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
174
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
175
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
176
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
177
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
178
        WHERE 1=1 
179
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID or @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
180
			  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'))
181
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
182
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)
183
			  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)
184
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
185
			  AND((@p_LEVEL='ALL' AND (A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH))) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
186
              OR((@p_LEVEL='UNIT' AND A.BRANCH_ID=@p_BRANCH_ID)OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
187
															   OR (@BRANCH_TYPE_LG <> 'HS' AND
188
																	EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT 
189
																	WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) AND AUTH_STATUS_KT ='A'))))
190
			  AND((@p_LEVEL='ALL' AND (A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH))) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
191
              OR((@p_LEVEL='UNIT' AND A.BRANCH_ID=@p_BRANCH_ID)OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)
192
																 OR (@BRANCH_TYPE_LG <> 'HS' AND
193
																	EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT 
194
																	WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) AND AUTH_STATUS_KT ='A'))))
195
			  AND((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
196
              OR((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N'))OR @p_IS_UPDATE_KT IS NULL OR @p_IS_UPDATE_KT='')
197
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
198
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
199
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
200
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
201
              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)
202
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
203
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
204
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
205
			  --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 <>'')
206
			  AND ((@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = @p_BRANCH_LOGIN OR @p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)
207
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
208
			  AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))
209
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
210
			  --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
211
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
212
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
213
			  AND  (
214
						(
215
							@p_FUNCTION ='KT' 
216
							AND (
217
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
218
									AND (
219
											X.TLNAME= @p_USER_LOGIN 
220
											OR X.TLNAME =@p_EXEC_USER_KT)
221
										)
222
								) 
223
							OR A.CHECKER_ID_KT ='admin' 
224
							OR A.AUTH_STATUS_KT='A' 
225
						)
226
						OR @p_FUNCTION ='' 
227
						OR @p_FUNCTION IS NULL 
228
						OR @p_FUNCTION ='TF' 
229
					)	  
230
				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)
231
			 -- 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 ='')
232
			  AND(( @p_IS_TRANSFER='Y' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) OR A.AUTH_STATUS_KT ='A')) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
233
              OR((@p_IS_TRANSFER='N' AND (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) AND A.AUTH_STATUS_KT <>'A'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')	
234
			AND
235
			( /*0*/
236
			  A.MAKER_ID =@p_USER_LOGIN  
237
			  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
238
					AND A.AUTH_STATUS NOT IN ('E','R')
239
				 )
240
			  OR (/*1*/A.AUTH_STATUS <>'E' AND
241
					(/*2*/
242
						(/*3*/@p_TYPE_SEARCH ='HC' 
243
							AND @BRANCH_TYPE_LG ='HS'  
244
							AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
245
									OR (/*5*/
246
											EXISTS (	SELECT * 
247
														FROM @TABLE_ROLE 
248
														WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
249
												   )
250
											AND    (
251
														(	A.BRANCH_ID =@p_BRANCH_LOGIN 
252
															OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
253
														) 
254
														AND (	A.DEP_ID = @DEP_ID_LG 
255
																OR  ( 
256
																		A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
257
																		AND @p_USER_LOGIN ='cuongpv2'
258
																	) 
259
																OR A.DEP_ID IN (
260
																					SELECT * 
261
																					FROM @DEP_AUTH
262
																				)
263
															)
264
													)
265
											AND ( 
266
													A.TRASFER_USER_RECIVE IS NULL 
267
													OR A.TRASFER_USER_RECIVE ='' 
268
													OR (
269
															A.TRASFER_USER_RECIVE IS NOT NULL 
270
															AND A.TRASFER_USER_RECIVE <>'' 
271
															AND A.PROCESS IS NOT NULL 
272
															AND A.PROCESS <>''
273
														)
274
												)
275
										)/*5*/
276
									)/*4*/
277
							)/*3*/
278
						OR(/*trong 2*/
279
								@p_TYPE_SEARCH ='HC' 
280
								AND @BRANCH_TYPE_LG = 'CN' 
281
								AND (
282
										@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
283
										AND A.BRANCH_ID =@p_BRANCH_LOGIN 
284
										AND
285
											(
286
												(
287
													A.TRASFER_USER_RECIVE IS NOT NULL 
288
													AND A.TRASFER_USER_RECIVE <>'' 
289
													AND A.PROCESS IS NOT NULL 
290
													AND A.PROCESS <>''
291
												 ) 
292
												OR A.TRASFER_USER_RECIVE ='' 
293
												OR A.TRASFER_USER_RECIVE IS NULL
294
											 )
295
										OR (
296
												(
297
													A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
298
													AND A.TRASFER_USER_RECIVE IS NOT NULL 
299
														AND A.TRASFER_USER_RECIVE <>''
300
												) 
301
												OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
302
											)
303
										AND A.BRANCH_ID =@p_BRANCH_ID
304
									)
305
							)
306
						 OR
307
							(
308
								@p_TYPE_SEARCH ='HC' 
309
								AND @BRANCH_TYPE_LG = 'PGD' 
310
								AND (
311
										@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
312
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
313
									)
314
							)
315
						 OR
316
							(
317
								@p_TYPE_SEARCH ='HC' 
318
								AND(
319
										@ROLE_ID IN ('KSV','GDV','NVTC') 
320
										OR @DEP_ID_LG ='DEP000000000022'
321
									) 
322
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
323
							)
324
						OR(
325
								@p_TYPE_SEARCH='KT' 
326
								AND @p_BRANCH_LOGIN ='DV0001' 
327
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
328
						   )
329
						OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
330
			  )/*2*/
331
			)/*1*/
332
			  OR
333
			  (
334
					(
335
						@ROLE_ID IN ('KSV','GDV','NVTC') 
336
						OR @DEP_ID_LG ='DEP000000000022'
337
					) 
338
					AND @p_BRANCH_LOGIN ='DV0001' 
339
					AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
340
			  )
341
			  -- 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
342
			  OR(	@p_TYPE_SEARCH ='HC' 
343
					AND A.BRANCH_CREATE <> 'DV0001' 
344
					AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
345
				)
346
			  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
347
			  OR (
348
					@p_TYPE_SEARCH ='HC' 
349
					AND @BRANCH_TYPE_LG <> 'HS' 
350
					AND
351
					EXISTS (
352
								SELECT * 
353
								FROM TR_REQ_ADVANCE_DT 
354
								WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
355
																				SELECT CONTRACT_ID 
356
																				FROM TR_CONTRACT
357
																				WHERE BRANCH_ID =@p_BRANCH_LOGIN
358
																			  ) 
359
								AND AUTH_STATUS_KT ='A'
360
							)
361
				)
362
		 )/*0*/
363
		ORDER BY A.CREATE_DT DESC
364
-- PAGING END
365
    END;
366
    ELSE 
367
	BEGIN
368
-- PAGING BEGIN
369
        SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
370
		TL1.TLFullName APPROVE_FULLNAME,
371
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
372
		TL3.TLFullName APPROVE_FULLNAME_KT,
373
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
374
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
375
										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 
376
										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 
377
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
378
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
379
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
380
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
381
		--Luanlt--2019/10/15-Sửa AL,AL1
382
		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, 
383
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
384
		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,
385
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
386
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
387
		@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,
388
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
389
		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))),'')
390
		AS BRANCH_NAME_CONTRACT,
391
		--doanptt 300622
392
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
393
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
394
			 ELSE TL2.TLNANME END AS EXEC_USER,
395
		DATEDIFF(day, A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER
396
-- SELECT END
397
        FROM TR_REQ_PAYMENT A
398
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
399
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
400
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
401
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
402
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
403
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
404
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
405
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
406
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
407
			 --Luanlt--2019/10/15-Sửa AL,AL1
408
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
409
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
410
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
411
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
412
			 LEFT JOIN 
413
			 (
414
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
415
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
416
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
417
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
418
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
419
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
420
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
421
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
422
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
423
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
424
        WHERE 1=1 
425
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID or @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
426
			  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'))
427
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
428
			  AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)
429
			  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)
430
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
431
			  AND((@p_LEVEL='ALL' AND (A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH))) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
432
              OR((@p_LEVEL='UNIT' AND A.BRANCH_ID=@p_BRANCH_ID)OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
433
															   OR (@BRANCH_TYPE_LG <> 'HS' AND
434
																	EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT 
435
																	WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) AND AUTH_STATUS_KT ='A'))))
436
			  AND((@p_LEVEL='ALL' AND (A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH))) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
437
              OR((@p_LEVEL='UNIT' AND A.BRANCH_ID=@p_BRANCH_ID)OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)
438
																 OR (@BRANCH_TYPE_LG <> 'HS' AND
439
																	EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT 
440
																	WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) AND AUTH_STATUS_KT ='A'))))
441
			  AND((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
442
              OR((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N'))OR @p_IS_UPDATE_KT IS NULL OR @p_IS_UPDATE_KT='')
443
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
444
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
445
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
446
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
447
              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)
448
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
449
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
450
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
451
			  --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 <>'')
452
			  AND ((@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = @p_BRANCH_LOGIN OR @p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)
453
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
454
			  AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))
455
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
456
			  --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
457
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
458
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
459
			  AND  (
460
						(
461
							@p_FUNCTION ='KT' 
462
							AND (
463
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
464
									AND (
465
											X.TLNAME= @p_USER_LOGIN 
466
											OR X.TLNAME =@p_EXEC_USER_KT)
467
										)
468
								) 
469
							OR A.CHECKER_ID_KT ='admin' 
470
							OR A.AUTH_STATUS_KT='A' 
471
						)
472
						OR @p_FUNCTION ='' 
473
						OR @p_FUNCTION IS NULL 
474
						OR @p_FUNCTION ='TF' 
475
					)	  
476
				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)
477
			 -- 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 ='')
478
			  AND(( @p_IS_TRANSFER='Y' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) OR A.AUTH_STATUS_KT ='A')) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
479
              OR((@p_IS_TRANSFER='N' AND (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) AND A.AUTH_STATUS_KT <>'A'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')	
480
			AND
481
			( /*0*/
482
			  A.MAKER_ID =@p_USER_LOGIN  
483
			  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
484
					AND A.AUTH_STATUS NOT IN ('E','R')
485
				 )
486
			  OR (/*1*/A.AUTH_STATUS <>'E' AND
487
					(/*2*/
488
						(/*3*/@p_TYPE_SEARCH ='HC' 
489
							AND @BRANCH_TYPE_LG ='HS'  
490
							AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
491
									OR (/*5*/
492
											EXISTS (	SELECT * 
493
														FROM @TABLE_ROLE 
494
														WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
495
												   )
496
											AND    (
497
														(	A.BRANCH_ID =@p_BRANCH_LOGIN 
498
															OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
499
														) 
500
														AND (	A.DEP_ID = @DEP_ID_LG 
501
																OR  ( 
502
																		A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
503
																		AND @p_USER_LOGIN ='cuongpv2'
504
																	) 
505
																OR A.DEP_ID IN (
506
																					SELECT * 
507
																					FROM @DEP_AUTH
508
																				)
509
															)
510
													)
511
											AND ( 
512
													A.TRASFER_USER_RECIVE IS NULL 
513
													OR A.TRASFER_USER_RECIVE ='' 
514
													OR (
515
															A.TRASFER_USER_RECIVE IS NOT NULL 
516
															AND A.TRASFER_USER_RECIVE <>'' 
517
															AND A.PROCESS IS NOT NULL 
518
															AND A.PROCESS <>''
519
														)
520
												)
521
										)/*5*/
522
									)/*4*/
523
							)/*3*/
524
						OR(/*trong 2*/
525
								@p_TYPE_SEARCH ='HC' 
526
								AND @BRANCH_TYPE_LG = 'CN' 
527
								AND (
528
										@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
529
										AND A.BRANCH_ID =@p_BRANCH_LOGIN 
530
										AND
531
											(
532
												(
533
													A.TRASFER_USER_RECIVE IS NOT NULL 
534
													AND A.TRASFER_USER_RECIVE <>'' 
535
													AND A.PROCESS IS NOT NULL 
536
													AND A.PROCESS <>''
537
												 ) 
538
												OR A.TRASFER_USER_RECIVE ='' 
539
												OR A.TRASFER_USER_RECIVE IS NULL
540
											 )
541
										OR (
542
												(
543
													A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
544
													AND A.TRASFER_USER_RECIVE IS NOT NULL 
545
														AND A.TRASFER_USER_RECIVE <>''
546
												) 
547
												OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
548
											)
549
										AND A.BRANCH_ID =@p_BRANCH_ID
550
									)
551
							)
552
						 OR
553
							(
554
								@p_TYPE_SEARCH ='HC' 
555
								AND @BRANCH_TYPE_LG = 'PGD' 
556
								AND (
557
										@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
558
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
559
									)
560
							)
561
						 OR
562
							(
563
								@p_TYPE_SEARCH ='HC' 
564
								AND(
565
										@ROLE_ID IN ('KSV','GDV','NVTC') 
566
										OR @DEP_ID_LG ='DEP000000000022'
567
									) 
568
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
569
							)
570
						OR(
571
								@p_TYPE_SEARCH='KT' 
572
								AND @p_BRANCH_LOGIN ='DV0001' 
573
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
574
						   )
575
						OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
576
			  )/*2*/
577
			)/*1*/
578
			  OR
579
			  (
580
					(
581
						@ROLE_ID IN ('KSV','GDV','NVTC') 
582
						OR @DEP_ID_LG ='DEP000000000022'
583
					) 
584
					AND @p_BRANCH_LOGIN ='DV0001' 
585
					AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
586
			  )
587
			  -- 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
588
			  OR(	@p_TYPE_SEARCH ='HC' 
589
					AND A.BRANCH_CREATE <> 'DV0001' 
590
					AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
591
				)
592
			  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
593
			  OR (
594
					@p_TYPE_SEARCH ='HC' 
595
					AND @BRANCH_TYPE_LG <> 'HS' 
596
					AND
597
					EXISTS (
598
								SELECT * 
599
								FROM TR_REQ_ADVANCE_DT 
600
								WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
601
																				SELECT CONTRACT_ID 
602
																				FROM TR_CONTRACT
603
																				WHERE BRANCH_ID =@p_BRANCH_LOGIN
604
																			  ) 
605
								AND AUTH_STATUS_KT ='A'
606
							)
607
				)
608
		 )/*0*/
609
		ORDER BY A.CREATE_DT DESC
610

    
611
-- PAGING END
612
    END;
613
END -- PAGING