Project

General

Profile

3.0.11.03.2025 BVBANK TIM KIEM PYC MS.txt

Luc Tran Van, 03/12/2025 03:00 PM

 
1
-- PROCEDURE NAME: PL_REQUEST_DOC_Search
2

    
3
DECLARE @p_REQ_ID varchar(15) = NULL,
4
@p_REQ_CODE nvarchar(100) = '0021/2022/TTr-06921045',
5
@p_REQ_NAME nvarchar(200) = NULL,
6
@p_REQ_DT varchar(20) = NULL,
7
@p_REQ_TYPE int = NULL,
8
@p_REQ_CONTENT nvarchar(1000) = NULL,
9
@p_REQ_REASON nvarchar(500) = NULL,
10
@p_TOTAL_AMT decimal = NULL,
11
@p_NOTES nvarchar(1000) = NULL,
12
@p_RECORD_STATUS varchar(1) = NULL,
13
@p_MAKER_ID varchar(12) = NULL,
14
@p_CREATE_DT varchar(20) = NULL,
15
@p_AUTH_STATUS varchar(50) = N'A',
16
@p_CHECKER_ID varchar(12) = NULL,
17
@p_APPROVE_DT varchar(20) = NULL,
18
@p_PROCESS_ID varchar(15) = NULL,
19
@p_BRANCH_ID varchar(15) = N'DV0001',
20
@p_DEP_ID varchar(15) = N'DEP000000000056',
21
@p_BRANCH_LOGIN varchar(15) = N'DV0001',
22
@p_ROLE_USER varchar(20) = NULL,
23
@p_TLNAME_USER varchar(15) = N'tuma',
24
@p_FR_DATE varchar(20) = NULL,
25
@p_TO_DATE varchar(20) = NULL,
26
@p_TYPE_TRANFER varchar(15) = NULL,
27
@p_TYPE varchar(15) = N'DVKD_PARENT',
28
@p_YEAR int = NULL,
29
@p_TOP int = 300,
30
@p_IS_TRANSFER varchar(10) = NULL,
31
@p_NGUOIXULY nvarchar(15) = NULL
32
 
33

    
34
	DECLARE @TABLE_ROLE TABLE 
35
	( ROLE_ID VARCHAR(20))
36
	INSERT INTO @TABLE_ROLE VALUES(@p_ROLE_USER)
37

    
38
	
39
	INSERT INTO @TABLE_ROLE
40
	SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER
41
	
42

    
43

    
44
	DECLARE @DEP_ID VARCHAR(15),@BRANCH_TYPE VARCHAR(15)
45
	
46
	DECLARE
47
	@COST_ID TABLE (
48
		COST_ID VARCHAR(15)
49
	)
50

    
51
	DECLARE @DVDM_ID TABLE (
52
		DVDM_ID VARCHAR(15)
53
	)
54
	SET @DEP_ID =(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME_USER)
55
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
56
	IF((@DEP_ID IS NULL OR @DEP_ID = '') AND @p_TYPE = 'DVKD_PARENT') -- 06032025_SECRETKEY : NGUYENTD NẾU DEP_ID NULL THÌ LẤY THEO USER ĐĂNG NHẬP
57
	BEGIN
58
		SET @DEP_ID = (SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID)
59
	END
60

    
61
	IF(EXISTS(SELECT DEP_CODE FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEP_ID AND DEP_CODE LIKE '069%'))
62
	BEGIN
63
		SET @BRANCH_TYPE='HS'
64
	END
65

    
66

    
67

    
68
	DECLARE @AUTHOR TABLE
69
	(
70
		ROLE_ID VARCHAR(100),
71
		BRANCH_ID VARCHAR(20),
72
		DEP_ID VARCHAR(20)
73
	)
74
	DECLARE @AUTHOR_DVDM TABLE
75
	(
76
		ROLE_ID VARCHAR(100),
77
		BRANCH_ID VARCHAR(20),
78
		DEP_ID VARCHAR(20),
79
		DVDM_ID VARCHAR(20)
80
	)
81
	INSERT INTO @AUTHOR
82
	(
83
	    ROLE_ID,
84
	    BRANCH_ID,
85
	    DEP_ID
86
	)
87
	SELECT RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
88
	WHERE TLNANME=@p_TLNAME_USER
89
	UNION ALL
90
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU ---- LUCTV 03072023_SECRETKEY: FIX LỖI ISNULL ROLE
91
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
92
	WHERE TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
93
	UNION ALL
94
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
95
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
96
	UNION ALL
97
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
98
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
99
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
100
	---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES 04072023_secretkey - 05072023_secretkey
101
	UNION ALL
102
	SELECT RL.DisplayName AS RoleName ,TL.TLSUBBRID,TL.SECUR_CODE FROM TL_USER TL
103
	INNER JOIN AbpUserRoles UR ON TL.ID = UR.UserId
104
	INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
105
	WHERE TL.TLNANME =@p_TLNAME_USER
106

    
107
	INSERT INTO @AUTHOR_DVDM
108
	(
109
	    ROLE_ID,
110
	    BRANCH_ID,
111
	    DEP_ID,
112
	    DVDM_ID
113
	)
114
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
115
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
116
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
117
	WHERE TU.TLNANME=@p_TLNAME_USER
118
	UNION ALL
119
	SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
120
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
121
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
122
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
123
	WHERE TU.TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
124
	UNION ALL
125
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
126
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
127
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
128
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
129
	UNION ALL
130
	SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
131
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
132
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
133
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
134
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)	
135
	---- 16.11.22 LUCTV BO SUNG UNION NHUNG PHONG BAN CON CUA PHONG BAN DUOC KIEM NHIEM
136
	UNION ALL
137
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
138
	LEFT JOIN CM_DEPARTMENT DP ON DP.FATHER_ID = TU.DEP_ID
139
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=DP.DEP_ID
140
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
141
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
142
	UNION ALL
143
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU
144
	LEFT JOIN CM_DEPARTMENT DP ON DP.FATHER_ID = TU.SECUR_CODE
145
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=DP.DEP_ID
146
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
147
	WHERE TU.TLNANME=@p_TLNAME_USER
148
	---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
149
	UNION ALL
150
	SELECT RL.DisplayName AS RoleName ,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM TL_USER TU
151
	INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
152
	INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
153
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
154
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
155
	WHERE TU.TLNANME =@p_TLNAME_USER
156
	---
157
	--UPDATE @AUTHOR_DVDM SET ROLE_ID ='' WHERE ROLE_ID IS NULL ---28112023_SECRETKEY: UPDATE NULL VỀ '' ĐỂ TRÁNH LỖI SO SÁNH
158
	---
159
	--- END LUCTV 16.11.2022
160
	INSERT INTO @COST_ID
161
	SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@p_BRANCH_LOGIN
162
	INSERT INTO @DVDM_ID
163
	SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID) GROUP BY DVDM_ID
164
		----- GIANT 23/12/2021
165
	IF(@p_FR_DATE IS NULL)
166
	BEGIN
167
			SET @p_FR_DATE = GETDATE()
168
			SET @p_FR_DATE = DATEADD(YEAR,-1,@p_FR_DATE)
169
	END
170
	--IF(@p_REQ_CODE IS NOT NULL OR @p_REQ_CODE <> '' OR @p_REQ_ID <> '' AND @p_REQ_ID IS NOT NULL )
171
	--BEGIN
172
	--		SET @p_FR_DATE = GETDATE()
173
	--		SET @p_FR_DATE = DATEADD(YEAR,-10,@p_FR_DATE)
174
	--END
175
		-----
176
	IF(@p_TYPE='DVKD')
177
	BEGIN	
178
		-- PAGING BEGIN
179
BEGIN
180
SELECT COUNT(*) -- SELECT END 
181
		FROM PL_REQUEST_DOC A 	
182
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
183
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
184
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
185
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
186

    
187
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
188
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
189

    
190
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
191
	
192
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
193
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
194
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
195
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
196
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
197
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
198
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
199
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
200
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
201
		OUTER APPLY
202
		(
203
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
204
		) NXL
205
		WHERE 1 = 1
206
		
207
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
208
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
209
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
210
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
211
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
212
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
213
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
214
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
215
		
216

    
217
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
218

    
219

    
220
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
221
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
222
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
223
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
224
		AND A.RECORD_STATUS = '1'
225
		
226
		AND(
227
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
228
			OR
229
				(
230
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
231
				)
232
				OR
233
				(
234
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
235
				)
236
			)
237

    
238
		AND    (A.MAKER_ID=@p_TLNAME_USER 
239
        OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
240
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL' AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
241
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
242
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
243
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
244
			--	
245
				
246
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
247
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
248
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
249
			--
250

    
251

    
252
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
253
		--
254
		--AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS IN('U','R','E') AND (A.PROCESS_ID <> 'APPROVE' OR A.PROCESS_ID IS NULL)) OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
255
		--AND ((A.AUTH_STATUS='E' AND A.MAKER_ID=@p_TLNAME_USER) OR (A.AUTH_STATUS <> 'E' AND (A.MAKER_ID=@p_TLNAME_USER OR (PLRP.PROCESS_ID='DVKD' AND PLRP.ROLE_USER=@p_ROLE_USER AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='')))))
256
		--
257
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
258
		AND( (@p_AUTH_STATUS ='A' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='P'))
259
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
260
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
261
			OR (@p_AUTH_STATUS ='W' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='C'))
262
			OR (@p_AUTH_STATUS ='G' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='P'))
263
			OR (@p_AUTH_STATUS ='U' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='C'))
264
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
265
		)
266
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
267
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
268
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
269
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
270
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
271

    
272
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
273
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
274
		
275
		-- GIANT 26/10/2021
276
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
277

    
278
		--HUYHT 10/05/2022 TÌM KIẾM THEO BƯỚC XỬ LÝ TIẾP THEO
279
		AND (A.PROCESS_ID = @p_PROCESS_ID OR (@p_PROCESS_ID IS NULL OR @p_PROCESS_ID = ''))
280

    
281
		
