Project

General

Profile

req_payment_search.txt

Luc Tran Van, 06/09/2025 03:54 PM

 
1
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_Search]
2
@p_REQ_PAY_ID	varchar(15)= NULL,
3
@p_REQ_PAY_CODE	varchar(50)	= NULL,
4
@p_REQ_DT VARCHAR(20)= NULL,
5
@p_BRANCH_ID	varchar(15)	= NULL,
6
@p_DEP_ID	varchar(15)	= NULL,
7
@p_REQ_REASON	nvarchar(MAX)	= NULL,
8
@p_REQ_TYPE	varchar(15)	= NULL,
9
@P_REQ_ENTRIES nvarchar(MAX)	= NULL,
10
@p_REQ_DESCRIPTION	nvarchar(MAX)	= NULL,
11
@p_REF_ID	varchar(15)	= NULL,
12
@p_RECEIVER_PO	nvarchar(250)	= NULL,
13
@p_REQ_PAY_TYPE	varchar(15)	= NULL,
14
@p_REQ_TYPE_CURRENCY	nvarchar(50)	= NULL,
15
@p_REQ_AMT	decimal(18, 0)	= NULL,
16
@p_REQ_TEMP_AMT	decimal(18, 0)	= NULL,
17
@p_MAKER_ID	varchar(15)	= NULL,
18
@p_CREATE_DT	varchar(25)	= NULL,
19
@p_EDITOR_ID	varchar(15)	= NULL,
20
@p_AUTH_STATUS	varchar(1)	= NULL,
21
@p_CHECKER_ID	varchar(15)	= NULL,
22
@p_APPROVE_DT	varchar(25)	= NULL,
23
@p_CREATE_DT_KT	varchar(25)	= NULL,
24
@p_MAKER_ID_KT	varchar(15)	= NULL,
25
@p_AUTH_STATUS_KT	varchar(1)	= NULL,
26
@p_CHECKER_ID_KT	nvarchar(20)	= NULL,
27
@p_EXEC_USER_KT	nvarchar(20)	= NULL,
28
@p_APPROVE_DT_KT  varchar(25)= null,
29
@p_CONFIRM_NOTE	nvarchar(500)	= NULL,
30
@p_BRANCH_CREATE	varchar(15)	= NULL,
31
@p_NOTES	varchar(15)	= NULL,
32
@p_RECORD_STATUS	varchar(1)	= NULL,
33
@p_TRANSFER_MAKER	nvarchar(50)	= NULL,
34
@p_TRANSFER_DT	varchar(25)	= NULL,
35
@p_TRASFER_USER_RECIVE	varchar(15)	= NULL,
36
@p_PROCESS	varchar(15)	= NULL,
37
@p_PAY_PHASE VARCHAR(15) = NULL,
38
@p_TOP INT = 300,
39
@p_LEVEL varchar(10) = NULL,
40
@p_FRMDATE VARCHAR(20)= NULL,
41
@p_TODATE VARCHAR(20) = NULL,
42
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
43
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
44
@P_IS_TRANSFER VARCHAR(15) = NULL,
45
@p_TERM_ID VARCHAR(15) = NULL,
46
@P_USER_LOGIN VARCHAR(15)= NULL,
47
@p_FUNCTION VARCHAR(15) = NULL,
48
@p_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
	INSERT INTO @BRANCH_IS_TDV SELECT BRANCH_ID 
148
							   FROM SYS_PERMISSIONS_PAGE_FOR_USER A 
149
							   WHERE TLNAME = @P_USER_LOGIN 
150
							   AND RoleDisplayName IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
151
							   AND (DATEDIFF(DAY, CONVERT(DATE, EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR EffectiveDate IS NULL OR EffectiveDate = '')
152
							   AND (DATEDIFF(DAY, CONVERT(DATE, ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR ExpirationDate IS NULL OR ExpirationDate = '')
153
							   AND AUTH_STATUS = 'A' AND RECORD_STATUS = '1'
154
							   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)
155

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

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

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

    
198
-- RoleName Rỗng sẽ cập nhật lại
199
	DECLARE @ROLE_ID_TL_USER_V2 VARCHAR(50)
200
	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))
201
	BEGIN
202
		PRINT @ROLE_ID
203
	END
204
	ELSE
205
	BEGIN
206
		SET @ROLE_ID_TL_USER_V2 = (SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME = @p_USER_LOGIN)
207
		SET @ROLE_ID = @ROLE_ID + @ROLE_ID_TL_USER_V2 + ','
208
	END
209

    
210
	IF(@ROLE_ID_TL_USER_V2 IS NOT NULL AND @ROLE_ID_TL_USER_V2 <>'')
211
	BEGIN
212
		INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID_TL_USER_V2)
213
	END
214

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

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

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

    
1048
END -- PAGING