Project

General

Profile

UPD_TR_REQ_ADVANCE_SEARCH.txt

Luc Tran Van, 10/16/2022 12:08 PM

 
1
ALTER   PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_Search]  
2
@p_REQ_PAY_ID varchar(15)= NULL,  
3
@p_REQ_PAY_CODE varchar(50) = NULL,  
4
@p_REQ_DT VARCHAR(20)= NULL,  
5
@p_BRANCH_ID varchar(15) = NULL,  
6
@p_DEP_ID varchar(15) = NULL,  
7
@p_REQ_REASON nvarchar(MAX) = NULL,  
8
@p_REQ_TYPE varchar(15) = NULL,  
9
@P_REQ_ENTRIES nvarchar(MAX) = NULL,  
10
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,  
11
@p_REF_ID varchar(15) = NULL,  
12
@p_RECEIVER_PO nvarchar(250) = NULL,  
13
@p_RECEIVER_DEBIT 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 varchar(1) = NULL,  
28
@p_APPROVE_DT_KT varchar(25)= null,  
29
@p_CORE_NOTE nvarchar(500) = NULL,  
30
@p_BRANCH_CREATE varchar(15) = NULL,  
31
@p_NOTES NVARCHAR(15) = NULL,  
32
@p_RECORD_STATUS varchar(1) = NULL,  
33
@p_TRANSFER_MAKER nvarchar(50) = NULL,  
34
@p_TRANSFER_DT varchar(25) = NULL,  
35
@p_TRASFER_USER_RECIVE varchar(15) = NULL,  
36
@p_PROCESS varchar(15) = NULL,  
37
@p_PAY_PHASE VARCHAR(15)= NULL,  
38
@p_XMP_TEMP XML = NULL,  
39
@p_TOP INT = 10,  
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_DVDM_ID VARCHAR(15)= NULL,  
47
@p_USER_LOGIN VARCHAR(15) = NULL,  
48
@p_RATE DECIMAL(18,0) =0,  
49
@p_FUNCTION VARCHAR(15) = NULL,  
50
@p_TYPE_SEARCH VARCHAR(15) = NULL,  
51
@p_TEMP_PAY_STATUS VARCHAR(10) = NULL  
52
--select * from CM_ALLCODE where CDTYPE = 'TEMPPAYSTATUS'  
53
--HT Hoàn tất  
54
--DCHU Đang chờ hoàn ứng  
55
--DHU Đã hoàn ứng  
56
--'' tất cả  
57
AS
58
BEGIN -- PAGING
59
	SET @p_TOP = NULL  
60
-- BRANCH TYPE CUA USER LOGIN
61
	DECLARE @TB_TYPE TABLE (BRANCH_TYPE VARCHAR(15))  
62
	IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_LOGIN)='HS')  
63
	BEGIN  
64
		INSERT INTO @TB_TYPE VALUES('HS')  
65
	END  
66
	ELSE  
67
	BEGIN  
68
		INSERT INTO @TB_TYPE VALUES('PGD')  
69
		INSERT INTO @TB_TYPE VALUES('CN')  
70
	END  
71

    
72
-- DANH SACH PHONG BAN CON CUA NGUOI TAO PHIEU
73
	IF(NOT EXISTS (SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID))
74
	BEGIN
75
		SET @p_BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE = @p_BRANCH_ID)
76
	END
77
	DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))  
78
	INSERT INTO @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)  
79
-- DANH SACH PHONG BAN CON CUA USER LOGIN
80
	declare @tmp_Login table(BRANCH_ID varchar(15))  
81
	insert into @tmp_Login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)  
82

    
83
	DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15), @BRANCH_TYPE VARCHAR(15) 
84
-- BRANCH TYPE CUA PHIEU DE NGHI TAM UNG
85
	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))  
86
-- ROLE CUA USER LOGIN
87
	SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)  
88
-- KHAI BAO UY QUYEN KIEM NHIEM
89
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
90
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
91
	INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID  
92
	AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
93
	AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') AND TLNAME =@p_USER_LOGIN
94

    
95
	--AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)  
96

    
97
-- PHONG BAN CUA USER LOGIN
98
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN) 
99
	
100
	DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))  
101
	SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)  
102
	SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)  
103
	INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B WHERE COST_ID =@COST_LG  
104
-- BRANCH_TYPE USER LOGIN
105
	DECLARE @BRANCH_TYPE_LG VARCHAR(15)  
106
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)  
107
-- KHAI BAO NHUNG PHONG BAN MA 1 USER KIEM NHIEM  
108
	DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))  
109
	INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
110
	INSERT INTO @DEP_AUTH SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN  
111
	AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
112
	AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
113

    
114
	DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
