Project

General

Profile

PAYMENT_SEARCH_080523.txt

Luc Tran Van, 05/08/2023 05:22 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
declare @tmp table(BRANCH_ID varchar(15))
58
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
59
declare @tmp_Login table(BRANCH_ID varchar(15))
60
insert into @tmp_Login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
61
DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15)
62
DECLARE @BRANCH_TYPE VARCHAR(15)
63
SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
64
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
65
SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
66
DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))
67
SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
68
SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
69
INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B  WHERE COST_ID =@COST_LG
70
DECLARE @BRANCH_TYPE_LG VARCHAR(15)
71
SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
72
-- KHAI BAO NHUNG PHONG BAN MA 1 USER KIEM NHIEM
73
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
74
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
75
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@P_USER_LOGIN  
76
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
77
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
78
DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))
79
INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
80
INSERT INTO @DEP_AUTH SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND 
81
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
82
--- LUCTV 19.10.2022 BO SUNG THEM PHONG BAN CHA SE THAY DANH SACH PHONG BAN CON
83
INSERT INTO @DEP_AUTH SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
84
-- KHAI BAO PHẦN ỦY QUYỀN ĐƠN VỊ
85
DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
86
INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
87
INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND 
88
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
89
--- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
90
DECLARE @DATE DATE
91
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
92
BEGIN
93
	--DECLARE @MONTH INT, @YEAR INT
94
	--SET @MONTH = MONTH(GETDATE()) -1
95
	--SET @YEAR = YEAR(GETDATE())
96
	--BEGIN
97
	--	SET @p_FRMDATE ='01/'+CONVERT(VARCHAR,@MONTH,5) +'/'+ CONVERT(VARCHAR,@YEAR,5)
98
	--END
99
	SET @DATE = CONVERT(DATE,GETDATE(),103)
100
	SET @DATE = DATEADD(MONTH,-2,@DATE)
101
END
102
ELSE
103
BEGIN
104
	SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
105
END
106
	--DOANPTT: XAC DINH USER CO DUOC XEM HET PHIEU DE NGHI THANH TOAN CUA PHONG MINH HAY KHONG
107
	DECLARE @IS_SEE_ALL_HC VARCHAR(1) 
108
	IF((SELECT COUNT(*) FROM PL_ROLE_DATA_CONFIG WHERE BRANCH_ID = @P_USER_LOGIN AND ROLE_TYPE = 'TR_REQ_PAYMENT') > 0)
109
	BEGIN
110
		SET @IS_SEE_ALL_HC = 'Y'
111
	END
112
	ELSE
113
	BEGIN
114
		SET @IS_SEE_ALL_HC = 'N'
115
	END
116
-- HẾT KHAI BÁO
117
SET  @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
118
IF(@ROLE_ID IS NOT NULL AND @ROLE_ID <>'' AND @ROLE_ID IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD'))
119
BEGIN
120
	PRINT @ROLE_ID
121
END
122
ELSE
123
BEGIN
124
	SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
125
	IF(@ROLE_ID IS NULL OR @ROLE_ID ='')
126
	BEGIN
127
			SET @ROLE_ID =(SELECT TOP 1 ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT TOP 1 ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN))
128
	END
129
END
130
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)--2021823
131
--SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
132
IF('NVTC_KT' IN (SELECT ROLE_AUTH FROM @TABLE_ROLE) AND @p_TYPE_SEARCH = 'KT')
133
BEGIN
134
	IF(@p_TOP IS NULL OR @p_TOP=0)
135
	BEGIN
136
	-- PAGING BEGIN
137
		SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
138
		TL1.TLFullName APPROVE_FULLNAME,
139
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
140
		TL3.TLFullName APPROVE_FULLNAME_KT,
141
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
142
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
143
										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 
144
										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 
145
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
146
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
147
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
148
		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, 
149
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
150
		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,
151
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
152
		@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,
153
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
154
		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))),'')
155
		AS BRANCH_NAME_CONTRACT,
156
		--doanptt 300622
157
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
158
				WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
159
				ELSE TL2.TLNANME END AS EXEC_USER,
