Project

General

Profile

script_alter_stored_pdntt_130723.txt

Luc Tran Van, 07/13/2023 03:02 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_IS_CREATE_AUTO VARCHAR(15) = NULL,
49
@p_TYPE_SEARCH VARCHAR(15) = NULL
50
AS
51
BEGIN -- PAGING
52
--SET @p_TOP = NULL
53
	IF(ISNULL(@p_REQ_PAY_ID, '') <> '')
54
	BEGIN
55
		SET @p_DEP_ID = NULL
56
	END
57

    
58
-- BRANCH TRUYEN TU UI
59
	DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))
60
	INSERT INTO @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
61

    
62
-- BRANCH LOGIN
63
	DECLARE @tmp_login TABLE(BRANCH_ID varchar(15))
64
	INSERT INTO @tmp_login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
65

    
66
-- USER LOGIN
67
	DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15), @BRANCH_TYPE VARCHAR(15), @BRANCH_TYPE_LG VARCHAR(15)
68
	SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
69
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
70
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
71
	SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
72
	SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
73

    
74
-- TABLE ROLE USER
75
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
76
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
77
	INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME = @P_USER_LOGIN  
78
																			AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
79
																			AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
80
																			AND RECORD_STATUS = '1'
81

    
82
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM
83
	DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))
84
	INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
85
	-- LUCTV 19.10.2022 BO SUNG THEM PHONG BAN CHA SE THAY DANH SACH PHONG BAN CON
86
	INSERT INTO @DEP_AUTH SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID = @DEP_ID_LG
87
	INSERT INTO @DEP_AUTH	SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME =@P_USER_LOGIN 
88
																			AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
89
																			AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
90
																			AND RECORD_STATUS = '1'
91
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM CÓ QUYỀN DUYỆT PHIẾU
92
	DECLARE @DEP_IS_TDV TABLE (DEP_AUTH VARCHAR(15))
93
	INSERT INTO @DEP_IS_TDV	SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME = @P_USER_LOGIN 
94
																			AND ROLE_NEW IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
95
																			AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
96
																			AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
97
																			AND RECORD_STATUS = '1'
98

    
99

    
100

    
101
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM
102
	DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
103
	INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
104
	INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING  WHERE	TLNAME = @P_USER_LOGIN 
105
																				AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
106
																				AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
107
																				AND RECORD_STATUS = '1'
108
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM CÓ QUYỀN DUYỆT
109
	DECLARE @BRANCH_IS_TDV TABLE (BRN_AUTH VARCHAR(15))
110
	INSERT INTO @BRANCH_IS_TDV SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE	TLNAME = @P_USER_LOGIN 
111
																				AND ROLE_NEW IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
112
																				AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
113
																				AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
114
																				AND RECORD_STATUS = '1'
115

    
116
--- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
117
	DECLARE @DATE DATE
118
	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
119
	BEGIN
120
		SET @DATE = CONVERT(DATE,GETDATE(),103)
121
		SET @DATE = DATEADD(MONTH,-2,@DATE)
122
	END
123
	ELSE
124
	BEGIN
125
		SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
126
	END
127

    
128
--DOANPTT: XÁC ĐỊNH USER XEM TOÀN BỘ PHIẾU
129
	DECLARE @IS_VIEW_ALL VARCHAR(1) 
130
	IF((SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('KSV', 'GDV', 'NVTC')) > 0)		-- ROLE CHỈ ĐỊNH
131
	BEGIN
132
		SET @IS_VIEW_ALL = 'Y'
133
	END
134
	ELSE IF(@DEP_ID_LG = 'DEP000000000022')														-- PHÒNG CHỈ ĐỊNH
135
	BEGIN
136
		SET @IS_VIEW_ALL = 'Y'
137
	END
138
	ELSE IF(@P_USER_LOGIN = 'baotq')															-- USER CHỈ ĐỊNH
139
	BEGIN