115
	INSERT INTO @BRANCH_AUTH VALUES (@BRANCH_TYPE_LG)
116
	INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN 
117
	AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) 
118
	AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
119

    
120
	--END
121
	--IF(EXISTS(SELECT * FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID))  
122
	-- SET @ROLE_ID=(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID)  
123

    
124
-- LAY ROLE USER LOGIN
125
	SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)  
126
	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','TKTGD','TKHDQT'))  
127
	BEGIN  
128
		PRINT @ROLE_ID  
129
	END  
130
	ELSE  
131
	BEGIN  
132
		SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)  
133
		IF(@ROLE_ID IS NULL OR @ROLE_ID ='')  
134
		BEGIN  
135
			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))  
136
		END  
137
	END  
138
	--if(1=1)
139
	--begin
140
	--print 'role: ' + @ROLE_ID
141
	--return;
142
	--end
143
	IF(@p_TOP IS NULL OR @p_TOP=0)
144
	BEGIN
145
-- PAGING BEGIN 
146
		SELECT A.*,'' as TEMP_PAY_STATUS ,ISNULL(B.AUTH_STATUS_NAME,N'Chờ duyệt') AS AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,  
147
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
148
		BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,  
149
		--Luanlt--2019/10/15-Sửa AL,AL1  
150
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
151
		A.REQ_AMT AS TOTAL_AMT_TEMP,CASE WHEN H.SOTIEN_TT IS NULL THEN ISNULL(A.PAY_AMT,0) ELSE ISNULL(A.PAY_AMT,0) END AS TOTAL_AMT_PAY_HIS,  
152
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
153
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
154
		PO.PO_CODE, PO.PO_NAME,SUP.SUP_NAME,SUP.TAX_NO AS SUP_TAX_NO,CUS.CUSTOMER_CODE AS CUST_CODE, CUS.CUSTOMER_NAME AS CUST_NAME,PM.PAY_PHASE AS KY_TAM_UNG,  
155
		DV.DVDM_CODE, DV.DVDM_NAME, CASE WHEN PC.ROLE_USER ='GDDV' THEN (SELECT RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN) ELSE PC.ROLE_USER END AS ROLE_CONF, 
156
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
157
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
158
		--PC1.NOTES AS NEXT_STEP,  
159
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
160
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
161
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
162
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
163
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
164
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'')='' THEN N'Chờ cấp duyệt trung gian xác nhận'
165
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'') <> '' THEN N'Chờ trưởng đơn vị xác nhận'
166
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND   ISNULL(A.TRASFER_USER_RECIVE,'') = ''  AND ISNULL(A.PROCESS,'') = '' THEN N'Chờ trưởng đơn vị xác nhận'
167
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
168
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE <> 'DV0001' AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND (A.PROCESS IS NULL OR A.PROCESS ='') THEN N'Chờ cấp duyệt trung gian xác nhận'
169
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE<>'DV0001' AND (ISNULL(A.TRASFER_USER_RECIVE,'') ='' OR A.PROCESS ='0') THEN PC1.NOTES END AS NEXT_STEP,  
170
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,TL8.TLFullName AS RECIVER_MONEY_FULLNAME, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR, BR.BRANCH_TYPE,@p_TYPE_SEARCH AS TYPE_SEARCH,  
171
		SR.ROLE_ID AS ROLE_ID_CRE, ISNULL(H.SOTIEN_TT,0) AS STTT, A.REQ_AMT - ISNULL(H.SOTIEN_TT,0) AS SL_CL,BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE, '' AS BRANCH_CODE_CONTRACT, '' AS BRANCH_NAME_CONTRACT,
172
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
173
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
174
						 ELSE TL2.TLNANME  
175
						 END
176
		-- doanptt 120522
177
		, C.AUTH_STATUS_KT_DESC
178

    
179
-- SELECT END
180
		FROM TR_REQ_ADVANCE_PAYMENT A  
181
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
182
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
183
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
184
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
185
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
186
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
187
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
188
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
189
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
190
		--Luanlt--2019/10/15-Sửa AL,AL1  
191
		LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'  AND AL.CDTYPE = 'REQ_PAY_ADVANCE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)  
192
		LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'  AND AL1.CDTYPE = 'REQ_PAY_METHOD' --Hình thức thanh toán( Tiền mặt/Chuyển khoản)
193
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
194
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
195
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
196
		LEFT JOIN  
