Project

General

Profile

TR_REQ_PAYMENT_SEARCH.txt

Luc Tran Van, 03/27/2023 11:24 AM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQ_PAYMENT_Search]
3
@p_REQ_PAY_ID	varchar(15)= NULL,
4
@p_REQ_PAY_CODE	varchar(50)	= NULL,
5
@p_REQ_DT VARCHAR(20)= NULL,
6
@p_BRANCH_ID	varchar(15)	= NULL,
7
@p_DEP_ID	varchar(15)	= NULL,
8
@p_REQ_REASON	nvarchar(MAX)	= NULL,
9
@p_REQ_TYPE	varchar(15)	= NULL,
10
@P_REQ_ENTRIES nvarchar(MAX)	= NULL,
11
@p_REQ_DESCRIPTION	nvarchar(MAX)	= NULL,
12
@p_REF_ID	varchar(15)	= NULL,
13
@p_RECEIVER_PO	nvarchar(250)	= NULL,
14
@p_REQ_PAY_TYPE	varchar(15)	= NULL,
15
@p_REQ_TYPE_CURRENCY	nvarchar(50)	= NULL,
16
@p_REQ_AMT	decimal(18, 0)	= NULL,
17
@p_REQ_TEMP_AMT	decimal(18, 0)	= NULL,
18
@p_MAKER_ID	varchar(15)	= NULL,
19
@p_CREATE_DT	varchar(25)	= NULL,
20
@p_EDITOR_ID	varchar(15)	= NULL,
21
@p_AUTH_STATUS	varchar(1)	= NULL,
22
@p_CHECKER_ID	varchar(15)	= NULL,
23
@p_APPROVE_DT	varchar(25)	= NULL,
24
@p_CREATE_DT_KT	varchar(25)	= NULL,
25
@p_MAKER_ID_KT	varchar(15)	= NULL,
26
@p_AUTH_STATUS_KT	varchar(1)	= NULL,
27
@p_CHECKER_ID_KT	nvarchar(20)	= NULL,
28
@p_EXEC_USER_KT	nvarchar(20)	= NULL,
29
@p_APPROVE_DT_KT  varchar(25)= null,
30
@p_CONFIRM_NOTE	nvarchar(500)	= NULL,
31
@p_BRANCH_CREATE	varchar(15)	= NULL,
32
@p_NOTES	varchar(15)	= NULL,
33
@p_RECORD_STATUS	varchar(1)	= NULL,
34
@p_TRANSFER_MAKER	nvarchar(50)	= NULL,
35
@p_TRANSFER_DT	varchar(25)	= NULL,
36
@p_TRASFER_USER_RECIVE	varchar(15)	= NULL,
37
@p_PROCESS	varchar(15)	= NULL,
38
@p_PAY_PHASE VARCHAR(15) = NULL,
39
@p_TOP INT = 300,
40
@p_LEVEL varchar(10) = NULL,
41
@p_FRMDATE VARCHAR(20)= NULL,
42
@p_TODATE VARCHAR(20) = NULL,
43
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
44
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
45
@P_IS_TRANSFER VARCHAR(15) = NULL,
46
@p_TERM_ID VARCHAR(15) = NULL,
47
@P_USER_LOGIN VARCHAR(15)= NULL,
48
@p_FUNCTION 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(@ROLE_ID = 'NVTC' AND @p_TYPE_SEARCH = 'KT' AND @P_USER_LOGIN IN ('thuynt2', 'tridq'))
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
	-- SELECT END
165
		FROM TR_REQ_PAYMENT A
166
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
167
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
168
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
169
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
170
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
171
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
172
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
173
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
174
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
175
			--Luanlt--2019/10/15-Sửa AL,AL1
176
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
177
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
178
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
179
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
180
			LEFT JOIN 
181
			(
182
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
183
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
184
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
185
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
186
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
187
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
188
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
189
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
190
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
191
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
192
		WHERE 1=1 
193
			AND A.AUTH_STATUS = 'A'
194
			AND A.AUTH_STATUS_KT = 'A'
195
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
196
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
197
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
198
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
199
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
200
			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)
