Project

General

Profile

adv_search_2.txt

Luc Tran Van, 01/12/2023 10:17 AM

 
1
-- PROCEDURE NAME: TR_REQ_ADVANCE_PAYMENT_Search
2

    
3
DECLARE @p_REQ_PAY_ID varchar(15) = NULL,
4
@p_REQ_PAY_CODE varchar(50) = NULL,
5
@p_REQ_DT varchar(20) = NULL,
6
@p_BRANCH_ID varchar(15) = N'DV0001',
7
@p_DEP_ID varchar(15) = NULL,
8
@p_REQ_REASON nvarchar(MAX) = NULL,
9
@p_REQ_TYPE varchar(15) = NULL,
10
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
11
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
12
@p_REF_ID varchar(15) = NULL,
13
@p_RECEIVER_PO nvarchar(250) = NULL,
14
@p_RECEIVER_DEBIT nvarchar(250) = NULL,
15
@p_REQ_PAY_TYPE varchar(15) = NULL,
16
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
17
@p_REQ_AMT decimal = NULL,
18
@p_REQ_TEMP_AMT decimal = NULL,
19
@p_MAKER_ID varchar(15) = NULL,
20
@p_CREATE_DT varchar(25) = NULL,
21
@p_EDITOR_ID varchar(15) = NULL,
22
@p_AUTH_STATUS varchar(1) = N'U',
23
@p_CHECKER_ID varchar(15) = NULL,
24
@p_APPROVE_DT varchar(25) = NULL,
25
@p_CREATE_DT_KT varchar(25) = NULL,
26
@p_MAKER_ID_KT varchar(15) = NULL,
27
@p_AUTH_STATUS_KT varchar(1) = NULL,
28
@p_CHECKER_ID_KT varchar(1) = NULL,
29
@p_EXEC_USER_KT nvarchar(20) = NULL,
30
@p_APPROVE_DT_KT varchar(25) = NULL,
31
@p_CORE_NOTE nvarchar(500) = NULL,
32
@p_BRANCH_CREATE varchar(15) = N'DV0001',
33
@p_NOTES nvarchar(15) = NULL,
34
@p_RECORD_STATUS varchar(1) = NULL,
35
@p_TRANSFER_MAKER nvarchar(50) = NULL,
36
@p_TRANSFER_DT varchar(25) = NULL,
37
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
38
@p_PROCESS varchar(15) = NULL,
39
@p_PAY_PHASE varchar(15) = NULL,
40
@p_XMP_TEMP xml = NULL,
41
@p_TOP int = NULL,
42
@p_LEVEL varchar(10) = N'ALL',
43
@p_FRMDATE varchar(20) = NULL,
44
@p_TODATE varchar(20) = N'12/01/2023 00:00:00',
45
@p_BRANCH_LOGIN varchar(15) = N'DV0001',
46
@p_IS_UPDATE_KT varchar(15) = NULL,
47
@p_IS_TRANSFER varchar(15) = NULL,
48
@p_DVDM_ID varchar(15) = NULL,
49
@p_USER_LOGIN varchar(15) = N'muoilvb',
50
@p_RATE decimal = NULL,
51
@p_FUNCTION varchar(15) = NULL,
52
@p_TYPE_SEARCH varchar(15) = N'HC',
53
@p_TEMP_PAY_STATUS varchar(10) = NULL
54

    
55
	SET @p_TOP = NULL  
56
	IF(ISNULL(@p_BRANCH_ID, '') = '')
57
	BEGIN
58
		SET @p_BRANCH_ID = @p_BRANCH_LOGIN
59
	END
60
	IF(ISNULL(@p_BRANCH_CREATE, '') = '')
61
	BEGIN
62
		SET @p_BRANCH_CREATE = @p_BRANCH_LOGIN
63
	END
64
-- BRANCH TYPE CUA USER LOGIN
65
	DECLARE @TB_TYPE TABLE (BRANCH_TYPE VARCHAR(15))  
66
	IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_LOGIN)='HS')  
67
	BEGIN  
68
		INSERT INTO @TB_TYPE VALUES('HS')  
69
	END  
70
	ELSE  
71
	BEGIN  
72
		INSERT INTO @TB_TYPE VALUES('PGD')  
73
		INSERT INTO @TB_TYPE VALUES('CN')  
74
	END  
75

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

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

    
99
	--AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)  
100

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

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

    
127
	--END
128
	--IF(EXISTS(SELECT * FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID))  
129
	-- SET @ROLE_ID=(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@ROLE_ID)  
130

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

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

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

    
475
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
476
								)	-- ngoac so 2, line 347
477
-- NGUOC LAI NEU LA TAM UNG KHAC
478
								OR	(	@p_TYPE_SEARCH ='HC' 
479
										AND @BRANCH_TYPE_LG ='HS' 
480
										AND A.REQ_TYPE <> 'I' 
481
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
482
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
483
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
484
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
485
															)	
486
														AND	(	A.DEP_ID =@DEP_ID_LG 
487
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
488
															)  
489
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
490
																OR A.TRASFER_USER_RECIVE ='' 
491
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
492
																		AND A.TRASFER_USER_RECIVE <>'' 
493
																		AND A.PROCESS IS NOT NULL 
494
																	)
495
															)
496
													)  
497
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
498
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
499
													)  
500
											)
501
									)
502
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
503
								OR	(	@p_TYPE_SEARCH ='HC' 
504
										AND @BRANCH_TYPE_LG = 'CN' 
505
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
506
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
507
															AND A.TRASFER_USER_RECIVE <>'' 
508
															AND A.PROCESS IS NOT NULL 
509
														)  
510
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
511
													)  
512

    
513
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
514
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
515
															AND A.TRASFER_USER_RECIVE <>''
516
														) 
517
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
518
													)  
519
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
520
											)
521
									)  
522
								OR	(	@p_TYPE_SEARCH ='HC' 
523
										AND @BRANCH_TYPE_LG = 'CN' 
524
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
525
									)  
526
								OR	(	@p_TYPE_SEARCH ='HC' 
527
										AND @BRANCH_TYPE_LG = 'PGD' 
528
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
529
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
530
											)
531
									)  
532
								OR	(	@p_TYPE_SEARCH ='HC' 
533
										AND	(	A.DVDM_ID IS NOT NULL 
534
												AND A.DVDM_ID <>'' 
535
												AND A.DVDM_ID =@DVDM_ID 
536
												AND A.PROCESS IS NOT NULL 
537
												AND A.PROCESS <>'' 
538
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
539
											) 
540
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
541
												AND A.PROCESS IS NOT NULL 
542
												AND A.PROCESS <>''  
543
												AND @ROLE_ID <> 'TKTGD' 
544
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
545
											)
546
									)  
547
								--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')))  
548
								OR	(	@p_TYPE_SEARCH='KT' 
549
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
550
									)  
551
								OR	(	@p_TYPE_SEARCH='HC' 
552
										AND	(	@ROLE_ID IN ('KSV','GDV')  
553
												OR @DEP_ID_LG ='DEP000000000022'
554
											) 
555
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
556
									)  
557
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
558
																				WHERE REQ_ID = A.REQ_PAY_ID 
559
																				AND TLNAME =@p_USER_LOGIN 
560
																				AND TYPE_JOB ='XL' 
561
																				AND STATUS_JOB = 'C' 
562
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
563
																			) 
564
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
565
																					WHERE REQ_ID = A.REQ_PAY_ID 
566
																					AND TLNAME =@p_USER_LOGIN 
567
																					AND TYPE_JOB ='XL' 
568
																					AND STATUS_JOB = 'P' 
569
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
570
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
571
																																																							)
572
																				)