197
		(  
198
		SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID  
199
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
200
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
201
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
202
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
203
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
204
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
205
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
206
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
207
		LEFT JOIN  
208
		(  
209
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
210
		INNER JOIN  
211
		(  
212
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
213
			GROUP BY PR.REQ_ID  
214
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
215
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
216
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
217
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
218
		(PC.ROLE_USER = @ROLE_ID OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_PAY_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
219
		AND PC.STATUS='C' 
220
		--LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND PC.STATUS='C'  
221
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
222
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
223
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
224
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
225
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
226
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
227
		WHERE 1=1  
228
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='')  
229
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
230
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
231
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
232
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
233
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
234
		AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL OR A.REQ_DT IS NULL)  
235
		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 OR A.REQ_DT IS NULL)  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH  
236
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
237
		--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 <>'')  
238
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
239
		AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))  
240
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
241
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
242
				OR @p_AUTH_STATUS='' 
243
				OR @p_AUTH_STATUS IS NULL 
244
				OR (	A.REQ_TYPE ='I' 
245
						AND A.AUTH_STATUS <>'A' 
246
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
247
					)
248
			)
249
		AND	(	(A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
250
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
251
				OR @p_IS_UPDATE_KT IS NULL 
252
				OR @p_IS_UPDATE_KT=''
253
			)  
254
		 
255
		AND
256
		(
257
			(	@p_IS_TRANSFER='Y' 
258
				 AND(
259
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
260
			
261
					 OR (
262
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
263
						)
264
					 OR (
265
							@p_TYPE_SEARCH ='KT' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)  OR A.AUTH_STATUS_KT ='A')
266
						)
267
					)
268
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
269
			OR
270
			(	@p_IS_TRANSFER='N' 
271
				AND (
272
						(@p_TYPE_SEARCH ='TKTGD' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND  PROCESS_ID ='1') AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A') 
273
				
274
						OR  (
275
								@p_TYPE_SEARCH ='TKHDQT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2' AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A')
276
							)
277
						OR  (
278
								@p_TYPE_SEARCH ='KT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND (PROCESS_ID IS NULL OR PROCESS_ID ='' OR PROCESS_ID ='3')) AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A' 
279
							)
280
					)
281
			)
282
			OR @p_IS_TRANSFER IS NULL 
283
			OR @p_IS_TRANSFER=''
284
		) 
285

    
286
		AND	(	(	(	@p_PROCESS='PM' 
287
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
288
					)  
289
					AND (	A.REQ_TYPE IN('I','D','P') 
290
							OR	(	@DEP_ID_LG ='DEP000000000014' 
291
									AND A.REQ_TYPE IN ('I','P','D')
292
								)
293
						)	
294
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
295
								OR A.MAKER_ID =@p_USER_LOGIN 
296
								OR A.MAKER_ID IS NULL
297
							) 
298
								OR	(	@BRANCH_TYPE_LG <>'HS' 
299
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
300
									) 
301
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
302
												AND @p_REQ_PAY_CODE <> '' 
303
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
304
											)
305
						)
306
				)  
307
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
308
			)  
309
		AND	(	(	@p_LEVEL='ALL' 
310
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
311
				)  
312
				OR	(	(	@p_LEVEL='UNIT' 
313
							AND A.BRANCH_ID=@p_BRANCH_ID
314
						)
315
						OR	(	@p_BRANCH_ID='' 
316
								OR @p_BRANCH_ID IS NULL
317
							) 
318
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
319
									AND @p_REQ_PAY_CODE <> '' 
320
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
321
							)
322
					)
323
			)    
324
		AND (	(	@p_FUNCTION ='KT' 
325
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
326
										WHERE X.REQ_ID = A.REQ_PAY_ID 
327
										AND (	X.TLNAME= @p_USER_LOGIN 
328
												OR X.TLNAME =@p_TRASFER_USER_RECIVE
329
											)
330
									)
331
						) 
332
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
333
				)  
334
				OR @p_FUNCTION IS NULL 
335
				OR @p_FUNCTION ='' 
336
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
337
				OR @p_FUNCTION ='SIGN'
338
			)
339
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
340
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
341
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
342
							AND TYPE_JOB IN ('XL','KS','TP') 
343
							AND REQ_ID = A.REQ_PAY_ID
344
						) 
345
				OR @p_TRASFER_USER_RECIVE IS NULL 
346
				OR @p_TRASFER_USER_RECIVE=''
347
			)  
348
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
349
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
350
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
351
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
352
									AND @BRANCH_TYPE_LG ='HS' 
353
									AND A.REQ_TYPE ='I'  
354
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
355
															WHERE ROLE_AUTH IN ('GDDV','TP','KTT','TC')
356
														) 
357
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
358
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
359
													)
360
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
361
												AND	(	(	@p_AUTH_STATUS ='A' 
362
															AND ISNULL(PROCESS,'') ='0' 
363
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
364
																			WHERE REQ_ID =A.REQ_PAY_ID 
365
																			AND PROCESS_DESC IN (N'Trưởng đơn vị xác nhận phiếu',N'Cấp phê duyệt trung gian xác nhận phiếu')
366
																		)
367
															OR (@p_AUTH_STATUS ='U' AND ISNULL(PROCESS,'')='') 
368
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
369
														)
