Project

General

Profile

PL_REQUEST_DOC_SEARCH.txt

Luc Tran Van, 12/24/2020 02:00 PM

 
1

    
2

    
3
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_Search]
4
@p_REQ_ID	varchar(15)  = NULL,
5
@p_REQ_CODE	nvarchar(100)  = NULL,
6
@p_REQ_NAME	nvarchar(200)  = NULL,
7
@p_REQ_DT	DATETIME = NULL,
8
@p_REQ_TYPE	int = NULL,
9
@p_REQ_CONTENT NVARCHAR(1000)=NULL,
10
@p_REQ_REASON NVARCHAR(500)=NULL,
11
@p_TOTAL_AMT	decimal = NULL,
12
@p_NOTES	nvarchar(1000)  = NULL,
13
@p_RECORD_STATUS	varchar(1)  = NULL,
14
@p_MAKER_ID	varchar(12)  = NULL,
15
@p_CREATE_DT	DATETIME = NULL,
16
@p_AUTH_STATUS	varchar(50)  = NULL,
17
@p_CHECKER_ID	varchar(12)  = NULL,
18
@p_APPROVE_DT	DATETIME = NULL,
19
@p_PROCESS_ID varchar(15) = NULL,
20
@p_BRANCH_ID VARCHAR(15)=NULL,
21
@p_DEP_ID VARCHAR(15) = NULL,
22
@p_BRANCH_LOGIN VARCHAR(15),
23
@p_ROLE_USER VARCHAR(20),
24
@p_TLNAME_USER VARCHAR(15),
25
@p_FR_DATE DATETIME = NULL,
26
@p_TO_DATE DATETIME = NULL,
27
@p_TYPE_TRANFER VARCHAR(15),
28
@p_TYPE VARCHAR(15),
29
@p_YEAR INT,
30
@p_TOP	INT = 10,
31
@p_IS_TRANSFER VARCHAR(10) = NULL,
32
@p_NGUOIXULY NVARCHAR(15) = NULL
33

    
34
AS
35
BEGIN
36

    
37
	DECLARE @TABLE_ROLE TABLE 
38
	( ROLE_ID VARCHAR(20))
39
	INSERT INTO @TABLE_ROLE VALUES(@p_ROLE_USER)
40

    
41
	
42
	INSERT INTO @TABLE_ROLE
43
	SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER
44
	
45

    
46

    
47
	DECLARE @DEP_ID VARCHAR(15),@BRANCH_TYPE VARCHAR(15)
48
	
49
	DECLARE
50
	@COST_ID TABLE (
51
		COST_ID VARCHAR(15)
52
	)
53

    
54
	DECLARE @DVDM_ID TABLE (
55
		DVDM_ID VARCHAR(15)
56
	)
57
	SET @DEP_ID =(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME_USER)
58
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
59

    
60
	DECLARE @AUTHOR TABLE
61
	(
62
		ROLE_ID VARCHAR(20),
63
		BRANCH_ID VARCHAR(20),
64
		DEP_ID VARCHAR(20)
65
	)
66
	DECLARE @AUTHOR_DVDM TABLE
67
	(
68
		ROLE_ID VARCHAR(20),
69
		BRANCH_ID VARCHAR(20),
70
		DEP_ID VARCHAR(20),
71
		DVDM_ID VARCHAR(20)
72
	)
73

    
74
	INSERT INTO @AUTHOR
75
	(
76
	    ROLE_ID,
77
	    BRANCH_ID,
78
	    DEP_ID
79
	)
80
	SELECT RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
81
	WHERE TLNANME=@p_TLNAME_USER
82
	UNION ALL
83
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
84
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
85
	WHERE TLNANME=@p_TLNAME_USER
86
	UNION ALL
87
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
88
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
89
	UNION ALL
90
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
91
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
92
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
93

    
94
	INSERT INTO @AUTHOR_DVDM
95
	(
96
	    ROLE_ID,
97
	    BRANCH_ID,
98
	    DEP_ID,
99
	    DVDM_ID
100
	)
101
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
102
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
103
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
104
	WHERE TU.TLNANME=@p_TLNAME_USER
105
	UNION ALL
106
	SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
107
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
108
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
109
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
110
	WHERE TU.TLNANME=@p_TLNAME_USER