282
	;WITH QUERY_DATA AS ( 
283
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
284
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
285
			   UDV.TLFullName AS CHECKER_NAME_DV,
286
			   A.APPROVE_DT,
287
               A.PROCESS_ID,
288
			   --D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
289
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
290
			   --WHEN A.PROCESS_ID<> 'APPROVE' AND A.AUTH_STATUS='A' THEN N'Chờ duyệt' ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
291
			   CASE WHEN A.PROCESS_ID='APPROVE' OR A.AUTH_STATUS ='A' THEN N'Đã duyệt'
292
			   ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
293
			   G.BRANCH_CODE,
294
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
295
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
296
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
297
			   UC.TLFullName AS MAKER_NAME,
298
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
299
			   RP.ROLE_USER, 
300
			   RP.NOTES AS PROCESS_STATUS , 
301
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
302
			   A.DVDM_APP_ID,
303
			   CD.DVDM_NAME AS DVDM_APP_NAME,
304
			   A.REQ_PARENT_ID,
305
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
306
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
307
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
308
			   A.BRANCH_FEE,
309
			   A.DEP_ID,
310
			   A.DEP_FEE,
311
			   DEP.DEP_NAME,
312
			   DEP.DEP_CODE,
313
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
314
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
315
			   DF.DEP_NAME AS DEP_FEE_NAME,
316
			   DF.DEP_CODE AS DEP_FEE_CODE,
317
			   '' AS BRANCH_DEP,
318
			   '' AS BRANCH_DEP_FEE,
319
			   
320

    
321

    
322
			   '' AS TYPE_JOB,
323
			   '' AS USER_JOB,
324
			   '' AS USER_JOB_NAME,
325
			   '' AS TRANSFER_MAKER,
326
			    A.CREATE_DT AS TRANFER_DT ,
327
				'' AS TRANSFER_MAKER_ID,
328
			   A.EFFEC_DT,A.IS_BACKDAY,
329
			   '' AS TYPE_JOB_XL,
330
			   '' AS USER_JOB_XL,
331
			   RP.ID AS REF_ID,
332
			   RPN.STATUS AS STATUS_NEXT,
333
			   RP.STATUS AS STATUS_CURR,
334
			   '' AS STATUS_JOB,
335
			   A.BRANCH_CREATE,
336
			   A.DEP_CREATE,
337
			   A.REQ_LINE,
338
			   A.TC_NOTES,
339
			   A.SIGN_USER,
340
			   TL.TLFullName AS SIGN_USER_NAME,
341
			   A.KT_NOTES,
342
			   A.IS_CHECKALL,
343
			   A.BASED_CONTENT,
344
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
345
			   '' AS IS_TRANSFER,
346
			   --NGUOI XU LY
347
			  NXL.NGUOIXULY AS NGUOIXULY, A.TK_HDQT_NOTES, A.TK_TGD_NOTES, A.OTHER_NOTES
348
			 , ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
349
) AS __ROWNUM-- SELECT END 
350
		FROM PL_REQUEST_DOC A 	
351
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
352
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
353
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
354
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
355

    
356
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
357
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
358

    
359
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
360
	
361
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
362
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
363
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
364
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
365
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
366
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
367
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
368
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
369
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
370
		OUTER APPLY
371
		(
372
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
373
		) NXL
374
		WHERE 1 = 1
375
		
376
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
377
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
378
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
379
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
380
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
381
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
382
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
383
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
384
		
385

    
386
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
387

    
388

    
389
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
390
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
391
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
392
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
393
		AND A.RECORD_STATUS = '1'
394
		
395
		AND(
396
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
397
			OR
398
				(
399
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
400
				)
401
				OR
402
				(
403
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
404
				)
405
			)
406

    
407
		AND    (A.MAKER_ID=@p_TLNAME_USER 
408
        OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
409
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL' AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
410
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
411
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
412
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
413
			--	
414
				
415
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
416
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
417
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
418
			--
419

    
420

    
421
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
422
		--
423
		--AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS IN('U','R','E') AND (A.PROCESS_ID <> 'APPROVE' OR A.PROCESS_ID IS NULL)) OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
424
		--AND ((A.AUTH_STATUS='E' AND A.MAKER_ID=@p_TLNAME_USER) OR (A.AUTH_STATUS <> 'E' AND (A.MAKER_ID=@p_TLNAME_USER OR (PLRP.PROCESS_ID='DVKD' AND PLRP.ROLE_USER=@p_ROLE_USER AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='')))))
425
		--
426
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
427
		AND( (@p_AUTH_STATUS ='A' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='P'))
428
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
429
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
430
			OR (@p_AUTH_STATUS ='W' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='C'))
431
			OR (@p_AUTH_STATUS ='G' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='P'))
432
			OR (@p_AUTH_STATUS ='U' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='C'))
433
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
434
		)
435
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
436
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
437
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
438
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
439
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
440

    
441
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
442
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
443
		
444
		-- GIANT 26/10/2021
445
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
446

    
447
		--HUYHT 10/05/2022 TÌM KIẾM THEO BƯỚC XỬ LÝ TIẾP THEO
448
		AND (A.PROCESS_ID = @p_PROCESS_ID OR (@p_PROCESS_ID IS NULL OR @p_PROCESS_ID = ''))
449

    
450
		
451
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
452
END-- PAGING END
453
	END
454
	ELSE IF(@p_TYPE='PDTT')
455
	BEGIN
456
		-- PAGING BEGIN
457
BEGIN
458
SELECT COUNT(*) -- SELECT END
459
		FROM PL_REQUEST_DOC A 	
460
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <>'U'	
461
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
462
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
463
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID=(SELECT TOP 1 ID FROM PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID AND PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID ORDER BY APPROVE_DT DESC)	
464
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
465
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
466

    
467
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
468
		LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPC ON RPC.REQ_ID=A.REQ_ID AND RPC.PROCESS_ID=PLRP.ID AND (RPC.STATUS_JOB='C' OR RPC.STATUS_JOB='R')
469
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
470
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
471
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
472
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
473
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
474
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
475
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
476
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
477
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
478
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
479
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
480
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
481
		OUTER APPLY
482
		(
483
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
484
		) NXL 
485

    
486
		WHERE 1 = 1
487
	  AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
488
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
489
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
490
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
491
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
492
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
493
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
494
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
495
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
496
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
497
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
498
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
499
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
500
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
501
		AND A.RECORD_STATUS = '1'
502

    
503
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
504
--			OR(@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
505
--			OR(@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
506
--    )
507

    
508
		AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
509
			(PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
510
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
511
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
512
		))
513
		--AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) 
514
		--AND (
515
		--  (PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID='')) 
516
		--OR ( PLRP.DVDM_ID IN (SELECT DVDM_ID FROM @DVDM_ID))
517
		--OR
518
		--( (PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))	
519
		--)
520
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
521
		AND (PLRP.IS_HAS_CHILD=0 OR PLRP.IS_HAS_CHILD IS NULL)
522
		AND (( @p_AUTH_STATUS='A' AND  PLRP.STATUS='P') OR( @p_AUTH_STATUS='U' AND (PLRP.STATUS='C')) OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
523
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
524
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
525
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
526
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
527
		--AND(
528
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
529
		--	OR
530
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
531
		--)
532

    
533
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
534
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
535
		
536
		-- GIANT 26/10/2021
537
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
538
		AND (A.PROCESS_ID IN ('GDK_TT','PTGDK_TT','TGD','HDQT','GDK_DC','APPROVE','GDK_TC')) -- LUCTV 24.11.2022 BO SUNG DIEU KIEN DE CHAN KHONG CHO LANH DAO TIM KIEM NEU PHIEU CHUA TOI
539
		
540
	;WITH QUERY_DATA AS ( 
541
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
542
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
543

    
544
			   UDV.TLFullName AS CHECKER_NAME_DV,
545
			  
546
			   A.APPROVE_DT,
547
               A.PROCESS_ID,
548
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
549
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
550
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
551
			   G.BRANCH_CODE,
552
			   G.BRANCH_NAME,
553
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
554
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
555
			   UC.TLFullName AS MAKER_NAME,
556
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
557
			   RPN.ROLE_USER, 
558
			   RP.NOTES AS PROCESS_STATUS , 
559
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
560
			   A.DVDM_APP_ID,
561
			   CD.DVDM_NAME AS DVDM_APP_NAME,
562
			   A.REQ_PARENT_ID,
563
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
564
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
565
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
566
			   A.BRANCH_FEE,
567
			   A.DEP_ID,
568
			   A.DEP_FEE,
569
			   DEP.DEP_NAME,
570
			   DEP.DEP_CODE,
571
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
572
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
573
			   DF.DEP_NAME AS DEP_FEE_NAME,
574
			   DF.DEP_CODE AS DEP_FEE_CODE,
575
			   '' AS BRANCH_DEP,
576
			   '' AS BRANCH_DEP_FEE,
577
			   
578

    
579

    
580
			   RPC.TYPE_JOB AS TYPE_JOB,
581
			   RPC.TLNAME AS USER_JOB,
582
			   TU.TLFullName AS USER_JOB_NAME,
583
			   TFM.TLNANME AS TRANSFER_MAKER,
584
			    RPC.TRANFER_DT AS TRANFER_DT ,
585
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
586
			   A.EFFEC_DT,A.IS_BACKDAY,
587
			   '' AS TYPE_JOB_XL,
588
			   '' AS USER_JOB_XL,
589
			   --RP.ID AS REF_ID,
590
			   ISNULL(RP.ID,1) AS REF_ID,
591
			   RPN.STATUS AS STATUS_NEXT,
592
			   PLRP.STATUS AS STATUS_CURR,
593
			    RPC.STATUS_JOB AS STATUS_JOB,
594
			   A.BRANCH_CREATE,
595
			   A.DEP_CREATE,
596
			   A.REQ_LINE,
597
			     A.TC_NOTES,
598
				  A.SIGN_USER,
599
			   TL.TLFullName  AS SIGN_USER_NAME,
600
			   A.KT_NOTES,
601
			     A.IS_CHECKALL,
602
			   A.BASED_CONTENT, 
603
			   '' AS IS_TRANSFER,
604
			   --NGUOI XU LY
605
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
606
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
607
			, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
608
) AS __ROWNUM-- SELECT END
609
		FROM PL_REQUEST_DOC A 	
610
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <>'U'	
611
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
612
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
613
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID=(SELECT TOP 1 ID FROM PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID AND PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID ORDER BY APPROVE_DT DESC)	
614
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
615
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
616

    
617
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
618
		LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPC ON RPC.REQ_ID=A.REQ_ID AND RPC.PROCESS_ID=PLRP.ID AND (RPC.STATUS_JOB='C' OR RPC.STATUS_JOB='R')
619
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
620
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
621
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
622
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
623
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
624
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
625
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
626
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
627
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
628
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
629
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
630
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
631
		OUTER APPLY
632
		(
633
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
634
		) NXL 
635

    
636
		WHERE 1 = 1
637
	  AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
638
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
639
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
640
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
641
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
642
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
643
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
644
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
645
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
646
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
647
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
648
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
649
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
650
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
651
		AND A.RECORD_STATUS = '1'
652

    
653
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
654
--			OR(@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
655
--			OR(@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
656
--    )
657

    
658
		AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
659
			(PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
660
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
661
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
662
		))
663
		--AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) 
664
		--AND (
665
		--  (PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID='')) 
666
		--OR ( PLRP.DVDM_ID IN (SELECT DVDM_ID FROM @DVDM_ID))
667
		--OR
668
		--( (PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))	
669
		--)
670
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
671
		AND (PLRP.IS_HAS_CHILD=0 OR PLRP.IS_HAS_CHILD IS NULL)