160
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
161
		PC3.TLNAME AS EXEC_USER_KT,
162
		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())
163
			ELSE 0 END AS NUMBER_OF_SEND_APPR,
164
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
165
	-- SELECT END
166
		FROM TR_REQ_PAYMENT A
167
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
168
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
169
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
170
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
171
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
172
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
173
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
174
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
175
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
176
			--Luanlt--2019/10/15-Sửa AL,AL1
177
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
178
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
179
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
180
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
181
			LEFT JOIN 
182
			(
183
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
184
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
185
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
186
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
187
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
188
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
189
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
190
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
191
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
192
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
193
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
194
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
195
		WHERE 1=1 
196
			AND A.AUTH_STATUS = 'A'
197
			AND A.AUTH_STATUS_KT = 'A'
198
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
199
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
200
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
201
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
202
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
203
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
204
			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)
205
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
206
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
207
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
208
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
209
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
210
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
211
											)
212
					)
213
					OR	(	(	@p_LEVEL='UNIT' 
214
								AND A.BRANCH_ID=@p_BRANCH_ID
215
							)
216
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
217
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
218
									EXISTS	(	SELECT * 
219
												FROM TR_REQ_ADVANCE_DT 
220
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
221
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
222
												AND A.AUTH_STATUS_KT ='A'
223
											)
224
								)
225
						)
226
				)
227
				  
228
			ORDER BY A.CREATE_DT DESC
229
	-- PAGING END
230
		END;
231
    ELSE 
232
	BEGIN
233
-- PAGING BEGIN
234
        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,
235
		TL1.TLFullName APPROVE_FULLNAME,
236
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
237
		TL3.TLFullName APPROVE_FULLNAME_KT,
238
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
239
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
240
										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 
241
										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 
242
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
243
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
244
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
245
		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, 
246
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
247
		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,
248
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
249
		@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,
250
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
251
		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))),'')
252
		AS BRANCH_NAME_CONTRACT,
253
		--doanptt 300622
254
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
255
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
256
			 ELSE TL2.TLNANME END AS EXEC_USER,
257
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
258
		PC3.TLNAME AS EXEC_USER_KT,
259
		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())
260
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
261
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
262
-- SELECT END
263
        FROM TR_REQ_PAYMENT A
264
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
265
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
266
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
267
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
268
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
269
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
270
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
271
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
272
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
273
			--Luanlt--2019/10/15-Sửa AL,AL1
274
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
275
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
276
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
277
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
278
			LEFT JOIN 
279
			(
280
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
281
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
282
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
283
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
284
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
285
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
286
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
287
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
288
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
289
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
290
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
291
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
292
        WHERE 1=1  
293
			AND A.AUTH_STATUS = 'A'
294
			AND A.AUTH_STATUS_KT = 'A'
295
			AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
296
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
297
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
298
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
299
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
300
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
301
			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)
302
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
303
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
304
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
305
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
306
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
307
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
308
											)
309
					)
310
					OR	(	(	@p_LEVEL='UNIT' 
311
								AND A.BRANCH_ID=@p_BRANCH_ID
312
							)
313
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
314
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
315
									EXISTS	(	SELECT * 
316
												FROM TR_REQ_ADVANCE_DT 
317
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
318
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
319
												AND A.AUTH_STATUS_KT ='A'
320
											)
321
								)
322
						)
323
				)
324
		ORDER BY A.CREATE_DT DESC
325
-- PAGING END
326
    END;
327
END
328
ELSE
329
BEGIN
330
	IF(@p_TOP IS NULL OR @p_TOP=0)
331
	BEGIN
332
	-- PAGING BEGIN
333
			SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
334
			TL1.TLFullName APPROVE_FULLNAME,
335
			CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
336
			TL3.TLFullName APPROVE_FULLNAME_KT,
337
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
338
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
339
											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 
340
											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 
341
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
342
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
343
			--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
344
			BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
345
			--Luanlt--2019/10/15-Sửa AL,AL1
346
			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, 
347
			ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
348
			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,
349
			PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
350
			--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
