Project

General

Profile

TR_REQ_ADVANCE_PAYMENT_Search.txt

Luc Tran Van, 11/14/2022 11:17 AM

 
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_EXEC_USER_KT	nvarchar(20)	= NULL,
29
@p_APPROVE_DT_KT varchar(25)= null,  
30
@p_CORE_NOTE nvarchar(500) = NULL,  
31
@p_BRANCH_CREATE varchar(15) = NULL,  
32
@p_NOTES NVARCHAR(15) = NULL,  
33
@p_RECORD_STATUS varchar(1) = NULL,  
34
@p_TRANSFER_MAKER nvarchar(50) = NULL,  
35
@p_TRANSFER_DT varchar(25) = NULL,  
36
@p_TRASFER_USER_RECIVE varchar(15) = NULL,  
37
@p_PROCESS varchar(15) = NULL,  
38
@p_PAY_PHASE VARCHAR(15)= NULL,  
39
@p_XMP_TEMP XML = NULL,  
40
@p_TOP INT = 10,  
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_DVDM_ID VARCHAR(15)= NULL,  
48
@p_USER_LOGIN VARCHAR(15) = NULL,  
49
@p_RATE DECIMAL(18,0) =0,  
50
@p_FUNCTION VARCHAR(15) = NULL,  
51
@p_TYPE_SEARCH VARCHAR(15) = NULL,  
52
@p_TEMP_PAY_STATUS VARCHAR(10) = NULL  
53
--select * from CM_ALLCODE where CDTYPE = 'TEMPPAYSTATUS'  
54
--HT Hoàn tất  
55
--DCHU Đang chờ hoàn ứng  
56
--DHU Đã hoàn ứng  
57
--'' tất cả  
58
AS
59
BEGIN -- PAGING
60
	SET @p_TOP = NULL  
61
-- BRANCH TYPE CUA USER LOGIN
62
	DECLARE @TB_TYPE TABLE (BRANCH_TYPE VARCHAR(15))  
63
	IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_LOGIN)='HS')  
64
	BEGIN  
65
		INSERT INTO @TB_TYPE VALUES('HS')  
66
	END  
67
	ELSE  
68
	BEGIN  
69
		INSERT INTO @TB_TYPE VALUES('PGD')  
70
		INSERT INTO @TB_TYPE VALUES('CN')  
71
	END  
72

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

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

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

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

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

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

    
125
-- LAY ROLE USER LOGIN
126
	SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)  
127
	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'))  
128
	BEGIN  
129
		PRINT @ROLE_ID  
130
	END  
131
	ELSE  
132
	BEGIN  
133
		SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)  
134
		IF(@ROLE_ID IS NULL OR @ROLE_ID ='')  
135
		BEGIN  
136
			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))  
137
		END  
138
	END  
139
	--if(1=1)
140
	--begin
141
	--print 'role: ' + @ROLE_ID
142
	--return;
143
	--end
144
	IF(@p_TOP IS NULL OR @p_TOP=0)
145
	BEGIN
146
-- PAGING BEGIN 
147
		SELECT A.*, A.CONFIRM_NOTES AS CONFIRM_NOTE, '' 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,  
148
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
149
		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,  
150
		--Luanlt--2019/10/15-Sửa AL,AL1  
151
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
152
		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,  
153
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
154
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
155
		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,  
156
		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, 
157
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
158
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
159
		--PC1.NOTES AS NEXT_STEP,  
160
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
161
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
162
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
163
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
164
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
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ờ cấp duyệt trung gian xác nhận'
166
		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'
167
		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'
168
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
169
		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'
170
		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,  
171
		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,  
172
		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,
173
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
174
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
175
						 ELSE TL2.TLNANME  
176
						 END
177
		-- doanptt 120522
178
		, C.AUTH_STATUS_KT_DESC,
179
		DATEDIFF(day, A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER
180

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

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

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

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

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

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

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