201
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
202
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
203
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
204
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
205
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
206
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
207
											)
208
					)
209
					OR	(	(	@p_LEVEL='UNIT' 
210
								AND A.BRANCH_ID=@p_BRANCH_ID
211
							)
212
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
213
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
214
									EXISTS	(	SELECT * 
215
												FROM TR_REQ_ADVANCE_DT 
216
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
217
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
218
												AND AUTH_STATUS_KT ='A'
219
											)
220
								)
221
						)
222
				)
223
				  
224
			ORDER BY A.CREATE_DT DESC
225
	-- PAGING END
226
		END;
227
    ELSE 
228
	BEGIN
229
-- PAGING BEGIN
230
        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,
231
		TL1.TLFullName APPROVE_FULLNAME,
232
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
233
		TL3.TLFullName APPROVE_FULLNAME_KT,
234
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
235
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
236
										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 
237
										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 
238
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
239
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
240
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
241
		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, 
242
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
243
		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,
244
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
245
		@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,
246
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
247
		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))),'')
248
		AS BRANCH_NAME_CONTRACT,
249
		--doanptt 300622
250
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
251
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
252
			 ELSE TL2.TLNANME END AS EXEC_USER,
253
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
254
		PC3.TLNAME AS EXEC_USER_KT,
255
		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())
256
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
257
-- SELECT END
258
        FROM TR_REQ_PAYMENT A
259
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
260
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
261
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
262
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
263
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
264
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
265
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
266
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
267
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
268
			--Luanlt--2019/10/15-Sửa AL,AL1
269
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
270
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
271
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
272
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
273
			LEFT JOIN 
274
			(
275
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
276
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
277
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
278
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
279
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
280
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
281
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
282
			LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
283
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
284
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
285
        WHERE 1=1  
286
			AND A.AUTH_STATUS = 'A'
287
			AND A.AUTH_STATUS_KT = 'A'
288
			AND(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
289
			AND(A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
290
			AND(A.REQ_PAY_CODE = @p_REQ_PAY_CODE OR ISNULL(@p_REQ_PAY_CODE, '') = '')
291
			AND(A.REQ_TYPE = @p_REQ_TYPE OR ISNULL(@p_REQ_TYPE, '') = '')
292
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
293
			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)
294
			AND(A.REQ_REASON LIKE '%' + @p_REQ_TYPE + '%' OR ISNULL(@p_REQ_TYPE, '') = '')
295
			AND(A.MAKER_ID =@p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
296
			AND(A.MAKER_ID_KT =@p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
297
			AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
298
			AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
299
												OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
300
											)
301
					)
302
					OR	(	(	@p_LEVEL='UNIT' 
303
								AND A.BRANCH_ID=@p_BRANCH_ID
304
							)
305
							OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
306
							OR (	@BRANCH_TYPE_LG <> 'HS' AND
307
									EXISTS	(	SELECT * 
308
												FROM TR_REQ_ADVANCE_DT 
309
												WHERE REQ_PAY_ID = A.REQ_PAY_ID
310
												AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
311
												AND AUTH_STATUS_KT ='A'
312
											)
313
								)
314
						)
315
				)
316
		ORDER BY A.CREATE_DT DESC
317
-- PAGING END
318
    END;
319
END
320
ELSE
321
BEGIN
322
	IF(@p_TOP IS NULL OR @p_TOP=0)
323
	BEGIN
324
	-- PAGING BEGIN
325
			SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
326
			TL1.TLFullName APPROVE_FULLNAME,
327
			CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
328
			TL3.TLFullName APPROVE_FULLNAME_KT,
329
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
330
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
331
											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 
332
											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 
333
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
334
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
335
			--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
336
			BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
337
			--Luanlt--2019/10/15-Sửa AL,AL1
338
			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, 
339
			ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
340
			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,
341
			PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
342
			--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
343
			@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,
344
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
345
			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))),'')
