Project

General

Profile

req_payment_search.txt

Luc Tran Van, 06/09/2025 04:49 PM

 
1
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_Search]
2
@p_REQ_PAY_ID	varchar(15)= NULL,
3
@p_REQ_PAY_CODE	varchar(50)	= NULL,
4
@p_REQ_DT VARCHAR(20)= NULL,
5
@p_BRANCH_ID	varchar(15)	= NULL,
6
@p_DEP_ID	varchar(15)	= NULL,
7
@p_REQ_REASON	nvarchar(MAX)	= NULL,
8
@p_REQ_TYPE	varchar(15)	= NULL,
9
@P_REQ_ENTRIES nvarchar(MAX)	= NULL,
10
@p_REQ_DESCRIPTION	nvarchar(MAX)	= NULL,
11
@p_REF_ID	varchar(15)	= NULL,
12
@p_RECEIVER_PO	nvarchar(250)	= NULL,
13
@p_REQ_PAY_TYPE	varchar(15)	= NULL,
14
@p_REQ_TYPE_CURRENCY	nvarchar(50)	= NULL,
15
@p_REQ_AMT	decimal(18, 0)	= NULL,
16
@p_REQ_TEMP_AMT	decimal(18, 0)	= NULL,
17
@p_MAKER_ID	varchar(15)	= NULL,
18
@p_CREATE_DT	varchar(25)	= NULL,
19
@p_EDITOR_ID	varchar(15)	= NULL,
20
@p_AUTH_STATUS	varchar(1)	= NULL,
21
@p_CHECKER_ID	varchar(15)	= NULL,
22
@p_APPROVE_DT	varchar(25)	= NULL,
23
@p_CREATE_DT_KT	varchar(25)	= NULL,
24
@p_MAKER_ID_KT	varchar(15)	= NULL,
25
@p_AUTH_STATUS_KT	varchar(1)	= NULL,
26
@p_CHECKER_ID_KT	nvarchar(20)	= NULL,
27
@p_EXEC_USER_KT	nvarchar(20)	= NULL,
28
@p_APPROVE_DT_KT  varchar(25)= null,
29
@p_CONFIRM_NOTE	nvarchar(500)	= NULL,
30
@p_BRANCH_CREATE	varchar(15)	= NULL,
31
@p_NOTES	varchar(15)	= NULL,
32
@p_RECORD_STATUS	varchar(1)	= NULL,
33
@p_TRANSFER_MAKER	nvarchar(50)	= NULL,
34
@p_TRANSFER_DT	varchar(25)	= NULL,
35
@p_TRASFER_USER_RECIVE	varchar(15)	= NULL,
36
@p_PROCESS	varchar(15)	= NULL,
37
@p_PAY_PHASE VARCHAR(15) = NULL,
38
@p_TOP INT = 300,
39
@p_LEVEL varchar(10) = NULL,
40
@p_FRMDATE VARCHAR(20)= NULL,
41
@p_TODATE VARCHAR(20) = NULL,
42
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
43
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
44
@P_IS_TRANSFER VARCHAR(15) = NULL,
45
@p_TERM_ID VARCHAR(15) = NULL,
46
@P_USER_LOGIN VARCHAR(15)= NULL,
47
@p_FUNCTION VARCHAR(15) = NULL,
48
@p_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
	DECLARE @MENU_PERMISSON NVARCHAR(500) = 'Pages.Administration.ReqPayment'
65
	IF(@p_TYPE_SEARCH = 'KT')
66
	BEGIN
67
	 SET @MENU_PERMISSON = 'Pages.Administration.ReqPaymentKT'
68
	END