111
	UNION ALL
112
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
113
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
114
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
115
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
116
	UNION ALL
117
	SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
118
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
119
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
120
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
121
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
122

    
123
	
124
	
125

    
126
	INSERT INTO @COST_ID
127
	SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@p_BRANCH_LOGIN
128
	INSERT INTO @DVDM_ID
129
	SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID) GROUP BY DVDM_ID
130
	IF(@p_TYPE='DVKD')
131
	BEGIN	
132
		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,
133
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
134
			   UDV.TLFullName AS CHECKER_NAME_DV,
135
			   A.APPROVE_DT,
136
               A.PROCESS_ID,
137
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
138
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
139
			   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,
140
			   G.BRANCH_CODE,
141
			   G.BRANCH_NAME,
142
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
143
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
144
			   UC.TLFullName AS MAKER_NAME,
145
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
146
			   RP.ROLE_USER, 
147
			   RP.NOTES AS PROCESS_STATUS , 
148
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
149
			   A.DVDM_APP_ID,
150
			   CD.DVDM_NAME AS DVDM_APP_NAME,
151
			   A.REQ_PARENT_ID,
152
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
153
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
154
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
155
			   A.BRANCH_FEE,
156
			   A.DEP_ID,
157
			   A.DEP_FEE,
158
			   DEP.DEP_NAME,
159
			   DEP.DEP_CODE,
160
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
161
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
162
			   DF.DEP_NAME AS DEP_FEE_NAME,
163
			   DF.DEP_CODE AS DEP_FEE_CODE,
164
			   '' AS BRANCH_DEP,
165
			   '' AS BRANCH_DEP_FEE,
166
			   
167

    
168

    
169
			   '' AS TYPE_JOB,
170
			   '' AS USER_JOB,
171
			   '' AS USER_JOB_NAME,
172
			   '' AS TRANSFER_MAKER,
173
			    A.CREATE_DT AS TRANFER_DT ,
174
				'' AS TRANSFER_MAKER_ID,
175
			   A.EFFEC_DT,A.IS_BACKDAY,
176
			   '' AS TYPE_JOB_XL,
177
			   '' AS USER_JOB_XL,
178
			   RP.ID AS REF_ID,
179
			   RPN.STATUS AS STATUS_NEXT,
180
			   RP.STATUS AS STATUS_CURR,
181
			   '' AS STATUS_JOB,
182
			   A.BRANCH_CREATE,
183
			   A.DEP_CREATE,
184
			   A.REQ_LINE,
185
			   A.TC_NOTES,
186
			   A.SIGN_USER,
187
			   TL.TLFullName AS SIGN_USER_NAME,
188
			   A.KT_NOTES,
189
			   A.IS_CHECKALL,
190
			   A.BASED_CONTENT,
191
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
192
			   '' AS IS_TRANSFER,
193
			   --NGUOI XU LY
194
			   dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
195
			   
196
		FROM PL_REQUEST_DOC A 	
197
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
198
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
199
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
200
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
201

    
202
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
203
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
204

    
205
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
206
	
207
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
208
		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') )
209
		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)
210
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
211
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
212
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
213
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
214
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
215
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
216

    
217

    
218
		WHERE 1 = 1
219
		
220
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
221
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
222
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
223
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
224
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
225
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
226
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
227
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
228
			AND (DATEDIFF(DAY,A.CREATE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
229
	
230
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
231
		AND (DATEDIFF(DAY,A.APPROVE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
232
		AND (DATEDIFF(DAY,A.REQ_DT , CAST(@p_REQ_DT AS DATE)) = 0 OR @p_REQ_DT IS NULL OR @p_REQ_DT = '')		
233
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
234
		AND A.RECORD_STATUS = '1'
235
		
236
		AND(
237
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
238
			OR
239
				(
240
					@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)
241
				)
242
				OR
243
				(
244
						@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)
245
				)
246
			)
247

    
248
		AND    (A.MAKER_ID=@p_TLNAME_USER OR 
249
				(A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
250
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG WHERE ROLE_TYPE='PL_REQUEST_DOC_ALL' AND BRANCH_ID=@p_TLNAME_USER )
251
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
252
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
253
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
254
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
255
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
256
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
257
				OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
258
		--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 = '')
259
		--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 ='')))))