370
													)
371
											) 
372
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
373
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
374
															OR A.MAKER_ID =@p_MAKER_ID 
375
															OR A.DEP_ID=@p_DEP_ID
376
														)
377
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
378
												)
379
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
380
																WHERE ROLE_AUTH  IN ('GDK','PTGD')
381
															) 
382
													AND	(	A.DVDM_ID =@DVDM_ID 
383
															OR (	A.DVDM_ID IS NULL 
384
																	OR A.DVDM_ID =''
385
																)
386
														) 
387
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
388
																	WHERE REQ_ID = A.REQ_PAY_ID
389
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
390
																	-- AND A.BRANCH_CREATE ='DV0001' 
391
																	AND A.PROCESS<>'' 
392
																	AND A.PROCESS IS NOT NULL
393
																	AND	(	(	@p_AUTH_STATUS ='A' 
394
																				AND STATUS IN ('P','A')
395
																			) 
396
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
397
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
398
																					AND STATUS IN ('C','P','A')
399
																				)
400
																		)
401
																)
402
												)
403
											OR	(	EXISTS	(	SELECT * 
404
																FROM @TABLE_ROLE 
405
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
406
																AND EXISTS	(	SELECT * 
407
																				FROM PL_REQUEST_PROCESS	
408
																				WHERE REQ_ID = A.REQ_PAY_ID
409
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
410
																				--AND A.BRANCH_CREATE ='DV0001' 
411
																				AND A.PROCESS<>'' 
412
																				AND A.PROCESS IS NOT NULL
413
																				AND (	(	@p_AUTH_STATUS ='A' 
414
																							AND STATUS IN ('P','A')
415
																						) 
416
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
417
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
418
																					)
419
																			)
420
												)
421

    
422
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
423
								)	-- ngoac so 2, line 347
424
-- NGUOC LAI NEU LA TAM UNG KHAC
425
								OR	(	@p_TYPE_SEARCH ='HC' 
426
										AND @BRANCH_TYPE_LG ='HS' 
427
										AND A.REQ_TYPE <> 'I' 
428
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
429
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
430
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
431
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
432
															)	
433
														AND	(	A.DEP_ID =@DEP_ID_LG 
434
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
435
															)  
436
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
437
																OR A.TRASFER_USER_RECIVE ='' 
438
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
439
																		AND A.TRASFER_USER_RECIVE <>'' 
440
																		AND A.PROCESS IS NOT NULL 
441
																		AND A.PROCESS <>''
442
																	)
443
															)
444
													)  
445
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
446
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
447
													)  
448
											)
449
									)
450
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
451
								OR	(	@p_TYPE_SEARCH ='HC' 
452
										AND @BRANCH_TYPE_LG = 'CN' 
453
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
454
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
455
															AND A.TRASFER_USER_RECIVE <>'' 
456
															AND A.PROCESS IS NOT NULL 
457
															AND A.PROCESS <>''
458
														)  
459
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
460
													)  
461

    
462
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
463
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
464
															AND A.TRASFER_USER_RECIVE <>''
465
														) 
466
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
467
													)  
468
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
469
											)
470
									)  
471
								OR	(	@p_TYPE_SEARCH ='HC' 
472
										AND @BRANCH_TYPE_LG = 'CN' 
473
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
474
									)  
475
								OR	(	@p_TYPE_SEARCH ='HC' 
476
										AND @BRANCH_TYPE_LG = 'PGD' 
477
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
478
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
479
											)
480
									)  
481
								OR	(	@p_TYPE_SEARCH ='HC' 
482
										AND	(	A.DVDM_ID IS NOT NULL 
483
												AND A.DVDM_ID <>'' 
484
												AND A.DVDM_ID =@DVDM_ID 
485
												AND A.PROCESS IS NOT NULL 
486
												AND A.PROCESS <>'' 
487
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
488
											) 
489
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
490
												AND A.PROCESS IS NOT NULL 
491
												AND A.PROCESS <>''  
492
												AND @ROLE_ID <> 'TKTGD' 
493
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
494
											)
495
									)  
496
								--OR(@p_TYPE_SEARCH ='HC' AND (@ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER IN ('TGD','HDQT','TKTGD','TKHDQT') AND STATUS ='C')))  
497
								OR	(	@p_TYPE_SEARCH='KT' 
498
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
499
									)  