573
																)
574
									) 
575
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
576
										AND A.PROCESS<>'' 
577
										AND A.PROCESS IS NOT NULL
578
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
579
																					WHERE REQ_ID = A.REQ_PAY_ID 
580
																					AND ROLE_USER =@ROLE_ID 
581
																					AND STATUS ='C'
582
																				)
583
												)
584
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
585
														AND EXISTS(	SELECT * 
586
																	FROM PL_REQUEST_PROCESS 
587
																	WHERE REQ_ID = A.REQ_PAY_ID 
588
																	AND ROLE_USER =@ROLE_ID 
589
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
590
																			OR	(	@p_IS_TRANSFER <>'N' 
591
																					AND STATUS IN ('C','P')
592
																				)
593
																		)
594
																	)
595
													)
596
											)
597
									)
598
								OR	(	@p_TYPE_SEARCH='PAY' 
599
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
600
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
601
													AND	(	A.DEP_ID =@DEP_ID_LG 
602
															OR A.MAKER_ID =@p_USER_LOGIN 
603
															OR A.MAKER_ID IS NULL 
604
															OR 1=1
605
														)
606
												) 
607
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
608
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
609
													)
610
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
611
														AND @p_REQ_PAY_CODE <> '' 
612
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
613
													)
614
											)
615
									)  
616
							) -- ngoac so 1, line 347
617
						OR	(	@p_TYPE_SEARCH='HC' 
618
								AND	(	@ROLE_ID IN ('KSV','GDV')  
619
										OR @DEP_ID_LG ='DEP000000000022'
620
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
621
							)
622
					) -- line 346
623
			) -- line 344
624
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
625
					AND (@p_TEMP_PAY_STATUS = 'HT')
626
				)  
627
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
628
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
629
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
630
			)  
631
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
632
		
633
) COUNTER_TOP;WITH QUERY_DATA AS (  
634
		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,  
635
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
636
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
637
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
638
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
639
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
640
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
641
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
642
		BR1.BRANCH_NAME BRANCH_NAME, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,  
643
		--Luanlt--2019/10/15-Sửa AL,AL1  
644
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
645
		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,  
646
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
647
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
648
		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,  
649
		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, 
650
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
651
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
652
		--PC1.NOTES AS NEXT_STEP,  
653
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
654
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
655
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
656
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
657
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
658
		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'
659
		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'
660
		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'
661
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
662
		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'
663
		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,  
664
		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,  
665
		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,
666
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
667
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
668
						 ELSE TL2.TLNANME  
669
						 END
670
		-- doanptt 120522
671
		, C.AUTH_STATUS_KT_DESC,
672
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
673
		PC3.TLNAME AS EXEC_USER_KT,
674
		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())
675
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
676

    
677
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC   
678
) AS __ROWNUM-- SELECT END
679
		FROM TR_REQ_ADVANCE_PAYMENT A  
680
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
681
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
682
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
683
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
684
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
685
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
686
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
687
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
688
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
689
		--Luanlt--2019/10/15-Sửa AL,AL1  
690
		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ợ)  
691
		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)
692
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
693
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
694
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
695
		LEFT JOIN  
696
		(  
697
		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  
698
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
699
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
700
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
701
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
702
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
703
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
704
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
705
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
706
		LEFT JOIN  
707
		(  
708
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
709
		INNER JOIN  
710
		(  
711
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
712
			GROUP BY PR.REQ_ID  
713
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
714
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
715
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
716
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
717
		(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))
718
		AND PC.STATUS='C' 
719
		--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'  
720
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
721
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
722
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
723
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
724
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
725
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
726
		WHERE 1=1  
727
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='') 
728
		AND(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL) 
729
		AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)
730
		AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL)
731
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
732
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
733
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
734
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
735
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
736
		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)  
737
		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  
738
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
739
		--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 <>'')  
740
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
741
		AND	(	(A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' 
742
				OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S'))	
743
			)  
744
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
745
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
746
				OR @p_AUTH_STATUS='' 
747
				OR @p_AUTH_STATUS IS NULL 
748
				OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS IS NULL)
749
				OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS = '')
750
				OR (	A.REQ_TYPE ='I' 
751
						AND A.AUTH_STATUS <>'A' 
752
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
753
					)
754
			)
755
		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  
756
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
757
				OR @p_IS_UPDATE_KT IS NULL 
758
				OR @p_IS_UPDATE_KT=''
759
			)  
760
		 
761
		AND
762
		(
763
			(	@p_IS_TRANSFER='Y' 
764
				 AND(
765
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
766
			
767
					 OR (
768
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
769
						)
770
					 OR (
771
							@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')
772
						)
773
					)
774
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
775
			OR
776
			(	@p_IS_TRANSFER='N' 
777
				AND (
778
						(@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') 
779
				
780
						OR  (
781
								@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')
782
							)
783
						OR  (
784
								@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' 
785
							)
786
					)
787
			)
788
			OR @p_IS_TRANSFER IS NULL 
789
			OR @p_IS_TRANSFER=''
790
		) 
791

    
792
		AND	(	(	(	@p_PROCESS='PM' 
793
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
794
					)  
795
					AND (	A.REQ_TYPE IN('I','D','P') 
796
							OR	(	@DEP_ID_LG ='DEP000000000014' 
797
									AND A.REQ_TYPE IN ('I','P','D')
798
								)
799
						)	
800
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
801
								OR A.MAKER_ID =@p_USER_LOGIN 
802
								OR A.MAKER_ID IS NULL
803
							) 
804
								OR	(	@BRANCH_TYPE_LG <>'HS' 
805
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
806
									) 
807
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
808
												AND @p_REQ_PAY_CODE <> '' 
809
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
810
											)
811
						)
812
				)  
813
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
814
			)  
815
		AND	(	(	@p_LEVEL='ALL' 
816
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
817
				)  
818
				OR	(	(	@p_LEVEL='UNIT' 
819
							AND A.BRANCH_ID=@p_BRANCH_ID
820
						)
821
						OR	(	@p_BRANCH_ID='' 
822
								OR @p_BRANCH_ID IS NULL
823
							) 
824
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
825
									AND @p_REQ_PAY_CODE <> '' 
826
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
827
							)
828
					)
829
			)    
830
		AND (	(	@p_FUNCTION ='KT' 
831
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
832
										WHERE X.REQ_ID = A.REQ_PAY_ID 
833
										AND (	X.TLNAME= @p_USER_LOGIN 
834
												OR X.TLNAME =@p_EXEC_USER_KT
835
											)
836
									)
837
						) 
838
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
839
				)  
840
				OR @p_FUNCTION IS NULL 
841
				OR @p_FUNCTION ='' 
842
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
843
				OR @p_FUNCTION ='SIGN'
844
			)
845
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
846
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
847
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
848
							AND TYPE_JOB IN ('XL','KS','TP') 
849
							AND REQ_ID = A.REQ_PAY_ID
850
						) 
851
				OR @p_TRASFER_USER_RECIVE IS NULL 
852
				OR @p_TRASFER_USER_RECIVE=''
853
			)  
854
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
855
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
856
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
857
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
858
									AND @BRANCH_TYPE_LG ='HS' 
859
									AND A.REQ_TYPE ='I'  
860
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
861
															WHERE ROLE_AUTH IN ('GDDV','TP', 'PP', 'KTT','TC')
862
														) 
863
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
864
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
865
													)
866
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
867
												AND	(	(	@p_AUTH_STATUS ='A' 
868
															AND ISNULL(PROCESS,'') ='0' 
869
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
870
																			WHERE REQ_ID =A.REQ_PAY_ID 
871
																			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')
872
																		)
873
															OR (@p_AUTH_STATUS ='U' AND (ISNULL(PROCESS,'')='')) 
874
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
875
														)