140
		SET @IS_VIEW_ALL = 'Y'
141
	END
142
	ELSE
143
	BEGIN
144
		SET @IS_VIEW_ALL = 'N'
145
	END
146

    
147
--DOANPTT: XÁC ĐỊNH USER CÓ ĐƯỢC XEM HẾT PHIẾU CỦA PHÒNG MÌNH HAY KHÔNG
148
	DECLARE @IS_SEE_ALL_HC VARCHAR(1) 
149
	IF((SELECT COUNT(*) FROM PL_ROLE_DATA_CONFIG WHERE BRANCH_ID = @P_USER_LOGIN AND ROLE_TYPE = 'TR_REQ_PAYMENT') > 0)
150
	BEGIN
151
		SET @IS_SEE_ALL_HC = 'Y'
152
	END
153
	ELSE
154
	BEGIN
155
		SET @IS_SEE_ALL_HC = 'N'
156
	END
157

    
158
-- RoleName Rỗng sẽ cập nhật lại
159
	SET  @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
160
	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'))
161
	BEGIN
162
		PRINT @ROLE_ID
163
	END
164
	ELSE
165
	BEGIN
166
		SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
167
		IF(@ROLE_ID IS NULL OR @ROLE_ID ='')
168
		BEGIN
169
			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))
170
		END
171
	END
172
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)--2021823
173

    
174

    
175
-- CHECK NGUOI DUYET
176
	DECLARE @IS_TDV VARCHAR(1) = 'N'
177
	IF	(		
178
				(	SELECT COUNT(*) 
179
					FROM @TABLE_ROLE A 
180
					WHERE A.ROLE_AUTH IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
181
				) = 0
182
		)
183
	BEGIN
184
		SET @IS_TDV = 'N'
185
	END
186
	ELSE
187
	BEGIN
188
		SET @IS_TDV = 'Y'
189
	END
190

    
191
IF('NVTC_KT' IN (SELECT ROLE_AUTH FROM @TABLE_ROLE) AND @p_TYPE_SEARCH = 'KT')
192
BEGIN
193
	IF(@p_TOP IS NULL OR @p_TOP=0)
194
	BEGIN
195
	-- PAGING BEGIN
196
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
197
		TL1.TLFullName APPROVE_FULLNAME,
198
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
199
		TL3.TLFullName APPROVE_FULLNAME_KT,
200
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
201
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
202
										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 
203
										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 
204
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
205
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
206
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
207
		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, 
208
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
209
		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,
210
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
211
		@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,
212
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
213
		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))),'')
214
		AS BRANCH_NAME_CONTRACT,
215
		--doanptt 300622
216
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
217
				WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
218
				ELSE TL2.TLNANME END AS EXEC_USER,
219
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
220
		PC3.TLNAME AS EXEC_USER_KT,
221
		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())
222
			ELSE 0 END AS NUMBER_OF_SEND_APPR,
223
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
224
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
225
	-- SELECT END
226
		FROM TR_REQ_PAYMENT A
227
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
228
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
229
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
230
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
231
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
232
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
233
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
234
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
235
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
236
			--Luanlt--2019/10/15-Sửa AL,AL1
237
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
238
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
239
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
240
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
241
			LEFT JOIN 
242
			(
243
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
244
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
245
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
246
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
247
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
248
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
249
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
250
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
251
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
252
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
253
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
254
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
255
		WHERE 1=1 
256
			AND A.AUTH_STATUS = 'A'
257
			AND A.AUTH_STATUS_KT = 'A'
258
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
259
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
260
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
261
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
262
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
263
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
264
			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)
265
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
266
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
267
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
268
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
269
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
270
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
271
											)
272
					)
273
					OR	(	(	@p_LEVEL='UNIT' 
274
								AND A.BRANCH_ID=@p_BRANCH_ID
275
							)
276
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
277
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
278
									EXISTS	(	SELECT * 
279
												FROM TR_REQ_ADVANCE_DT 
280
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
281
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
282
												AND A.AUTH_STATUS_KT ='A'
283
											)
284
								)