260
		AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
261
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
262
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))	
263
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
264
		AND(
265
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
266
			OR
267
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
268
		)
269

    
270
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
271
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
272
		
273
		ORDER BY A.CREATE_DT DESC
274
	END
275
	ELSE IF(@p_TYPE='PDTT')
276
	BEGIN
277
		
278
		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,
279
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
280

    
281
			   UDV.TLFullName AS CHECKER_NAME_DV,
282
			  
283
			   A.APPROVE_DT,
284
               A.PROCESS_ID,
285
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
286
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
287
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
288
			   G.BRANCH_CODE,
289
			   G.BRANCH_NAME,
290
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
291
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
292
			   UC.TLFullName AS MAKER_NAME,
293
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
294
			   RPN.ROLE_USER, 
295
			   RP.NOTES AS PROCESS_STATUS , 
296
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
297
			   A.DVDM_APP_ID,
298
			   CD.DVDM_NAME AS DVDM_APP_NAME,
299
			   A.REQ_PARENT_ID,
300
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
301
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
302
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
303
			   A.BRANCH_FEE,
304
			   A.DEP_ID,
305
			   A.DEP_FEE,
306
			   DEP.DEP_NAME,
307
			   DEP.DEP_CODE,
308
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
309
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
310
			   DF.DEP_NAME AS DEP_FEE_NAME,
311
			   DF.DEP_CODE AS DEP_FEE_CODE,
312
			   '' AS BRANCH_DEP,
313
			   '' AS BRANCH_DEP_FEE,
314
			   
315

    
316

    
317
			   RPC.TYPE_JOB AS TYPE_JOB,
318
			   RPC.TLNAME AS USER_JOB,
319
			   TU.TLFullName AS USER_JOB_NAME,
320
			   TFM.TLNANME AS TRANSFER_MAKER,
321
			    RPC.TRANFER_DT AS TRANFER_DT ,
322
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
323
			   A.EFFEC_DT,A.IS_BACKDAY,
324
			   '' AS TYPE_JOB_XL,
325
			   '' AS USER_JOB_XL,
326
			   RP.ID AS REF_ID,
327
			   RPN.STATUS AS STATUS_NEXT,
328
			   PLRP.STATUS AS STATUS_CURR,
329
			    RPC.STATUS_JOB AS STATUS_JOB,
330
			   A.BRANCH_CREATE,
331
			   A.DEP_CREATE,
332
			   A.REQ_LINE,
333
			     A.TC_NOTES,
334
				  A.SIGN_USER,
335
			   TL.TLFullName  AS SIGN_USER_NAME,
336
			   A.KT_NOTES,
337
			     A.IS_CHECKALL,
338
			   A.BASED_CONTENT, 
339
			   '' AS IS_TRANSFER,
340
			   --NGUOI XU LY
341
			   dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
342

    
343
		FROM PL_REQUEST_DOC A 	
344
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <>'U'	
345
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
346
		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') )
347
		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)	
348
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
349
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
350

    
351
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
352
		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')
353
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
354
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
355
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
356
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
357
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
358
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
359
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
360
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
361
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
362
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
363
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
364
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
365
		WHERE 1 = 1
366
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
367
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
368
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
369
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
370
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
371
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
372
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
373
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
374
		AND (DATEDIFF(DAY,A.CREATE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
375
		
376
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
377
		AND (DATEDIFF(DAY,A.APPROVE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
378
		AND (DATEDIFF(DAY,A.REQ_DT , CAST(@p_REQ_DT AS DATE)) = 0 OR @p_REQ_DT IS NULL OR @p_REQ_DT = '')	
379
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
380
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
381
		AND A.RECORD_STATUS = '1'
382

    
383

    
384
		AND(
385
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
386
			OR
387
				(
388
					@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)
389
				)
390
				OR
391
				(
392
						@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)
393
				)
394
			)
395

    
396
		AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
397
			(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=''))
398
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
399
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
400
		))
401
		--AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) 
402
		--AND (
403
		--  (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='')) 
404
		--OR ( PLRP.DVDM_ID IN (SELECT DVDM_ID FROM @DVDM_ID))
405
		--OR
406
		--( (PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))	
407
		--)
