Project

General

Profile

advance_search_121222.txt

Luc Tran Van, 12/12/2022 05:19 PM

 
1

    
2

    
3
ALTER   PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_Search]  
4
@p_REQ_PAY_ID varchar(15)= NULL,  
5
@p_REQ_PAY_CODE varchar(50) = NULL,  
6
@p_REQ_DT VARCHAR(20)= NULL,  
7
@p_BRANCH_ID varchar(15) = NULL,  
8
@p_DEP_ID varchar(15) = NULL,  
9
@p_REQ_REASON nvarchar(MAX) = NULL,  
10
@p_REQ_TYPE varchar(15) = NULL,  
11
@P_REQ_ENTRIES nvarchar(MAX) = NULL,  
12
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,  
13
@p_REF_ID varchar(15) = NULL,  
14
@p_RECEIVER_PO nvarchar(250) = NULL,  
15
@p_RECEIVER_DEBIT nvarchar(250) = NULL,  
16
@p_REQ_PAY_TYPE varchar(15) = NULL,  
17
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,  
18
@p_REQ_AMT decimal(18, 0) = NULL,  
19
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,  
20
@p_MAKER_ID varchar(15) = NULL,  
21
@p_CREATE_DT varchar(25) = NULL,  
22
@p_EDITOR_ID varchar(15) = NULL,  
23
@p_AUTH_STATUS varchar(1) = NULL,  
24
@p_CHECKER_ID varchar(15) = NULL,  
25
@p_APPROVE_DT varchar(25) = NULL,  
26
@p_CREATE_DT_KT varchar(25) = NULL,  
27
@p_MAKER_ID_KT varchar(15) = NULL,  
28
@p_AUTH_STATUS_KT varchar(1) = NULL,  
29
@p_CHECKER_ID_KT varchar(1) = NULL,
30
@p_EXEC_USER_KT	nvarchar(20)	= NULL,
31
@p_APPROVE_DT_KT varchar(25)= null,  
32
@p_CORE_NOTE nvarchar(500) = NULL,  
33
@p_BRANCH_CREATE varchar(15) = NULL,  
34
@p_NOTES NVARCHAR(15) = NULL,  
35
@p_RECORD_STATUS varchar(1) = NULL,  
36
@p_TRANSFER_MAKER nvarchar(50) = NULL,  
37
@p_TRANSFER_DT varchar(25) = NULL,  
38
@p_TRASFER_USER_RECIVE varchar(15) = NULL,  
39
@p_PROCESS varchar(15) = NULL,  
40
@p_PAY_PHASE VARCHAR(15)= NULL,  
41
@p_XMP_TEMP XML = NULL,  
42
@p_TOP INT = 10,  
43
@p_LEVEL varchar(10) = NULL,  
44
@p_FRMDATE VARCHAR(20)= NULL,  
45
@p_TODATE VARCHAR(20) = NULL,  
46
@p_BRANCH_LOGIN VARCHAR(15) = NULL,  
47
@p_IS_UPDATE_KT VARCHAR(15) = NULL,  
48
@p_IS_TRANSFER VARCHAR(15)= NULL,  
49
@p_DVDM_ID VARCHAR(15)= NULL,  
50
@p_USER_LOGIN VARCHAR(15) = NULL,  
51
@p_RATE DECIMAL(18,0) =0,  
52
@p_FUNCTION VARCHAR(15) = NULL,  
53
@p_TYPE_SEARCH VARCHAR(15) = NULL,  
54
@p_TEMP_PAY_STATUS VARCHAR(10) = NULL  
55
--select * from CM_ALLCODE where CDTYPE = 'TEMPPAYSTATUS'  
56
--HT Hoàn tất  
57
--DCHU Đang chờ hoàn ứng  
58
--DHU Đã hoàn ứng  
59
--'' tất cả  
60
AS
61
BEGIN -- PAGING
62
	SET @p_TOP = NULL  
63
	IF(ISNULL(@p_BRANCH_ID, '') = '')
64
	BEGIN
65
		SET @p_BRANCH_ID = @p_BRANCH_LOGIN
66
	END
67
	IF(ISNULL(@p_BRANCH_CREATE, '') = '')
68
	BEGIN
69
		SET @p_BRANCH_CREATE = @p_BRANCH_LOGIN
70
	END
71
-- BRANCH TYPE CUA USER LOGIN
72
	DECLARE @TB_TYPE TABLE (BRANCH_TYPE VARCHAR(15))  
73
	IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_LOGIN)='HS')  
74
	BEGIN  
75
		INSERT INTO @TB_TYPE VALUES('HS')  