876
													)
877
											) 
878
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
879
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
880
															OR A.MAKER_ID =@p_MAKER_ID 
881
															OR A.DEP_ID=@p_DEP_ID
882
														)
883
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
884
												)
885
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
886
																WHERE ROLE_AUTH  IN ('GDK')
887
															) 
888
													AND	(	A.DVDM_ID =@DVDM_ID 
889
															OR (	A.DVDM_ID IS NULL 
890
																	OR A.DVDM_ID =''
891
																)
892
														) 
893
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
894
																	WHERE REQ_ID = A.REQ_PAY_ID
895
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
896
																	-- AND A.BRANCH_CREATE ='DV0001' 
897
																	AND A.PROCESS<>'' 
898
																	AND A.PROCESS IS NOT NULL
899
																	AND	(	(	@p_AUTH_STATUS ='A' 
900
																				AND STATUS IN ('P','A')
901
																			) 
902
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
903
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
904
																					AND STATUS IN ('C','P','A')
905
																				)
906
																		)
907
																)
908
												)
909
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
910
																WHERE ROLE_AUTH  IN ('PTGD')
911
															) 
912
													AND	(	A.DVDM_ID =@DVDM_ID 
913
															OR (	A.DVDM_ID IS NULL 
914
																	OR A.DVDM_ID =''
915
																)
916
														) 
917
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
918
																	WHERE REQ_ID = A.REQ_PAY_ID
919
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
920
																	-- AND A.BRANCH_CREATE ='DV0001' 
921
																	AND A.PROCESS<>'' 
922
																	AND A.PROCESS IS NOT NULL
923
																	AND	(	(	@p_AUTH_STATUS ='A' 
924
																				AND STATUS IN ('P','A')
925
																			) 
926
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
927
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
928
																					AND STATUS IN ('C','P','A')
929
																				)
930
																		)
931
																)
932
													AND (	@KHOI_ID_LG = (SELECT KHOI_ID FROM CM_DEPARTMENT WHERE DEP_ID	= (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = A.REQ_PAY_ID))
933
															OR	(	@p_USER_LOGIN = 'tupa' AND (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = A.REQ_PAY_ID) = 'DEP000000000015')
934
														)
935
												)
936
											OR	(	EXISTS	(	SELECT * 
937
																FROM @TABLE_ROLE 
938
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
939
																AND EXISTS	(	SELECT * 
940
																				FROM PL_REQUEST_PROCESS	
941
																				WHERE REQ_ID = A.REQ_PAY_ID
942
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
943
																				--AND A.BRANCH_CREATE ='DV0001' 
944
																				AND A.PROCESS<>'' 
945
																				AND A.PROCESS IS NOT NULL
946
																				AND (	(	@p_AUTH_STATUS ='A' 
947
																							AND STATUS IN ('P','A')
948
																						) 
949
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
950
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
951
																					)
952
																			)
953
												)
954

    
955
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
956
								)	-- ngoac so 2, line 347
957
-- NGUOC LAI NEU LA TAM UNG KHAC
958
								OR	(	@p_TYPE_SEARCH ='HC' 
959
										AND @BRANCH_TYPE_LG ='HS' 
960
										AND A.REQ_TYPE <> 'I' 
961
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
962
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
963
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
964
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
965
															)	
966
														AND	(	A.DEP_ID =@DEP_ID_LG 
967
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
968
															)  
969
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
970
																OR A.TRASFER_USER_RECIVE ='' 
971
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
972
																		AND A.TRASFER_USER_RECIVE <>'' 
973
																		AND A.PROCESS IS NOT NULL 
974
																	)
975
															)
976
													)  
977
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
978
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
979
													)  
980
											)
981
									)
982
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
983
								OR	(	@p_TYPE_SEARCH ='HC' 
984
										AND @BRANCH_TYPE_LG = 'CN' 
985
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
986
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
987
															AND A.TRASFER_USER_RECIVE <>'' 
988
															AND A.PROCESS IS NOT NULL 
989
														)  
990
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
991
													)  
992

    
993
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
994
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
995
															AND A.TRASFER_USER_RECIVE <>''
996
														) 
997
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
998
													)  
999
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1000
											)
1001
									)  
1002
								OR	(	@p_TYPE_SEARCH ='HC' 
1003
										AND @BRANCH_TYPE_LG = 'CN' 
1004
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1005
									)  
1006
								OR	(	@p_TYPE_SEARCH ='HC' 
1007
										AND @BRANCH_TYPE_LG = 'PGD' 
1008
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1009
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
1010
											)
1011
									)  
1012
								OR	(	@p_TYPE_SEARCH ='HC' 
1013
										AND	(	A.DVDM_ID IS NOT NULL 
1014
												AND A.DVDM_ID <>'' 
1015
												AND A.DVDM_ID =@DVDM_ID 
1016
												AND A.PROCESS IS NOT NULL 
1017
												AND A.PROCESS <>'' 
1018
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1019
											) 
1020
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
1021
												AND A.PROCESS IS NOT NULL 
1022
												AND A.PROCESS <>''  
1023
												AND @ROLE_ID <> 'TKTGD' 
1024
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1025
											)
1026
									)  
1027
								--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')))  
1028
								OR	(	@p_TYPE_SEARCH='KT' 
1029
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1030
									)  
1031
								OR	(	@p_TYPE_SEARCH='HC' 
1032
										AND	(	@ROLE_ID IN ('KSV','GDV')  
1033
												OR @DEP_ID_LG ='DEP000000000022'
1034
											) 
1035
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1036
									)  
1037
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1038
																				WHERE REQ_ID = A.REQ_PAY_ID 
1039
																				AND TLNAME =@p_USER_LOGIN 
1040
																				AND TYPE_JOB ='XL' 
1041
																				AND STATUS_JOB = 'C' 
1042
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
1043
																			) 
1044
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1045
																					WHERE REQ_ID = A.REQ_PAY_ID 
1046
																					AND TLNAME =@p_USER_LOGIN 
1047
																					AND TYPE_JOB ='XL' 
1048
																					AND STATUS_JOB = 'P' 
1049
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
1050
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
1051
																																																							)
1052
																				)
1053
																)
1054
									) 
1055
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
1056
										AND A.PROCESS<>'' 
1057
										AND A.PROCESS IS NOT NULL
1058
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1059
																					WHERE REQ_ID = A.REQ_PAY_ID 
1060
																					AND ROLE_USER =@ROLE_ID 
1061
																					AND STATUS ='C'
1062
																				)
1063
												)
1064
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
1065
														AND EXISTS(	SELECT * 
1066
																	FROM PL_REQUEST_PROCESS 
1067
																	WHERE REQ_ID = A.REQ_PAY_ID 
1068
																	AND ROLE_USER =@ROLE_ID 
1069
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
1070
																			OR	(	@p_IS_TRANSFER <>'N' 
1071
																					AND STATUS IN ('C','P')
1072
																				)
1073
																		)
1074
																	)
1075
													)
1076
											)
1077
									)
1078
								OR	(	@p_TYPE_SEARCH='PAY' 
1079
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
1080
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
1081
													AND	(	A.DEP_ID =@DEP_ID_LG 
1082
															OR A.MAKER_ID =@p_USER_LOGIN 
1083
															OR A.MAKER_ID IS NULL 
1084
															OR 1=1
1085
														)
1086
												) 
1087
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
1088
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
1089
													)
1090
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1091
														AND @p_REQ_PAY_CODE <> '' 
1092
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1093
													)
1094
											)
1095
									)  
1096
							) -- ngoac so 1, line 347