408
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
409
		AND (PLRP.IS_HAS_CHILD=0 OR PLRP.IS_HAS_CHILD IS NULL)
410
		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 = '')
411
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
412
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))	
413
		AND(
414
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
415
			OR
416
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
417
		)
418

    
419
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
420
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
421

    
422
		ORDER BY A.CREATE_DT DESC
423
 
424
	END
425
	ELSE IF(@p_TYPE='TFJOB')
426
	BEGIN
427
		
428
				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,
429
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
430

    
431
			   UDV.TLFullName AS CHECKER_NAME_DV,
432
			  
433
			   A.APPROVE_DT,
434
               A.PROCESS_ID,
435
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
436
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
437
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
438
			   G.BRANCH_CODE,
439
			   G.BRANCH_NAME,
440
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
441
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
442
			   UC.TLFullName AS MAKER_NAME,
443
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
444
			   RP.ROLE_USER, 
445
			   RP.NOTES AS PROCESS_STATUS , 
446
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
447
			   A.DVDM_APP_ID,
448
			   CD.DVDM_NAME AS DVDM_APP_NAME,
449
			   A.REQ_PARENT_ID,
450
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
451
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
452
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
453
			   A.BRANCH_FEE,
454
			   A.DEP_ID,
455
			   A.DEP_FEE,
456
			   DEP.DEP_NAME,
457
			   DEP.DEP_CODE,
458
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
459
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
460
			   DF.DEP_NAME AS DEP_FEE_NAME,
461
			   DF.DEP_CODE AS DEP_FEE_CODE,
462
			   '' AS BRANCH_DEP,
463
			   '' AS BRANCH_DEP_FEE,
464
			   RPC.TYPE_JOB AS TYPE_JOB,
465
			   RPC.TLNAME AS USER_JOB,
466
			   TU.TLFullName AS USER_JOB_NAME,
467
			   TFM.TLNANME AS TRANSFER_MAKER,
468
			    RPC.TRANFER_DT AS TRANFER_DT ,
469
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
470
			   A.EFFEC_DT,A.IS_BACKDAY,
471
			   '' AS TYPE_JOB_XL,
472
			   '' AS USER_JOB_XL,
473
			   PLRP.ID AS REF_ID,
474
			   RPN.STATUS AS STATUS_NEXT,
475
			   PLRP.STATUS AS STATUS_CURR,
476
			    RPC.STATUS_JOB AS STATUS_JOB,
477
			   A.BRANCH_CREATE,
478
			   A.DEP_CREATE,
479
			   A.REQ_LINE,
480
			   A.TC_NOTES,
481
			   A.SIGN_USER,
482
			   TL.TLFULLNAME AS SIGN_USER_NAME,
483
			   A.KT_NOTES,
484
			     A.IS_CHECKALL,
485
			   A.BASED_CONTENT, 
486
			   '' AS IS_TRANSFER,
487
			  --NGUOI XU LY
488
			  dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
489

    
490
		FROM PL_REQUEST_DOC A 	
491
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
492
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
493
		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') )
494
		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)	
495
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
496
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
497
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
498

    
499
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
500
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
501
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
502
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
503
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
504
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
505
		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')
506
		
507
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
508
	
509
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
510
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
511
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
512
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
513
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
514
		WHERE 1 = 1
515
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
516
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
517
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
518
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
519
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
520
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
521
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
522
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
523
		AND (DATEDIFF(DAY,A.CREATE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
524
		
525
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
526
		AND (DATEDIFF(DAY,A.APPROVE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
527
		AND (DATEDIFF(DAY,A.REQ_DT , CAST(@p_REQ_DT AS DATE)) = 0 OR @p_REQ_DT IS NULL OR @p_REQ_DT = '')	
528
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
529
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
530
		AND A.RECORD_STATUS = '1'
531

    
532

    
533
		AND(
534
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
535
			OR
536
				(
537
					@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)
538
				)
539
				OR
540
				(
541
						@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)
542
				)
543
			)
544

    
545

    
546
		
547
		AND(
548
		
549
		EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
550
			(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=''))
551
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
552
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
553
		))
554
			OR (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) ) )
555
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
556
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))	
557
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
558
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 = '')
559
  AND (NOT EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID AND PL_REQUEST_PROCESS_CHILD.STATUS_JOB='C' AND PL_REQUEST_PROCESS_CHILD.TYPE_JOB='TP'))