69
	IF(@p_TYPE_SEARCH = 'KT' AND EXISTS(SELECT TLNAME 
70
										FROM SYS_PERMISSIONS_PAGE_FOR_USER 
71
										WHERE TLNAME = @p_USER_LOGIN 
72
										AND (DATEDIFF(DAY, CONVERT(DATE, EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR EffectiveDate IS NULL OR EffectiveDate = '')
73
										AND (DATEDIFF(DAY, CONVERT(DATE, ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR ExpirationDate IS NULL OR ExpirationDate = '')
74
										AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'
75
										AND RoleDisplayName IN ('KSV','KSV_DVKD', 'GDV', 'GDV_DVKD')))-- NẾU SEARCH KẾ TOÁN
76
	BEGIN
77
		INSERT INTO @tmp_login SELECT BRANCH_ID FROM [dbo].[FN_GET_BRANCH_USER_BY_TLNAME_ROLE_USER]('KSV,KSV_DVKD,GDV,GDV_DVKD', @p_USER_LOGIN, @MENU_PERMISSON)
78
	END
79
	ELSE
80
	BEGIN
81
		INSERT INTO @tmp_login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
82
	END
83
-- USER LOGIN
84
	DECLARE @ROLE_ID VARCHAR(500) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15), @BRANCH_TYPE VARCHAR(15), @BRANCH_TYPE_LG VARCHAR(15)
85
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
86
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
87
	SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
88
	SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
89

    
90
-- TABLE ROLE USER
91
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
92

    
93
	INSERT INTO @TABLE_ROLE(ROLE_AUTH)
94
	SELECT C.DisplayName
95
	FROM TL_USER A
96
	LEFT JOIN AbpUserRoles B ON A.ID = B.UserId
97
	LEFT JOIN AbpRoles C ON B.RoleId = C.Id
98
	WHERE A.TLNANME = @p_USER_LOGIN
99
	--SET DANH SÁCH ROLE VÀO BIẾN CÁCH NHAU DẤU ,
100

    
101
	SET @ROLE_ID = (SELECT STRING_AGG(CONVERT(NVARCHAR (MAX), A.ROLE_AUTH), ',') FROM @TABLE_ROLE A) + ','
102

    
103
	INSERT INTO @TABLE_ROLE SELECT RoleDisplayName 
104
							FROM SYS_PERMISSIONS_PAGE_FOR_USER A 
105
							WHERE TLNAME = @P_USER_LOGIN  
106
							AND (DATEDIFF(DAY, CONVERT(DATE, EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR EffectiveDate IS NULL OR EffectiveDate = '')
107
							AND (DATEDIFF(DAY, CONVERT(DATE, ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR ExpirationDate IS NULL OR ExpirationDate = '')
108
							AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'
109
							AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
110
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM
111
	DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))
112
	INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
113
	-- LUCTV 19.10.2022 BO SUNG THEM PHONG BAN CHA SE THAY DANH SACH PHONG BAN CON
114
	INSERT INTO @DEP_AUTH SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID = @DEP_ID_LG
115
	INSERT INTO @DEP_AUTH	SELECT DEP_ID 
116
							FROM SYS_PERMISSIONS_PAGE_FOR_USER A 
117
							WHERE TLNAME = @P_USER_LOGIN 
118
							AND (DATEDIFF(DAY, CONVERT(DATE, EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR EffectiveDate IS NULL OR EffectiveDate = '')
119
							AND (DATEDIFF(DAY, CONVERT(DATE, ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR ExpirationDate IS NULL OR ExpirationDate = '')
120
							AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'
121
							AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
122
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM CÓ QUYỀN DUYỆT PHIẾU
123
	DECLARE @DEP_IS_TDV TABLE (DEP_AUTH VARCHAR(15))
124
	INSERT INTO @DEP_IS_TDV	SELECT DEP_ID 
125
							FROM SYS_PERMISSIONS_PAGE_FOR_USER A 
126
							WHERE TLNAME = @P_USER_LOGIN 
127
							AND RoleDisplayName IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
128
							AND (DATEDIFF(DAY, CONVERT(DATE, EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR EffectiveDate IS NULL OR EffectiveDate = '')
129
							AND (DATEDIFF(DAY, CONVERT(DATE, ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR ExpirationDate IS NULL OR ExpirationDate = '')
130
							AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'
131
							AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
132

    
133

    
134

    
135
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM
136
	DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
137
	INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
138
	INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID 
139
							 FROM SYS_PERMISSIONS_PAGE_FOR_USER A  
140
							 WHERE TLNAME = @P_USER_LOGIN 
141
							 AND (DATEDIFF(DAY, CONVERT(DATE, EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR EffectiveDate IS NULL OR EffectiveDate = '')
142
							 AND (DATEDIFF(DAY, CONVERT(DATE, ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR ExpirationDate IS NULL OR ExpirationDate = '')
143
							 AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'
144
							 AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
145
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM CÓ QUYỀN DUYỆT
146
	DECLARE @BRANCH_IS_TDV TABLE (BRN_AUTH VARCHAR(15))
147
	IF(EXISTS(SELECT TOP 1 A.ROLE_NAME FROM TMP_ROLE_PAYMENT_SEARCH A WHERE CHARINDEX(A.ROLE_NAME + ',', @ROLE_ID) > 0))
148
	BEGIN
149
		INSERT INTO @BRANCH_IS_TDV(BRN_AUTH) VALUES (@p_BRANCH_LOGIN)
150
	END
151
	INSERT INTO @BRANCH_IS_TDV SELECT BRANCH_ID 
152
							   FROM SYS_PERMISSIONS_PAGE_FOR_USER A 
153
							   WHERE TLNAME = @P_USER_LOGIN 
154
							   AND RoleDisplayName IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
155
							   AND (DATEDIFF(DAY, CONVERT(DATE, EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR EffectiveDate IS NULL OR EffectiveDate = '')
156
							   AND (DATEDIFF(DAY, CONVERT(DATE, ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR ExpirationDate IS NULL OR ExpirationDate = '')
157
							   AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'
158
							   AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
159

    
160
--- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
161
	DECLARE @DATE DATE
162
	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
163
	BEGIN
164
		SET @DATE = CONVERT(DATE,GETDATE(),103)
165
		SET @DATE = DATEADD(MONTH,-2,@DATE)
166
	END
167
	ELSE
168
	BEGIN
169
		SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
170
	END
171

    
172
--DOANPTT: XÁC ĐỊNH USER XEM TOÀN BỘ PHIẾU
173
	DECLARE @IS_VIEW_ALL VARCHAR(1) 
174
	IF((SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('KSV', 'GDV', 'NVTC')) > 0)		-- ROLE CHỈ ĐỊNH
175
	BEGIN
176
		SET @IS_VIEW_ALL = 'Y'
177
	END
178
	ELSE IF(@DEP_ID_LG = 'DEP000000000022')														-- PHÒNG CHỈ ĐỊNH
179
	BEGIN
180
		SET @IS_VIEW_ALL = 'Y'
181
	END
182
	ELSE IF(@P_USER_LOGIN = 'baotq')															-- USER CHỈ ĐỊNH
183
	BEGIN
184
		SET @IS_VIEW_ALL = 'Y'
185
	END
186
	ELSE
187
	BEGIN
188
		SET @IS_VIEW_ALL = 'N'
189
	END
190

    
191
--DOANPTT: XÁC ĐỊNH USER CÓ ĐƯỢC XEM HẾT PHIẾU CỦA PHÒNG MÌNH HAY KHÔNG
192
	DECLARE @IS_SEE_ALL_HC VARCHAR(1) 
193
	IF((SELECT COUNT(*) FROM PL_ROLE_DATA_CONFIG WHERE BRANCH_ID = @P_USER_LOGIN AND ROLE_TYPE = 'TR_REQ_PAYMENT') > 0)
194
	BEGIN
195
		SET @IS_SEE_ALL_HC = 'Y'
196
	END
197
	ELSE
198
	BEGIN
199
		SET @IS_SEE_ALL_HC = 'N'
200
	END
201

    
202
-- RoleName Rỗng sẽ cập nhật lại
203
	DECLARE @ROLE_ID_TL_USER_V2 VARCHAR(50)
204
	IF(@ROLE_ID IS NOT NULL AND @ROLE_ID <>'' AND EXISTS(SELECT TOP 1 A.ROLE_NAME FROM TMP_ROLE_PAYMENT_SEARCH A WHERE CHARINDEX(A.ROLE_NAME + ',', @ROLE_ID) > 0))
205
	BEGIN
206
		PRINT @ROLE_ID
207
	END
208
	ELSE
209
	BEGIN
210
		SET @ROLE_ID_TL_USER_V2 = (SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME = @p_USER_LOGIN)
211
		SET @ROLE_ID = @ROLE_ID + @ROLE_ID_TL_USER_V2 + ','
212
	END
213

    
214
	IF(@ROLE_ID_TL_USER_V2 IS NOT NULL AND @ROLE_ID_TL_USER_V2 <>'')
215
	BEGIN
216
		INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID_TL_USER_V2)
217
	END
218

    
219
-- CHECK NGUOI DUYET
220
	DECLARE @IS_TDV VARCHAR(1) = 'N'
221
	IF	(		
222
				(	SELECT COUNT(*) 
223
					FROM @TABLE_ROLE A 
224
					WHERE A.ROLE_AUTH IN (SELECT B.ROLE_NAME FROM TMP_ROLE_PAYMENT_SEARCH B)
225
				) = 0
226
		)
227
	BEGIN
228
		SET @IS_TDV = 'N'
229
	END
230
	ELSE
231
	BEGIN
232
		SET @IS_TDV = 'Y'
233
	END
234

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

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

    
1052
END -- PAGING