285
						)
286
				)
287
				  
288
			ORDER BY A.CREATE_DT DESC
289
	-- PAGING END
290
		END;
291
    ELSE 
292
	BEGIN
293
-- PAGING BEGIN
294
        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,
295
		TL1.TLFullName APPROVE_FULLNAME,
296
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
297
		TL3.TLFullName APPROVE_FULLNAME_KT,
298
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
299
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
300
										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 
301
										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 
302
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
303
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
304
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
305
		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, 
306
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
307
		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,
308
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
309
		@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,
310
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
311
		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))),'')
312
		AS BRANCH_NAME_CONTRACT,
313
		--doanptt 300622
314
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
315
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
316
			 ELSE TL2.TLNANME END AS EXEC_USER,
317
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
318
		PC3.TLNAME AS EXEC_USER_KT,
319
		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())
320
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
321
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
322
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
323
-- SELECT END
324
        FROM TR_REQ_PAYMENT A
325
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
326
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
327
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
328
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
329
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
330
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
331
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
332
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
333
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
334
			--Luanlt--2019/10/15-Sửa AL,AL1
335
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
336
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
337
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
338
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
339
			LEFT JOIN 
340
			(
341
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
342
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
343
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
344
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
345
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
346
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
347
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
348
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
349
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
350
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
351
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
352
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
353
        WHERE 1=1  
354
			AND A.AUTH_STATUS = 'A'
355
			AND A.AUTH_STATUS_KT = 'A'
356
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
357
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
358
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
359
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
360
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
361
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
362
			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)
363
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
364
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
365
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
366
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
367
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
368
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
369
											)
370
					)
371
					OR	(	(	@p_LEVEL='UNIT' 
372
								AND A.BRANCH_ID=@p_BRANCH_ID
373
							)
374
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
375
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
376
									EXISTS	(	SELECT * 
377
												FROM TR_REQ_ADVANCE_DT 
378
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
379
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
380
												AND A.AUTH_STATUS_KT ='A'
381
											)
382
								)
383
						)
384
				)
385
		ORDER BY A.CREATE_DT DESC
386
-- PAGING END
387
    END;
388
END
389
ELSE
390
BEGIN
391
	IF(@p_TOP IS NULL OR @p_TOP=0)
392
	BEGIN
393
	-- PAGING BEGIN
394
			SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
395
			TL1.TLFullName APPROVE_FULLNAME,
396
			CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
397
			TL3.TLFullName APPROVE_FULLNAME_KT,
398
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
399
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
400
											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 
401
											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 
402
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
403
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
404
			--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
405
			BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
406
			--Luanlt--2019/10/15-Sửa AL,AL1
407
			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, 
408
			ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
409
			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,
410
			PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
411
			--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
412
			@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,
413
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
414
			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))),'')
415
			AS BRANCH_NAME_CONTRACT,
416
			--doanptt 300622
417
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
418
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
419
				 ELSE TL2.TLNANME END AS EXEC_USER,
420
			dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
421
			PC3.TLNAME AS EXEC_USER_KT,
422
			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())
423
				 ELSE 0 END AS NUMBER_OF_SEND_APPR,
424
			L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
425
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
426
	-- SELECT END
427
			FROM TR_REQ_PAYMENT A
428
				LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
429
				LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
430
				LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
431
				LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
432
				LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
433
				LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
434
				LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
435
				LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
436
				LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
437
				--Luanlt--2019/10/15-Sửa AL,AL1
438
				LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
439
				LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
440
				LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
441
				LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
442
				LEFT JOIN 
443
				(
444
				SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
445
				) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
446
				LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
447
				LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
448
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
449
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
450
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
451
				LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
452
				LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
453
				LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
454
				LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
455
				LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
456
			WHERE 1=1 
457
			-- BEGIN FILTER