76
	END  
77
	ELSE  
78
	BEGIN  
79
		INSERT INTO @TB_TYPE VALUES('PGD')  
80
		INSERT INTO @TB_TYPE VALUES('CN')  
81
	END  
82

    
83
-- DANH SACH PHONG BAN CON CUA NGUOI TAO PHIEU
84
	IF(NOT EXISTS (SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID))
85
	BEGIN
86
		SET @p_BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE = @p_BRANCH_ID)
87
	END
88
	DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))  
89
	INSERT INTO @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)  
90
-- DANH SACH PHONG BAN CON CUA USER LOGIN
91
	declare @tmp_Login table(BRANCH_ID varchar(15))  
92
	insert into @tmp_Login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)  
93

    
94
	DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15), @BRANCH_TYPE VARCHAR(15) 
95
-- BRANCH TYPE CUA PHIEU DE NGHI TAM UNG
96
	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))  
97
-- ROLE CUA USER LOGIN
98
	SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)  
99
-- KHAI BAO UY QUYEN KIEM NHIEM
100
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
101
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
102
	INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID  
103
	AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
104
	AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') AND TLNAME =@p_USER_LOGIN
105

    
106
	--AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)  
107

    
108
-- PHONG BAN CUA USER LOGIN
109
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN) 
110
	
111
	DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))  
112
	SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)  
113
	SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)  
114
	INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B WHERE COST_ID =@COST_LG  
115
-- BRANCH_TYPE USER LOGIN
116
	DECLARE @BRANCH_TYPE_LG VARCHAR(15)  
117
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)  
118
-- KHAI BAO NHUNG PHONG BAN MA 1 USER KIEM NHIEM  
119
	DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))  
120
	INSERT INTO @DEP_AUTH VALUES (@DEP_ID_LG)
121
	INSERT INTO @DEP_AUTH SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN  
122
	AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
123
	AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
124

    
125
	DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
126
	INSERT INTO @BRANCH_AUTH VALUES (@BRANCH_TYPE_LG)
127
	INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN 
128
	AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) 
129
	AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
130

    
131
	--END
132
	--IF(EXISTS(SELECT * FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID))  
133
	-- SET @ROLE_ID=(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID)  
134

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

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

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

    
444
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
445
								)	-- ngoac so 2, line 347
446
-- NGUOC LAI NEU LA TAM UNG KHAC
447
								OR	(	@p_TYPE_SEARCH ='HC' 
448
										AND @BRANCH_TYPE_LG ='HS' 
449
										AND A.REQ_TYPE <> 'I' 
450
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
451
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
452
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
453
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
454
															)	
455
														AND	(	A.DEP_ID =@DEP_ID_LG 
456
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
457
															)  
458
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
459
																OR A.TRASFER_USER_RECIVE ='' 
460
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
461
																		AND A.TRASFER_USER_RECIVE <>'' 
462
																		AND A.PROCESS IS NOT NULL 
463
																	)
464
															)
465
													)  
466
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
467
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
468
													)  
469
											)
470
									)
471
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
472
								OR	(	@p_TYPE_SEARCH ='HC' 
473
										AND @BRANCH_TYPE_LG = 'CN' 
474
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
475
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
476
															AND A.TRASFER_USER_RECIVE <>'' 
477
															AND A.PROCESS IS NOT NULL 
478
														)  
479
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
480
													)  
481

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

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

    
891
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
892
								)	-- ngoac so 2, line 347
893
-- NGUOC LAI NEU LA TAM UNG KHAC
894
								OR	(	@p_TYPE_SEARCH ='HC' 
895
										AND @BRANCH_TYPE_LG ='HS' 
896
										AND A.REQ_TYPE <> 'I' 
897
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
898
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
899
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
900
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
901
															)	
902
														AND	(	A.DEP_ID =@DEP_ID_LG 
903
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
904
															)  
905
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
906
																OR A.TRASFER_USER_RECIVE ='' 
907
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
908
																		AND A.TRASFER_USER_RECIVE <>'' 
909
																		AND A.PROCESS IS NOT NULL 
910
																		AND A.PROCESS <>''
911
																	)
912
															)
913
													)  
914
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
915
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
916
													)  
917
											)
918
									)
919
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
920
								OR	(	@p_TYPE_SEARCH ='HC' 
921
										AND @BRANCH_TYPE_LG = 'CN' 
922
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
923
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
924
															AND A.TRASFER_USER_RECIVE <>'' 
925
															AND A.PROCESS IS NOT NULL 
926
															AND A.PROCESS <>''
927
														)  
928
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
929
													)  
930

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