672
		AND (( @p_AUTH_STATUS='A' AND  PLRP.STATUS='P') OR( @p_AUTH_STATUS='U' AND (PLRP.STATUS='C')) OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
673
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
674
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
675
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
676
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
677
		--AND(
678
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
679
		--	OR
680
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
681
		--)
682

    
683
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
684
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
685
		
686
		-- GIANT 26/10/2021
687
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
688
		AND (A.PROCESS_ID IN ('GDK_TT','PTGDK_TT','TGD','HDQT','GDK_DC','APPROVE','GDK_TC')) -- LUCTV 24.11.2022 BO SUNG DIEU KIEN DE CHAN KHONG CHO LANH DAO TIM KIEM NEU PHIEU CHUA TOI
689
		
690
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
691
END-- PAGING END
692
	END
693
	ELSE IF(@p_TYPE='TFJOB')
694
	BEGIN
695
		-- PAGING BEGIN
696
BEGIN
697
SELECT COUNT(*) -- SELECT END
698
		FROM PL_REQUEST_DOC A 	
699
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
700
		--LEFT JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
701
--		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
702
--		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
703
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID=(SELECT MAX(B.ID) FROM PL_REQUEST_PROCESS B WHERE B.REQ_ID=A.REQ_ID AND B.PROCESS_ID=PLRP.PARENT_PROCESS_ID)	
704
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
705
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
706
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
707

    
708
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
709
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
710
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
711
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
712
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
713
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
714
		LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPC ON RPC.REQ_ID=A.REQ_ID AND RPC.PROCESS_ID=PLRP.ID AND (RPC.STATUS_JOB='C' OR RPC.STATUS_JOB='R')
715
		
716
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
717
	
718
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
719
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
720
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
721
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
722
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
723
		OUTER APPLY
724
		(
725
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
726
		) NXL
727
		-- GIANT
728
		--LEFT JOIN (
729
		--	SELECT AB.ID,AB.REQ_ID,AB.PROCESS_ID,BC.TLFullName,AB.TLNAME FROM PL_REQUEST_PROCESS_CHILD AB LEFT JOIN TL_USER  BC ON AB.TLNAME = BC.TLNANME
730
			
731
		--) PLQ ON A.REQ_ID = PLQ.REQ_ID
732
		WHERE 1 = 1
733
		AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
734
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
735
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
736
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
737
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
738
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
739
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
740
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
741
		
742
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
743
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
744
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
745
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
746
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
747
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
748
		AND A.RECORD_STATUS = '1'	
749
		AND((EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER AND TYPE_JOB='KS' AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID))
750
		OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
751
		AND ((PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
752
  			OR PLRP.DVDM_ID=AUTH.DVDM_ID
753
  			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))))
754
		)
755
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR @p_REQ_ID IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103)) --- 29112023_SECRETKEY FIX LỖI NẾU ĐÃ TRUYỀN ID XUỐNG THÌ KHÔNG CARE NGÀY THÁNG
756
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
757
		AND(@p_YEAR IS NULL OR @p_YEAR=0  OR YEAR(A.REQ_DT)=@p_YEAR)	
758
			AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
759
		  OR (@p_AUTH_STATUS='A' AND  PLRP.STATUS='P') OR( @p_AUTH_STATUS='U' AND (PLRP.STATUS='C'))
760
		)
761
			AND (NOT EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD PRRC WHERE PRRC.PROCESS_ID=PLRP.ID AND PRRC.STATUS_JOB='C' AND PRRC.TYPE_JOB='TP' AND PRRC.REQ_ID=@p_REQ_ID))
762
				AND (@p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
763
				OR (((RPC.REQ_ID IS NOT NULL AND RPC.REQ_ID <> '' AND (RPC.MAKER_ID =@p_TLNAME_USER OR @p_ROLE_USER ='KSV')) OR (EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND CHECKER_ID=@p_TLNAME_USER))) AND @p_IS_TRANSFER = 'Y') --- LUCTV 22-10-2022 LUCTV DIEU CHINH CACH XAC ĐỊNH ĐÃ ĐIỀU PHỐI / CHƯA ĐIỀU PHỐI
764
				OR (
765
						(@p_ROLE_USER ='KSV' AND ISNULL(RPC.REQ_ID,'') = '') OR (@p_ROLE_USER<> 'KSV' AND (ISNULL(RPC.REQ_ID,'') = '' OR (ISNULL(RPC.REQ_ID,'') <> '' AND RPC.MAKER_ID <> @p_TLNAME_USER)))
766
								AND @p_IS_TRANSFER = 'N')
767
		)
768
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
769
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' 
770
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
771
    )
772
		---- GIANT 26/10/2021
773
		--AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
774
		---- GIANT 
775
		--AND (A.BRANCH_CREATE = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
776
		--AND (A.DEP_CREATE = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
777
	
778
	;WITH QUERY_DATA AS ( 
779
			SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
780
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
781

    
782
			   UDV.TLFullName AS CHECKER_NAME_DV,
783
			  
784
			   A.APPROVE_DT,
785
               A.PROCESS_ID,
786
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
787
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
788
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
789
			   G.BRANCH_CODE,
790
			   G.BRANCH_NAME,
791
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
792
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
793
			   UC.TLFullName AS MAKER_NAME,
794
			   PLRP.PROCESS_ID AS PROCESS_ID_NEXT,
795
			   RP.ROLE_USER, 
796
			   RP.NOTES AS PROCESS_STATUS , 
797
			   PLRP.NOTES AS PROCESS_STATUS_NEXT,
798
			   A.DVDM_APP_ID,
799
			   CD.DVDM_NAME AS DVDM_APP_NAME,
800
			   A.REQ_PARENT_ID,
801
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
802
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
803
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
804
			   A.BRANCH_FEE,
805
			   A.DEP_ID,
806
			   A.DEP_FEE,
807
			   DEP.DEP_NAME,
808
			   DEP.DEP_CODE,
809
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
810
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
811
			   DF.DEP_NAME AS DEP_FEE_NAME,
812
			   DF.DEP_CODE AS DEP_FEE_CODE,
813
			   '' AS BRANCH_DEP,
814
			   '' AS BRANCH_DEP_FEE,
815
			  CASE WHEN RPC.TYPE_JOB IS NULL OR RPC.TYPE_JOB ='' THEN 'TP' ELSE RPC.TYPE_JOB END AS TYPE_JOB,
816
			   RPC.TLNAME AS USER_JOB,
817
			   TU.TLFullName AS USER_JOB_NAME,
818
			   TFM.TLNANME AS TRANSFER_MAKER,
819
			    RPC.TRANFER_DT AS TRANFER_DT ,
820
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
821
			   A.EFFEC_DT,A.IS_BACKDAY,
822
			   '' AS TYPE_JOB_XL,
823
			   '' AS USER_JOB_XL,
824
			   PLRP.ID AS REF_ID,
825
			   PLRP.STATUS AS STATUS_NEXT,
826
			   PLRP.STATUS AS STATUS_CURR,
827
			    RPC.STATUS_JOB AS STATUS_JOB,
828
			   A.BRANCH_CREATE,
829
			   A.DEP_CREATE,
830
			   A.REQ_LINE,
831
			   A.TC_NOTES,
832
			   A.SIGN_USER,
833
			   TL.TLFULLNAME AS SIGN_USER_NAME,
834
			   A.KT_NOTES,
835
			     A.IS_CHECKALL,
836
			   A.BASED_CONTENT, 
837
			   '' AS IS_TRANSFER,
838
			  --NGUOI XU LY
839
			 -- dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
840
			  NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES,A.TK_HDQT_NOTES, A.OTHER_NOTES
841
			  --PLQ.TLFullName CHECKER_NAME_DV 
842
			, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
843
) AS __ROWNUM-- SELECT END
844
		FROM PL_REQUEST_DOC A 	
845
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
846
		--LEFT JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
847
--		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
848
--		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
849
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID=(SELECT MAX(B.ID) FROM PL_REQUEST_PROCESS B WHERE B.REQ_ID=A.REQ_ID AND B.PROCESS_ID=PLRP.PARENT_PROCESS_ID)	
850
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
851
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
852
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
853

    
854
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
855
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
856
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
857
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
858
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
859
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
860
		LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPC ON RPC.REQ_ID=A.REQ_ID AND RPC.PROCESS_ID=PLRP.ID AND (RPC.STATUS_JOB='C' OR RPC.STATUS_JOB='R')
861
		
862
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
863
	
864
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
865
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
866
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
867
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
868
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
869
		OUTER APPLY
870
		(
871
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
872
		) NXL
873
		-- GIANT
874
		--LEFT JOIN (
875
		--	SELECT AB.ID,AB.REQ_ID,AB.PROCESS_ID,BC.TLFullName,AB.TLNAME FROM PL_REQUEST_PROCESS_CHILD AB LEFT JOIN TL_USER  BC ON AB.TLNAME = BC.TLNANME
876
			
877
		--) PLQ ON A.REQ_ID = PLQ.REQ_ID
878
		WHERE 1 = 1
879
		AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
880
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
881
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
882
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
883
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
884
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
885
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
886
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
887
		
888
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
889
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
890
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
891
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
892
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
893
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
894
		AND A.RECORD_STATUS = '1'	
895
		AND((EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER AND TYPE_JOB='KS' AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID))
896
		OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
897
		AND ((PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
898
  			OR PLRP.DVDM_ID=AUTH.DVDM_ID
899
  			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))))
900
		)
901
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR @p_REQ_ID IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103)) --- 29112023_SECRETKEY FIX LỖI NẾU ĐÃ TRUYỀN ID XUỐNG THÌ KHÔNG CARE NGÀY THÁNG
902
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
903
		AND(@p_YEAR IS NULL OR @p_YEAR=0  OR YEAR(A.REQ_DT)=@p_YEAR)	
904
			AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
905
		  OR (@p_AUTH_STATUS='A' AND  PLRP.STATUS='P') OR( @p_AUTH_STATUS='U' AND (PLRP.STATUS='C'))
906
		)
907
			AND (NOT EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD PRRC WHERE PRRC.PROCESS_ID=PLRP.ID AND PRRC.STATUS_JOB='C' AND PRRC.TYPE_JOB='TP' AND PRRC.REQ_ID=@p_REQ_ID))
908
				AND (@p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
909
				OR (((RPC.REQ_ID IS NOT NULL AND RPC.REQ_ID <> '' AND (RPC.MAKER_ID =@p_TLNAME_USER OR @p_ROLE_USER ='KSV')) OR (EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND CHECKER_ID=@p_TLNAME_USER))) AND @p_IS_TRANSFER = 'Y') --- LUCTV 22-10-2022 LUCTV DIEU CHINH CACH XAC ĐỊNH ĐÃ ĐIỀU PHỐI / CHƯA ĐIỀU PHỐI
910
				OR (
911
						(@p_ROLE_USER ='KSV' AND ISNULL(RPC.REQ_ID,'') = '') OR (@p_ROLE_USER<> 'KSV' AND (ISNULL(RPC.REQ_ID,'') = '' OR (ISNULL(RPC.REQ_ID,'') <> '' AND RPC.MAKER_ID <> @p_TLNAME_USER)))
912
								AND @p_IS_TRANSFER = 'N')
913
		)
914
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
915
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' 
916
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
917
    )
918
		---- GIANT 26/10/2021
919
		--AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
920
		---- GIANT 