351
			@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,
352
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
353
			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))),'')
354
			AS BRANCH_NAME_CONTRACT,
355
			--doanptt 300622
356
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
357
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
358
				 ELSE TL2.TLNANME END AS EXEC_USER,
359
			dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
360
			PC3.TLNAME AS EXEC_USER_KT,
361
			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())
362
				 ELSE 0 END AS NUMBER_OF_SEND_APPR,
363
			L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
364
	-- SELECT END
365
			FROM TR_REQ_PAYMENT A
366
				 LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
367
				 LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
368
				 LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
369
				 LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
370
				 LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
371
				 LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
372
				 LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
373
				 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
374
				 LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
375
				 --Luanlt--2019/10/15-Sửa AL,AL1
376
				 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
377
				 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
378
				 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
379
				 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
380
				 LEFT JOIN 
381
				 (
382
				 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
383
				 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
384
				 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
385
				 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
386
				 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
387
				 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
388
				 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
389
				 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
390
				 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
391
				 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
392
				LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
393
				LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
394
			WHERE 1=1 
395
				  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
396
				  AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
397
				  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
398
						OR @p_AUTH_STATUS='' 
399
						OR @p_AUTH_STATUS IS NULL 
400
						OR	(	@p_AUTH_STATUS = 'G' 
401
								AND ISNULL(A.PROCESS, '') = '0' 
402
								AND A.AUTH_STATUS = 'U'
403
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
404
							) 
405
						OR	(	@p_AUTH_STATUS = 'W' 
406
								AND ISNULL(A.PROCESS, '') = '' 
407
								AND A.AUTH_STATUS = 'U'
408
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
409
							)
410
					)
411
				  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
412
				  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)
413
				  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)
414
				  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
415
				  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
416
														OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
417
													)
418
							) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
419
							OR	(	(	@p_LEVEL='UNIT' 
420
										AND A.BRANCH_ID=@p_BRANCH_ID
421
									)
422
									OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
423
									OR (	@BRANCH_TYPE_LG <> 'HS' AND
424
											EXISTS	(	SELECT * 
425
														FROM TR_REQ_ADVANCE_DT 
426
														WHERE REQ_PAY_ID = A.REQ_PAY_ID
427
														AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
428
														AND A.AUTH_STATUS_KT ='A'
429
													)
430
										)
431
								)
432
						)
433
				  AND	(	(	@p_LEVEL='ALL' 
434
								AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
435
										OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
436
									)
437
							) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
438
							OR	(	(	@p_LEVEL='UNIT' 
439
										AND A.BRANCH_ID=@p_BRANCH_ID
440
									)
441
									OR	(	@p_BRANCH_ID='' 
442
											OR @p_BRANCH_ID IS NULL
443
										)
444
																	 OR	(	@BRANCH_TYPE_LG <> 'HS' 
445
																			AND EXISTS	(	SELECT * 
446
																							FROM TR_REQ_ADVANCE_DT 
447
																							WHERE REQ_PAY_ID = A.REQ_PAY_ID 
448
																							AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
449
																							AND A.AUTH_STATUS_KT ='A'
450
																						)
451
																		)
452
								)
453
						)
454
				  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
455
								AND @p_IS_UPDATE_KT='Y'
456
							) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
457
							OR	(	(	A.MAKER_ID_KT IS NULL 
458
										AND @p_IS_UPDATE_KT='N'
459
									)
460
								)
461
								OR @p_IS_UPDATE_KT IS NULL 
462
								OR @p_IS_UPDATE_KT='')
463
				  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
464
				  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
465
				  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
466
				  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
467
				  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)
468
				  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
469
				  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
470
				  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
471
				  --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 <>'')
472
				  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
473
							OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
474
							OR @p_BRANCH_ID='' 
475
							OR @p_BRANCH_ID IS NULL
476
						)
477
				  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
478
				  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
479
								OR @p_AUTH_STATUS_KT='' 
480
								OR @p_AUTH_STATUS_KT IS NULL
481
							) 
482
							OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
483
						)
484
				  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
485
				  --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