1097
						OR	(	@p_TYPE_SEARCH='HC' 
1098
								AND	(	@ROLE_ID IN ('KSV','GDV')  
1099
										OR @DEP_ID_LG ='DEP000000000022'
1100
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1101
							)
1102
					) -- line 346
1103
			) -- line 344
1104
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
1105
					AND (@p_TEMP_PAY_STATUS = 'HT')
1106
				)  
1107
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
1108
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
1109
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
1110
			)  
1111
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
1112
		
1113
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
1114
END-- PAGING END
1115
	END;
1116
	ELSE 
1117
	BEGIN
1118
-- PAGING BEGIN
1119
BEGIN
1120
SELECT COUNT(*) FROM( 
1121
		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,  
1122
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
1123
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
1124
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
1125
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
1126
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
1127
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1128
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ, 
1129
		BR1.BRANCH_NAME BRANCH_NAME, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,  
1130
		--Luanlt--2019/10/15-Sửa AL,AL1  
1131
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
1132
		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,  
1133
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
1134
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
1135
		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,  
1136
		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, 
1137
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
1138
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
1139
		--PC1.NOTES AS NEXT_STEP,  
1140
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
1141
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
1142
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
1143
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
1144
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
1145
		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'
1146
		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'
1147
		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'
1148
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
1149
		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'
1150
		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,  
1151
		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,  
1152
		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,
1153
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
1154
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
1155
						 ELSE TL2.TLNANME  
1156
						 END
1157
		-- doanptt 120522
1158
		, C.AUTH_STATUS_KT_DESC,
1159
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
1160
		PC3.TLNAME AS EXEC_USER_KT,
1161
		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())
1162
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
1163
-- SELECT END
1164
		FROM TR_REQ_ADVANCE_PAYMENT A  
1165
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
1166
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
1167
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
1168
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
1169
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
1170
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
1171
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
1172
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
1173
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
1174
		--Luanlt--2019/10/15-Sửa AL,AL1  
1175
		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ợ)  
1176
		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)
1177
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
1178
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
1179
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
1180
		LEFT JOIN  
1181
		(  
1182
		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  
1183
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
1184
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
1185
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
1186
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
1187
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
1188
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
1189
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
1190
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
1191
		LEFT JOIN  
1192
		(  
1193
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
1194
		INNER JOIN  
1195
		(  
1196
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
1197
			GROUP BY PR.REQ_ID  
1198
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
1199
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
1200
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
1201
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
1202
		(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))
1203
		AND PC.STATUS='C'  
1204
		--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'  
1205
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
1206
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
1207
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
1208
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
1209
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
1210
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
1211
		WHERE 1=1  
1212
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='')  
1213
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL) 
1214
		AND(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL) 
1215
		AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)  
1216
		AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL)
1217
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
1218
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
1219
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
1220
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
1221
		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)  
1222
		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  
1223
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
1224
		--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 <>'')  
1225
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
1226
		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')))  
1227
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
1228
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
1229
				OR @p_AUTH_STATUS='' 
1230
				OR @p_AUTH_STATUS IS NULL 
1231
				OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS IS NULL)
1232
				OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS = '')
1233
				OR (	A.REQ_TYPE ='I' 
1234
						AND A.AUTH_STATUS <>'A' 
1235
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
1236
					)
1237
			)
1238
		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  
1239
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
1240
				OR @p_IS_UPDATE_KT IS NULL 
1241
				OR @p_IS_UPDATE_KT=''
1242
			)  
1243
		 
1244
		AND
1245
		(
1246
			(	@p_IS_TRANSFER='Y' 
1247
				 AND(
1248
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
1249
			
1250
					 OR (
1251
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
1252
						)
1253
					 OR (
1254
							@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')
1255
						)
1256
					)
1257
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
1258
			OR
1259
			(	@p_IS_TRANSFER='N' 
1260
				AND (
1261
						(@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') 
1262
				
1263
						OR  (
1264
								@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')
1265
							)
1266
						OR  (
1267
								@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' 
1268
							)
1269
					)
1270
			)
1271
			OR @p_IS_TRANSFER IS NULL 
1272
			OR @p_IS_TRANSFER=''
1273
		) 
1274

    
1275
		AND	(	(	(	@p_PROCESS='PM' 
1276
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
1277
					)  
1278
					AND (	A.REQ_TYPE IN('I','D','P') 
1279
							OR	(	@DEP_ID_LG ='DEP000000000014' 
1280
									AND A.REQ_TYPE IN ('I','P','D')
1281
								)
1282
						)	
1283
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
1284
								OR A.MAKER_ID =@p_USER_LOGIN 
1285
								OR A.MAKER_ID IS NULL
1286
							) 
1287
								OR	(	@BRANCH_TYPE_LG <>'HS' 
1288
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
1289
									) 
1290
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
1291
												AND @p_REQ_PAY_CODE <> '' 
1292
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1293
											)
1294
						)
1295
				)  
1296
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
1297
			)  
1298
		AND	(	(	@p_LEVEL='ALL' 
1299
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
1300
				)  
1301
				OR	(	(	@p_LEVEL='UNIT' 
1302
							AND A.BRANCH_ID=@p_BRANCH_ID
1303
						)
1304
						OR	(	@p_BRANCH_ID='' 
1305
								OR @p_BRANCH_ID IS NULL
1306
							) 
1307
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1308
									AND @p_REQ_PAY_CODE <> '' 
1309
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1310
							)
1311
					)
1312
			)    
1313
		AND (	(	@p_FUNCTION ='KT' 
1314
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
1315
										WHERE X.REQ_ID = A.REQ_PAY_ID 
1316
										AND (	X.TLNAME= @p_USER_LOGIN 
1317
												OR X.TLNAME =@p_EXEC_USER_KT
1318
											)
1319
									)
1320
						) 
1321
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
1322
				)  
1323
				OR @p_FUNCTION IS NULL 
1324
				OR @p_FUNCTION ='' 
1325
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
1326
				OR @p_FUNCTION ='SIGN'
1327
			)
1328
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
1329
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1330
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
1331
							AND TYPE_JOB IN ('XL','KS','TP') 
1332
							AND REQ_ID = A.REQ_PAY_ID
1333
						) 
1334
				OR @p_TRASFER_USER_RECIVE IS NULL 
1335
				OR @p_TRASFER_USER_RECIVE=''
1336
			)  
1337
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
1338
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
1339
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
1340
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
1341
									AND @BRANCH_TYPE_LG ='HS' 
1342
									AND A.REQ_TYPE ='I'  
1343
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1344
															WHERE ROLE_AUTH IN ('GDDV','TP', 'PP', 'KTT','TC')
1345
														) 
1346
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1347
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1348
													)
1349
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1350
												AND	(	(	@p_AUTH_STATUS ='A' 
1351
															AND ISNULL(PROCESS,'') ='0' 
1352
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
1353
																			WHERE REQ_ID =A.REQ_PAY_ID 
1354
																			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')
1355
																		)
1356
															OR (@p_AUTH_STATUS ='U' AND ISNULL(PROCESS,'')='') 
1357
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
1358
														)
1359
													)
1360
											) 
1361
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
1362
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
1363
															OR A.MAKER_ID =@p_MAKER_ID 
1364
															OR A.DEP_ID=@p_DEP_ID
1365
														)
1366
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
1367
												)
1368
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1369
																WHERE ROLE_AUTH  IN ('GDK')
1370
															) 
1371
													AND	(	A.DVDM_ID =@DVDM_ID 
1372
															OR (	A.DVDM_ID IS NULL 
1373
																	OR A.DVDM_ID =''
1374
																)
1375
														) 