500
								OR	(	@p_TYPE_SEARCH='HC' 
501
										AND	(	@ROLE_ID IN ('KSV','GDV')  
502
												OR @DEP_ID_LG ='DEP000000000022'
503
											) 
504
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
505
									)  
506
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
507
																				WHERE REQ_ID = A.REQ_PAY_ID 
508
																				AND TLNAME =@p_USER_LOGIN 
509
																				AND TYPE_JOB ='XL' 
510
																				AND STATUS_JOB = 'C' 
511
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
512
																			) 
513
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
514
																					WHERE REQ_ID = A.REQ_PAY_ID 
515
																					AND TLNAME =@p_USER_LOGIN 
516
																					AND TYPE_JOB ='XL' 
517
																					AND STATUS_JOB = 'P' 
518
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
519
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
520
																																																							)
521
																				)
522
																)
523
									) 
524
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
525
										AND A.PROCESS<>'' 
526
										AND A.PROCESS IS NOT NULL
527
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
528
																					WHERE REQ_ID = A.REQ_PAY_ID 
529
																					AND ROLE_USER =@ROLE_ID 
530
																					AND STATUS ='C'
531
																				)
532
												)
533
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
534
														AND EXISTS(	SELECT * 
535
																	FROM PL_REQUEST_PROCESS 
536
																	WHERE REQ_ID = A.REQ_PAY_ID 
537
																	AND ROLE_USER =@ROLE_ID 
538
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
539
																			OR	(	@p_IS_TRANSFER <>'N' 
540
																					AND STATUS IN ('C','P')
541
																				)
542
																		)
543
																	)
544
													)
545
											)
546
									)
547
								OR	(	@p_TYPE_SEARCH='PAY' 
548
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
549
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
550
													AND	(	A.DEP_ID =@DEP_ID_LG 
551
															OR A.MAKER_ID =@p_USER_LOGIN 
552
															OR A.MAKER_ID IS NULL 
553
															OR 1=1
554
														)
555
												) 
556
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
557
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
558
													)
559
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
560
														AND @p_REQ_PAY_CODE <> '' 
561
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
562
													)
563
											)
564
									)  
565
							) -- ngoac so 1, line 347
566
						OR	(	@p_TYPE_SEARCH='HC' 
567
								AND	(	@ROLE_ID IN ('KSV','GDV')  
568
										OR @DEP_ID_LG ='DEP000000000022'
569
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
570
							)
571
					) -- line 346
572
			) -- line 344
573
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
574
					AND (@p_TEMP_PAY_STATUS = 'HT')
575
				)  
576
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
577
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
578
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
579
			)  
580
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
581
		ORDER BY A.CREATE_DT DESC   
582
-- PAGING END
583
	END;
584
	ELSE 
585
	BEGIN
586
-- PAGING BEGIN 
587
		SELECT A.*,'' as TEMP_PAY_STATUS ,ISNULL(B.AUTH_STATUS_NAME,N'Chờ duyệt') AS AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,  
588
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
589
		BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,  
590
		--Luanlt--2019/10/15-Sửa AL,AL1  
591
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
592
		A.REQ_AMT AS TOTAL_AMT_TEMP,CASE WHEN H.SOTIEN_TT IS NULL THEN ISNULL(A.PAY_AMT,0) ELSE ISNULL(A.PAY_AMT,0) END AS TOTAL_AMT_PAY_HIS,  
593
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
594
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
595
		PO.PO_CODE, PO.PO_NAME,SUP.SUP_NAME,SUP.TAX_NO AS SUP_TAX_NO,CUS.CUSTOMER_CODE AS CUST_CODE, CUS.CUSTOMER_NAME AS CUST_NAME,PM.PAY_PHASE AS KY_TAM_UNG,  
596
		DV.DVDM_CODE, DV.DVDM_NAME, CASE WHEN PC.ROLE_USER ='GDDV' THEN (SELECT RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN) ELSE PC.ROLE_USER END AS ROLE_CONF, 
597
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
598
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
599
		--PC1.NOTES AS NEXT_STEP,  
600
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
601
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
602
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
603
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
604
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
605
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'')='' THEN N'Chờ cấp duyệt trung gian xác nhận'
606
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND  (A.PROCESS IS NULL OR A.PROCESS ='') AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND ISNULL(A.NOTES,'') <> '' THEN N'Chờ trưởng đơn vị xác nhận'
607
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND   ISNULL(A.TRASFER_USER_RECIVE,'') = ''  AND ISNULL(A.PROCESS,'') = '' THEN N'Chờ trưởng đơn vị xác nhận'
608
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
609
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE <> 'DV0001' AND ISNULL(A.TRASFER_USER_RECIVE,'') <> '' AND (A.PROCESS IS NULL OR A.PROCESS ='') THEN N'Chờ cấp duyệt trung gian xác nhận'
610
		WHEN A.REQ_TYPE='I' AND  A.BRANCH_CREATE<>'DV0001' AND (ISNULL(A.TRASFER_USER_RECIVE,'') ='' OR A.PROCESS ='0') THEN PC1.NOTES END AS NEXT_STEP,  
