Project

General

Profile

adv_search_tgd.txt

Luc Tran Van, 01/19/2023 02:31 PM

 
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'19/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'trungnq1',
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
															OR EXISTS	(	SELECT TOP 1 DVDM_ID FROM PL_REQUEST_PROCESS 
455
																			WHERE REQ_ID = A.REQ_PAY_ID	AND DVDM_ID = @KHOI_ID_LG
456
																		)
457
														)
458
												)
459
											OR	(	EXISTS	(	SELECT * 
460
																FROM @TABLE_ROLE 
461
																WHERE ROLE_AUTH IN ('TKTGD', 'TKHDQT','TGD','HDQT')) 
462
																AND EXISTS	(	SELECT * 
463
																				FROM PL_REQUEST_PROCESS	
464
																				WHERE REQ_ID = A.REQ_PAY_ID
465
																				AND ROLE_USER IN(SELECT * FROM @TABLE_ROLE) 
466
																				--AND A.BRANCH_CREATE ='DV0001' 
467
																				AND A.PROCESS<>'' 
468
																				AND A.PROCESS IS NOT NULL
469
																				AND (	(	@p_AUTH_STATUS ='A' 
470
																							AND STATUS IN ('P','A')
471
																						) 
472
																						OR (@p_AUTH_STATUS = 'U' AND STATUS ='C') 
473
																						OR(ISNULL(@p_AUTH_STATUS,'') ='' )
474
																					)
475
																			)
476
												)
477

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

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

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

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

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

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

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

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

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

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

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

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

    
2093
go