921
		--AND (A.BRANCH_CREATE = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
922
		--AND (A.DEP_CREATE = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
923
	
924
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
925
END-- PAGING END
926
	END
927
	ELSE IF(@p_TYPE='XLTT')
928
	BEGIN
929
	-- PAGING BEGIN
930
BEGIN
931
SELECT COUNT(*) -- SELECT END
932
		FROM PL_REQUEST_DOC A 	
933
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <> 'U' AND PLRP.IS_HAS_CHILD=1
934
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
935
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
936
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID=(SELECT TOP 1 ID FROM PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID AND PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID ORDER BY APPROVE_DT DESC)	
937
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
938
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
939
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
940

    
941
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
942
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
943
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
944
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
945
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
946
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
947
		LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPC ON RPC.REQ_ID=A.REQ_ID AND RPC.PROCESS_ID=PLRP.ID AND (RPC.STATUS_JOB='C' OR RPC.STATUS_JOB='R')
948
		
949
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
950
	
951
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
952
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
953
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
954
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
955
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
956
		OUTER APPLY
957
		(
958
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
959
		) NXL
960

    
961
		WHERE 1 = 1
962
		AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
963
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
964
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
965
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
966
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
967
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
968
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
969
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
970
		
971
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
972
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
973
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
974
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
975
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
976
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
977
		AND A.RECORD_STATUS = '1'
978

    
979

    
980
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
981
--			OR(@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
982
--			OR(@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
983
--    )
984

    
985

    
986
		
987
		AND(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID)
988
			OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
989
        AND ((PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
990
				  OR PLRP.DVDM_ID=AUTH.DVDM_ID
991
				  OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID='')))
992
        )
993
	  )
994
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
995
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
996
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
997
		AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
998
      OR ( @p_AUTH_STATUS='TDV_APPROVED' AND  PLRP.STATUS='P')
999
			OR (@p_AUTH_STATUS = 'NV_XL' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'XL' AND X.STATUS_JOB = 'C'))
1000
			OR (@p_AUTH_STATUS = 'KSV_APPROVE' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'KS' AND X.STATUS_JOB = 'C'))
1001
			OR (@p_AUTH_STATUS = 'TDV_APPROVE' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'TP' AND X.STATUS_JOB = 'C'))
1002
    ) 
1003
	
1004
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1005
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%'
1006
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
1007
    )
1008
		--AND(
1009
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1010
		--	OR
1011
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1012
		--)
1013

    
1014
		--
1015
		AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''
1016
      OR A.BRANCH_ID = @p_BRANCH_ID
1017
    )
1018
		AND (@p_DEP_ID IS NULL OR @p_DEP_ID = ''
1019
      OR A.DEP_ID = @p_DEP_ID
1020
    )
1021
		-- LUCTV 10 03 2021 BO SUNG DIEU KIENN NEU PHIEU CHUA DUOC DIEU PHOI THI SE KHONG TIM THAY O MAN HINH DVCM
1022
		AND((EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS_CHILD  C WHERE A.REQ_ID=C.REQ_ID AND C.PROCESS_ID=PLRP.ID AND C.TLNAME =@p_TLNAME_USER AND C.STATUS_JOB IN ('C','P'))) 
1023
			OR (@p_NGUOIXULY IS NOT NULL AND @p_NGUOIXULY <> '')
1024
		OR EXISTS(SELECT * FROM @AUTHOR WHERE ROLE_ID ='TKTGD')) --- LUCTV 11042024_SECRETKEY: BỔ SUNG CHO PHÉP TKTGD THẤY NHỮNG TỜ TRÌNH ĐÃ DUYỆT
1025

    
1026
		-- GIANT 26/10/2021
1027
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1028
	
1029
	;WITH QUERY_DATA AS ( 		
1030
				SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
1031
             A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1032

    
1033
			   UDV.TLFullName AS CHECKER_NAME_DV,
1034
			  
1035
			   A.APPROVE_DT,
1036
               A.PROCESS_ID,
1037
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1038
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1039
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1040
			   G.BRANCH_CODE,
1041
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
1042
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1043
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1044
			   UC.TLFullName AS MAKER_NAME,
1045
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1046
			   RPN.ROLE_USER, 
1047
			   RP.NOTES AS PROCESS_STATUS , 
1048
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1049
			   A.DVDM_APP_ID,
1050
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1051
			   A.REQ_PARENT_ID,
1052
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1053
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1054
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1055
			   A.BRANCH_FEE,
1056
			   A.DEP_ID,
1057
			   A.DEP_FEE,
1058
			   DEP.DEP_NAME,
1059
			   DEP.DEP_CODE,
1060
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1061
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1062
			   DF.DEP_NAME AS DEP_FEE_NAME,
1063
			   DF.DEP_CODE AS DEP_FEE_CODE,
1064
			   '' AS BRANCH_DEP,
1065
			   '' AS BRANCH_DEP_FEE,
1066
			   RPC.TYPE_JOB AS TYPE_JOB,
1067
			   RPC.TLNAME AS USER_JOB,
1068
			   TU.TLFullName AS USER_JOB_NAME,
1069
			   TFM.TLNANME AS TRANSFER_MAKER,
1070
			    RPC.TRANFER_DT AS TRANFER_DT ,
1071
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
1072
			   A.EFFEC_DT,A.IS_BACKDAY,
1073
			   '' AS TYPE_JOB_XL,
1074
			   '' AS USER_JOB_XL,
1075
			   PLRP.ID AS REF_ID,
1076
			   RPN.STATUS AS STATUS_NEXT,
1077
			   PLRP.STATUS AS STATUS_CURR,
1078
			   RPC.STATUS_JOB AS STATUS_JOB,
1079
			   A.BRANCH_CREATE,
1080
			   A.DEP_CREATE,
1081
			   A.REQ_LINE,
1082
			   A.TC_NOTES,
1083
			   A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1084
			   A.KT_NOTES,
1085
			     A.IS_CHECKALL,
1086
			   A.BASED_CONTENT, 
1087
			   '' AS IS_TRANSFER,
1088
			   --NGUOI XU LY
1089
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1090
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1091
			, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
1092
) AS __ROWNUM-- SELECT END
1093
		FROM PL_REQUEST_DOC A 	
1094
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <> 'U' AND PLRP.IS_HAS_CHILD=1
1095
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1096
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1097
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID=(SELECT TOP 1 ID FROM PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID AND PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID ORDER BY APPROVE_DT DESC)	
1098
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1099
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1100
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1101

    
1102
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1103
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1104
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1105
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
1106
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
1107
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1108
		LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPC ON RPC.REQ_ID=A.REQ_ID AND RPC.PROCESS_ID=PLRP.ID AND (RPC.STATUS_JOB='C' OR RPC.STATUS_JOB='R')
1109
		
1110
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1111
	
1112
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1113
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
1114
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
1115
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1116
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1117
		OUTER APPLY
1118
		(
1119
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1120
		) NXL
1121

    
1122
		WHERE 1 = 1
1123
		AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
1124
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
1125
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
1126
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
1127
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
1128
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
1129
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1130
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
1131
		
1132
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
1133
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1134
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1135
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1136
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
1137
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
1138
		AND A.RECORD_STATUS = '1'
1139

    
1140

    
1141
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1142
--			OR(@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
1143
--			OR(@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
1144
--    )
1145

    
1146

    
1147
		
1148
		AND(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID)
1149
			OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
1150
        AND ((PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
1151
				  OR PLRP.DVDM_ID=AUTH.DVDM_ID
1152
				  OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID='')))
1153
        )
1154
	  )
1155
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1156
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1157
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
1158
		AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
1159
      OR ( @p_AUTH_STATUS='TDV_APPROVED' AND  PLRP.STATUS='P')
1160
			OR (@p_AUTH_STATUS = 'NV_XL' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'XL' AND X.STATUS_JOB = 'C'))
1161
			OR (@p_AUTH_STATUS = 'KSV_APPROVE' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'KS' AND X.STATUS_JOB = 'C'))
1162
			OR (@p_AUTH_STATUS = 'TDV_APPROVE' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'TP' AND X.STATUS_JOB = 'C'))
1163
    ) 
1164
	
1165
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1166
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%'
1167
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
1168
    )
1169
		--AND(
1170
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1171
		--	OR
1172
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1173
		--)
1174

    
1175
		--
1176
		AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''
1177
      OR A.BRANCH_ID = @p_BRANCH_ID
1178
    )
1179
		AND (@p_DEP_ID IS NULL OR @p_DEP_ID = ''
1180
      OR A.DEP_ID = @p_DEP_ID
1181
    )
1182
		-- LUCTV 10 03 2021 BO SUNG DIEU KIENN NEU PHIEU CHUA DUOC DIEU PHOI THI SE KHONG TIM THAY O MAN HINH DVCM
1183
		AND((EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS_CHILD  C WHERE A.REQ_ID=C.REQ_ID AND C.PROCESS_ID=PLRP.ID AND C.TLNAME =@p_TLNAME_USER AND C.STATUS_JOB IN ('C','P'))) 
1184
			OR (@p_NGUOIXULY IS NOT NULL AND @p_NGUOIXULY <> '')
1185
		OR EXISTS(SELECT * FROM @AUTHOR WHERE ROLE_ID ='TKTGD')) --- LUCTV 11042024_SECRETKEY: BỔ SUNG CHO PHÉP TKTGD THẤY NHỮNG TỜ TRÌNH ĐÃ DUYỆT
1186

    
1187
		-- GIANT 26/10/2021
1188
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1189
	
1190
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
1191
END-- PAGING END
1192
	END
1193
	ELSE IF(@p_TYPE='DVKD_PARENT')
1194
	BEGIN
1195
	-- PAGING BEGIN