611
		PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB, TL8.TLFullName AS RECIVER_MONEY_FULLNAME, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR, BR.BRANCH_TYPE,@p_TYPE_SEARCH AS TYPE_SEARCH,  
612
		SR.ROLE_ID AS ROLE_ID_CRE, ISNULL(H.SOTIEN_TT,0) AS STTT, A.REQ_AMT - ISNULL(H.SOTIEN_TT,0) AS SL_CL,BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE, '' AS BRANCH_CODE_CONTRACT, '' AS BRANCH_NAME_CONTRACT,
613
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
614
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
615
						 ELSE TL2.TLNANME  
616
						 END
617
		-- doanptt 120522
618
		, C.AUTH_STATUS_KT_DESC
619
-- SELECT END
620
		FROM TR_REQ_ADVANCE_PAYMENT A  
621
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
622
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
623
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
624
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
625
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
626
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
627
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
628
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
629
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
630
		--Luanlt--2019/10/15-Sửa AL,AL1  
631
		LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'  AND AL.CDTYPE = 'REQ_PAY_ADVANCE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)  
632
		LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'  AND AL1.CDTYPE = 'REQ_PAY_METHOD' --Hình thức thanh toán( Tiền mặt/Chuyển khoản)
633
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
634
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
635
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
636
		LEFT JOIN  
637
		(  
638
		SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID  
639
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
640
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
641
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
642
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
643
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
644
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
645
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
646
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
647
		LEFT JOIN  
648
		(  
649
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
650
		INNER JOIN  
651
		(  
652
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
653
			GROUP BY PR.REQ_ID  
654
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
655
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
656
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
657
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
658
		(PC.ROLE_USER = @ROLE_ID OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_PAY_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
659
		AND PC.STATUS='C'  
660
		--LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND PC.STATUS='C'  
661
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
662
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
663
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
664
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
665
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
666
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
667
		WHERE 1=1  
668
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='')  
669
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
670
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
671
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
672
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
673
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
674
		AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL OR A.REQ_DT IS NULL)  
675
		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 OR A.REQ_DT IS NULL)  --Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH  
676
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
677
		--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 <>'')  
678
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
679
		AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))  
680
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
681
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
682
				OR @p_AUTH_STATUS='' 
683
				OR @p_AUTH_STATUS IS NULL 
684
				OR (	A.REQ_TYPE ='I' 
685
						AND A.AUTH_STATUS <>'A' 
686
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
687
					)
688
			)
689
		AND	(	(A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
690
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
691
				OR @p_IS_UPDATE_KT IS NULL 
692
				OR @p_IS_UPDATE_KT=''
693
			)  
694
		 
695
		AND
696
		(
697
			(	@p_IS_TRANSFER='Y' 
698
				 AND(
699
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
700
			
701
					 OR (
702
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
703
						)
704
					 OR (
705
							@p_TYPE_SEARCH ='KT' AND (EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)  OR A.AUTH_STATUS_KT ='A')
706
						)
707
					)
708
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
709
			OR
710
			(	@p_IS_TRANSFER='N' 
711
				AND (
712
						(@p_TYPE_SEARCH ='TKTGD' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND  PROCESS_ID ='1') AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A') 
713
				
714
						OR  (
715
								@p_TYPE_SEARCH ='TKHDQT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2' AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A')
716
							)
717
						OR  (
718
								@p_TYPE_SEARCH ='KT' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND (PROCESS_ID IS NULL OR PROCESS_ID ='' OR PROCESS_ID ='3')) AND ISNULL(A.AUTH_STATUS_KT,'') <> 'A' 
719
							)
720
					)
721
			)
722
			OR @p_IS_TRANSFER IS NULL 
723
			OR @p_IS_TRANSFER=''
724
		) 
725

    
726
		AND	(	(	(	@p_PROCESS='PM' 
727
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
728
					)  
729
					AND (	A.REQ_TYPE IN('I','D','P') 
730
							OR	(	@DEP_ID_LG ='DEP000000000014' 
731
									AND A.REQ_TYPE IN ('I','P','D')
732
								)
733
						)	
734
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
735
								OR A.MAKER_ID =@p_USER_LOGIN 
736
								OR A.MAKER_ID IS NULL
737
							) 
738
								OR	(	@BRANCH_TYPE_LG <>'HS' 
739
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
740
									) 
741
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
742
												AND @p_REQ_PAY_CODE <> '' 
743
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
744
											)