1376
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1377
																	WHERE REQ_ID = A.REQ_PAY_ID
1378
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
1379
																	-- AND A.BRANCH_CREATE ='DV0001' 
1380
																	AND A.PROCESS<>'' 
1381
																	AND A.PROCESS IS NOT NULL
1382
																	AND	(	(	@p_AUTH_STATUS ='A' 
1383
																				AND STATUS IN ('P','A')
1384
																			) 
1385
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1386
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
1387
																					AND STATUS IN ('C','P','A')
1388
																				)
1389
																		)
1390
																)
1391
												)
1392
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1393
																WHERE ROLE_AUTH  IN ('PTGD')
1394
															) 
1395
													AND	(	A.DVDM_ID =@DVDM_ID 
1396
															OR (	A.DVDM_ID IS NULL 
1397
																	OR A.DVDM_ID =''
1398
																)
1399
														) 
1400
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1401
																	WHERE REQ_ID = A.REQ_PAY_ID
1402
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
1403
																	-- AND A.BRANCH_CREATE ='DV0001' 
1404
																	AND A.PROCESS<>'' 
1405
																	AND A.PROCESS IS NOT NULL
1406
																	AND	(	(	@p_AUTH_STATUS ='A' 
1407
																				AND STATUS IN ('P','A')
1408
																			) 
1409
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1410
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
1411
																					AND STATUS IN ('C','P','A')
1412
																				)
1413
																		)
1414
																)
1415
													AND (	@KHOI_ID_LG = (SELECT KHOI_ID FROM CM_DEPARTMENT WHERE DEP_ID	= (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = A.REQ_PAY_ID))
1416
															OR	(	@p_USER_LOGIN = 'tupa' AND (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = A.REQ_PAY_ID) = 'DEP000000000015')
1417
														)
1418
												)
1419
											OR	(	EXISTS	(	SELECT * 
1420
																FROM @TABLE_ROLE 
1421
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
1422
																AND EXISTS	(	SELECT * 
1423
																				FROM PL_REQUEST_PROCESS	
1424
																				WHERE REQ_ID = A.REQ_PAY_ID
1425
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
1426
																				--AND A.BRANCH_CREATE ='DV0001' 
1427
																				AND A.PROCESS<>'' 
1428
																				AND A.PROCESS IS NOT NULL
1429
																				AND (	(	@p_AUTH_STATUS ='A' 
1430
																							AND STATUS IN ('P','A')
1431
																						) 
1432
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1433
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
1434
																					)
1435
																			)
1436
												)
1437

    
1438
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
1439
								)	-- ngoac so 2, line 347
1440
-- NGUOC LAI NEU LA TAM UNG KHAC
1441
								OR	(	@p_TYPE_SEARCH ='HC' 
1442
										AND @BRANCH_TYPE_LG ='HS' 
1443
										AND A.REQ_TYPE <> 'I' 
1444
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1445
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1446
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1447
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
1448
															)	
1449
														AND	(	A.DEP_ID =@DEP_ID_LG 
1450
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
1451
															)  
1452
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
1453
																OR A.TRASFER_USER_RECIVE ='' 
1454
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1455
																		AND A.TRASFER_USER_RECIVE <>'' 
1456
																		AND A.PROCESS IS NOT NULL 
1457
																		AND A.PROCESS <>''
1458
																	)
1459
															)
1460
													)  
1461
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1462
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1463
													)  
1464
											)
1465
									)
1466
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
1467
								OR	(	@p_TYPE_SEARCH ='HC' 
1468
										AND @BRANCH_TYPE_LG = 'CN' 
1469
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1470
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1471
															AND A.TRASFER_USER_RECIVE <>'' 
1472
															AND A.PROCESS IS NOT NULL 
1473
															AND A.PROCESS <>''
1474
														)  
1475
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
1476
													)  
1477

    
1478
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1479
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
1480
															AND A.TRASFER_USER_RECIVE <>''
1481
														) 
1482
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1483
													)  
1484
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1485
											)
1486
									)  
1487
								OR	(	@p_TYPE_SEARCH ='HC' 
1488
										AND @BRANCH_TYPE_LG = 'CN' 
1489
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1490
									)  
1491
								OR	(	@p_TYPE_SEARCH ='HC' 
1492
										AND @BRANCH_TYPE_LG = 'PGD' 
1493
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1494
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
1495
											)
1496
									)  
1497
								OR	(	@p_TYPE_SEARCH ='HC' 
1498
										AND	(	A.DVDM_ID IS NOT NULL 
1499
												AND A.DVDM_ID <>'' 
1500
												AND A.DVDM_ID =@DVDM_ID 
1501
												AND A.PROCESS IS NOT NULL 
1502
												AND A.PROCESS <>'' 
1503
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1504
											) 
1505
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
1506
												AND A.PROCESS IS NOT NULL 
1507
												AND A.PROCESS <>''  
1508
												AND @ROLE_ID <> 'TKTGD' 
1509
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1510
											)
1511
									)  
1512
								--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')))  
1513
								OR	(	@p_TYPE_SEARCH='KT' 
1514
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1515
									)  
1516
								OR	(	@p_TYPE_SEARCH='HC' 
1517
										AND	(	@ROLE_ID IN ('KSV','GDV')  
1518
												OR @DEP_ID_LG ='DEP000000000022'
1519
											) 
1520
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1521
									)  
1522
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1523
																				WHERE REQ_ID = A.REQ_PAY_ID 
1524
																				AND TLNAME =@p_USER_LOGIN 
1525
																				AND TYPE_JOB ='XL' 
1526
																				AND STATUS_JOB = 'C' 
1527
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
1528
																			) 
1529
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1530
																					WHERE REQ_ID = A.REQ_PAY_ID 
1531
																					AND TLNAME =@p_USER_LOGIN 
1532
																					AND TYPE_JOB ='XL' 
1533
																					AND STATUS_JOB = 'P' 
1534
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
1535
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
1536
																																																							)
1537
																				)
1538
																)
1539
									) 
1540
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
1541
										AND A.PROCESS<>'' 
1542
										AND A.PROCESS IS NOT NULL
1543
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1544
																					WHERE REQ_ID = A.REQ_PAY_ID 
1545
																					AND ROLE_USER =@ROLE_ID 
1546
																					AND STATUS ='C'
1547
																				)
1548
												)
1549
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
1550
														AND EXISTS(	SELECT * 
1551
																	FROM PL_REQUEST_PROCESS 
1552
																	WHERE REQ_ID = A.REQ_PAY_ID 
1553
																	AND ROLE_USER =@ROLE_ID 
1554
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
1555
																			OR	(	@p_IS_TRANSFER <>'N' 
1556
																					AND STATUS IN ('C','P')
1557
																				)
1558
																		)
1559
																	)
1560
													)
1561
											)
1562
									)
1563
								OR	(	@p_TYPE_SEARCH='PAY' 
1564
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
1565
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
1566
													AND	(	A.DEP_ID =@DEP_ID_LG 
1567
															OR A.MAKER_ID =@p_USER_LOGIN 
1568
															OR A.MAKER_ID IS NULL 
1569
															OR 1=1
1570
														)
1571
												) 
1572
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
1573
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
1574
													)
1575
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1576
														AND @p_REQ_PAY_CODE <> '' 
1577
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1578
													)
1579
											)
1580
									)  
1581
							) -- ngoac so 1, line 347
1582
						OR	(	@p_TYPE_SEARCH='HC' 
1583
								AND	(	@ROLE_ID IN ('KSV','GDV')  
1584
										OR @DEP_ID_LG ='DEP000000000022'
1585
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1586
							)
1587
					) -- line 346
1588
			) -- line 344