486
				  --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
487
				  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
488
				  AND  (
489
							(
490
								@p_FUNCTION ='KT' 
491
								AND (
492
										EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
493
										AND (
494
												X.TLNAME= @p_USER_LOGIN 
495
												OR X.TLNAME =@p_EXEC_USER_KT)
496
											)
497
									) 
498
								OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
499
								OR A.CHECKER_ID_KT ='admin' 
500
								OR A.AUTH_STATUS_KT='A' 
501
							)
502
							OR @p_FUNCTION ='' 
503
							OR @p_FUNCTION IS NULL 
504
							OR @p_FUNCTION ='TF' 
505
						)	  
506
					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)
507
				 -- 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 ='')
508
					AND	(	(	@p_IS_TRANSFER='Y' 
509
								AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
510
										OR A.AUTH_STATUS_KT ='A'
511
									)
512
							) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
513
							OR	(	(	@p_IS_TRANSFER='N' 
514
										AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
515
												AND A.AUTH_STATUS_KT <>'A'
516
									)
517
								)
518
							OR @p_IS_TRANSFER IS NULL 
519
							OR @p_IS_TRANSFER=''
520
						)	
521
					AND
522
					( /*0*/
523
					  A.MAKER_ID =@p_USER_LOGIN  
524
					  OR (A.DEP_ID = @p_DEP_ID)
525
					  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
526
							AND A.AUTH_STATUS NOT IN ('E','R')
527
						 )
528
					  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
529
									AND A.DEP_ID = @DEP_ID_LG
530
									AND A.BRANCH_ID = 'DV0001'
531
									AND A.AUTH_STATUS IN ('U','R', 'A')
532
									AND @p_TYPE_SEARCH ='HC'
533
								)
534
							)
535
					  OR (@P_USER_LOGIN = 'baotq')					-- DOANPTT 08/05/2023: CHO A BẢO XEM TẤT CẢ PHIẾU CỦA HỆ THỐNG
536
					  OR (	A.AUTH_STATUS <>'E' /*1*/
537
							AND
538
							(/*2*/
539
								(	@p_TYPE_SEARCH ='HC'		/*3*/ 
540
									AND @BRANCH_TYPE_LG ='HS'  
541
									AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
542
											OR (/*5*/
543
													EXISTS (	SELECT * 
544
																FROM @TABLE_ROLE 
545
																WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
546
														   )
547
													AND    (
548
																(	A.BRANCH_ID =@p_BRANCH_LOGIN 
549
																	OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
550
																) 
551
																AND (	A.DEP_ID = @DEP_ID_LG 
552
																		OR  ( 
553
																				A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
554
																				AND @p_USER_LOGIN ='cuongpv2'
555
																			) 
556
																		OR A.DEP_ID IN (
557
																							SELECT * 
558
																							FROM @DEP_AUTH
559
																						)
560
																	)
561
															)
562
													AND ( 
563
															A.TRASFER_USER_RECIVE IS NULL 
564
															OR A.TRASFER_USER_RECIVE ='' 
565
															OR (
566
																	A.TRASFER_USER_RECIVE IS NOT NULL 
567
																	AND A.TRASFER_USER_RECIVE <>'' 
568
																	AND A.PROCESS IS NOT NULL 
569
																	AND A.PROCESS <>''
570
																)
571
														)
572
												)/*5*/
573
											)/*4*/
574
									)/*3*/
575
								OR(/*trong 2*/
576
										@p_TYPE_SEARCH ='HC' 
577
										AND @BRANCH_TYPE_LG = 'CN' 
578
										AND (
579
												@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
580
												AND A.BRANCH_ID =@p_BRANCH_LOGIN 
581
												AND
582
													(
583
														(
584
															A.TRASFER_USER_RECIVE IS NOT NULL 
585
															AND A.TRASFER_USER_RECIVE <>'' 
586
															AND A.PROCESS IS NOT NULL 
587
															AND A.PROCESS <>''
588
														 ) 
589
														OR A.TRASFER_USER_RECIVE ='' 
590
														OR A.TRASFER_USER_RECIVE IS NULL
591
													 )
592
												OR (
593
														(
594
															A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
595
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
596
																AND A.TRASFER_USER_RECIVE <>''
597
														) 
598
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
599
													)
600
												AND A.BRANCH_ID =@p_BRANCH_ID
601
											)
602
									)
603
								 OR
604
									(
605
										@p_TYPE_SEARCH ='HC' 
606
										AND @BRANCH_TYPE_LG = 'PGD' 
607
										AND (
608
												@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
609
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
610
											)
611
									)
612
								 OR
613
									(
614
										@p_TYPE_SEARCH ='HC' 
615
										AND(
616
												@ROLE_ID IN ('KSV','GDV','NVTC') 
617
												OR @DEP_ID_LG ='DEP000000000022'
618
											) 
619
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
620
									)
621
								OR	(
622
										@p_TYPE_SEARCH='KT' 
623
										AND @p_BRANCH_LOGIN ='DV0001' 
624
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
625
									)
626
								OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
627
							)/*2*/