745
						)
746
				)  
747
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
748
			)  
749
		AND	(	(	@p_LEVEL='ALL' 
750
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
751
				)  
752
				OR	(	(	@p_LEVEL='UNIT' 
753
							AND A.BRANCH_ID=@p_BRANCH_ID
754
						)
755
						OR	(	@p_BRANCH_ID='' 
756
								OR @p_BRANCH_ID IS NULL
757
							) 
758
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
759
									AND @p_REQ_PAY_CODE <> '' 
760
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
761
							)
762
					)
763
			)    
764
		AND (	(	@p_FUNCTION ='KT' 
765
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
766
										WHERE X.REQ_ID = A.REQ_PAY_ID 
767
										AND (	X.TLNAME= @p_USER_LOGIN 
768
												OR X.TLNAME =@p_TRASFER_USER_RECIVE
769
											)
770
									)
771
						) 
772
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
773
				)  
774
				OR @p_FUNCTION IS NULL 
775
				OR @p_FUNCTION ='' 
776
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
777
				OR @p_FUNCTION ='SIGN'
778
			)
779
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
780
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
781
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
782
							AND TYPE_JOB IN ('XL','KS','TP') 
783
							AND REQ_ID = A.REQ_PAY_ID
784
						) 
785
				OR @p_TRASFER_USER_RECIVE IS NULL 
786
				OR @p_TRASFER_USER_RECIVE=''
787
			)  
788
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
789
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
790
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
791
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
792
									AND @BRANCH_TYPE_LG ='HS' 
793
									AND A.REQ_TYPE ='I'  
794
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
795
															WHERE ROLE_AUTH IN ('GDDV','TP','KTT','TC')
796
														) 
797
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
798
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
799
													)
800
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
801
												AND	(	(	@p_AUTH_STATUS ='A' 
802
															AND ISNULL(PROCESS,'') ='0' 
803
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
804
																			WHERE REQ_ID =A.REQ_PAY_ID 
805
																			AND PROCESS_DESC IN (N'Trưởng đơn vị xác nhận phiếu',N'Cấp phê duyệt trung gian xác nhận phiếu')
806
																		)
807
															OR (@p_AUTH_STATUS ='U' AND ISNULL(PROCESS,'')='') 
808
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
809
														)
810
													)
811
											) 
812
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
813
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
814
															OR A.MAKER_ID =@p_MAKER_ID 
815
															OR A.DEP_ID=@p_DEP_ID
816
														)
817
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
818
												)
819
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
820
																WHERE ROLE_AUTH  IN ('GDK','PTGD')
821
															) 
822
													AND	(	A.DVDM_ID =@DVDM_ID 
823
															OR (	A.DVDM_ID IS NULL 
824
																	OR A.DVDM_ID =''
825
																)
826
														) 
827
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
828
																	WHERE REQ_ID = A.REQ_PAY_ID
829
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
830
																	-- AND A.BRANCH_CREATE ='DV0001' 
831
																	AND A.PROCESS<>'' 
832
																	AND A.PROCESS IS NOT NULL
833
																	AND	(	(	@p_AUTH_STATUS ='A' 
834
																				AND STATUS IN ('P','A')
835
																			) 
836
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
837
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
838
																					AND STATUS IN ('C','P','A')
839
																				)
840
																		)
841
																)
842
												)
843
											OR	(	EXISTS	(	SELECT * 
844
																FROM @TABLE_ROLE 
845
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
846
																AND EXISTS	(	SELECT * 
847
																				FROM PL_REQUEST_PROCESS	
848
																				WHERE REQ_ID = A.REQ_PAY_ID
849
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
850
																				--AND A.BRANCH_CREATE ='DV0001' 
851
																				AND A.PROCESS<>'' 
852
																				AND A.PROCESS IS NOT NULL
853
																				AND (	(	@p_AUTH_STATUS ='A' 
854
																							AND STATUS IN ('P','A')
855
																						) 
856
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
857
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
858
																					)
859
																			)
860
												)
861

    
862
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
863
								)	-- ngoac so 2, line 347
864
-- NGUOC LAI NEU LA TAM UNG KHAC
865
								OR	(	@p_TYPE_SEARCH ='HC' 
866
										AND @BRANCH_TYPE_LG ='HS' 
867
										AND A.REQ_TYPE <> 'I' 
868
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
869
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
870
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
871
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
872
															)	
873
														AND	(	A.DEP_ID =@DEP_ID_LG 
874
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
875
															)  
876
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
877
																OR A.TRASFER_USER_RECIVE ='' 
878
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
879
																		AND A.TRASFER_USER_RECIVE <>'' 
880
																		AND A.PROCESS IS NOT NULL 