1589
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
1590
					AND (@p_TEMP_PAY_STATUS = 'HT')
1591
				)  
1592
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
1593
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
1594
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
1595
			)  
1596
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
1597
		
1598
) COUNTER_TOP;WITH QUERY_DATA AS (  
1599
		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,  
1600
		TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,  
1601
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
1602
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
1603
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
1604
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
1605
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
1606
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ, 
1607
		BR1.BRANCH_NAME BRANCH_NAME, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,  
1608
		--Luanlt--2019/10/15-Sửa AL,AL1  
1609
		BR1.BRANCH_CODE BRANCH_CODE_CRE, BR1.BRANCH_NAME AS BRANCH_NAME_CRE , AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,  
1610
		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,  
1611
		TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,  
1612
		TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,  
1613
		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,  
1614
		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, 
1615
		--PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, 
1616
		PR.PROCESS_DESC +N' vào lúc '+ ISNULL(FORMAT(PR.APP_DT,'dd/MM/yyyy H:mm:ss'),'') AS CONF_STATUS,
1617
		--PC1.NOTES AS NEXT_STEP,  
1618
		---2021112 CAU HINH BUOC XU LY TIEP THEO PDN TAM UNG NOI BO
1619
		CASE WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='E' THEN N'Phiếu đang chờ gửi phê duyệt' 
1620
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='R' THEN N'Phiếu đang chờ GDV xử lý'
1621
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS_KT ='P' THEN N'Phiếu đang chờ KSV xử lý'
1622
		WHEN A.REQ_TYPE='I' AND A.AUTH_STATUS ='R' THEN N'Phiếu bị trả về đơn vị' 
1623
		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'
1624
		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'
1625
		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'
1626
		WHEN A.REQ_TYPE='I' AND A.BRANCH_CREATE='DV0001' AND (A.PROCESS IS NOT NULL OR A.PROCESS ='0') THEN PC1.NOTES
1627
		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'
1628
		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,  
1629
		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,  
1630
		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,
1631
		EXEC_USER = CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
1632
						 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME
1633
						 ELSE TL2.TLNANME  
1634
						 END
1635
		-- doanptt 120522
1636
		, C.AUTH_STATUS_KT_DESC,
1637
		dbo.FN_DATEDIFF_WITHOUT_WEEKEND(A.TRANSFER_DT, GETDATE()) AS NUMBER_OF_TRANSFER,
1638
		PC3.TLNAME AS EXEC_USER_KT,
1639
		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())
1640
			 ELSE 0 END AS NUMBER_OF_SEND_APPR
1641
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC   
1642
) AS __ROWNUM-- SELECT END
1643
		FROM TR_REQ_ADVANCE_PAYMENT A  
1644
		LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS  
1645
		LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS  
1646
		LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME  
1647
		LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME  
1648
		LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME  
1649
		LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME  
1650
		LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID  
1651
		LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID  
1652
		LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID  
1653
		--Luanlt--2019/10/15-Sửa AL,AL1  
1654
		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ợ)  
1655
		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)
1656
		LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME  
1657
		LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME  
1658
		LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'  
1659
		LEFT JOIN  
1660
		(  
1661
		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  
1662
		) H ON A.REQ_PAY_ID = H.PAY_ADV_ID  
1663
		LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'  
1664
		LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'  
1665
		LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'  
1666
		LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'  
1667
		LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'  
1668
		LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID  
1669
		--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID  
1670
		LEFT JOIN  
1671
		(  
1672
		SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P 
1673
		INNER JOIN  
1674
		(  
1675
			SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
1676
			GROUP BY PR.REQ_ID  
1677
		) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID  
1678
		--WHERE P.REQ_ID =@p_REQ_PAY_ID
1679
		) AS PR ON A.REQ_PAY_ID = PR.REQ_ID  
1680
		LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND 
1681
		(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))
1682
		AND PC.STATUS='C'  
1683
		--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'  
1684
		LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'  
1685
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'  
1686
		LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'  
1687
		LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME  
1688
		LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID  
1689
		LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID  
1690
		WHERE 1=1  
1691
		AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='')  
1692
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL) 
1693
		AND(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL) 
1694
		AND(A.MAKER_ID_KT = @p_MAKER_ID_KT OR @p_MAKER_ID_KT = '' OR @p_MAKER_ID_KT IS NULL)  
1695
		AND(PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL)
1696
		AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)    
1697
		AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)  
1698
		--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID  
1699
		AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
1700
		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)  
1701
		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  
1702
		AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)  
1703
		--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 <>'')  
1704
		AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)  
1705
		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')))  
1706
		AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL) 
1707
		AND	(	A.AUTH_STATUS=@p_AUTH_STATUS 
1708
				OR @p_AUTH_STATUS='' 
1709
				OR @p_AUTH_STATUS IS NULL 
1710
				OR (@p_AUTH_STATUS = 'W' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS IS NULL)
1711
				OR (@p_AUTH_STATUS = 'G' AND ISNULL(A.AUTH_STATUS, '') = 'U' AND A.PROCESS = '')
1712
				OR (	A.REQ_TYPE ='I' 
1713
						AND A.AUTH_STATUS <>'A' 
1714
						AND EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('GDDV','PP','GDK','KTT','PTGD','TGD','HDQT','TKTGD','TKHDQT'))
1715
					)
1716
			)
1717
		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  
1718
				OR	(A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N')
1719
				OR @p_IS_UPDATE_KT IS NULL 
1720
				OR @p_IS_UPDATE_KT=''
1721
			)  
1722
		 
1723
		AND
1724
		(
1725
			(	@p_IS_TRANSFER='Y' 
1726
				 AND(
1727
						@p_TYPE_SEARCH ='TKTGD' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='1')
1728
			
1729
					 OR (
1730
							@p_TYPE_SEARCH ='TKHDQT' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND PROCESS_ID ='2')
1731
						)
1732
					 OR (
1733
							@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')
1734
						)
1735
					)
1736
			) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat  
1737
			OR
1738
			(	@p_IS_TRANSFER='N' 
1739
				AND (
1740
						(@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') 
1741
				
1742
						OR  (
1743
								@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')
1744
							)
1745
						OR  (
1746
								@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' 
1747
							)
1748
					)
1749
			)
1750
			OR @p_IS_TRANSFER IS NULL 
1751
			OR @p_IS_TRANSFER=''
1752
		) 
1753

    
1754
		AND	(	(	(	@p_PROCESS='PM' 
1755
						AND (A.REQ_AMT- ISNULL(A.PAY_AMT,0.00)) >0
1756
					)  
1757
					AND (	A.REQ_TYPE IN('I','D','P') 
1758
							OR	(	@DEP_ID_LG ='DEP000000000014' 
1759
									AND A.REQ_TYPE IN ('I','P','D')
1760
								)
1761
						)	
1762
					AND	(	(	A.DEP_ID = @DEP_ID_LG 
1763
								OR A.MAKER_ID =@p_USER_LOGIN 
1764
								OR A.MAKER_ID IS NULL
1765
							) 
1766
								OR	(	@BRANCH_TYPE_LG <>'HS' 
1767
										AND A.BRANCH_ID =@p_BRANCH_LOGIN
1768
									) 
1769
										OR (	@p_REQ_PAY_CODE IS NOT NULL 
1770
												AND @p_REQ_PAY_CODE <> '' 
1771
												AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1772
											)
1773
						)
1774
				)  
1775
				OR @p_PROCESS IS NULL OR @p_PROCESS =''
1776
			)  
1777
		AND	(	(	@p_LEVEL='ALL' 
1778
					AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp)
1779
				)  