458
				AND	(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
459
				AND	(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
460
				AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
461
				AND	(A.REF_ID =@p_REF_ID OR ISNULL(@p_REF_ID, '') = '')
462
				AND	(A.BRANCH_ID = @p_BRANCH_ID  OR ISNULL(@p_BRANCH_ID, '') = '' OR @p_BRANCH_ID = 'DV0001')
463
				AND	(A.DEP_ID = @p_DEP_ID  OR ISNULL(@p_DEP_ID, '') = '')
464
				AND	(ISNULL(@p_MAKER_ID_KT, '') = '' OR A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
465
				AND	(ISNULL(@p_EXEC_USER_KT, '') = '' OR ISNULL(PC3.TLNAME, '') = '' OR PC3.TLNAME = @p_EXEC_USER_KT)
466
				AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR ISNULL(@p_TRASFER_USER_RECIVE, '') = '' OR A.MAKER_ID_KT =@p_TRASFER_USER_RECIVE)	
467
				AND	(	A.AUTH_STATUS = @p_AUTH_STATUS 
468
						OR @p_AUTH_STATUS = '' 
469
						OR @p_AUTH_STATUS IS NULL 
470
						OR	(	@p_AUTH_STATUS = 'W' 
471
								AND ISNULL(A.PROCESS, '') = '' 
472
								AND A.AUTH_STATUS = 'U'
473
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
474
							)-- CHỜ DUYỆT TRUNG GIAN
475
						OR	(	@p_AUTH_STATUS = 'G' 
476
								AND ISNULL(A.PROCESS, '') = '0' 
477
								AND A.AUTH_STATUS = 'U'
478
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
479
							) -- ĐÃ DUYỆT TRUNG GIAN
480
					)
481
				AND	(A.NOTES LIKE N'%'+@p_NOTES+'%' OR ISNULL(@p_NOTES, '') = '')
482
				AND	(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR ISNULL(@p_REQ_TYPE, '') = '')
483
				AND	(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
484
				AND	(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR ISNULL(@p_REQ_REASON, '') = '')
485
				AND	(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
486
				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)
487
				-- KT
488
				AND	(	
489
						(	A.MAKER_ID_KT IS NOT NULL 
490
							AND @p_IS_UPDATE_KT='Y'
491
						) 
492
						OR	(	A.MAKER_ID_KT IS NULL 
493
								AND @p_IS_UPDATE_KT='N'
494
							)
495
						OR  ISNULL(@p_IS_UPDATE_KT, '') = ''
496
					)	-- TINH TRANG CAP NHAT - GDV
497
				AND	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
498
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')) 
499
						OR ISNULL(@p_AUTH_STATUS_KT, '') = ''
500
					)	-- TRANG THAI DUYET KT
501
				AND	(	(	@p_IS_TRANSFER='Y' 
502
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
503
									OR A.AUTH_STATUS_KT ='A'
504
								)
505
						)
506
						OR	(	(	@p_IS_TRANSFER='N' 
507
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
508
											AND A.AUTH_STATUS_KT <>'A'
509
								)
510
							)
511
						OR  ISNULL(@p_IS_TRANSFER, '') = ''
512
					)	-- TINH TRANG DIEU CHUYEN KT
513
				AND	(
514
						(
515
							@p_FUNCTION ='KT' 
516
							AND (
517
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
518
									AND (
519
											X.TLNAME= @p_USER_LOGIN 
520
											OR X.TLNAME =@p_EXEC_USER_KT)
521
										)
522
								) 
523
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
524
							OR A.CHECKER_ID_KT ='admin' 
525
							OR A.AUTH_STATUS_KT='A' 
526
						)
527
						OR ISNULL(@p_FUNCTION, '') = '' 
528
						OR @p_FUNCTION ='TF' 
529
					)
530
			-- END FILTER
531
				AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
532
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
533
						OR @p_BRANCH_ID='' 
534
						OR @p_BRANCH_ID IS NULL