881
																		AND A.PROCESS <>''
882
																	)
883
															)
884
													)  
885
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
886
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
887
													)  
888
											)
889
									)
890
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
891
								OR	(	@p_TYPE_SEARCH ='HC' 
892
										AND @BRANCH_TYPE_LG = 'CN' 
893
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
894
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
895
															AND A.TRASFER_USER_RECIVE <>'' 
896
															AND A.PROCESS IS NOT NULL 
897
															AND A.PROCESS <>''
898
														)  
899
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
900
													)  
901

    
902
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
903
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
904
															AND A.TRASFER_USER_RECIVE <>''
905
														) 
906
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
907
													)  
908
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
909
											)
910
									)  
911
								OR	(	@p_TYPE_SEARCH ='HC' 
912
										AND @BRANCH_TYPE_LG = 'CN' 
913
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
914
									)  
915
								OR	(	@p_TYPE_SEARCH ='HC' 
916
										AND @BRANCH_TYPE_LG = 'PGD' 
917
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
918
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
919
											)
920
									)  
921
								OR	(	@p_TYPE_SEARCH ='HC' 
922
										AND	(	A.DVDM_ID IS NOT NULL 
923
												AND A.DVDM_ID <>'' 
924
												AND A.DVDM_ID =@DVDM_ID 
925
												AND A.PROCESS IS NOT NULL 
926
												AND A.PROCESS <>'' 
927
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
928
											) 
929
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
930
												AND A.PROCESS IS NOT NULL 
931
												AND A.PROCESS <>''  
932
												AND @ROLE_ID <> 'TKTGD' 
933
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
934
											)
935
									)  
936
								--OR(@p_TYPE_SEARCH ='HC' AND (@ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER IN ('TGD','HDQT','TKTGD','TKHDQT') AND STATUS ='C')))  
937
								OR	(	@p_TYPE_SEARCH='KT' 
938
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
939
									)  
940
								OR	(	@p_TYPE_SEARCH='HC' 
941
										AND	(	@ROLE_ID IN ('KSV','GDV')  
942
												OR @DEP_ID_LG ='DEP000000000022'
943
											) 
944
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
945
									)  
946
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
947
																				WHERE REQ_ID = A.REQ_PAY_ID 
948
																				AND TLNAME =@p_USER_LOGIN 
949
																				AND TYPE_JOB ='XL' 
950
																				AND STATUS_JOB = 'C' 
951
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
952
																			) 
953
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
954
																					WHERE REQ_ID = A.REQ_PAY_ID 
955
																					AND TLNAME =@p_USER_LOGIN 
956
																					AND TYPE_JOB ='XL' 
957
																					AND STATUS_JOB = 'P' 
958
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
959
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
960
																																																							)
961
																				)
962
																)
963
									) 
964
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
965
										AND A.PROCESS<>'' 
966
										AND A.PROCESS IS NOT NULL
967
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
968
																					WHERE REQ_ID = A.REQ_PAY_ID 
969
																					AND ROLE_USER =@ROLE_ID 
970
																					AND STATUS ='C'
971
																				)
972
												)
973
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
974
														AND EXISTS(	SELECT * 
975
																	FROM PL_REQUEST_PROCESS 
976
																	WHERE REQ_ID = A.REQ_PAY_ID 
977
																	AND ROLE_USER =@ROLE_ID 
978
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
979
																			OR	(	@p_IS_TRANSFER <>'N' 
980
																					AND STATUS IN ('C','P')
981
																				)
982
																		)
983
																	)
984
													)
985
											)
986
									)
987
								OR	(	@p_TYPE_SEARCH='PAY' 
988
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
989
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
990
													AND	(	A.DEP_ID =@DEP_ID_LG 
991
															OR A.MAKER_ID =@p_USER_LOGIN 
992
															OR A.MAKER_ID IS NULL 
993
															OR 1=1
994
														)
995
												) 
996
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
997
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
998
													)
999
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1000
														AND @p_REQ_PAY_CODE <> '' 
1001
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1002
													)
1003
											)
1004
									)  
1005
							) -- ngoac so 1, line 347
1006
						OR	(	@p_TYPE_SEARCH='HC' 
1007
								AND	(	@ROLE_ID IN ('KSV','GDV')  
1008
										OR @DEP_ID_LG ='DEP000000000022'
1009
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1010
							)
1011
					) -- line 346
1012
			) -- line 344
1013
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
1014
					AND (@p_TEMP_PAY_STATUS = 'HT')
1015
				)  
1016
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
1017
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
1018
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
1019
			)  
1020
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
1021
		ORDER BY A.CREATE_DT DESC  
1022
-- PAGING END
1023
	END;
1024
END -- PAGING