1780
				OR	(	(	@p_LEVEL='UNIT' 
1781
							AND A.BRANCH_ID=@p_BRANCH_ID
1782
						)
1783
						OR	(	@p_BRANCH_ID='' 
1784
								OR @p_BRANCH_ID IS NULL
1785
							) 
1786
						OR	(	@p_REQ_PAY_CODE IS NOT NULL 
1787
									AND @p_REQ_PAY_CODE <> '' 
1788
									AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
1789
							)
1790
					)
1791
			)    
1792
		AND (	(	@p_FUNCTION ='KT' 
1793
					AND (	EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X 
1794
										WHERE X.REQ_ID = A.REQ_PAY_ID 
1795
										AND (	X.TLNAME= @p_USER_LOGIN 
1796
												OR X.TLNAME =@p_EXEC_USER_KT
1797
											)
1798
									)
1799
						) 
1800
					OR A.CHECKER_ID_KT ='admin' OR A.AUTH_STATUS_KT ='A'
1801
				)  
1802
				OR @p_FUNCTION IS NULL 
1803
				OR @p_FUNCTION ='' 
1804
				OR (@p_FUNCTION ='TF' AND A.AUTH_STATUS='A') 
1805
				OR @p_FUNCTION ='SIGN'
1806
			)
1807
		AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')    
1808
		AND	(	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
1809
							WHERE TLNAME =@p_TRASFER_USER_RECIVE 
1810
							AND TYPE_JOB IN ('XL','KS','TP') 
1811
							AND REQ_ID = A.REQ_PAY_ID
1812
						) 
1813
				OR @p_TRASFER_USER_RECIVE IS NULL 
1814
				OR @p_TRASFER_USER_RECIVE=''
1815
			)  
1816
		AND	(	A.MAKER_ID =@p_USER_LOGIN 
1817
				OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))  
1818
				OR	(	A.AUTH_STATUS <>'E' AND A.AUTH_STATUS <> 'R'
1819
						AND	(	(	@p_TYPE_SEARCH ='HC'	-- NEU LA PHIEU DE NGHI TAM UNG NOI BO
1820
									AND @BRANCH_TYPE_LG ='HS' 
1821
									AND A.REQ_TYPE ='I'  
1822
									AND (	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1823
															WHERE ROLE_AUTH IN ('GDDV','TP', 'PP', 'KTT','TC')
1824
														) 
1825
												AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1826
														OR A.BRANCH_ID IN (SELECT * FROM @BRANCH_AUTH)
1827
													)
1828
												AND (A.DEP_ID = @DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1829
												AND	(	(	@p_AUTH_STATUS ='A' 
1830
															AND ISNULL(PROCESS,'') ='0' 
1831
															AND	EXISTS	(	SELECT * FROM PL_PROCESS 
1832
																			WHERE REQ_ID =A.REQ_PAY_ID 
1833
																			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')
1834
																		)
1835
															OR (@p_AUTH_STATUS ='U' AND ISNULL(PROCESS,'')='') 
1836
															OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS =''
1837
														)
1838
													)
1839
											) 
1840
											OR	(	@ROLE_ID IN ('NVMS','NVTT','TBP') 
1841
													AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN  
1842
															OR A.MAKER_ID =@p_MAKER_ID 
1843
															OR A.DEP_ID=@p_DEP_ID
1844
														)
1845
													AND (A.AUTH_STATUS =@p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS,'') ='')
1846
												)
1847
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1848
																WHERE ROLE_AUTH  IN ('GDK')
1849
															) 
1850
													AND	(	A.DVDM_ID =@DVDM_ID 
1851
															OR (	A.DVDM_ID IS NULL 
1852
																	OR A.DVDM_ID =''
1853
																)
1854
														) 
1855
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1856
																	WHERE REQ_ID = A.REQ_PAY_ID
1857
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
1858
																	-- AND A.BRANCH_CREATE ='DV0001' 
1859
																	AND A.PROCESS<>'' 
1860
																	AND A.PROCESS IS NOT NULL
1861
																	AND	(	(	@p_AUTH_STATUS ='A' 
1862
																				AND STATUS IN ('P','A')
1863
																			) 
1864
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1865
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
1866
																					AND STATUS IN ('C','P','A')
1867
																				)
1868
																		)
1869
																)
1870
												)
1871
											OR	(	EXISTS	(	SELECT * FROM @TABLE_ROLE 
1872
																WHERE ROLE_AUTH  IN ('PTGD')
1873
															) 
1874
													AND	(	A.DVDM_ID =@DVDM_ID 
1875
															OR (	A.DVDM_ID IS NULL 
1876
																	OR A.DVDM_ID =''
1877
																)
1878
														) 
1879
													AND EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
1880
																	WHERE REQ_ID = A.REQ_PAY_ID
1881
																	AND ROLE_USER IN (	SELECT * FROM @TABLE_ROLE) 
1882
																	-- AND A.BRANCH_CREATE ='DV0001' 
1883
																	AND A.PROCESS<>'' 
1884
																	AND A.PROCESS IS NOT NULL
1885
																	AND	(	(	@p_AUTH_STATUS ='A' 
1886
																				AND STATUS IN ('P','A')
1887
																			) 
1888
																			OR	(	@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1889
																			OR	(	ISNULL(@p_AUTH_STATUS,'') ='' 
1890
																					AND STATUS IN ('C','P','A')
1891
																				)
1892
																		)
1893
																)
1894
													AND (	@KHOI_ID_LG = (SELECT KHOI_ID FROM CM_DEPARTMENT WHERE DEP_ID	= (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = A.REQ_PAY_ID))
1895
															OR	(	@p_USER_LOGIN = 'tupa' AND (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = A.REQ_PAY_ID) = 'DEP000000000015')
1896
														)
1897
												)
1898
											OR	(	EXISTS	(	SELECT * 
1899
																FROM @TABLE_ROLE 
1900
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
1901
																AND EXISTS	(	SELECT * 
1902
																				FROM PL_REQUEST_PROCESS	
1903
																				WHERE REQ_ID = A.REQ_PAY_ID
1904
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
1905
																				--AND A.BRANCH_CREATE ='DV0001' 
1906
																				AND A.PROCESS<>'' 
1907
																				AND A.PROCESS IS NOT NULL
1908
																				AND (	(	@p_AUTH_STATUS ='A' 
1909
																							AND STATUS IN ('P','A')
1910
																						) 
1911
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
1912
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
1913
																					)
1914
																			)
1915
												)
1916

    
1917
										)-- NEU ROLE NAM TRONG DS CAC ROLE WORKFLOW 1
1918
								)	-- ngoac so 2, line 347
1919
-- NGUOC LAI NEU LA TAM UNG KHAC
1920
								OR	(	@p_TYPE_SEARCH ='HC' 
1921
										AND @BRANCH_TYPE_LG ='HS' 
1922
										AND A.REQ_TYPE <> 'I' 
1923
										AND	(	A.TRASFER_USER_RECIVE = @p_USER_LOGIN 
1924
												OR	(	@ROLE_ID IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1925
														AND (	A.BRANCH_ID =@p_BRANCH_LOGIN 
1926
																OR A.BRANCH_ID IN(SELECT * FROM @BRANCH_AUTH)
1927
															)	
1928
														AND	(	A.DEP_ID =@DEP_ID_LG 
1929
																		OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH)
1930
															)  
1931
														AND	(	A.TRASFER_USER_RECIVE IS NULL 
1932
																OR A.TRASFER_USER_RECIVE ='' 
1933
																OR	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1934
																		AND A.TRASFER_USER_RECIVE <>'' 
1935
																		AND A.PROCESS IS NOT NULL 
1936
																		AND A.PROCESS <>''
1937
																	)
1938
															)
1939
													)  