535
					)
536
			-- VALIDATE BRANCH
537
				AND	(	A.BRANCH_ID = @p_BRANCH_LOGIN	-- PHIEU CUA DON VI MINH
538
						OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH) -- PHIEU CUA DON VI KIEM NHIEM
539
						OR	(	@BRANCH_TYPE_LG <> 'HS' 
540
								AND EXISTS	(	SELECT * 
541
												FROM TR_REQ_ADVANCE_DT 
542
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
543
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
544
												AND A.AUTH_STATUS_KT ='A'
545
											)
546
							)	-- PHIEU CUA HOI SO TAO
547
					-- TRUONG HOP VIEW ALL
548
						OR @IS_VIEW_ALL = 'Y'
549
						OR A.MAKER_ID = @p_USER_LOGIN
550
					)
551
			-- VALIDATE DEP
552
				AND	(
553
						A.DEP_ID IN	(SELECT * FROM @DEP_AUTH)
554
						OR A.BRANCH_ID <> 'DV0001'
555
						OR	(	@BRANCH_TYPE_LG <> 'HS' 
556
								AND EXISTS	(	SELECT * 
557
												FROM TR_REQ_ADVANCE_DT 
558
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
559
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
560
												AND A.AUTH_STATUS_KT ='A'
561
											)
562
							)	-- PHIEU CUA HOI SO TAO
563
					-- TRUONG HOP VIEW ALL
564
						OR @IS_VIEW_ALL = 'Y'
565
						OR A.MAKER_ID = @p_USER_LOGIN	
566
					)
567
			-- VALIDATE FLOW
568
				AND	(
569
				-- TRUONG HOP VIEW ALL
570
						 @IS_VIEW_ALL = 'Y'	
571
				-- BEGIN TRUONG HOP DAC BIET
572
						OR	(	@IS_SEE_ALL_HC = 'Y'										-- DOANPTT 20/12/22: CHO USER XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
573
								AND A.DEP_ID = @DEP_ID_LG
574
								AND A.BRANCH_ID = 'DV0001'
575
								AND A.AUTH_STATUS IN ('U','R', 'A')
576
								AND @p_TYPE_SEARCH ='HC'
577
							)
578
				-- END TRUONG HOP DAC BIET
579
						OR A.MAKER_ID = @p_USER_LOGIN									-- NGUOI TAO
580
						OR	(	A.AUTH_STATUS ='A')										-- PHIEU DA DUYET
581
						OR	(	A.TRASFER_USER_RECIVE = @P_USER_LOGIN					
582
								AND A.AUTH_STATUS NOT IN ('E','R')
583
							)															-- TRUNG GIAN													
584
						OR	(	@p_TYPE_SEARCH ='HC'									
585
								AND A.BRANCH_ID <> 'DV0001'							
586
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
587
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
588
								AND @IS_TDV = 'Y'
589
							)															-- TDV - DVKD
590
						OR	(	@p_TYPE_SEARCH ='HC'									
591
								AND A.BRANCH_ID = 'DV0001'							
592
								AND A.DEP_ID IN (SELECT * FROM @DEP_IS_TDV)
593
								AND (A.AUTH_STATUS = 'U' OR A.AUTH_STATUS = 'A')
594
								AND @IS_TDV = 'Y'
595
							)															-- TDV - HOI SO
596
						OR	(
597
								@p_TYPE_SEARCH ='HC'									
598
								AND @BRANCH_TYPE_LG <> 'HS' 
599
								AND EXISTS (
600
												SELECT * 
601
												FROM TR_REQ_ADVANCE_DT 
602
												WHERE REQ_PAY_ID = A.REQ_PAY_ID 
603
												AND REF_ID IN	(
604
																	SELECT CONTRACT_ID 
605
																	FROM TR_CONTRACT
606
																	WHERE BRANCH_ID =@p_BRANCH_LOGIN
607
																) 
608
												AND A.AUTH_STATUS_KT ='A'
609
											)
610
							)															-- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
611

    
612
						-- HOI SO
613
						OR	(	@p_TYPE_SEARCH ='HC'
614
								AND @BRANCH_TYPE_LG ='HS'  
615
								AND (	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
616
										OR	(	@IS_TDV = 'Y'
617
												AND (	A.BRANCH_ID = @p_BRANCH_LOGIN 
618
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
619
													)
620
												AND (	A.DEP_ID = @DEP_ID_LG 
621
														OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
622
													)
623
												AND (	ISNULL(A.TRASFER_USER_RECIVE, '') = '' 
624
														OR	(	ISNULL(A.TRASFER_USER_RECIVE, '') <> '' 
625
																AND ISNULL(A.PROCESS, '') <> ''
626
															)
627
													)
628
											)
629
								)
630
							)
631
						-- CN
632
						OR	(	@p_TYPE_SEARCH ='HC' 
633
								AND @BRANCH_TYPE_LG = 'CN' 
634
								AND @IS_TDV = 'Y'
635
								AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_IS_TDV)
636
							)