1196
BEGIN
1197
SELECT COUNT(*) FROM(
1198
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
1199
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1200
			   UDV.TLFullName AS CHECKER_NAME_DV,
1201
			   A.APPROVE_DT,
1202
               A.PROCESS_ID,
1203
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1204

    
1205
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1206
			   WHEN A.PROCESS_ID<> 'APPROVE' AND A.AUTH_STATUS='A' THEN N'Chờ duyệt' ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
1207

    
1208
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1209
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1210
			   G.BRANCH_CODE,
1211
			   G.BRANCH_NAME,
1212
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1213
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1214
			   UC.TLFullName AS MAKER_NAME,
1215
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1216
			   RP.ROLE_USER, 
1217
			   RP.NOTES AS PROCESS_STATUS , 
1218
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1219
			   A.DVDM_APP_ID,
1220
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1221
			   A.REQ_PARENT_ID,
1222
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1223
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1224
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1225
			   A.BRANCH_FEE,
1226
			   A.DEP_ID,
1227
			   A.DEP_FEE,
1228
			   DEP.DEP_NAME,
1229
			   DEP.DEP_CODE,
1230
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1231
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1232
			   DF.DEP_NAME AS DEP_FEE_NAME,
1233
			   DF.DEP_CODE AS DEP_FEE_CODE,
1234
			   '' AS BRANCH_DEP,
1235
			   '' AS BRANCH_DEP_FEE,
1236
			   '' AS TYPE_JOB,
1237
			   '' AS USER_JOB,
1238
			   '' AS USER_JOB_NAME,
1239
			   '' AS TRANSFER_MAKER,
1240
			    A.CREATE_DT AS TRANFER_DT ,
1241
				'' AS TRANSFER_MAKER_ID,
1242
			   A.EFFEC_DT,A.IS_BACKDAY,
1243
			   '' AS TYPE_JOB_XL,
1244
			   '' AS USER_JOB_XL,
1245
			   --RP.ID AS REF_ID,
1246
			   0 AS REF_ID,
1247
			   RPN.STATUS AS STATUS_NEXT,
1248
			   RP.STATUS AS STATUS_CURR,
1249
			   '' AS STATUS_JOB,
1250
			   A.BRANCH_CREATE,
1251
			   A.DEP_CREATE,
1252
			   A.REQ_LINE,
1253
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1254
			   A.KT_NOTES,
1255
			   A.BASED_CONTENT, 
1256
			   A.IS_CHECKALL,
1257
			   -- GIANT 23/12/2021
1258
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
1259
			   '' AS IS_TRANSFER,
1260
			   --NGUOI XU LY
1261
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1262
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
1263
				(SELECT TOP 1 BB.YEAR  FROM PL_REQUEST_DOC_DT AA LEFT JOIN PL_MASTER BB ON AA.PLAN_ID = BB.PLAN_ID WHERE AA.REQ_ID = A.REQ_ID) AS NAMNGANSACH
1264
		-- SELECT END
1265
		FROM PL_REQUEST_DOC A 		
1266
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1267
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1268
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1269

    
1270
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1271
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1272

    
1273
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1274
	
1275
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1276
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1277
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
1278
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1279
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1280
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1281
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1282
		-- GIANT 23/12/2021
1283
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
1284

    
1285
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1286
		OUTER APPLY
1287
		(
1288
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1289
		) NXL
1290
		WHERE 1 = 1
1291
		
1292
	    --AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1293
		--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1294
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1295
		--AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')	
1296

    
1297
		--AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1298
		--AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1299
		--AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1300
		--AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1301
		--AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1302
		--AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1303
		--AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1304
	
1305
		--AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1306
		--AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1307
		--AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1308
		--AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1309
		--AND A.RECORD_STATUS = '1'
1310
		
1311
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1312
		AND(
1313
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1314
			OR
1315
				(
1316
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1317
				)
1318
				OR
1319
				(
1320
					@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1321
				)
1322
			)
1323

    
1324
		----AND (  (A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1325

    
1326
		--AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1327
		--AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1328
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1329
		--AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1330
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1331
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1332
		--AND(
1333
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1334
		--	OR
1335
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1336
		--)
1337

    
1338
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1339
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1340
		--AND (A.MAKER_ID = @p_TLNAME_USER)
1341

    
1342
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1343
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1344
		--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS' OR A.BRANCH_ID =@p_BRANCH_ID OR A.BRANCH_CREATE =@p_BRANCH_ID OR A.BRANCH_CREATE =@p_BRANCH_LOGIN )) OR A.IS_CHECKALL=1 OR A.MAKER_ID =@p_TLNAME_USER)
1345
		----------BAODNQ 25/10/2022 : FIX POPUP TÌM KIẾM TTCT Ở PYCMS--------------------
1346
		----------NẾU KO PH TT TOÀN HÀNG THÌ CHỈ TÌM KIẾM DC TTCT THEO PHÒNG BAN NẾU Ở HỘI SỞ-----
1347
		AND (
1348
			(A.BRANCH_CREATE = @p_BRANCH_LOGIN 
1349
				AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')
1350
			) 
1351
			OR A.IS_CHECKALL=1 OR A.MAKER_ID =@p_TLNAME_USER OR A.MAKER_ID =@p_MAKER_ID OR A.DEP_CREATE=@DEP_ID--- LUCTV 02.11.2022 HOTFIX LỖI KHÔNG SEARCH ĐC TTCT DO CODE KHÔNG TRUYỀN @p_TLNAME_USER XUỐNG
1352
		) --- LUCTV 08052024_SECRETKEY
1353
		---------------------------------END BAODNQ-------------------------
1354
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1355
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1356
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
1357
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
1358

    
1359
		
1360
	) COUNTER_TOP;WITH QUERY_DATA AS ( 
1361
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
1362
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1363
			   UDV.TLFullName AS CHECKER_NAME_DV,
1364
			   A.APPROVE_DT,
1365
               A.PROCESS_ID,
1366
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1367

    
1368
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1369
			   WHEN A.PROCESS_ID<> 'APPROVE' AND A.AUTH_STATUS='A' THEN N'Chờ duyệt' ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
1370

    
1371
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1372
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1373
			   G.BRANCH_CODE,
1374
			   G.BRANCH_NAME,
1375
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1376
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1377
			   UC.TLFullName AS MAKER_NAME,
1378
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1379
			   RP.ROLE_USER, 
1380
			   RP.NOTES AS PROCESS_STATUS , 
1381
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1382
			   A.DVDM_APP_ID,
1383
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1384
			   A.REQ_PARENT_ID,
1385
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1386
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1387
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1388
			   A.BRANCH_FEE,
1389
			   A.DEP_ID,
1390
			   A.DEP_FEE,
1391
			   DEP.DEP_NAME,
1392
			   DEP.DEP_CODE,
1393
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1394
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1395
			   DF.DEP_NAME AS DEP_FEE_NAME,
1396
			   DF.DEP_CODE AS DEP_FEE_CODE,
1397
			   '' AS BRANCH_DEP,
1398
			   '' AS BRANCH_DEP_FEE,
1399
			   '' AS TYPE_JOB,
1400
			   '' AS USER_JOB,
1401
			   '' AS USER_JOB_NAME,
1402
			   '' AS TRANSFER_MAKER,
1403
			    A.CREATE_DT AS TRANFER_DT ,
1404
				'' AS TRANSFER_MAKER_ID,
1405
			   A.EFFEC_DT,A.IS_BACKDAY,
1406
			   '' AS TYPE_JOB_XL,
1407
			   '' AS USER_JOB_XL,
1408
			   --RP.ID AS REF_ID,
1409
			   0 AS REF_ID,
1410
			   RPN.STATUS AS STATUS_NEXT,
1411
			   RP.STATUS AS STATUS_CURR,
1412
			   '' AS STATUS_JOB,
1413
			   A.BRANCH_CREATE,
1414
			   A.DEP_CREATE,
1415
			   A.REQ_LINE,
1416
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1417
			   A.KT_NOTES,
1418
			   A.BASED_CONTENT, 
1419
			   A.IS_CHECKALL,
1420
			   -- GIANT 23/12/2021
1421
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
1422
			   '' AS IS_TRANSFER,
1423
			   --NGUOI XU LY
1424
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1425
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
1426
				(SELECT TOP 1 BB.YEAR  FROM PL_REQUEST_DOC_DT AA LEFT JOIN PL_MASTER BB ON AA.PLAN_ID = BB.PLAN_ID WHERE AA.REQ_ID = A.REQ_ID) AS NAMNGANSACH
1427
		, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
1428
) AS __ROWNUM-- SELECT END
1429
		FROM PL_REQUEST_DOC A 		
1430
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1431
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1432
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1433

    
1434
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1435
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1436

    
1437
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1438
	
1439
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1440
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1441
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
1442
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1443
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1444
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1445
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1446
		-- GIANT 23/12/2021
1447
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
1448

    
1449
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1450
		OUTER APPLY
1451
		(
1452
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1453
		) NXL
1454
		WHERE 1 = 1
1455
		
1456
	    --AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1457
		--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1458
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1459
		--AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')	
1460

    
1461
		--AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1462
		--AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1463
		--AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1464
		--AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1465
		--AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1466
		--AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1467
		--AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1468
	
1469
		--AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1470
		--AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1471
		--AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1472
		--AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1473
		--AND A.RECORD_STATUS = '1'
1474
		
1475
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1476
		AND(
1477
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1478
			OR
1479
				(
1480
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1481
				)
1482
				OR
1483
				(
1484
					@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1485
				)
1486
			)
1487

    
1488
		----AND (  (A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1489

    
1490
		--AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1491
		--AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1492
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1493
		--AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1494
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1495
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1496
		--AND(
1497
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1498
		--	OR
1499
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1500
		--)
1501

    
1502
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1503
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1504
		--AND (A.MAKER_ID = @p_TLNAME_USER)
1505

    
1506
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1507
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1508
		--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS' OR A.BRANCH_ID =@p_BRANCH_ID OR A.BRANCH_CREATE =@p_BRANCH_ID OR A.BRANCH_CREATE =@p_BRANCH_LOGIN )) OR A.IS_CHECKALL=1 OR A.MAKER_ID =@p_TLNAME_USER)
1509
		----------BAODNQ 25/10/2022 : FIX POPUP TÌM KIẾM TTCT Ở PYCMS--------------------
1510
		----------NẾU KO PH TT TOÀN HÀNG THÌ CHỈ TÌM KIẾM DC TTCT THEO PHÒNG BAN NẾU Ở HỘI SỞ-----
1511
		AND (
1512
			(A.BRANCH_CREATE = @p_BRANCH_LOGIN 
1513
				AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')
1514
			) 
1515
			OR A.IS_CHECKALL=1 OR A.MAKER_ID =@p_TLNAME_USER OR A.MAKER_ID =@p_MAKER_ID OR A.DEP_CREATE=@DEP_ID--- LUCTV 02.11.2022 HOTFIX LỖI KHÔNG SEARCH ĐC TTCT DO CODE KHÔNG TRUYỀN @p_TLNAME_USER XUỐNG
1516
		) --- LUCTV 08052024_SECRETKEY
1517
		---------------------------------END BAODNQ-------------------------
1518
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1519
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1520
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
1521
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
1522

    
1523
		
1524
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
1525
END-- PAGING END
1526
	END
1527
	ELSE IF(@p_TYPE='DVKD_ISALL')
1528
	BEGIN	
1529
	-- PAGING BEGIN
1530
BEGIN
1531
SELECT COUNT(*) -- SELECT END
1532
		FROM PL_REQUEST_DOC A 		
1533
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1534
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1535
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1536

    
1537
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1538
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1539

    
1540
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1541
	
1542
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1543
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1544
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
1545
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1546
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1547
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1548
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1549
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1550
		OUTER APPLY
1551
		(
1552
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1553
		) NXL
1554
		WHERE 1 = 1
1555
		
1556
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1557
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1558
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1559
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1560
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1561
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1562
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1563
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1564
	
1565
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1566
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1567
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1568
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1569
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1570
		AND A.RECORD_STATUS = '1'
1571
		
1572
		AND(
1573
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1574
			OR
1575
				(
1576
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1577
				)
1578
				OR
1579
				(
1580
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1581
				)
1582
			)
1583

    
1584
		AND A.IS_CHECKALL=1
1585

    
1586
		AND A.PROCESS_ID='APPROVE'
1587
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1588
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1589
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1590
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1591
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1592
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1593
		--AND(
1594
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1595
		--	OR
1596
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1597
		--)
1598

    
1599
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1600
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1601
		
1602
		-- GIANT 26/10/2021
1603
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1604

    
1605
		
1606
	;WITH QUERY_DATA AS ( 
1607
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
1608
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1609
			   UDV.TLFullName AS CHECKER_NAME_DV,
1610
			   A.APPROVE_DT,
1611
               A.PROCESS_ID,
1612
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1613
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1614
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1615
			   G.BRANCH_CODE,
1616
			   G.BRANCH_NAME,
1617
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1618
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1619
			   UC.TLFullName AS MAKER_NAME,
1620
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1621
			   RP.ROLE_USER, 
1622
			   RP.NOTES AS PROCESS_STATUS , 
1623
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1624
			   A.DVDM_APP_ID,
1625
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1626
			   A.REQ_PARENT_ID,
1627
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1628
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1629
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1630
			   A.BRANCH_FEE,
1631
			   A.DEP_ID,
1632
			   A.DEP_FEE,
1633
			   DEP.DEP_NAME,
1634
			   DEP.DEP_CODE,
1635
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1636
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1637
			   DF.DEP_NAME AS DEP_FEE_NAME,
1638
			   DF.DEP_CODE AS DEP_FEE_CODE,
1639
			   '' AS BRANCH_DEP,
1640
			   '' AS BRANCH_DEP_FEE,
1641
			   
1642

    
1643

    
1644
			   '' AS TYPE_JOB,
1645
			   '' AS USER_JOB,
1646
			   '' AS USER_JOB_NAME,
1647
			   '' AS TRANSFER_MAKER,
1648
			    A.CREATE_DT AS TRANFER_DT ,
1649
				'' AS TRANSFER_MAKER_ID,
1650
			   A.EFFEC_DT,A.IS_BACKDAY,
1651
			   '' AS TYPE_JOB_XL,
1652
			   '' AS USER_JOB_XL,
1653
			   RP.ID AS REF_ID,
1654
			   RPN.STATUS AS STATUS_NEXT,
1655
			   RP.STATUS AS STATUS_CURR,
1656
			   '' AS STATUS_JOB,
1657
			   A.BRANCH_CREATE,
1658
			   A.DEP_CREATE,
1659
			   A.REQ_LINE,
1660
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1661
			   A.KT_NOTES,
1662
			     A.IS_CHECKALL,
1663
			   A.BASED_CONTENT, 
1664
			   '' AS IS_TRANSFER,
1665
			   --NGUOI XU LY
1666
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1667
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1668
			, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
1669
) AS __ROWNUM-- SELECT END
1670
		FROM PL_REQUEST_DOC A 		
1671
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1672
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1673
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1674

    
1675
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1676
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1677

    
1678
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1679
	
1680
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1681
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1682
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
1683
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1684
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1685
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1686
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1687
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1688
		OUTER APPLY
1689
		(
1690
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1691
		) NXL
1692
		WHERE 1 = 1
1693
		
1694
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1695
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1696
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1697
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1698
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1699
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1700
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1701
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1702
	
1703
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1704
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1705
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1706
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1707
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1708
		AND A.RECORD_STATUS = '1'
1709
		
1710
		AND(
1711
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1712
			OR
1713
				(
1714
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1715
				)
1716
				OR
1717
				(
1718
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1719
				)
1720
			)
1721

    
1722
		AND A.IS_CHECKALL=1
1723

    
1724
		AND A.PROCESS_ID='APPROVE'
1725
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1726
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1727
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1728
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1729
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1730
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1731
		--AND(
1732
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1733
		--	OR
1734
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1735
		--)
1736

    
1737
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1738
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1739
		
1740
		-- GIANT 26/10/2021
1741
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1742

    
1743
		
1744
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
1745
END-- PAGING END
1746
	END
1747
	ELSE IF(@p_TYPE='TTCT_DVCM')
1748
	BEGIN	
1749
	-- PAGING BEGIN
1750
BEGIN
1751
SELECT COUNT(*) -- SELECT END
1752
		FROM PL_REQUEST_DOC A 		
1753
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1754
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1755
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1756

    
1757
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1758
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1759

    
1760
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1761
	
1762
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1763
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1764
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
1765
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1766
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1767
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1768
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1769
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1770
		OUTER APPLY
1771
		(
1772
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1773
		) NXL
1774
		WHERE 1 = 1
1775
		
1776
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1777
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1778
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1779
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1780
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1781
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1782
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1783
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1784
	
1785
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1786
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1787
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1788
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 	
1789
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1790
		AND A.RECORD_STATUS = '1'
1791
		
1792
		AND(
1793
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1794
			OR
1795
				(
1796
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1797
				)
1798
				OR
1799
				(
1800
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1801
				)
1802
			)
1803

    
1804
		AND (  
1805
		 EXISTS (SELECT * FROM dbo.PL_REQUEST_COSTCENTER PC WHERE PC.REQ_ID=A.REQ_ID AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.DVDM_ID=PC.COST_ID) )
1806
		)
1807

    
1808
		AND A.PROCESS_ID='APPROVE'
1809
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1810
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1811
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1812
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1813
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1814
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1815
		--AND(
1816
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1817
		--	OR
1818
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1819
		--)
1820

    
1821

    
1822
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1823
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1824

    
1825
		-- GIANT 26/10/2021
1826
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1827

    
1828
		
1829
	;WITH QUERY_DATA AS ( 
1830
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
1831
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1832
			   UDV.TLFullName AS CHECKER_NAME_DV,
1833
			   A.APPROVE_DT,
1834
               A.PROCESS_ID,
1835
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1836
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1837
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1838
			   G.BRANCH_CODE,
1839
			   G.BRANCH_NAME,
1840
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1841
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1842
			   UC.TLFullName AS MAKER_NAME,
1843
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1844
			   RP.ROLE_USER, 
1845
			   RP.NOTES AS PROCESS_STATUS , 
1846
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1847
			   A.DVDM_APP_ID,
1848
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1849
			   A.REQ_PARENT_ID,
1850
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1851
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1852
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1853
			   A.BRANCH_FEE,
1854
			   A.DEP_ID,
1855
			   A.DEP_FEE,
1856
			   DEP.DEP_NAME,
1857
			   DEP.DEP_CODE,
1858
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1859
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1860
			   DF.DEP_NAME AS DEP_FEE_NAME,
1861
			   DF.DEP_CODE AS DEP_FEE_CODE,
1862
			   '' AS BRANCH_DEP,
1863
			   '' AS BRANCH_DEP_FEE,
1864
			   
1865

    
1866

    
1867
			   '' AS TYPE_JOB,
1868
			   '' AS USER_JOB,
1869
			   '' AS USER_JOB_NAME,
1870
			   '' AS TRANSFER_MAKER,
1871
			    A.CREATE_DT AS TRANFER_DT ,
1872
				'' AS TRANSFER_MAKER_ID,
1873
			   A.EFFEC_DT,A.IS_BACKDAY,
1874
			   '' AS TYPE_JOB_XL,
1875
			   '' AS USER_JOB_XL,
1876
			   RP.ID AS REF_ID,
1877
			   RPN.STATUS AS STATUS_NEXT,
1878
			   RP.STATUS AS STATUS_CURR,
1879
			   '' AS STATUS_JOB,
1880
			   A.BRANCH_CREATE,
1881
			   A.DEP_CREATE,
1882
			   A.REQ_LINE,
1883
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1884
			   A.KT_NOTES,
1885
			     A.IS_CHECKALL,
1886
			   A.BASED_CONTENT, 
1887
			   '' AS IS_TRANSFER,
1888
			   --NGUOI XU LY
1889
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1890
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1891
		, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
1892
) AS __ROWNUM-- SELECT END
1893
		FROM PL_REQUEST_DOC A 		
1894
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1895
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1896
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1897

    
1898
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1899
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1900

    
1901
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1902
	
1903
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1904
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1905
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
1906
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1907
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1908
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1909
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1910
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1911
		OUTER APPLY
1912
		(
1913
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1914
		) NXL
1915
		WHERE 1 = 1
1916
		
1917
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1918
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1919
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1920
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1921
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1922
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1923
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1924
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1925
	
1926
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1927
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1928
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1929
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 	
1930
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1931
		AND A.RECORD_STATUS = '1'
1932
		
1933
		AND(
1934
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1935
			OR
1936
				(
1937
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1938
				)
1939
				OR
1940
				(
1941
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
1942
				)
1943
			)
1944

    
1945
		AND (  
1946
		 EXISTS (SELECT * FROM dbo.PL_REQUEST_COSTCENTER PC WHERE PC.REQ_ID=A.REQ_ID AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.DVDM_ID=PC.COST_ID) )
1947
		)
1948

    
1949
		AND A.PROCESS_ID='APPROVE'
1950
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1951
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1952
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1953
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1954
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1955
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1956
		--AND(
1957
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1958
		--	OR
1959
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1960
		--)
1961

    
1962

    
1963
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1964
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1965

    
1966
		-- GIANT 26/10/2021
1967
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1968

    
1969
		
1970
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
1971
END-- PAGING END
1972
	END
1973
	ELSE IF(@p_TYPE='REQ_PARENT')
1974
	BEGIN	
1975
		-- PAGING BEGIN
1976
BEGIN
1977
SELECT COUNT(*) -- SELECT END
1978
		FROM PL_REQUEST_DOC A 		
1979
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1980
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1981
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1982
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1983
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1984
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1985
	
1986
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1987
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
1988
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
1989
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1990
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1991
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1992
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1993
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1994
		OUTER APPLY
1995
		(
1996
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1997
		) NXL
1998
		WHERE 1 = 1 
1999
		AND A.REQ_PARENT_ID =@p_REQ_ID
2000
		
2001
		;WITH QUERY_DATA AS ( 
2002
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
2003
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
2004
			   UDV.TLFullName AS CHECKER_NAME_DV,
2005
			   A.APPROVE_DT,
2006
               A.PROCESS_ID,
2007
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
2008
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
2009
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
2010
			G.BRANCH_CODE,
2011
			   G.BRANCH_NAME,
2012
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
2013
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
2014
			   UC.TLFullName AS MAKER_NAME,
2015
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
2016
			   RP.ROLE_USER, 
2017
			   RP.NOTES AS PROCESS_STATUS , 
2018
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
2019
			   A.DVDM_APP_ID,
2020
			   CD.DVDM_NAME AS DVDM_APP_NAME,
2021
			   A.REQ_PARENT_ID,
2022
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
2023
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
2024
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
2025
			   A.BRANCH_FEE,
2026
			   A.DEP_ID,
2027
			   A.DEP_FEE,
2028
			   DEP.DEP_NAME,
2029
			   DEP.DEP_CODE,
2030
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
2031
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
2032
			   DF.DEP_NAME AS DEP_FEE_NAME,
2033
			   DF.DEP_CODE AS DEP_FEE_CODE,
2034
			   '' AS BRANCH_DEP,
2035
			   '' AS BRANCH_DEP_FEE,
2036
			   
2037
			   '' AS TYPE_JOB,
2038
			   '' AS USER_JOB,
2039
			   '' AS USER_JOB_NAME,
2040
			   '' AS TRANSFER_MAKER,
2041
			    A.CREATE_DT AS TRANFER_DT ,
2042
				'' AS TRANSFER_MAKER_ID,
2043
			   A.EFFEC_DT,A.IS_BACKDAY,
2044
			   '' AS TYPE_JOB_XL,
2045
			   '' AS USER_JOB_XL,
2046
			   RP.ID AS REF_ID,
2047
			   RPN.STATUS AS STATUS_NEXT,
2048
			   RP.STATUS AS STATUS_CURR,
2049
			   '' AS STATUS_JOB,
2050
			   A.BRANCH_CREATE,
2051
			   A.DEP_CREATE,
2052
			   A.REQ_LINE,
2053
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
2054
			   A.KT_NOTES,
2055
			     A.IS_CHECKALL,
2056
			   A.BASED_CONTENT, 
2057
			   '' AS IS_TRANSFER,
2058
			   --NGUOI XU LY
2059
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
2060
			    NXL.NGUOIXULY AS NGUOIXULY
2061
				,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
2062
		, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
2063
) AS __ROWNUM-- SELECT END
2064
		FROM PL_REQUEST_DOC A 		
2065
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
2066
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
2067
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
2068
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
2069
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
2070
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
2071
	
2072
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
2073
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
2074
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
2075
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
2076
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
2077
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
2078
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
2079
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
2080
		OUTER APPLY
2081
		(
2082
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
2083
		) NXL
2084
		WHERE 1 = 1 
2085
		AND A.REQ_PARENT_ID =@p_REQ_ID
2086
		
2087
		) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
2088
END-- PAGING END
2089
	END
2090
	ELSE IF(@p_TYPE='LINK_TTCT')
2091
	BEGIN	
2092
		-- PAGING BEGIN
2093
BEGIN
2094
SELECT COUNT(*) -- SELECT END
2095
		FROM PL_REQUEST_DOC A 		
2096
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
2097
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
2098
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
2099
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
2100
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
2101
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
2102
	
2103
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
2104
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
2105
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
2106
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
2107
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
2108
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
2109
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
2110
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
2111
		OUTER APPLY
2112
		(
2113
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
2114
		) NXL
2115
		WHERE 1 = 1 
2116
		AND A.PL_BASED_ID =@p_REQ_ID --- LUCTV 19.02.2023 FIX DIEU KIEN SEARCH TO TRINH CAN CU DANG THAM CHIEU
2117
		
2118
		;WITH QUERY_DATA AS ( 
2119
		-- đoạn dưới chưa làm
2120
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
2121
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
2122
			   UDV.TLFullName AS CHECKER_NAME_DV,
2123
			   A.APPROVE_DT,
2124
               A.PROCESS_ID,
2125
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
2126
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
2127
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
2128
			G.BRANCH_CODE,
2129
			   G.BRANCH_NAME,
2130
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
2131
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
2132
			   UC.TLFullName AS MAKER_NAME,
2133
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
2134
			   RP.ROLE_USER, 
2135
			   RP.NOTES AS PROCESS_STATUS , 
2136
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
2137
			   A.DVDM_APP_ID,
2138
			   CD.DVDM_NAME AS DVDM_APP_NAME,
2139
			   A.REQ_PARENT_ID,
2140
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
2141
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
2142
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
2143
			   A.BRANCH_FEE,
2144
			   A.DEP_ID,
2145
			   A.DEP_FEE,
2146
			   DEP.DEP_NAME,
2147
			   DEP.DEP_CODE,
2148
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
2149
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
2150
			   DF.DEP_NAME AS DEP_FEE_NAME,
2151
			   DF.DEP_CODE AS DEP_FEE_CODE,
2152
			   '' AS BRANCH_DEP,
2153
			   '' AS BRANCH_DEP_FEE,
2154
			   
2155
			   '' AS TYPE_JOB,
2156
			   '' AS USER_JOB,
2157
			   '' AS USER_JOB_NAME,
2158
			   '' AS TRANSFER_MAKER,
2159
			    A.CREATE_DT AS TRANFER_DT ,
2160
				'' AS TRANSFER_MAKER_ID,
2161
			   A.EFFEC_DT,A.IS_BACKDAY,
2162
			   '' AS TYPE_JOB_XL,
2163
			   '' AS USER_JOB_XL,
2164
			   RP.ID AS REF_ID,
2165
			   RPN.STATUS AS STATUS_NEXT,
2166
			   RP.STATUS AS STATUS_CURR,
2167
			   '' AS STATUS_JOB,
2168
			   A.BRANCH_CREATE,
2169
			   A.DEP_CREATE,
2170
			   A.REQ_LINE,
2171
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
2172
			   A.KT_NOTES,
2173
			     A.IS_CHECKALL,
2174
			   A.BASED_CONTENT, 
2175
			   '' AS IS_TRANSFER,
2176
			   --NGUOI XU LY
2177
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
2178
			    NXL.NGUOIXULY AS NGUOIXULY
2179
				,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
2180
		, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
2181
) AS __ROWNUM-- SELECT END
2182
		FROM PL_REQUEST_DOC A 		
2183
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
2184
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
2185
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
2186
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
2187
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
2188
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
2189
	
2190
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
2191
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
2192
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
2193
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
2194
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
2195
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
2196
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
2197
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
2198
		OUTER APPLY
2199
		(
2200
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
2201
		) NXL
2202
		WHERE 1 = 1 
2203
		AND A.PL_BASED_ID =@p_REQ_ID --- LUCTV 19.02.2023 FIX DIEU KIEN SEARCH TO TRINH CAN CU DANG THAM CHIEU
2204
		
2205
		) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