346
			AS BRANCH_NAME_CONTRACT,
347
			--doanptt 300622
348
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
349
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
350
				 ELSE TL2.TLNANME END AS EXEC_USER,
351
			dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
352
			PC3.TLNAME AS EXEC_USER_KT,
353
			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())
354
				 ELSE 0 END AS NUMBER_OF_SEND_APPR
355
	-- SELECT END
356
			FROM TR_REQ_PAYMENT A
357
				 LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
358
				 LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
359
				 LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
360
				 LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
361
				 LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
362
				 LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
363
				 LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
364
				 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
365
				 LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
366
				 --Luanlt--2019/10/15-Sửa AL,AL1
367
				 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
368
				 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
369
				 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
370
				 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
371
				 LEFT JOIN 
372
				 (
373
				 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
374
				 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
375
				 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
376
				 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
377
				 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
378
				 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
379
				 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
380
				 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
381
				 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
382
				 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
383
			WHERE 1=1 
384
				  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
385
				  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
386
						OR @p_AUTH_STATUS='' 
387
						OR @p_AUTH_STATUS IS NULL 
388
						OR	(	@p_AUTH_STATUS = 'G' 
389
								AND ISNULL(A.PROCESS, '') = '0' 
390
								AND A.AUTH_STATUS = 'U'
391
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
392
							) 
393
						OR	(	@p_AUTH_STATUS = 'W' 
394
								AND ISNULL(A.PROCESS, '') = '' 
395
								AND A.AUTH_STATUS = 'U'
396
								AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
397
							)
398
					)
399
				  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
400
				  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)
401
				  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)
402
				  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
403
				  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
404
														OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
405
													)
406
							) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
407
							OR	(	(	@p_LEVEL='UNIT' 
408
										AND A.BRANCH_ID=@p_BRANCH_ID
409
									)
410
									OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
411
									OR (	@BRANCH_TYPE_LG <> 'HS' AND
412
											EXISTS	(	SELECT * 
413
														FROM TR_REQ_ADVANCE_DT 
414
														WHERE REQ_PAY_ID = A.REQ_PAY_ID
415
														AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
416
														AND AUTH_STATUS_KT ='A'
417
													)
418
										)
419
								)
420
						)
421
				  AND	(	(	@p_LEVEL='ALL' 
422
								AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
423
										OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
424
									)
425
							) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
426
							OR	(	(	@p_LEVEL='UNIT' 
427
										AND A.BRANCH_ID=@p_BRANCH_ID
428
									)
429
									OR	(	@p_BRANCH_ID='' 
430
											OR @p_BRANCH_ID IS NULL
431
										)
432
																	 OR	(	@BRANCH_TYPE_LG <> 'HS' 
433
																			AND EXISTS	(	SELECT * 
434
																							FROM TR_REQ_ADVANCE_DT 
435
																							WHERE REQ_PAY_ID = A.REQ_PAY_ID 
436
																							AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
437
																							AND AUTH_STATUS_KT ='A'
438
																						)
439
																		)
440
								)
441
						)
442
				  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
443
								AND @p_IS_UPDATE_KT='Y'
444
							) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
445
							OR	(	(	A.MAKER_ID_KT IS NULL 
446
										AND @p_IS_UPDATE_KT='N'
447
									)
448
								)
449
								OR @p_IS_UPDATE_KT IS NULL 
450
								OR @p_IS_UPDATE_KT='')
451
				  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
452
				  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
453
				  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
454
				  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
455
				  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)
456
				  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
457
				  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
458
				  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
459
				  --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 <>'')
460
				  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
461
							OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
462
							OR @p_BRANCH_ID='' 
463
							OR @p_BRANCH_ID IS NULL
464
						)
465
				  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
466
				  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
467
								OR @p_AUTH_STATUS_KT='' 
468
								OR @p_AUTH_STATUS_KT IS NULL
469
							) 