637
						-- PGD
638
						OR	(	@p_TYPE_SEARCH ='HC' 
639
								AND @BRANCH_TYPE_LG = 'PGD' 
640
								AND (
641
										@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
642
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
643
									)
644
							)
645
						-- KT
646
						OR	(	@p_TYPE_SEARCH='KT' 
647
								AND @p_BRANCH_LOGIN ='DV0001' 
648
								AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
649
							)
650
						OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
651
					)
652
			ORDER BY A.CREATE_DT DESC
653
	-- PAGING END
654
		END;
655
    ELSE 
656
	BEGIN
657
-- PAGING BEGIN
658
        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,
659
		TL1.TLFullName APPROVE_FULLNAME,
660
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
661
		TL3.TLFullName APPROVE_FULLNAME_KT,
662
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
663
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
664
										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 
665
										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 
666
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
667
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
668
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
669
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
670
		--Luanlt--2019/10/15-Sửa AL,AL1
671
		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, 
672
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
673
		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,
674
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
675
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
676
		@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,
677
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
678
		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))),'')
679
		AS BRANCH_NAME_CONTRACT,
680
		--doanptt 300622
681
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
682
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
683
			 ELSE TL2.TLNANME END AS EXEC_USER,
684
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
685
		PC3.TLNAME AS EXEC_USER_KT,
686
		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())
687
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
688
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE,
689
		dbo.FN_GET_NEXT_USER_PAYMENT(A.REQ_PAY_ID, A.MAKER_ID, A.BRANCH_ID, A.DEP_ID, A.AUTH_STATUS, A.AUTH_STATUS_KT, A.TRASFER_USER_RECIVE, A.PROCESS) AS NEXT_USER
690
-- SELECT END
691
        FROM TR_REQ_PAYMENT A
692
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
693
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
694
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
695
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
696
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
697
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
698
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
699
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
700
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
701
			 --Luanlt--2019/10/15-Sửa AL,AL1
702
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
703
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
704
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
705
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
706
			 LEFT JOIN 
707
			 (
708
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
709
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
710
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
711
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
712
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
713
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
714
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
715
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
716
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
717
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
718
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
719
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
720
        WHERE 1=1 
721
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
722
			  AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
723
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
724
					OR @p_AUTH_STATUS='' 
725
					OR @p_AUTH_STATUS IS NULL 
726
					OR	(	@p_AUTH_STATUS = 'G' 
727
							AND ISNULL(A.PROCESS, '') = '0' 
728
							AND A.AUTH_STATUS = 'U'
729
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
730
						) 
731
					OR	(	@p_AUTH_STATUS = 'W' 
732
							AND ISNULL(A.PROCESS, '') = '' 
733
							AND A.AUTH_STATUS = 'U'
734
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
735
						)
736
				)
737
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
738
			  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)
739
			  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)