628
					)/*1*/
629
					  OR
630
					  (
631
							(
632
								@ROLE_ID IN ('KSV','GDV','NVTC') 
633
								OR @DEP_ID_LG ='DEP000000000022'
634
							) 
635
							AND @p_BRANCH_LOGIN ='DV0001' 
636
							AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
637
					  )
638
					  -- 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
639
					  OR(	@p_TYPE_SEARCH ='HC' 
640
							AND A.BRANCH_CREATE <> 'DV0001' 
641
							AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
642
						)
643
					  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
644
					  OR (
645
							@p_TYPE_SEARCH ='HC' 
646
							AND @BRANCH_TYPE_LG <> 'HS' 
647
							AND
648
							EXISTS (
649
										SELECT * 
650
										FROM TR_REQ_ADVANCE_DT 
651
										WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
652
																						SELECT CONTRACT_ID 
653
																						FROM TR_CONTRACT
654
																						WHERE BRANCH_ID =@p_BRANCH_LOGIN
655
																					  ) 
656
										AND A.AUTH_STATUS_KT ='A'
657
									)
658
						)
659
				 )/*0*/
660
			ORDER BY A.CREATE_DT DESC
661
	-- PAGING END
662
		END;
663
    ELSE 
664
	BEGIN
665
-- PAGING BEGIN
666
        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,
667
		TL1.TLFullName APPROVE_FULLNAME,
668
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
669
		TL3.TLFullName APPROVE_FULLNAME_KT,
670
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
671
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
672
										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 
673
										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 
674
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
675
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
676
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
677
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
678
		--Luanlt--2019/10/15-Sửa AL,AL1
679
		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, 
680
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
681
		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,
682
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
683
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
684
		@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,
685
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
686
		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))),'')
687
		AS BRANCH_NAME_CONTRACT,
688
		--doanptt 300622
689
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
690
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
691
			 ELSE TL2.TLNANME END AS EXEC_USER,
692
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
693
		PC3.TLNAME AS EXEC_USER_KT,
694
		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())
695
			 ELSE 0 END AS NUMBER_OF_SEND_APPR,
696
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
697
-- SELECT END
698
        FROM TR_REQ_PAYMENT A
699
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
700
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
701
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
702
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
703
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
704
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
705
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
706
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
707
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
708
			 --Luanlt--2019/10/15-Sửa AL,AL1
709
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
710
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
711
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
712
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
713
			 LEFT JOIN 
714
			 (
715
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
716
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
717
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
718
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
719
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
720
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
721
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
722
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
723
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
724
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
725
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
726
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
727
        WHERE 1=1 
728
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
729
			  AND (A.IS_CREATE_AUTO = @p_IS_CREATE_AUTO OR ISNULL(@p_IS_CREATE_AUTO, '') = '')
730
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
731
					OR @p_AUTH_STATUS='' 
732
					OR @p_AUTH_STATUS IS NULL 
733
					OR	(	@p_AUTH_STATUS = 'G' 
734
							AND ISNULL(A.PROCESS, '') = '0' 
735
							AND A.AUTH_STATUS = 'U'
736
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
737
						) 
738
					OR	(	@p_AUTH_STATUS = 'W' 
739
							AND ISNULL(A.PROCESS, '') = '' 
740
							AND A.AUTH_STATUS = 'U'
741
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
742
						)
743
				)