470
							OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
471
						)
472
				  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
473
				  --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
474
				  --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
475
				  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
476
				  AND  (
477
							(
478
								@p_FUNCTION ='KT' 
479
								AND (
480
										EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
481
										AND (
482
												X.TLNAME= @p_USER_LOGIN 
483
												OR X.TLNAME =@p_EXEC_USER_KT)
484
											)
485
									) 
486
								OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
487
								OR A.CHECKER_ID_KT ='admin' 
488
								OR A.AUTH_STATUS_KT='A' 
489
							)
490
							OR @p_FUNCTION ='' 
491
							OR @p_FUNCTION IS NULL 
492
							OR @p_FUNCTION ='TF' 
493
						)	  
494
					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)
495
				 -- 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 ='')
496
					AND	(	(	@p_IS_TRANSFER='Y' 
497
								AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
498
										OR A.AUTH_STATUS_KT ='A'
499
									)
500
							) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
501
							OR	(	(	@p_IS_TRANSFER='N' 
502
										AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
503
												AND A.AUTH_STATUS_KT <>'A'
504
									)
505
								)
506
							OR @p_IS_TRANSFER IS NULL 
507
							OR @p_IS_TRANSFER=''
508
						)	
509
					AND
510
					( /*0*/
511
					  A.MAKER_ID =@p_USER_LOGIN  
512
					  OR (A.DEP_ID = @p_DEP_ID)
513
					  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
514
							AND A.AUTH_STATUS NOT IN ('E','R')
515
						 )
516
					  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
517
									AND A.DEP_ID = @DEP_ID_LG
518
									AND A.BRANCH_ID = 'DV0001'
519
									AND A.AUTH_STATUS IN ('U','R', 'A')
520
									AND @p_TYPE_SEARCH ='HC'
521
								)
522
								OR	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
523
										AND A.BRANCH_ID = @p_BRANCH_LOGIN
524
										AND A.AUTH_STATUS IN ('U','R', 'A')
525
										AND @p_TYPE_SEARCH ='HC'
526
									)
527
							)
528
					  OR (	A.AUTH_STATUS <>'E' /*1*/
529
							AND
530
							(/*2*/
531
								(	@p_TYPE_SEARCH ='HC'		/*3*/ 
532
									AND @BRANCH_TYPE_LG ='HS'  
533
									AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
534
											OR (/*5*/
535
													EXISTS (	SELECT * 
536
																FROM @TABLE_ROLE 
537
																WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
538
														   )
539
													AND    (
540
																(	A.BRANCH_ID =@p_BRANCH_LOGIN 
541
																	OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
542
																) 
543
																AND (	A.DEP_ID = @DEP_ID_LG 
544
																		OR  ( 
545
																				A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
546
																				AND @p_USER_LOGIN ='cuongpv2'
547
																			) 
548
																		OR A.DEP_ID IN (
549
																							SELECT * 
550
																							FROM @DEP_AUTH
551
																						)
552
																	)
553
															)
554
													AND ( 
555
															A.TRASFER_USER_RECIVE IS NULL 
556
															OR A.TRASFER_USER_RECIVE ='' 
557
															OR (
558
																	A.TRASFER_USER_RECIVE IS NOT NULL 
559
																	AND A.TRASFER_USER_RECIVE <>'' 
560
																	AND A.PROCESS IS NOT NULL 
561
																	AND A.PROCESS <>''
562
																)
563
														)
564
												)/*5*/
565
											)/*4*/
566
									)/*3*/
567
								OR(/*trong 2*/
568
										@p_TYPE_SEARCH ='HC' 
569
										AND @BRANCH_TYPE_LG = 'CN' 
570
										AND (
571
												@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
572
												AND A.BRANCH_ID =@p_BRANCH_LOGIN 
573
												AND
574
													(
575
														(
576
															A.TRASFER_USER_RECIVE IS NOT NULL 
577
															AND A.TRASFER_USER_RECIVE <>'' 
578
															AND A.PROCESS IS NOT NULL 
579
															AND A.PROCESS <>''
580
														 ) 
581
														OR A.TRASFER_USER_RECIVE ='' 
582
														OR A.TRASFER_USER_RECIVE IS NULL
583
													 )
584
												OR (
585
														(
586
															A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
587
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
588
																AND A.TRASFER_USER_RECIVE <>''
589
														) 
590
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
591
													)
592
												AND A.BRANCH_ID =@p_BRANCH_ID
593
											)
594
									)
595
								 OR
596
									(
597
										@p_TYPE_SEARCH ='HC' 
598
										AND @BRANCH_TYPE_LG = 'PGD' 
599
										AND (
600
												@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
601
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
602
											)
603
									)
604
								 OR
605
									(
606
										@p_TYPE_SEARCH ='HC' 
607
										AND(
608
												@ROLE_ID IN ('KSV','GDV','NVTC') 
609
												OR @DEP_ID_LG ='DEP000000000022'
610
											) 
611
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
612
									)
613
								OR	(
614
										@p_TYPE_SEARCH='KT' 
615
										AND @p_BRANCH_LOGIN ='DV0001' 
616
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
617
									)
618
								OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
619
							)/*2*/