740
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
741
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
742
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
743
												)
744
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
745
						OR	(	(	@p_LEVEL='UNIT' 
746
									AND A.BRANCH_ID=@p_BRANCH_ID
747
								)
748
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
749
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
750
										EXISTS	(	SELECT * 
751
													FROM TR_REQ_ADVANCE_DT 
752
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
753
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
754
													AND A.AUTH_STATUS_KT ='A'
755
												)
756
									)
757
							)
758
					)
759
			  AND	(	(	@p_LEVEL='ALL' 
760
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
761
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
762
								)
763
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
764
						OR	(	(	@p_LEVEL='UNIT' 
765
									AND A.BRANCH_ID=@p_BRANCH_ID
766
								)
767
								OR	(	@p_BRANCH_ID='' 
768
										OR @p_BRANCH_ID IS NULL
769
									)
770
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
771
																		AND EXISTS	(	SELECT * 
772
																						FROM TR_REQ_ADVANCE_DT 
773
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
774
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
775
																						AND A.AUTH_STATUS_KT ='A'
776
																					)
777
																	)
778
							)
779
					)
780
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
781
							AND @p_IS_UPDATE_KT='Y'
782
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
783
						OR	(	(	A.MAKER_ID_KT IS NULL 
784
									AND @p_IS_UPDATE_KT='N'
785
								)
786
							)
787
							OR @p_IS_UPDATE_KT IS NULL 
788
							OR @p_IS_UPDATE_KT='')
789
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
790
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
791
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
792
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
793
              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)
794
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
795
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
796
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
797
			  --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 <>'')
798
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
799
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
800
						OR @p_BRANCH_ID='' 
801
						OR @p_BRANCH_ID IS NULL
802
					)
803
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
804
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
805
							OR @p_AUTH_STATUS_KT='' 
806
							OR @p_AUTH_STATUS_KT IS NULL
807
						) 
808
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
809
					)
810
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
811
			  --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
812
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
813
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
814
			  AND  (
815
						(
816
							@p_FUNCTION ='KT' 
817
							AND (
818
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
819
									AND (
820
											X.TLNAME= @p_USER_LOGIN 
821
											OR X.TLNAME =@p_EXEC_USER_KT)
822
										)
823
								) 
824
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
825
							OR A.CHECKER_ID_KT ='admin' 
826
							OR A.AUTH_STATUS_KT='A' 
827
						)
828
						OR @p_FUNCTION ='' 
829
						OR @p_FUNCTION IS NULL 
830
						OR @p_FUNCTION ='TF' 
831
					)	  
832
				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)
833
			 -- 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 ='')
834
				AND	(	(	@p_IS_TRANSFER='Y' 
835
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
836
									OR A.AUTH_STATUS_KT ='A'
837
								)
838
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
839
						OR	(	(	@p_IS_TRANSFER='N' 
840
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
841
											AND A.AUTH_STATUS_KT <>'A'
842
								)
843
							)
844
						OR @p_IS_TRANSFER IS NULL 
845
						OR @p_IS_TRANSFER=''
846
					)	
847
				AND
848
				( /*0*/
849
				  A.MAKER_ID =@p_USER_LOGIN  
850
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
851
						AND A.AUTH_STATUS NOT IN ('E','R')
852
					 )
853
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
854
								AND A.DEP_ID = @DEP_ID_LG
855
								AND A.BRANCH_ID = 'DV0001'
856
								AND A.AUTH_STATUS IN ('U','R', 'A')
857
								AND @p_TYPE_SEARCH ='HC'
858
							)
859
						)
860
				  OR (@P_USER_LOGIN = 'baotq')					-- DOANPTT 08/05/2023: CHO A BẢO XEM TẤT CẢ PHIẾU CỦA HỆ THỐNG