744
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
745
			  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)
746
			  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)
747
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
748
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
749
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
750
												)
751
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
752
						OR	(	(	@p_LEVEL='UNIT' 
753
									AND A.BRANCH_ID=@p_BRANCH_ID
754
								)
755
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
756
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
757
										EXISTS	(	SELECT * 
758
													FROM TR_REQ_ADVANCE_DT 
759
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
760
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
761
													AND A.AUTH_STATUS_KT ='A'
762
												)
763
									)
764
							)
765
					)
766
			  AND	(	(	@p_LEVEL='ALL' 
767
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
768
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
769
								)
770
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
771
						OR	(	(	@p_LEVEL='UNIT' 
772
									AND A.BRANCH_ID=@p_BRANCH_ID
773
								)
774
								OR	(	@p_BRANCH_ID='' 
775
										OR @p_BRANCH_ID IS NULL
776
									)
777
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
778
																		AND EXISTS	(	SELECT * 
779
																						FROM TR_REQ_ADVANCE_DT 
780
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
781
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
782
																						AND A.AUTH_STATUS_KT ='A'
783
																					)
784
																	)
785
							)
786
					)
787
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
788
							AND @p_IS_UPDATE_KT='Y'
789
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
790
						OR	(	(	A.MAKER_ID_KT IS NULL 
791
									AND @p_IS_UPDATE_KT='N'
792
								)
793
							)
794
							OR @p_IS_UPDATE_KT IS NULL 
795
							OR @p_IS_UPDATE_KT='')
796
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
797
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
798
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
799
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
800
              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)
801
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
802
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
803
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
804
			  --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 <>'')
805
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
806
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
807
						OR @p_BRANCH_ID='' 
808
						OR @p_BRANCH_ID IS NULL
809
					)
810
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
811
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
812
							OR @p_AUTH_STATUS_KT='' 
813
							OR @p_AUTH_STATUS_KT IS NULL
814
						) 
815
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
816
					)
817
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
818
			  --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
819
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
820
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
821
			  AND  (
822
						(
823
							@p_FUNCTION ='KT' 
824
							AND (
825
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
826
									AND (
827
											X.TLNAME= @p_USER_LOGIN 
828
											OR X.TLNAME =@p_EXEC_USER_KT)
829
										)
830
								) 
831
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
832
							OR A.CHECKER_ID_KT ='admin' 
833
							OR A.AUTH_STATUS_KT='A' 
834
						)
835
						OR @p_FUNCTION ='' 
836
						OR @p_FUNCTION IS NULL 
837
						OR @p_FUNCTION ='TF' 
838
					)	  
839
				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)
840
			 -- 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 ='')
841
				AND	(	(	@p_IS_TRANSFER='Y' 
842
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
843
									OR A.AUTH_STATUS_KT ='A'
844
								)
845
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
846
						OR	(	(	@p_IS_TRANSFER='N' 
847
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
848
											AND A.AUTH_STATUS_KT <>'A'
849
								)
850
							)
851
						OR @p_IS_TRANSFER IS NULL 
852
						OR @p_IS_TRANSFER=''
853
					)	
854
				AND
855
				( /*0*/
856
				  A.MAKER_ID =@p_USER_LOGIN  
857
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
858
						AND A.AUTH_STATUS NOT IN ('E','R')
859
					 )
860
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
861
								AND A.DEP_ID = @DEP_ID_LG
862
								AND A.BRANCH_ID = 'DV0001'
863
								AND A.AUTH_STATUS IN ('U','R', 'A')
864
								AND @p_TYPE_SEARCH ='HC'
865
							)
866
						)
867
				  OR (@P_USER_LOGIN = 'baotq')					-- DOANPTT 08/05/2023: CHO A BẢO XEM TẤT CẢ PHIẾU CỦA HỆ THỐNG