560
		AND (
561
			((RPC.REQ_ID IS NOT NULL OR RPC.REQ_ID <> '') AND @p_IS_TRANSFER = 'Y')
562
			OR ((RPC.REQ_ID IS NULL OR RPC.REQ_ID = '') AND @p_IS_TRANSFER = 'N')
563
			OR @p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
564
			)
565

    
566
		AND(
567
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
568
			OR
569
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
570
		)
571

    
572
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
573
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
574

    
575

    
576
	ORDER BY A.CREATE_DT DESC
577
	END
578

    
579
	ELSE IF(@p_TYPE='XLTT')
580
	BEGIN
581
			
582
				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,
583
             A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
584

    
585
			   UDV.TLFullName AS CHECKER_NAME_DV,
586
			  
587
			   A.APPROVE_DT,
588
               A.PROCESS_ID,
589
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
590
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
591
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
592
			   G.BRANCH_CODE,
593
			   G.BRANCH_NAME,
594
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
595
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
596
			   UC.TLFullName AS MAKER_NAME,
597
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
598
			   RPN.ROLE_USER, 
599
			   RP.NOTES AS PROCESS_STATUS , 
600
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
601
			   A.DVDM_APP_ID,
602
			   CD.DVDM_NAME AS DVDM_APP_NAME,
603
			   A.REQ_PARENT_ID,
604
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
605
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
606
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
607
			   A.BRANCH_FEE,
608
			   A.DEP_ID,
609
			   A.DEP_FEE,
610
			   DEP.DEP_NAME,
611
			   DEP.DEP_CODE,
612
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
613
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
614
			   DF.DEP_NAME AS DEP_FEE_NAME,
615
			   DF.DEP_CODE AS DEP_FEE_CODE,
616
			   '' AS BRANCH_DEP,
617
			   '' AS BRANCH_DEP_FEE,
618
			   
619

    
620

    
621
			   RPC.TYPE_JOB AS TYPE_JOB,
622
			   RPC.TLNAME AS USER_JOB,
623
			   TU.TLFullName AS USER_JOB_NAME,
624
			   TFM.TLNANME AS TRANSFER_MAKER,
625
			    RPC.TRANFER_DT AS TRANFER_DT ,
626
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
627
			   A.EFFEC_DT,A.IS_BACKDAY,
628
			   '' AS TYPE_JOB_XL,
629
			   '' AS USER_JOB_XL,
630
			   PLRP.ID AS REF_ID,
631
			   RPN.STATUS AS STATUS_NEXT,
632
			   PLRP.STATUS AS STATUS_CURR,
633
			   RPC.STATUS_JOB AS STATUS_JOB,
634
			   A.BRANCH_CREATE,
635
			   A.DEP_CREATE,
636
			   A.REQ_LINE,
637
			   A.TC_NOTES,
638
			   A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
639
			   A.KT_NOTES,
640
			     A.IS_CHECKALL,
641
			   A.BASED_CONTENT, 
642
			   '' AS IS_TRANSFER,
643
			   --NGUOI XU LY
644
			   dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
645

    
646
		FROM PL_REQUEST_DOC A 	
647
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <> 'U' AND PLRP.IS_HAS_CHILD=1
648
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
649
		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') )
650
		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)	
651
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
652
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
653
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
654

    
655
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
656
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
657
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
658
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
659
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
660
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
661
		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')
662
		
663
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
664
	
665
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
666
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
667
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
668
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
669
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
670
		WHERE 1 = 1
671
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
672
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
673
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
674
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
675
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
676
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
677
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
678
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
679
		AND (DATEDIFF(DAY,A.CREATE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
680
		
681
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
682
		AND (DATEDIFF(DAY,A.APPROVE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
683
		AND (DATEDIFF(DAY,A.REQ_DT , CAST(@p_REQ_DT AS DATE)) = 0 OR @p_REQ_DT IS NULL OR @p_REQ_DT = '')	
684
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
685
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
686
		AND A.RECORD_STATUS = '1'
687

    
688

    
689
		AND(
690
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
691
			OR
692
				(
693
					@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)
694
				)
695
				OR
696
				(
697
						@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)
698
				)
699
			)
700

    
701

    
702
		
703
		AND(
704
		EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
705
			(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=''))
706
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
707
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
708
		)) 