2206
END-- PAGING END
2207
	END
2208
	ELSE IF(@p_TYPE='DVKD_XDCB')
2209
	BEGIN
2210
	-- PAGING BEGIN
2211
BEGIN
2212
SELECT COUNT(*) FROM(
2213
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
2214
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
2215
			   UDV.TLFullName AS CHECKER_NAME_DV,
2216
			   A.APPROVE_DT,
2217
               A.PROCESS_ID,
2218
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
2219

    
2220
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
2221
			   WHEN A.PROCESS_ID<> 'APPROVE' AND A.AUTH_STATUS='A' THEN N'Chờ duyệt' ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
2222

    
2223
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
2224
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
2225
			   G.BRANCH_CODE,
2226
			   G.BRANCH_NAME,
2227
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
2228
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
2229
			   UC.TLFullName AS MAKER_NAME,
2230
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
2231
			   RP.ROLE_USER, 
2232
			   RP.NOTES AS PROCESS_STATUS , 
2233
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
2234
			   A.DVDM_APP_ID,
2235
			   CD.DVDM_NAME AS DVDM_APP_NAME,
2236
			   A.REQ_PARENT_ID,
2237
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
2238
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
2239
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
2240
			   A.BRANCH_FEE,
2241
			   A.DEP_ID,
2242
			   A.DEP_FEE,
2243
			   DEP.DEP_NAME,
2244
			   DEP.DEP_CODE,
2245
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
2246
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
2247
			   DF.DEP_NAME AS DEP_FEE_NAME,
2248
			   DF.DEP_CODE AS DEP_FEE_CODE,
2249
			   '' AS BRANCH_DEP,
2250
			   '' AS BRANCH_DEP_FEE,
2251
			   '' AS TYPE_JOB,
2252
			   '' AS USER_JOB,
2253
			   '' AS USER_JOB_NAME,
2254
			   '' AS TRANSFER_MAKER,
2255
			    A.CREATE_DT AS TRANFER_DT ,
2256
				'' AS TRANSFER_MAKER_ID,
2257
			   A.EFFEC_DT,A.IS_BACKDAY,
2258
			   '' AS TYPE_JOB_XL,
2259
			   '' AS USER_JOB_XL,
2260
			   --RP.ID AS REF_ID,
2261
			   0 AS REF_ID,
2262
			   RPN.STATUS AS STATUS_NEXT,
2263
			   RP.STATUS AS STATUS_CURR,
2264
			   '' AS STATUS_JOB,
2265
			   A.BRANCH_CREATE,
2266
			   A.DEP_CREATE,
2267
			   A.REQ_LINE,
2268
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
2269
			   A.KT_NOTES,
2270
			   A.BASED_CONTENT, 
2271
			   A.IS_CHECKALL,
2272
			   -- GIANT 23/12/2021
2273
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
2274
			   '' AS IS_TRANSFER,
2275
			   --NGUOI XU LY
2276
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
2277
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
2278
				(SELECT TOP 1 BB.YEAR  FROM PL_REQUEST_DOC_DT AA LEFT JOIN PL_MASTER BB ON AA.PLAN_ID = BB.PLAN_ID WHERE AA.REQ_ID = A.REQ_ID) AS NAMNGANSACH
2279
		-- SELECT END
2280
		FROM PL_REQUEST_DOC A 		
2281
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
2282
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
2283
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
2284

    
2285
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
2286
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
2287

    
2288
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
2289
	
2290
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
2291
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
2292
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
2293
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
2294
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
2295
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
2296
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
2297
		-- GIANT 23/12/2021
2298
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
2299

    
2300
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
2301
		OUTER APPLY
2302
		(
2303
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
2304
		) NXL
2305
		WHERE 1 = 1
2306
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
2307
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
2308
		AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
2309
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
2310
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
2311
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
2312
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
2313
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
2314
		AND(
2315
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
2316
			OR
2317
				(
2318
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2319
				)
2320
				OR
2321
				(
2322
					@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2323
				)
2324
			)
2325
		AND (EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
2326

    
2327
		
2328
	) COUNTER_TOP;WITH QUERY_DATA AS ( 
2329
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
2330
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
2331
			   UDV.TLFullName AS CHECKER_NAME_DV,
2332
			   A.APPROVE_DT,
2333
               A.PROCESS_ID,
2334
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
2335

    
2336
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
2337
			   WHEN A.PROCESS_ID<> 'APPROVE' AND A.AUTH_STATUS='A' THEN N'Chờ duyệt' ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
2338

    
2339
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
2340
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
2341
			   G.BRANCH_CODE,
2342
			   G.BRANCH_NAME,
2343
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
2344
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
2345
			   UC.TLFullName AS MAKER_NAME,
2346
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
2347
			   RP.ROLE_USER, 
2348
			   RP.NOTES AS PROCESS_STATUS , 
2349
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
2350
			   A.DVDM_APP_ID,
2351
			   CD.DVDM_NAME AS DVDM_APP_NAME,
2352
			   A.REQ_PARENT_ID,
2353
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
2354
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
2355
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
2356
			   A.BRANCH_FEE,
2357
			   A.DEP_ID,
2358
			   A.DEP_FEE,
2359
			   DEP.DEP_NAME,
2360
			   DEP.DEP_CODE,
2361
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
2362
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
2363
			   DF.DEP_NAME AS DEP_FEE_NAME,
2364
			   DF.DEP_CODE AS DEP_FEE_CODE,
2365
			   '' AS BRANCH_DEP,
2366
			   '' AS BRANCH_DEP_FEE,
2367
			   '' AS TYPE_JOB,
2368
			   '' AS USER_JOB,
2369
			   '' AS USER_JOB_NAME,
2370
			   '' AS TRANSFER_MAKER,
2371
			    A.CREATE_DT AS TRANFER_DT ,
2372
				'' AS TRANSFER_MAKER_ID,
2373
			   A.EFFEC_DT,A.IS_BACKDAY,
2374
			   '' AS TYPE_JOB_XL,
2375
			   '' AS USER_JOB_XL,
2376
			   --RP.ID AS REF_ID,
2377
			   0 AS REF_ID,
2378
			   RPN.STATUS AS STATUS_NEXT,
2379
			   RP.STATUS AS STATUS_CURR,
2380
			   '' AS STATUS_JOB,
2381
			   A.BRANCH_CREATE,
2382
			   A.DEP_CREATE,
2383
			   A.REQ_LINE,
2384
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
2385
			   A.KT_NOTES,
2386
			   A.BASED_CONTENT, 
2387
			   A.IS_CHECKALL,
2388
			   -- GIANT 23/12/2021
2389
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
2390
			   '' AS IS_TRANSFER,
2391
			   --NGUOI XU LY
2392
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
2393
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
2394
				(SELECT TOP 1 BB.YEAR  FROM PL_REQUEST_DOC_DT AA LEFT JOIN PL_MASTER BB ON AA.PLAN_ID = BB.PLAN_ID WHERE AA.REQ_ID = A.REQ_ID) AS NAMNGANSACH
2395
		, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
2396
) AS __ROWNUM-- SELECT END
2397
		FROM PL_REQUEST_DOC A 		
2398
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
2399
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
2400
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
2401

    
2402
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
2403
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
2404

    
2405
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
2406
	
2407
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
2408
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
2409
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
2410
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
2411
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
2412
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
2413
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
2414
		-- GIANT 23/12/2021
2415
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
2416

    
2417
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
2418
		OUTER APPLY
2419
		(
2420
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
2421
		) NXL
2422
		WHERE 1 = 1
2423
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
2424
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
2425
		AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
2426
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
2427
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
2428
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
2429
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
2430
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
2431
		AND(
2432
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
2433
			OR
2434
				(
2435
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2436
				)
2437
				OR
2438
				(
2439
					@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2440
				)
2441
			)
2442
		AND (EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
2443

    
2444
		
2445
	) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
2446
END-- PAGING END
2447
	END
2448
	ELSE IF(@p_TYPE='VLOOK_UP')
2449
	BEGIN	
2450
		-- PAGING BEGIN
2451
BEGIN
2452
SELECT COUNT(*) -- SELECT END 
2453
		FROM PL_REQUEST_DOC A 	
2454
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
2455
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
2456
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
2457
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
2458

    
2459
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
2460
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
2461

    
2462
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
2463
	
2464
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
2465
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
2466
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
2467
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
2468
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
2469
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
2470
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
2471
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
2472
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
2473
		OUTER APPLY
2474
		(
2475
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
2476
		) NXL
2477

    
2478
		WHERE 1 = 1
2479
		
2480
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
2481
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
2482
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
2483
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
2484
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
2485
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
2486
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
2487
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
2488
		
2489

    
2490
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
2491

    
2492

    
2493
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
2494
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
2495
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
2496
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
2497
		AND A.RECORD_STATUS = '1'
2498
		
2499
		AND(
2500
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
2501
			OR
2502
				(
2503
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2504
				)
2505
				OR
2506
				(
2507
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2508
				)
2509
			)
2510

    
2511
		AND    (A.MAKER_ID=@p_TLNAME_USER
2512
        OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
2513
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL'
2514
          AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
2515
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
2516
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
2517
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
2518
			--	
2519
				
2520
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
2521
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
2522
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
2523
			--
2524

    
2525

    
2526
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
2527
		--
2528
		--AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS IN('U','R','E') AND (A.PROCESS_ID <> 'APPROVE' OR A.PROCESS_ID IS NULL)) OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
2529
		--AND ((A.AUTH_STATUS='E' AND A.MAKER_ID=@p_TLNAME_USER) OR (A.AUTH_STATUS <> 'E' AND (A.MAKER_ID=@p_TLNAME_USER OR (PLRP.PROCESS_ID='DVKD' AND PLRP.ROLE_USER=@p_ROLE_USER AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='')))))