620
					)/*1*/
621
					  OR
622
					  (
623
							(
624
								@ROLE_ID IN ('KSV','GDV','NVTC') 
625
								OR @DEP_ID_LG ='DEP000000000022'
626
							) 
627
							AND @p_BRANCH_LOGIN ='DV0001' 
628
							AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
629
					  )
630
					  -- 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
631
					  OR(	@p_TYPE_SEARCH ='HC' 
632
							AND A.BRANCH_CREATE <> 'DV0001' 
633
							AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
634
						)
635
					  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
636
					  OR (
637
							@p_TYPE_SEARCH ='HC' 
638
							AND @BRANCH_TYPE_LG <> 'HS' 
639
							AND
640
							EXISTS (
641
										SELECT * 
642
										FROM TR_REQ_ADVANCE_DT 
643
										WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
644
																						SELECT CONTRACT_ID 
645
																						FROM TR_CONTRACT
646
																						WHERE BRANCH_ID =@p_BRANCH_LOGIN
647
																					  ) 
648
										AND AUTH_STATUS_KT ='A'
649
									)
650
						)
651
				 )/*0*/
652
			ORDER BY A.CREATE_DT DESC
653
	-- PAGING END
654
		END;
655
    ELSE 
656
	BEGIN
657
-- PAGING BEGIN
658
        SELECT TOP(CONVERT(INT,@p_TOP)) A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME, C.AUTH_STATUS_KT_DESC,
659
		TL1.TLFullName APPROVE_FULLNAME,
660
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL8.TLFullName END AS CREATE_FULLNAME_KT,
661
		TL3.TLFullName APPROVE_FULLNAME_KT,
662
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
663
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
664
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
665
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
666
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
667
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
668
		--BR.BRANCH_NAME AS BRANCH_NAME_REQ,
669
		BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
670
		--Luanlt--2019/10/15-Sửa AL,AL1
671
		BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP, 
672
		ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
673
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
674
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
675
		--CASE WHEN PC3.TLNAME IS NOT NULL AND PC3.TLNAME <>'' THEN @P_USER_LOGIN ELSE PC3.TLNAME END AS EXEC_USER,
676
		@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
677
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
678
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
679
		AS BRANCH_NAME_CONTRACT,
680
		--doanptt 300622
681
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
682
			 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
683
			 ELSE TL2.TLNANME END AS EXEC_USER,
684
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
685
		PC3.TLNAME AS EXEC_USER_KT,
686
		CASE WHEN ISNULL(A.CREATE_DT_KT, '') <> '' AND A.AUTH_STATUS_KT IN('P', 'S')  THEN dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.CREATE_DT_KT, GETDATE())
687
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
688
-- SELECT END
689
        FROM TR_REQ_PAYMENT A
