Project

General

Profile

payment_kt_search.txt

Luc Tran Van, 03/28/2023 04:29 PM

 
1

    
2

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

    
990
END -- PAGING