2530
		--
2531
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
2532
		AND( (@p_AUTH_STATUS ='A' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='P'))
2533
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
2534
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
2535
			OR (@p_AUTH_STATUS ='W' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='C'))
2536
			OR (@p_AUTH_STATUS ='G' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='P'))
2537
			OR (@p_AUTH_STATUS ='U' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='C'))
2538
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
2539
		)
2540
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
2541
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
2542
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
2543
--		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
2544
--			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
2545

    
2546
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
2547
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
2548
		
2549
		-- GIANT 26/10/2021
2550
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
2551

    
2552
		--HUYHT 10/05/2022 TÌM KIẾM THEO BƯỚC XỬ LÝ TIẾP THEO
2553
		AND (A.PROCESS_ID = @p_PROCESS_ID OR (@p_PROCESS_ID IS NULL OR @p_PROCESS_ID = ''))
2554

    
2555
		
2556
		;WITH QUERY_DATA AS ( 
2557
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT,A.REQ_TYPE,A.REQ_CONTENT, A.REQ_REASON,A.BRANCH_ID,
2558
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
2559
			   UDV.TLFullName AS CHECKER_NAME_DV,
2560
			   A.APPROVE_DT,
2561
               A.PROCESS_ID,
2562
			   --D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
2563
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
2564
			   --WHEN A.PROCESS_ID<> 'APPROVE' AND A.AUTH_STATUS='A' THEN N'Chờ duyệt' ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
2565
			   CASE WHEN A.PROCESS_ID='APPROVE' OR A.AUTH_STATUS ='A' THEN N'Đã duyệt'
2566
			   ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
2567
			   G.BRANCH_CODE,
2568
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
2569
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
2570
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
2571
			   UC.TLFullName AS MAKER_NAME,
2572
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
2573
			   RP.ROLE_USER, 
2574
			   RP.NOTES AS PROCESS_STATUS , 
2575
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
2576
			   A.DVDM_APP_ID,
2577
			   CD.DVDM_NAME AS DVDM_APP_NAME,
2578
			   A.REQ_PARENT_ID,
2579
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
2580
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
2581
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
2582
			   A.BRANCH_FEE,
2583
			   A.DEP_ID,
2584
			   A.DEP_FEE,
2585
			   DEP.DEP_NAME,
2586
			   DEP.DEP_CODE,
2587
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
2588
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
2589
			   DF.DEP_NAME AS DEP_FEE_NAME,
2590
			   DF.DEP_CODE AS DEP_FEE_CODE,
2591
			   '' AS BRANCH_DEP,
2592
			   '' AS BRANCH_DEP_FEE,
2593
			   
2594

    
2595

    
2596
			   '' AS TYPE_JOB,
2597
			   '' AS USER_JOB,
2598
			   '' AS USER_JOB_NAME,
2599
			   '' AS TRANSFER_MAKER,
2600
			    A.CREATE_DT AS TRANFER_DT ,
2601
				'' AS TRANSFER_MAKER_ID,
2602
			   A.EFFEC_DT,A.IS_BACKDAY,
2603
			   '' AS TYPE_JOB_XL,
2604
			   '' AS USER_JOB_XL,
2605
			   RP.ID AS REF_ID,
2606
			   RPN.STATUS AS STATUS_NEXT,
2607
			   RP.STATUS AS STATUS_CURR,
2608
			   '' AS STATUS_JOB,
2609
			   A.BRANCH_CREATE,
2610
			   A.DEP_CREATE,
2611
			   A.REQ_LINE,
2612
			   A.TC_NOTES,
2613
			   A.SIGN_USER,
2614
			   TL.TLFullName AS SIGN_USER_NAME,
2615
			   A.KT_NOTES,
2616
			   A.IS_CHECKALL,
2617
			   A.BASED_CONTENT,
2618
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
2619
			   '' AS IS_TRANSFER,
2620
			   --NGUOI XU LY
2621
			  NXL.NGUOIXULY AS NGUOIXULY, A.TK_HDQT_NOTES, A.TK_TGD_NOTES, A.OTHER_NOTES
2622
			 , ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
2623
) AS __ROWNUM-- SELECT END 
2624
		FROM PL_REQUEST_DOC A 	