690
             LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
691
             LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
692
             LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
693
             LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
694
             LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
695
             LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
696
             LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
697
			 LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
698
             LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
699
			 --Luanlt--2019/10/15-Sửa AL,AL1
700
			 LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
701
			 LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
702
			 LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
703
			 LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
704
			 LEFT JOIN 
705
			 (
706
			 SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
707
			 ) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
708
			 LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
709
			 LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
710
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
711
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
712
			 LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
713
			 LEFT JOIN TL_USER TL8 ON PC5.TLNAME = TL8.TLNANME
714
			 LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
715
			 LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
716
        WHERE 1=1 
717
			  AND(A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID='' OR @p_REQ_PAY_ID IS NULL)
718
			  AND(	A.AUTH_STATUS=@p_AUTH_STATUS 
719
					OR @p_AUTH_STATUS='' 
720
					OR @p_AUTH_STATUS IS NULL 
721
					OR	(	@p_AUTH_STATUS = 'G' 
722
							AND ISNULL(A.PROCESS, '') = '0' 
723
							AND A.AUTH_STATUS = 'U'
724
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
725
						) 
726
					OR	(	@p_AUTH_STATUS = 'W' 
727
							AND ISNULL(A.PROCESS, '') = '' 
728
							AND A.AUTH_STATUS = 'U'
729
							AND @P_USER_LOGIN = A.TRASFER_USER_RECIVE
730
						)
731
				)
732
			  AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
733
			  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)
734
			  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)
735
			  AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
736
			  AND	(	(	@p_LEVEL='ALL' AND	(	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
737
													OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
738
												)
739
						) -- LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
740
						OR	(	(	@p_LEVEL='UNIT' 
741
									AND A.BRANCH_ID=@p_BRANCH_ID
742
								)
743
								OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
744
								OR (	@BRANCH_TYPE_LG <> 'HS' AND
745
										EXISTS	(	SELECT * 
746
													FROM TR_REQ_ADVANCE_DT 
747
													WHERE REQ_PAY_ID = A.REQ_PAY_ID
748
													AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
749
													AND AUTH_STATUS_KT ='A'
750
												)
751
									)
752
							)
753
					)
754
			  AND	(	(	@p_LEVEL='ALL' 
755
							AND (	A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp) 
756
									OR A.BRANCH_CREATE IN (SELECT * FROM @BRANCH_AUTH)
757
								)
758
						) -- - LUCTV 20211012: BO SUNG CAU HINH DE XU LY UY QUYEN KIEM NHIEM
759
						OR	(	(	@p_LEVEL='UNIT' 
760
									AND A.BRANCH_ID=@p_BRANCH_ID
761
								)
762
								OR	(	@p_BRANCH_ID='' 
763
										OR @p_BRANCH_ID IS NULL
764
									)
765
																 OR	(	@BRANCH_TYPE_LG <> 'HS' 
766
																		AND EXISTS	(	SELECT * 
767
																						FROM TR_REQ_ADVANCE_DT 
768
																						WHERE REQ_PAY_ID = A.REQ_PAY_ID 
769
																						AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
770
																						AND AUTH_STATUS_KT ='A'
771
																					)
772
																	)
773
							)
774
					)
775
			  AND	(	(	A.MAKER_ID_KT IS NOT NULL 
776
							AND @p_IS_UPDATE_KT='Y'
777
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
778
						OR	(	(	A.MAKER_ID_KT IS NULL 
779
									AND @p_IS_UPDATE_KT='N'
780
								)
781
							)
782
							OR @p_IS_UPDATE_KT IS NULL 
783
							OR @p_IS_UPDATE_KT='')
784
			  AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
785
			  --Luanlt-2019/10/14-Thêm Filter  REQ_TYPE,FROMDATE TODATE REF_ID
786
			  AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
787
			  AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @DATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
788
              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)
789
			  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME  BRANCH_ID DEP_ID KT_AUTH