861
				  OR (	A.AUTH_STATUS <>'E' /*1*/
862
						AND
863
						(/*2*/
864
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
865
								AND @BRANCH_TYPE_LG ='HS'  
866
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
867
										OR (/*5*/
868
												EXISTS (	SELECT * 
869
															FROM @TABLE_ROLE 
870
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
871
													   )
872
												AND    (
873
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
874
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
875
															) 
876
															AND (	A.DEP_ID = @DEP_ID_LG 
877
																	OR  ( 
878
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
879
																			AND @p_USER_LOGIN ='cuongpv2'
880
																		) 
881
																	OR A.DEP_ID IN (
882
																						SELECT * 
883
																						FROM @DEP_AUTH
884
																					)
885
																)
886
														)
887
												AND ( 
888
														A.TRASFER_USER_RECIVE IS NULL 
889
														OR A.TRASFER_USER_RECIVE ='' 
890
														OR (
891
																A.TRASFER_USER_RECIVE IS NOT NULL 
892
																AND A.TRASFER_USER_RECIVE <>'' 
893
																AND A.PROCESS IS NOT NULL 
894
																AND A.PROCESS <>''
895
															)
896
													)
897
											)/*5*/
898
										)/*4*/
899
								)/*3*/
900
							OR(/*trong 2*/
901
									@p_TYPE_SEARCH ='HC' 
902
									AND @BRANCH_TYPE_LG = 'CN' 
903
									AND (
904
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
905
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
906
											AND
907
												(
908
													(
909
														A.TRASFER_USER_RECIVE IS NOT NULL 
910
														AND A.TRASFER_USER_RECIVE <>'' 
911
														AND A.PROCESS IS NOT NULL 
912
														AND A.PROCESS <>''
913
													 ) 
914
													OR A.TRASFER_USER_RECIVE ='' 
915
													OR A.TRASFER_USER_RECIVE IS NULL
916
												 )
917
											OR (
918
													(
919
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
920
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
921
															AND A.TRASFER_USER_RECIVE <>''
922
													) 
923
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
924
												)
925
											AND A.BRANCH_ID =@p_BRANCH_ID
926
										)
927
								)
928
							 OR
929
								(
930
									@p_TYPE_SEARCH ='HC' 
931
									AND @BRANCH_TYPE_LG = 'PGD' 
932
									AND (
933
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
934
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
935
										)
936
								)
937
							 OR
938
								(
939
									@p_TYPE_SEARCH ='HC' 
940
									AND(
941
											@ROLE_ID IN ('KSV','GDV','NVTC') 
942
											OR @DEP_ID_LG ='DEP000000000022'
943
										) 
944
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
945
								)
946
							OR	(
947
									@p_TYPE_SEARCH='KT' 
948
									AND @p_BRANCH_LOGIN ='DV0001' 
949
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
950
								)
951
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
952
						)/*2*/
953
				)/*1*/
954
				  OR
955
				  (
956
						(
957
							@ROLE_ID IN ('KSV','GDV','NVTC') 
958
							OR @DEP_ID_LG ='DEP000000000022'
959
						) 
960
						AND @p_BRANCH_LOGIN ='DV0001' 
961
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
962
				  )
963
				  -- 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
964
				  OR(	@p_TYPE_SEARCH ='HC' 
965
						AND A.BRANCH_CREATE <> 'DV0001' 
966
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
967
					)
968
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
969
				  OR (
970
						@p_TYPE_SEARCH ='HC' 
971
						AND @BRANCH_TYPE_LG <> 'HS' 
972
						AND
973
						EXISTS (
974
									SELECT * 
975
									FROM TR_REQ_ADVANCE_DT 
976
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
977
																					SELECT CONTRACT_ID 
978
																					FROM TR_CONTRACT
979
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
980
																				  ) 
981
									AND A.AUTH_STATUS_KT ='A'
982
								)
983
					)
984
			 )/*0*/
985
		ORDER BY A.CREATE_DT DESC
986
-- PAGING END
987
    END;
988
END
989

    
990
END -- PAGING
991

    
992
GO
993
--13072023_secretkey