2625
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
2626
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
2627
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
2628
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
2629

    
2630
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
2631
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
2632

    
2633
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
2634
	
2635
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
2636
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
2637
		LEFT JOIN dbo.PL_REQUEST_PROCESS RP ON RP.ID IN(SELECT TOP 1 ID FROM dbo.PL_REQUEST_PROCESS WHERE PL_REQUEST_PROCESS.PROCESS_ID=RPN.PARENT_PROCESS_ID AND  PL_REQUEST_PROCESS.REQ_ID=A.REQ_ID)
2638
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
2639
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
2640
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
2641
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
2642
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
2643
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
2644
		OUTER APPLY
2645
		(
2646
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
2647
		) NXL
2648

    
2649
		WHERE 1 = 1
2650
		
2651
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
2652
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
2653
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
2654
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
2655
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
2656
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
2657
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
2658
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
2659
		
2660

    
2661
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
2662

    
2663

    
2664
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
2665
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
2666
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
2667
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
2668
		AND A.RECORD_STATUS = '1'
2669
		
2670
		AND(
2671
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
2672
			OR
2673
				(
2674
					@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2675
				)
2676
				OR
2677
				(
2678
						@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID)
2679
				)
2680
			)
2681

    
2682
		AND    (A.MAKER_ID=@p_TLNAME_USER
2683
        OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
2684
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL'
2685
          AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
2686
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
2687
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
2688
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
2689
			--	
2690
				
2691
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
2692
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
2693
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
2694
			--
2695

    
2696

    
2697
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
2698
		--
2699
		--AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS IN('U','R','E') AND (A.PROCESS_ID <> 'APPROVE' OR A.PROCESS_ID IS NULL)) OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
2700
		--AND ((A.AUTH_STATUS='E' AND A.MAKER_ID=@p_TLNAME_USER) OR (A.AUTH_STATUS <> 'E' AND (A.MAKER_ID=@p_TLNAME_USER OR (PLRP.PROCESS_ID='DVKD' AND PLRP.ROLE_USER=@p_ROLE_USER AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='')))))
2701
		--
2702
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
2703
		AND( (@p_AUTH_STATUS ='A' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='P'))
2704
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
2705
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
2706
			OR (@p_AUTH_STATUS ='W' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='C'))
2707
			OR (@p_AUTH_STATUS ='G' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='SIGN' AND STATUS ='P'))
2708
			OR (@p_AUTH_STATUS ='U' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND PROCESS_ID ='APPNEW' AND STATUS ='C'))
2709
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
2710
		)
2711
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
2712
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
2713
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
2714
--		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
2715
--			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
2716

    
2717
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
2718
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
2719
		
2720
		-- GIANT 26/10/2021
2721
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
2722

    
2723
		--HUYHT 10/05/2022 TÌM KIẾM THEO BƯỚC XỬ LÝ TIẾP THEO
2724
		AND (A.PROCESS_ID = @p_PROCESS_ID OR (@p_PROCESS_ID IS NULL OR @p_PROCESS_ID = ''))
2725

    
2726
		
2727
		) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 11
2728
END-- PAGING END
2729
	END
2730
   --11032025_secretkey