790
			  AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
791
			  AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
792
			  --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 <>'')
793
			  AND	(	(@p_BRANCH_ID <> @p_BRANCH_LOGIN AND A.BRANCH_ID = @p_BRANCH_ID) 
794
						OR @p_BRANCH_ID = @p_BRANCH_LOGIN 
795
						OR @p_BRANCH_ID='' 
796
						OR @p_BRANCH_ID IS NULL
797
					)
798
			  AND(A.DEP_ID = @p_DEP_ID  or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
799
			  AND	(	(	A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT 
800
							OR @p_AUTH_STATUS_KT='' 
801
							OR @p_AUTH_STATUS_KT IS NULL
802
						) 
803
						OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))
804
					)
805
			  AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
806
			  --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
807
              --OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
808
			  -- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
809
			  AND  (
810
						(
811
							@p_FUNCTION ='KT' 
812
							AND (
813
									EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_ID 
814
									AND (
815
											X.TLNAME= @p_USER_LOGIN 
816
											OR X.TLNAME =@p_EXEC_USER_KT)
817
										)
818
								) 
819
							OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
820
							OR A.CHECKER_ID_KT ='admin' 
821
							OR A.AUTH_STATUS_KT='A' 
822
						)
823
						OR @p_FUNCTION ='' 
824
						OR @p_FUNCTION IS NULL 
825
						OR @p_FUNCTION ='TF' 
826
					)	  
827
				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)
828
			 -- 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 ='')
829
				AND	(	(	@p_IS_TRANSFER='Y' 
830
							AND	(	EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID) 
831
									OR A.AUTH_STATUS_KT ='A'
832
								)
833
						) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
834
						OR	(	(	@p_IS_TRANSFER='N' 
835
									AND (	NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )) 
836
											AND A.AUTH_STATUS_KT <>'A'
837
								)
838
							)
839
						OR @p_IS_TRANSFER IS NULL 
840
						OR @p_IS_TRANSFER=''
841
					)	
842
				AND
843
				( /*0*/
844
				  A.MAKER_ID =@p_USER_LOGIN  
845
				  OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN 
846
						AND A.AUTH_STATUS NOT IN ('E','R')
847
					 )
848
				  OR	(	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
849
								AND A.DEP_ID = @DEP_ID_LG
850
								AND A.BRANCH_ID = 'DV0001'
851
								AND A.AUTH_STATUS IN ('U','R', 'A')
852
								AND @p_TYPE_SEARCH ='HC'
853
							)
854
							OR	(	@IS_SEE_ALL_HC = 'Y'			--DOANPTT 20/12/22: CHO A XUAN XEM TOAN BO PHIEU THUOC PHONG HANH CHINH
855
									AND A.BRANCH_ID = @p_BRANCH_LOGIN
856
									AND A.AUTH_STATUS IN ('U','R', 'A')
857
									AND @p_TYPE_SEARCH ='HC'
858
								)
859
						)