709
		OR (EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID) ))
710
				AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
711
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))	
712
			AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
713
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 = '') 
714
	
715
		AND(
716
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
717
			OR
718
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
719
		)
720

    
721
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
722
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
723

    
724

    
725
	ORDER BY A.CREATE_DT DESC
726
	END
727
	ELSE IF(@p_TYPE='DVKD_PARENT')
728
	BEGIN	
729
		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,
730
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
731
			   UDV.TLFullName AS CHECKER_NAME_DV,
732
			   A.APPROVE_DT,
733
               A.PROCESS_ID,
734
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
735
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
736
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
737
			   G.BRANCH_CODE,
738
			   G.BRANCH_NAME,
739
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
740
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
741
			   UC.TLFullName AS MAKER_NAME,
742
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
743
			   RP.ROLE_USER, 
744
			   RP.NOTES AS PROCESS_STATUS , 
745
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
746
			   A.DVDM_APP_ID,
747
			   CD.DVDM_NAME AS DVDM_APP_NAME,
748
			   A.REQ_PARENT_ID,
749
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
750
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
751
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
752
			   A.BRANCH_FEE,
753
			   A.DEP_ID,
754
			   A.DEP_FEE,
755
			   DEP.DEP_NAME,
756
			   DEP.DEP_CODE,
757
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
758
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
759
			   DF.DEP_NAME AS DEP_FEE_NAME,
760
			   DF.DEP_CODE AS DEP_FEE_CODE,
761
			   '' AS BRANCH_DEP,
762
			   '' AS BRANCH_DEP_FEE,
763
			   
764

    
765

    
766
			   '' AS TYPE_JOB,
767
			   '' AS USER_JOB,
768
			   '' AS USER_JOB_NAME,
769
			   '' AS TRANSFER_MAKER,
770
			    A.CREATE_DT AS TRANFER_DT ,
771
				'' AS TRANSFER_MAKER_ID,
772
			   A.EFFEC_DT,A.IS_BACKDAY,
773
			   '' AS TYPE_JOB_XL,
774
			   '' AS USER_JOB_XL,
775
			   RP.ID AS REF_ID,
776
			   RPN.STATUS AS STATUS_NEXT,
777
			   RP.STATUS AS STATUS_CURR,
778
			   '' AS STATUS_JOB,
779
			   A.BRANCH_CREATE,
780
			   A.DEP_CREATE,
781
			   A.REQ_LINE,
782
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
783
			   A.KT_NOTES,
784
			     A.IS_CHECKALL,
785
			   A.BASED_CONTENT, 
786
			   '' AS IS_TRANSFER,
787
			   --NGUOI XU LY
788
			   dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
789

    
790
		FROM PL_REQUEST_DOC A 		
791
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
792
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
793
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
794

    
795
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
796
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
797

    
798
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
799
	
800
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
801
		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') )
802
		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)
803
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
804
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
805
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
806
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
807
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
808
		WHERE 1 = 1
809
		
810
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
811
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
812
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
813
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
814
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
815
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
816
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
817
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
818
			AND (DATEDIFF(DAY,A.CREATE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
819
	
820
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
821
		AND (DATEDIFF(DAY,A.APPROVE_DT , CAST(@p_CREATE_DT AS DATE)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
822
		AND (DATEDIFF(DAY,A.REQ_DT , CAST(@p_REQ_DT AS DATE)) = 0 OR @p_REQ_DT IS NULL OR @p_REQ_DT = '')		
823
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
824
		AND A.RECORD_STATUS = '1'
825
		
826
		AND(
827
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
828
			OR
829
				(
830
					@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)
831
				)
832
				OR
833
				(
834
						@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)
835
				)
836
			)
837

    
838
		AND (  (A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR (
839
		 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) )
840
		) OR A.IS_CHECKALL=1)
841

    
842
		AND A.PROCESS_ID='APPROVE'
843
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
844
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))	
845
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
846
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
847

    
848
		AND(
849
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
850
			OR
851
			(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
852
		)
853

    
854
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
855
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
856

    
857

    
858
		ORDER BY A.CREATE_DT DESC
859
 
860
	END
861
   END