868
				  OR (	A.AUTH_STATUS <>'E' /*1*/
869
						AND
870
						(/*2*/
871
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
872
								AND @BRANCH_TYPE_LG ='HS'  
873
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
874
										OR (/*5*/
875
												EXISTS (	SELECT * 
876
															FROM @TABLE_ROLE 
877
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
878
													   )
879
												AND    (
880
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
881
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
882
															) 
883
															AND (	A.DEP_ID = @DEP_ID_LG 
884
																	OR  ( 
885
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
886
																			AND @p_USER_LOGIN ='cuongpv2'
887
																		) 
888
																	OR A.DEP_ID IN (
889
																						SELECT * 
890
																						FROM @DEP_AUTH
891
																					)
892
																)
893
														)
894
												AND ( 
895
														A.TRASFER_USER_RECIVE IS NULL 
896
														OR A.TRASFER_USER_RECIVE ='' 
897
														OR (
898
																A.TRASFER_USER_RECIVE IS NOT NULL 
899
																AND A.TRASFER_USER_RECIVE <>'' 
900
																AND A.PROCESS IS NOT NULL 
901
																AND A.PROCESS <>''
902
															)
903
													)
904
											)/*5*/
905
										)/*4*/
906
								)/*3*/
907
							OR(/*trong 2*/
908
									@p_TYPE_SEARCH ='HC' 
909
									AND @BRANCH_TYPE_LG = 'CN' 
910
									AND (
911
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
912
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
913
											AND
914
												(
915
													(
916
														A.TRASFER_USER_RECIVE IS NOT NULL 
917
														AND A.TRASFER_USER_RECIVE <>'' 
918
														AND A.PROCESS IS NOT NULL 
919
														AND A.PROCESS <>''
920
													 ) 
921
													OR A.TRASFER_USER_RECIVE ='' 
922
													OR A.TRASFER_USER_RECIVE IS NULL
923
												 )
924
											OR (
925
													(
926
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
927
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
928
															AND A.TRASFER_USER_RECIVE <>''
929
													) 
930
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
931
												)
932
											AND A.BRANCH_ID =@p_BRANCH_ID
933
										)
934
								)
935
							 OR
936
								(
937
									@p_TYPE_SEARCH ='HC' 
938
									AND @BRANCH_TYPE_LG = 'PGD' 
939
									AND (
940
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
941
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
942
										)
943
								)
944
							 OR
945
								(
946
									@p_TYPE_SEARCH ='HC' 
947
									AND(
948
											@ROLE_ID IN ('KSV','GDV','NVTC') 
949
											OR @DEP_ID_LG ='DEP000000000022'
950
										) 
951
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
952
								)
953
							OR	(
954
									@p_TYPE_SEARCH='KT' 
955
									AND @p_BRANCH_LOGIN ='DV0001' 
956
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
957
								)
958
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
959
						)/*2*/
960
				)/*1*/
961
				  OR
962
				  (
963
						(
964
							@ROLE_ID IN ('KSV','GDV','NVTC') 
965
							OR @DEP_ID_LG ='DEP000000000022'
966
						) 
967
						AND @p_BRANCH_LOGIN ='DV0001' 
968
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
969
				  )
970
				  -- 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
971
				  OR(	@p_TYPE_SEARCH ='HC' 
972
						AND A.BRANCH_CREATE <> 'DV0001' 
973
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
974
					)
975
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
976
				  OR (
977
						@p_TYPE_SEARCH ='HC' 
978
						AND @BRANCH_TYPE_LG <> 'HS' 
979
						AND
980
						EXISTS (
981
									SELECT * 
982
									FROM TR_REQ_ADVANCE_DT 
983
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
984
																					SELECT CONTRACT_ID 
985
																					FROM TR_CONTRACT
986
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
987
																				  ) 
988
									AND A.AUTH_STATUS_KT ='A'
989
								)
990
					)
991
			 )/*0*/
992
		ORDER BY A.CREATE_DT DESC
993
-- PAGING END
994
    END;
995
END
996

    
997
END -- PAGING