860
				  OR (	A.AUTH_STATUS <>'E' /*1*/
861
						AND
862
						(/*2*/
863
							(	@p_TYPE_SEARCH ='HC'		/*3*/ 
864
								AND @BRANCH_TYPE_LG ='HS'  
865
								AND (/*4*/A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
866
										OR (/*5*/
867
												EXISTS (	SELECT * 
868
															FROM @TABLE_ROLE 
869
															WHERE ROLE_AUTH IN ('GDDV','GDK','KTT','TPTC','TP','PP','TC')
870
													   )
871
												AND    (
872
															(	A.BRANCH_ID =@p_BRANCH_LOGIN 
873
																OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
874
															) 
875
															AND (	A.DEP_ID = @DEP_ID_LG 
876
																	OR  ( 
877
																			A.DEP_ID  IN ('DEP000000000051','DEP000000000733') 
878
																			AND @p_USER_LOGIN ='cuongpv2'
879
																		) 
880
																	OR A.DEP_ID IN (
881
																						SELECT * 
882
																						FROM @DEP_AUTH
883
																					)
884
																)
885
														)
886
												AND ( 
887
														A.TRASFER_USER_RECIVE IS NULL 
888
														OR A.TRASFER_USER_RECIVE ='' 
889
														OR (
890
																A.TRASFER_USER_RECIVE IS NOT NULL 
891
																AND A.TRASFER_USER_RECIVE <>'' 
892
																AND A.PROCESS IS NOT NULL 
893
																AND A.PROCESS <>''
894
															)
895
													)
896
											)/*5*/
897
										)/*4*/
898
								)/*3*/
899
							OR(/*trong 2*/
900
									@p_TYPE_SEARCH ='HC' 
901
									AND @BRANCH_TYPE_LG = 'CN' 
902
									AND (
903
											@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
904
											AND A.BRANCH_ID =@p_BRANCH_LOGIN 
905
											AND
906
												(
907
													(
908
														A.TRASFER_USER_RECIVE IS NOT NULL 
909
														AND A.TRASFER_USER_RECIVE <>'' 
910
														AND A.PROCESS IS NOT NULL 
911
														AND A.PROCESS <>''
912
													 ) 
913
													OR A.TRASFER_USER_RECIVE ='' 
914
													OR A.TRASFER_USER_RECIVE IS NULL
915
												 )
916
											OR (
917
													(
918
														A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
919
														AND A.TRASFER_USER_RECIVE IS NOT NULL 
920
															AND A.TRASFER_USER_RECIVE <>''
921
													) 
922
													OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
923
												)
924
											AND A.BRANCH_ID =@p_BRANCH_ID
925
										)
926
								)
927
							 OR
928
								(
929
									@p_TYPE_SEARCH ='HC' 
930
									AND @BRANCH_TYPE_LG = 'PGD' 
931
									AND (
932
											@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
933
											AND A.BRANCH_ID =@p_BRANCH_LOGIN
934
										)
935
								)
936
							 OR
937
								(
938
									@p_TYPE_SEARCH ='HC' 
939
									AND(
940
											@ROLE_ID IN ('KSV','GDV','NVTC') 
941
											OR @DEP_ID_LG ='DEP000000000022'
942
										) 
943
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
944
								)
945
							OR	(
946
									@p_TYPE_SEARCH='KT' 
947
									AND @p_BRANCH_LOGIN ='DV0001' 
948
									AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
949
								)
950
							OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
951
						)/*2*/
952
				)/*1*/
953
				  OR
954
				  (
955
						(
956
							@ROLE_ID IN ('KSV','GDV','NVTC') 
957
							OR @DEP_ID_LG ='DEP000000000022'
958
						) 
959
						AND @p_BRANCH_LOGIN ='DV0001' 
960
						AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
961
				  )
962
				  -- 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
963
				  OR(	@p_TYPE_SEARCH ='HC' 
964
						AND A.BRANCH_CREATE <> 'DV0001' 
965
						AND A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
966
					)
967
				  -- LUCTV 25 05 BO SUNG CAU HINH CHO PHEP DVKD DUOC THAY NHUNG PDN THANH TOAN DO HO TẠO
968
				  OR (
969
						@p_TYPE_SEARCH ='HC' 
970
						AND @BRANCH_TYPE_LG <> 'HS' 
971
						AND
972
						EXISTS (
973
									SELECT * 
974
									FROM TR_REQ_ADVANCE_DT 
975
									WHERE REQ_PAY_ID = A.REQ_PAY_ID AND REF_ID IN (
976
																					SELECT CONTRACT_ID 
977
																					FROM TR_CONTRACT
978
																					WHERE BRANCH_ID =@p_BRANCH_LOGIN
979
																				  ) 
980
									AND AUTH_STATUS_KT ='A'
981
								)
982
					)
983
			 )/*0*/
984
		ORDER BY A.CREATE_DT DESC
985
-- PAGING END
986
    END;
987
END
988

    
989
END -- PAGING