1940
												OR	(	@ROLE_ID NOT IN ('GDDV','GDK','KTT','TPTC','PP','TBP','TP','TC') 
1941
														AND (A.DEP_ID =@DEP_ID_LG OR A.DEP_ID IN (SELECT * FROM @DEP_AUTH))
1942
													)  
1943
											)
1944
									)
1945
									-- HẾT KIỂM TRA LIÊN QUAN ĐẾN LOẠI TẠM ỨNG
1946
								OR	(	@p_TYPE_SEARCH ='HC' 
1947
										AND @BRANCH_TYPE_LG = 'CN' 
1948
										AND (	@ROLE_ID IN ('GDDV','PGD','TPGD','PPGD') 
1949
												AND	(	(	A.TRASFER_USER_RECIVE IS NOT NULL 
1950
															AND A.TRASFER_USER_RECIVE <>'' 
1951
															AND A.PROCESS IS NOT NULL 
1952
															AND A.PROCESS <>''
1953
														)  
1954
														OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL
1955
													)  
1956

    
1957
												OR	(	(	A.BRANCH_CREATE <> @p_BRANCH_LOGIN 
1958
															AND A.TRASFER_USER_RECIVE IS NOT NULL 
1959
															AND A.TRASFER_USER_RECIVE <>''
1960
														) 
1961
														OR A.BRANCH_CREATE = @p_BRANCH_LOGIN
1962
													)  
1963
												AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1964
											)
1965
									)  
1966
								OR	(	@p_TYPE_SEARCH ='HC' 
1967
										AND @BRANCH_TYPE_LG = 'CN' 
1968
										AND A.BRANCH_ID IN (SELECT * FROM @tmp)
1969
									)  
1970
								OR	(	@p_TYPE_SEARCH ='HC' 
1971
										AND @BRANCH_TYPE_LG = 'PGD' 
1972
										AND	(	@ROLE_ID IN ('GDDV','TPGD','PPGD','PGD') 
1973
												AND A.BRANCH_ID =@p_BRANCH_LOGIN
1974
											)
1975
									)  
1976
								OR	(	@p_TYPE_SEARCH ='HC' 
1977
										AND	(	A.DVDM_ID IS NOT NULL 
1978
												AND A.DVDM_ID <>'' 
1979
												AND A.DVDM_ID =@DVDM_ID 
1980
												AND A.PROCESS IS NOT NULL 
1981
												AND A.PROCESS <>'' 
1982
												AND	@ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1983
											) 
1984
										OR	(	A.DEP_ID IN (SELECT * FROM @TMP_DEP) 
1985
												AND A.PROCESS IS NOT NULL 
1986
												AND A.PROCESS <>''  
1987
												AND @ROLE_ID <> 'TKTGD' 
1988
												AND @ROLE_ID IN	(	SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)
1989
											)
1990
									)  
1991
								--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')))  
1992
								OR	(	@p_TYPE_SEARCH='KT' 
1993
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
1994
									)  
1995
								OR	(	@p_TYPE_SEARCH='HC' 
1996
										AND	(	@ROLE_ID IN ('KSV','GDV')  
1997
												OR @DEP_ID_LG ='DEP000000000022'
1998
											) 
1999
										AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
2000
									)  
2001
								OR	(	@p_TYPE_SEARCH='HC' AND (	EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
2002
																				WHERE REQ_ID = A.REQ_PAY_ID 
2003
																				AND TLNAME =@p_USER_LOGIN 
2004
																				AND TYPE_JOB ='XL' 
2005
																				AND STATUS_JOB = 'C' 
2006
																				AND ISNULL(A.AUTH_STATUS, '') <> 'A'
2007
																			) 
2008
																	OR EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS_CHILD 
2009
																					WHERE REQ_ID = A.REQ_PAY_ID 
2010
																					AND TLNAME =@p_USER_LOGIN 
2011
																					AND TYPE_JOB ='XL' 
2012
																					AND STATUS_JOB = 'P' 
2013
																					AND	(	ISNULL(A.AUTH_STATUS, '') = 'A'
2014
																																																								OR EXISTS	(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TYPE_JOB ='KS' AND STATUS_JOB = 'C')
2015
																																																							)
2016
																				)
2017
																)
2018
									) 
2019
								OR	(	@p_TYPE_SEARCH IN ('TK','TKTGD','TKHDQT') 
2020
										AND A.PROCESS<>'' 
2021
										AND A.PROCESS IS NOT NULL
2022
										AND (	(	@p_FUNCTION ='TF' AND  EXISTS	(	SELECT * FROM PL_REQUEST_PROCESS 
2023
																					WHERE REQ_ID = A.REQ_PAY_ID 
2024
																					AND ROLE_USER =@ROLE_ID 
2025
																					AND STATUS ='C'
2026
																				)
2027
												)
2028
												OR	(	ISNULL(@p_FUNCTION,'') <> 'TF' 
2029
														AND EXISTS(	SELECT * 
2030
																	FROM PL_REQUEST_PROCESS 
2031
																	WHERE REQ_ID = A.REQ_PAY_ID 
2032
																	AND ROLE_USER =@ROLE_ID 
2033
																	AND (	(@p_IS_TRANSFER = N'N' AND STATUS ='C') 
2034
																			OR	(	@p_IS_TRANSFER <>'N' 
2035
																					AND STATUS IN ('C','P')
2036
																				)
2037
																		)
2038
																	)
2039
													)
2040
											)
2041
									)
2042
								OR	(	@p_TYPE_SEARCH='PAY' 
2043
										AND (	A.REQ_AMT -ISNULL(A.PAY_AMT,0)) >0 
2044
										AND	(	(	@BRANCH_TYPE_LG ='HS' 
2045
													AND	(	A.DEP_ID =@DEP_ID_LG 
2046
															OR A.MAKER_ID =@p_USER_LOGIN 
2047
															OR A.MAKER_ID IS NULL 
2048
															OR 1=1
2049
														)
2050
												) 
2051
												OR	(	@BRANCH_TYPE_LG <> 'HS' 
2052
														AND A.BRANCH_ID = @p_BRANCH_LOGIN
2053
													)
2054
												OR	(	@p_REQ_PAY_CODE IS NOT NULL 
2055
														AND @p_REQ_PAY_CODE <> '' 
2056
														AND A.REQ_PAY_CODE =@p_REQ_PAY_CODE
2057
													)
2058
											)
2059
									)  
2060
							) -- ngoac so 1, line 347
2061
						OR	(	@p_TYPE_SEARCH='HC' 
2062
								AND	(	@ROLE_ID IN ('KSV','GDV')  
2063
										OR @DEP_ID_LG ='DEP000000000022'
2064
									) AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)
2065
							)
2066
					) -- line 346
2067
			) -- line 344
2068
		AND	(	(	A.PAY_AMT = A.REQ_AMT 
2069
					AND (@p_TEMP_PAY_STATUS = 'HT')
2070
				)  
2071
				OR (A.PAY_AMT = 0 AND (@p_TEMP_PAY_STATUS = 'DCHU') )  
2072
				OR (A.PAY_AMT <> 0 and A.PAY_AMT < A.REQ_AMT AND (@p_TEMP_PAY_STATUS = 'DHU'))  
2073
				OR @p_TEMP_PAY_STATUS IS NULL OR @p_TEMP_PAY_STATUS = ''  
2074
			)  
2075
		AND	(	A.RECORD_STATUS ='1' AND A.AUTH_STATUS <>'X')
2076
		
2077
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
2078
END-- PAGING END
2079
	END;
2080

    
2081
go