Project

General

Profile

PL_REQUEST_TRANSFER_Search.txt

Luc Tran Van, 12/06/2022 09:26 AM

 
1

    
2
ALTER PROCEDURE dbo.PL_REQUEST_TRANSFER_Search
3
@p_REQ_ID	varchar(15)  = NULL,
4
@p_REQ_CODE	nvarchar(100)  = NULL,
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)  = NULL,
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)=NULL,
20
@p_DEP_ID VARCHAR(15) = NULL,
21
@p_BRANCH_LOGIN VARCHAR(15),
22
@p_ROLE_USER VARCHAR(20),
23
@p_TLNAME_USER VARCHAR(15),
24
@p_FR_DATE varchar(20) = NULL,
25
@p_TO_DATE varchar(20) = NULL,
26
@p_TYPE_TRANFER VARCHAR(15),
27
@p_TYPE VARCHAR(15),
28
@p_YEAR INT,
29
@p_TOP	INT = 10,
30
@p_IS_TRANSFER VARCHAR(10) = NULL,
31
@p_NGUOIXULY NVARCHAR(15) = NULL,
32

    
33
@p_TO_DEP_ID VARCHAR(15)=NULL,
34
@p_TO_BRANCH_ID VARCHAR(15)=NULL,
35
@p_FROM_DEP_ID VARCHAR(15)=NULL,
36
@p_FROM_BRANCH_ID VARCHAR(15)=NULL,
37
@p_TO_GD_NAME NVARCHAR(1000)=NULL,
38
@p_FROM_GD_NAME NVARCHAR(1000)=NULL
39

    
40
AS
41
BEGIN -- PAGING
42

    
43
	DECLARE @TABLE_ROLE TABLE 
44
	( ROLE_ID VARCHAR(20))
45
	INSERT INTO @TABLE_ROLE VALUES(@p_ROLE_USER)
46

    
47
	
48
	INSERT INTO @TABLE_ROLE
49
	SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER
50
	
51

    
52

    
53
	DECLARE @DEP_ID VARCHAR(15),@BRANCH_TYPE VARCHAR(15),@TO_BRANCH_TYPE VARCHAR(15),@FROM_BRANCH_TYPE VARCHAR(15)
54
	
55
	DECLARE
56
	@COST_ID TABLE (
57
		COST_ID VARCHAR(15)
58
	)
59

    
60
	DECLARE @DVDM_ID TABLE (
61
		DVDM_ID VARCHAR(15)
62
	)
63
	SET @DEP_ID =(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME_USER)
64
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
65
		
66
	-- ĐƠN VỊ CHUYỂN
67
	SET @FROM_BRANCH_TYPE = (SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@p_FROM_BRANCH_ID)
68
	-- ĐƠN VỊ NHẬN
69
	SET @TO_BRANCH_TYPE = (SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@p_TO_BRANCH_ID)
70

    
71

    
72
	IF(EXISTS(SELECT DEP_CODE FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEP_ID AND DEP_CODE LIKE '069%'))
73
	BEGIN
74
		SET @BRANCH_TYPE='HS'
75
	END
76

    
77

    
78
	DECLARE @AUTHOR TABLE
79
	(
80
		ROLE_ID VARCHAR(100),
81
		BRANCH_ID VARCHAR(20),
82
		DEP_ID VARCHAR(20)
83
	)
84
	DECLARE @AUTHOR_DVDM TABLE
85
	(
86
		ROLE_ID VARCHAR(100),
87
		BRANCH_ID VARCHAR(20),
88
		DEP_ID VARCHAR(20),
89
		DVDM_ID VARCHAR(20)
90
	)
91
	INSERT INTO @AUTHOR
92
	(
93
	    ROLE_ID,
94
	    BRANCH_ID,
95
	    DEP_ID
96
	)
97
	SELECT RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
98
	WHERE TLNANME=@p_TLNAME_USER
99
	UNION ALL
100
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
101
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
102
	WHERE TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
103
	UNION ALL
104
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
105
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
106
	UNION ALL
107
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
108
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
109
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
110

    
111
	INSERT INTO @AUTHOR_DVDM
112
	(
113
	    ROLE_ID,
114
	    BRANCH_ID,
115
	    DEP_ID,
116
	    DVDM_ID
117
	)
118
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
119
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
120
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
121
	WHERE TU.TLNANME=@p_TLNAME_USER
122
	UNION ALL
123
	SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
124
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
125
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
126
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
127
	WHERE TU.TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
128
	UNION ALL
129
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
130
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
131
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
132
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
133
	UNION ALL
134
	SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
135
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
136
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
137
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
138
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)	
139

    
140
	INSERT INTO @COST_ID
141
	SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@p_BRANCH_LOGIN
142
	INSERT INTO @DVDM_ID
143
	SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID) GROUP BY DVDM_ID
144

    
145
	---- NGUOI XU lY TIEP THEO 18022021
146
			DECLARE @lstREQUEST TABLE (
147
			REQ_ID VARCHAR(20),
148
			PROCESS_ID VARCHAR(50),
149
			DVDM_NAME NVARCHAR(200),
150
			TLNAME VARCHAR(200),
151
			TLFullName NVARCHAR(200),
152
			NOTES NVARCHAR(200)
153
		)
154
		INSERT INTO @lstREQUEST
155
		( REQ_ID,PROCESS_ID, DVDM_NAME,TLNAME,TLFullName, NOTES)
156
		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM 
157
		(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC WHERE 
158
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
159
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
160

    
161
		) AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID <>'SIGN' AND (PRC.IS_HAS_CHILD = 0  OR PRC.IS_HAS_CHILD IS NULL)) PL
162
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
163
		LEFT JOIN 
164
		(
165
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
166
		LEFT JOIN(
167
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
168
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
169
		UNION ALL
170
		SELECT TU.TLNAME,US.TLFullName,TU.ROLE_NEW RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID FROM dbo.TL_SYS_ROLE_MAPPING TU
171
		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
172
		LEFT JOIN(
173
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
174
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
175
		WHERE  CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
176
		) TempU ON (TempU.RoleName=PL.ROLE_USER  OR PL.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME='')))  AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
177
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
178
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
179
		LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
180
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
181
		WHERE PL.STATUS='C' 
182
		UNION ALL
183
		 SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM 
184
		(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC WHERE 
185
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
186
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
187
		)  AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID ='SIGN' AND (PRC.IS_HAS_CHILD = 0  OR PRC.IS_HAS_CHILD IS NULL)) PL
188
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
189
		LEFT JOIN 
190
		(
191
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
192
		LEFT JOIN(
193
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
194
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
195
		) TempU ON (TempU.RoleName=PL.ROLE_USER  OR PL.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE TM.ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME='')))  
196
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
197
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
198
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
199
		LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
200
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
201
		WHERE  STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
202

    
203
		UNION ALL
204
		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES
205
		FROM 
206
		(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC WHERE 
207
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
208
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
209

    
210
		)  AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID <>'SIGN' AND PRC.IS_HAS_CHILD = 1  ) PL
211
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
212
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
213
		LEFT JOIN 
214
		(
215
		SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
216
		LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
217
		WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
218
		)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
219
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
220
		LEFT JOIN 
221
			(
222
				SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
223
				LEFT JOIN(
224
				SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
225
				LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
226
				UNION ALL
227
				SELECT TU.TLNAME,US.TLFullName,TU.ROLE_NEW RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID  FROM dbo.TL_SYS_ROLE_MAPPING TU
228
				LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
229
				LEFT JOIN(
230
				SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
231
				LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
232
				WHERE  CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
233
			) TempU ON (TempU.RoleName=PL.ROLE_USER  OR PL.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME=''))) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
234
			AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
235
			AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
236
		WHERE  PL.STATUS='C'
237

    
238
	IF(@p_TYPE='DVKD')
239
	BEGIN	
240
		-- PAGING BEGIN
241
		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,
242
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
243
			   UDV.TLFullName AS CHECKER_NAME_DV,
244
			   A.APPROVE_DT,
245
               A.PROCESS_ID,
246
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
247
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
248
			   --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,
249
			    CASE WHEN A.PROCESS_ID='APPROVE' OR A.AUTH_STATUS ='A' THEN N'Đã duyệt'
250
			    ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
251
			   G.BRANCH_CODE,
252
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
253
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
254
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
255
			   UC.TLFullName AS MAKER_NAME,
256
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
257
			   RP.ROLE_USER, 
258
			   RP.NOTES AS PROCESS_STATUS , 
259
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
260
			   A.DVDM_APP_ID,
261
			   CD.DVDM_NAME AS DVDM_APP_NAME,
262
			   A.REQ_PARENT_ID,
263
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
264
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
265
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
266
			   A.BRANCH_FEE,
267
			   A.DEP_ID,
268
			   A.DEP_FEE,
269
			   DEP.DEP_NAME,
270
			   DEP.DEP_CODE,
271
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
272
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
273
			   DF.DEP_NAME AS DEP_FEE_NAME,
274
			   DF.DEP_CODE AS DEP_FEE_CODE,
275
			   '' AS BRANCH_DEP,
276
			   '' AS BRANCH_DEP_FEE,
277
			   
278

    
279

    
280
			   '' AS TYPE_JOB,
281
			   '' AS USER_JOB,
282
			   '' AS USER_JOB_NAME,
283
			   '' AS TRANSFER_MAKER,
284
			    A.CREATE_DT AS TRANFER_DT ,
285
				'' AS TRANSFER_MAKER_ID,
286
			   A.EFFEC_DT,A.IS_BACKDAY,
287
			   '' AS TYPE_JOB_XL,
288
			   '' AS USER_JOB_XL,
289
			   RP.ID AS REF_ID,
290
			   RPN.STATUS AS STATUS_NEXT,
291
			   RP.STATUS AS STATUS_CURR,
292
			   '' AS STATUS_JOB,
293
			   A.BRANCH_CREATE,
294
			   A.DEP_CREATE,
295
			   A.REQ_LINE,
296
			   A.TC_NOTES,
297
			   A.SIGN_USER,
298
			   TL.TLFullName AS SIGN_USER_NAME,
299
			   A.KT_NOTES,
300
			   A.IS_CHECKALL,
301
			   A.BASED_CONTENT,
302
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
303
			   '' AS IS_TRANSFER,
304
			   --NGUOI XU LY
305
			  NXL.NGUOIXULY AS NGUOIXULY, A.TK_HDQT_NOTES, A.TK_TGD_NOTES, A.OTHER_NOTES
306
			 -- SELECT END 
307
		FROM PL_REQUEST_DOC A 	
308
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
309
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
310
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
311
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
312

    
313
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
314
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
315

    
316
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
317
	
318
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
319
		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') )
320
		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)
321
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
322
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
323
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
324
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
325
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
326
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
327
		LEFT JOIN
328
		(
329
		
330
			SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
331
			FROM @lstREQUEST RE
332
			WHERE RE.REQ_ID=Results.REQ_ID
333
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
334
			STUFF((select ', ' + RE.TLNAME  
335
			FROM @lstREQUEST RE
336
			WHERE RE.REQ_ID=Results.REQ_ID
337
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
338
			FROM @lstREQUEST Results
339
			GROUP BY REQ_ID
340
		) NXL ON NXL.REQ_ID=A.REQ_ID
341

    
342
		WHERE 1 = 1
343
		
344
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
345
		--AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
346
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
347
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
348
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
349
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
350
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
351
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
352
	
353
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
354
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
355
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
356
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
357
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
358
		AND A.RECORD_STATUS = '1'
359
		
360
--		AND(
361
--			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
362
--			OR
363
--				(
364
--					@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)
365
--				)
366
--				OR
367
--				(
368
--						@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)
369
--				)
370
--			)
371

    
372
		AND    (A.MAKER_ID=@p_TLNAME_USER OR 
373
				(A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
374
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL'
375
          AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
376
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
377
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
378
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
379
			--	
380
				
381
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
382
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
383
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
384
			--
385

    
386

    
387
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
388
		--
389
		--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 = '')
390
		--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 ='')))))
391
		--
392
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
393
		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'))
394
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
395
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
396
			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'))
397
			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'))
398
			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'))
399
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
400
		)
401
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
402
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
403
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
404
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
405
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
406

    
407
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
408
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
409

    
410
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
411
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
412

    
413
		-- ĐƠN VỊ CHUYỂN
414
		AND ((@FROM_BRANCH_TYPE = 'HS' AND @p_FROM_BRANCH_ID <> '' AND @p_FROM_DEP_ID <> '' 
415
			AND EXISTS(SELECT * FROM PL_REQUEST_TRANSFER B WHERE B.FR_BRN_ID = @p_FROM_BRANCH_ID AND B.FR_DEP_ID = @p_FROM_DEP_ID AND B.REQ_DOC_ID = A.REQ_ID))
416
			OR (@FROM_BRANCH_TYPE <> 'HS' AND @p_FROM_BRANCH_ID <> '' AND EXISTS(SELECT * FROM PL_REQUEST_TRANSFER B WHERE B.FR_BRN_ID = @p_FROM_BRANCH_ID AND B.REQ_DOC_ID = A.REQ_ID))
417
			OR ( (  @p_FROM_BRANCH_ID IS NULL OR @p_FROM_BRANCH_ID = '')
418
				AND  @p_FROM_DEP_ID IS NULL OR @p_FROM_DEP_ID = ''))
419
		-- ĐƠN VỊ NHẬN
420
		AND ((@TO_BRANCH_TYPE = 'HS' AND @p_TO_BRANCH_ID <> '' AND @p_TO_DEP_ID <> '' 
421
			AND EXISTS(SELECT * FROM PL_REQUEST_TRANSFER B WHERE B.TO_BRN_ID = @p_TO_BRANCH_ID AND B.TO_DEP_ID = @p_TO_DEP_ID AND B.REQ_DOC_ID = A.REQ_ID))
422
			OR (@TO_BRANCH_TYPE <> 'HS' AND @p_TO_BRANCH_ID <> '' AND EXISTS(SELECT * FROM PL_REQUEST_TRANSFER B WHERE B.TO_BRN_ID = @p_TO_BRANCH_ID AND B.REQ_DOC_ID = A.REQ_ID))
423
			OR ( (  @p_TO_BRANCH_ID IS NULL OR @p_TO_BRANCH_ID = '')
424
				AND  @p_TO_DEP_ID IS NULL OR @p_TO_DEP_ID = ''))
425
		
426
		-- HẠNG MỤC NGÂN SÁCH CHUYỂN
427
		AND (@p_FROM_GD_NAME IS NULL OR @p_FROM_GD_NAME = '' OR  
428
			EXISTS(SELECT * FROM PL_REQUEST_TRANSFER B
429
							LEFT JOIN CM_GOODS C ON B.FR_GOOD_ID = C.GD_ID AND B.REQ_DOC_ID = A.REQ_ID
430
						WHERE C.GD_NAME LIKE '%' + @p_FROM_GD_NAME + '%' ))
431

    
432
		-- HẠNG MỤC NGÂN SÁCH NHẬN
433
		AND (@p_TO_GD_NAME IS NULL OR @p_TO_GD_NAME = '' OR  
434
			EXISTS(SELECT * FROM PL_REQUEST_TRANSFER B
435
							LEFT JOIN CM_GOODS C ON B.TO_GOOD_ID = C.GD_ID AND B.REQ_DOC_ID = A.REQ_ID
436
						WHERE C.GD_NAME LIKE '%' + @p_TO_GD_NAME + '%' ))
437
		AND (NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
438
		ORDER BY A.CREATE_DT DESC
439
	-- PAGING END
440
	END
441
	ELSE IF(@p_TYPE='PDTT')
442
	BEGIN
443
		-- PAGING BEGIN
444
		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,
445
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
446

    
447
			   UDV.TLFullName AS CHECKER_NAME_DV,
448
			  
449
			   A.APPROVE_DT,
450
               A.PROCESS_ID,
451
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
452
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
453
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
454
			   G.BRANCH_CODE,
455
			   G.BRANCH_NAME,
456
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
457
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
458
			   UC.TLFullName AS MAKER_NAME,
459
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
460
			   RPN.ROLE_USER, 
461
			   RP.NOTES AS PROCESS_STATUS , 
462
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
463
			   A.DVDM_APP_ID,
464
			   CD.DVDM_NAME AS DVDM_APP_NAME,
465
			   A.REQ_PARENT_ID,
466
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
467
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
468
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
469
			   A.BRANCH_FEE,
470
			   A.DEP_ID,
471
			   A.DEP_FEE,
472
			   DEP.DEP_NAME,
473
			   DEP.DEP_CODE,
474
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
475
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
476
			   DF.DEP_NAME AS DEP_FEE_NAME,
477
			   DF.DEP_CODE AS DEP_FEE_CODE,
478
			   '' AS BRANCH_DEP,
479
			   '' AS BRANCH_DEP_FEE,
480
			   
481

    
482

    
483
			   RPC.TYPE_JOB AS TYPE_JOB,
484
			   RPC.TLNAME AS USER_JOB,
485
			   TU.TLFullName AS USER_JOB_NAME,
486
			   TFM.TLNANME AS TRANSFER_MAKER,
487
			    RPC.TRANFER_DT AS TRANFER_DT ,
488
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
489
			   A.EFFEC_DT,A.IS_BACKDAY,
490
			   '' AS TYPE_JOB_XL,
491
			   '' AS USER_JOB_XL,
492
			   RP.ID AS REF_ID,
493
			   RPN.STATUS AS STATUS_NEXT,
494
			   PLRP.STATUS AS STATUS_CURR,
495
			    RPC.STATUS_JOB AS STATUS_JOB,
496
			   A.BRANCH_CREATE,
497
			   A.DEP_CREATE,
498
			   A.REQ_LINE,
499
			     A.TC_NOTES,
500
				  A.SIGN_USER,
501
			   TL.TLFullName  AS SIGN_USER_NAME,
502
			   A.KT_NOTES,
503
			     A.IS_CHECKALL,
504
			   A.BASED_CONTENT, 
505
			   '' AS IS_TRANSFER,
506
			   --NGUOI XU LY
507
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
508
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
509
			-- SELECT END
510
		FROM PL_REQUEST_DOC A 	
511
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <>'U'	
512
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
513
		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') )
514
		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)	
515
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
516
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
517

    
518
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
519
		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')
520
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
521
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
522
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
523
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
524
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
525
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
526
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
527
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
528
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
529
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
530
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
531
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
532
		LEFT JOIN
533
		(
534
		
535
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
536
		FROM @lstREQUEST RE
537
		WHERE RE.REQ_ID=Results.REQ_ID
538
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
539
		STUFF((select ', ' + RE.TLNAME  
540
		FROM @lstREQUEST RE
541
		WHERE RE.REQ_ID=Results.REQ_ID
542
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
543
		FROM @lstREQUEST Results
544
		GROUP BY REQ_ID
545
		) NXL ON NXL.REQ_ID=A.REQ_ID
546

    
547
		WHERE 1 = 1
548
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
549
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
550
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
551
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
552
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
553
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
554
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
555
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
556
		
557
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
558
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
559
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
560
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
561
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
562
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
563
		AND A.RECORD_STATUS = '1'
564

    
565

    
566
--		AND(
567
--			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
568
--			OR
569
--				(
570
--					@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)
571
--				)
572
--				OR
573
--				(
574
--						@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)
575
--				)
576
--			)
577

    
578
		AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
579
			(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=''))
580
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
581
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
582
		))
583
		--AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) 
584
		--AND (
585
		--  (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='')) 
586
		--OR ( PLRP.DVDM_ID IN (SELECT DVDM_ID FROM @DVDM_ID))
587
		--OR
588
		--( (PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))	
589
		--)
590
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
591
		AND (PLRP.IS_HAS_CHILD=0 OR PLRP.IS_HAS_CHILD IS NULL)
592
		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 = '')
593
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
594
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
595
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
596
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
597
		--AND(
598
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
599
		--	OR
600
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
601
		--)
602

    
603
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
604
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
605
		
606
		-- GiaNT 20/10/2021
607
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
608
    AND (NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
609
		ORDER BY A.CREATE_DT DESC
610
	-- PAGING END
611
	END
612
	ELSE IF(@p_TYPE='TFJOB')
613
	BEGIN
614
		-- PAGING BEGIN
615
				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,
616
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
617

    
618
			   UDV.TLFullName AS CHECKER_NAME_DV,
619
			  
620
			   A.APPROVE_DT,
621
               A.PROCESS_ID,
622
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
623
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
624
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
625
			   G.BRANCH_CODE,
626
			   G.BRANCH_NAME,
627
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
628
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
629
			   UC.TLFullName AS MAKER_NAME,
630
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
631
			   RP.ROLE_USER, 
632
			   RP.NOTES AS PROCESS_STATUS , 
633
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
634
			   A.DVDM_APP_ID,
635
			   CD.DVDM_NAME AS DVDM_APP_NAME,
636
			   A.REQ_PARENT_ID,
637
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
638
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
639
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
640
			   A.BRANCH_FEE,
641
			   A.DEP_ID,
642
			   A.DEP_FEE,
643
			   DEP.DEP_NAME,
644
			   DEP.DEP_CODE,
645
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
646
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
647
			   DF.DEP_NAME AS DEP_FEE_NAME,
648
			   DF.DEP_CODE AS DEP_FEE_CODE,
649
			   '' AS BRANCH_DEP,
650
			   '' AS BRANCH_DEP_FEE,
651
			  CASE WHEN RPC.TYPE_JOB IS NULL OR RPC.TYPE_JOB ='' THEN 'TP' ELSE RPC.TYPE_JOB END AS TYPE_JOB,
652
			   RPC.TLNAME AS USER_JOB,
653
			   TU.TLFullName AS USER_JOB_NAME,
654
			   TFM.TLNANME AS TRANSFER_MAKER,
655
			    RPC.TRANFER_DT AS TRANFER_DT ,
656
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
657
			   A.EFFEC_DT,A.IS_BACKDAY,
658
			   '' AS TYPE_JOB_XL,
659
			   '' AS USER_JOB_XL,
660
			   PLRP.ID AS REF_ID,
661
			   RPN.STATUS AS STATUS_NEXT,
662
			   PLRP.STATUS AS STATUS_CURR,
663
			    RPC.STATUS_JOB AS STATUS_JOB,
664
			   A.BRANCH_CREATE,
665
			   A.DEP_CREATE,
666
			   A.REQ_LINE,
667
			   A.TC_NOTES,
668
			   A.SIGN_USER,
669
			   TL.TLFULLNAME AS SIGN_USER_NAME,
670
			   A.KT_NOTES,
671
			     A.IS_CHECKALL,
672
			   A.BASED_CONTENT, 
673
			   '' AS IS_TRANSFER,
674
			  --NGUOI XU LY
675
			 -- dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
676
			  NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES,A.TK_HDQT_NOTES, A.OTHER_NOTES
677
			-- SELECT END
678
		FROM PL_REQUEST_DOC A 	
679
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
680
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
681
		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') )
682
		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)	
683
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
684
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
685
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
686

    
687
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
688
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
689
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
690
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
691
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
692
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
693
		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')
694
		
695
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
696
	
697
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
698
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
699
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
700
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
701
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
702
		LEFT JOIN
703
		(
704
		
705
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
706
		FROM @lstREQUEST RE
707
		WHERE RE.REQ_ID=Results.REQ_ID
708
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
709
		STUFF((select ', ' + RE.TLNAME  
710
		FROM @lstREQUEST RE
711
		WHERE RE.REQ_ID=Results.REQ_ID
712
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
713
		FROM @lstREQUEST Results
714
		GROUP BY REQ_ID
715
		) NXL ON NXL.REQ_ID=A.REQ_ID
716
		WHERE 1 = 1
717
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
718
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
719
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
720
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
721
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
722
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
723
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
724
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
725
		
726
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
727
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
728
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
729
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
730
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
731
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
732
		AND A.RECORD_STATUS = '1'
733

    
734

    
735
--		AND(
736
--			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
737
--			OR
738
--				(
739
--					@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)
740
--				)
741
--				OR
742
--				(
743
--						@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)
744
--				)
745
--			)
746

    
747

    
748
		
749
		AND(
750
		
751
		EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
752
			(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=''))
753
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
754
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
755
		))
756
			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) ) )
757
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
758
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
759
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
760
		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 = '')
761
		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'))
762
		AND (
763
			((RPC.REQ_ID IS NOT NULL OR RPC.REQ_ID <> '') AND @p_IS_TRANSFER = 'Y')
764
			OR ((RPC.REQ_ID IS NULL OR RPC.REQ_ID = '') AND @p_IS_TRANSFER = 'N')
765
			OR @p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
766
			)
767
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
768
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
769

    
770
		-- GiaNT 20/10/2021
771
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
772
    AND (NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
773
	ORDER BY A.CREATE_DT DESC
774
	-- PAGING END
775
	END
776

    
777
	ELSE IF(@p_TYPE='XLTT')
778
	BEGIN
779
	-- PAGING BEGIN		
780
				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,
781
             A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
782

    
783
			   UDV.TLFullName AS CHECKER_NAME_DV,
784
			  
785
			   A.APPROVE_DT,
786
               A.PROCESS_ID,
787
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
788
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
789
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
790
			   G.BRANCH_CODE,
791
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
792
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
793
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
794
			   UC.TLFullName AS MAKER_NAME,
795
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
796
			   RPN.ROLE_USER, 
797
			   RP.NOTES AS PROCESS_STATUS , 
798
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
799
			   A.DVDM_APP_ID,
800
			   CD.DVDM_NAME AS DVDM_APP_NAME,
801
			   A.REQ_PARENT_ID,
802
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
803
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
804
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
805
			   A.BRANCH_FEE,
806
			   A.DEP_ID,
807
			   A.DEP_FEE,
808
			   DEP.DEP_NAME,
809
			   DEP.DEP_CODE,
810
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
811
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
812
			   DF.DEP_NAME AS DEP_FEE_NAME,
813
			   DF.DEP_CODE AS DEP_FEE_CODE,
814
			   '' AS BRANCH_DEP,
815
			   '' AS BRANCH_DEP_FEE,
816
			   
817

    
818

    
819
			   RPC.TYPE_JOB AS TYPE_JOB,
820
			   RPC.TLNAME AS USER_JOB,
821
			   TU.TLFullName AS USER_JOB_NAME,
822
			   TFM.TLNANME AS TRANSFER_MAKER,
823
			    RPC.TRANFER_DT AS TRANFER_DT ,
824
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
825
			   A.EFFEC_DT,A.IS_BACKDAY,
826
			   '' AS TYPE_JOB_XL,
827
			   '' AS USER_JOB_XL,
828
			   PLRP.ID AS REF_ID,
829
			   RPN.STATUS AS STATUS_NEXT,
830
			   PLRP.STATUS AS STATUS_CURR,
831
			   RPC.STATUS_JOB AS STATUS_JOB,
832
			   A.BRANCH_CREATE,
833
			   A.DEP_CREATE,
834
			   A.REQ_LINE,
835
			   A.TC_NOTES,
836
			   A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
837
			   A.KT_NOTES,
838
			     A.IS_CHECKALL,
839
			   A.BASED_CONTENT, 
840
			   '' AS IS_TRANSFER,
841
			   --NGUOI XU LY
842
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
843
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
844
			-- SELECT END
845
		FROM PL_REQUEST_DOC A 	
846
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <> 'U' 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 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)	
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
		LEFT JOIN
870
		(
871
		
872
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
873
		FROM @lstREQUEST RE
874
		WHERE RE.REQ_ID=Results.REQ_ID
875
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
876
		STUFF((select ', ' + RE.TLNAME  
877
		FROM @lstREQUEST RE
878
		WHERE RE.REQ_ID=Results.REQ_ID
879
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
880
		FROM @lstREQUEST Results
881
		GROUP BY REQ_ID
882
		) NXL ON NXL.REQ_ID=A.REQ_ID
883

    
884
		WHERE 1 = 1
885
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
886
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
887
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
888
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
889
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
890
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
891
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
892
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
893
		
894
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
895
	AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
896
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
897
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
898
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
899
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
900
		AND A.RECORD_STATUS = '1'
901

    
902

    
903
--		AND(
904
--			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
905
--			OR
906
--				(
907
--					@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)
908
--				)
909
--				OR
910
--				(
911
--						@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)
912
--				)
913
--			)
914

    
915

    
916
		
917
		AND(
918
		EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
919
			(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=''))
920
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
921
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
922
		)) 
923
		OR (EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID) ))
924
			AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
925
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
926
			AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
927
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 = '') 
928
	
929
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
930
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
931
		--AND(
932
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
933
		--	OR
934
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
935
		--)
936

    
937
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
938
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
939
		-- LUCTV 10 03 2021 BO SUNG DIEU KIENN NEU PHIEU CHUA DUOC DIEU PHOI THI SE KHONG TIM THAY O MAN HINH DVCM
940
		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'))) 
941
			OR (@p_NGUOIXULY IS NOT NULL AND @p_NGUOIXULY <> ''))
942

    
943
		-- GiaNT 20/10/2021
944
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
945
    AND (NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
946
	ORDER BY A.CREATE_DT DESC
947
	-- PAGING END
948
	END
949
	ELSE IF(@p_TYPE='DVKD_PARENT')
950
	BEGIN
951
	-- PAGING BEGIN
952
		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,
953
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
954
			   UDV.TLFullName AS CHECKER_NAME_DV,
955
			   A.APPROVE_DT,
956
               A.PROCESS_ID,
957
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
958
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
959
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
960
			   G.BRANCH_CODE,
961
			   G.BRANCH_NAME,
962
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
963
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
964
			   UC.TLFullName AS MAKER_NAME,
965
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
966
			   RP.ROLE_USER, 
967
			   RP.NOTES AS PROCESS_STATUS , 
968
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
969
			   A.DVDM_APP_ID,
970
			   CD.DVDM_NAME AS DVDM_APP_NAME,
971
			   A.REQ_PARENT_ID,
972
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
973
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
974
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
975
			   A.BRANCH_FEE,
976
			   A.DEP_ID,
977
			   A.DEP_FEE,
978
			   DEP.DEP_NAME,
979
			   DEP.DEP_CODE,
980
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
981
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
982
			   DF.DEP_NAME AS DEP_FEE_NAME,
983
			   DF.DEP_CODE AS DEP_FEE_CODE,
984
			   '' AS BRANCH_DEP,
985
			   '' AS BRANCH_DEP_FEE,
986
			   '' AS TYPE_JOB,
987
			   '' AS USER_JOB,
988
			   '' AS USER_JOB_NAME,
989
			   '' AS TRANSFER_MAKER,
990
			    A.CREATE_DT AS TRANFER_DT ,
991
				'' AS TRANSFER_MAKER_ID,
992
			   A.EFFEC_DT,A.IS_BACKDAY,
993
			   '' AS TYPE_JOB_XL,
994
			   '' AS USER_JOB_XL,
995
			   RP.ID AS REF_ID,
996
			   RPN.STATUS AS STATUS_NEXT,
997
			   RP.STATUS AS STATUS_CURR,
998
			   '' AS STATUS_JOB,
999
			   A.BRANCH_CREATE,
1000
			   A.DEP_CREATE,
1001
			   A.REQ_LINE,
1002
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1003
			   A.KT_NOTES,
1004
			     A.IS_CHECKALL,
1005
			   A.BASED_CONTENT, 
1006
			   '' AS IS_TRANSFER,
1007
			   --NGUOI XU LY
1008
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1009
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1010
		-- SELECT END
1011
		FROM PL_REQUEST_DOC A 		
1012
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1013
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1014
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1015

    
1016
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1017
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1018

    
1019
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1020
	
1021
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1022
		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') )
1023
		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)
1024
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1025
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1026
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1027
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1028
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1029
		LEFT JOIN
1030
		(
1031
		
1032
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1033
		FROM @lstREQUEST RE
1034
		WHERE RE.REQ_ID=Results.REQ_ID
1035
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1036
		STUFF((select ', ' + RE.TLNAME  
1037
		FROM @lstREQUEST RE
1038
		WHERE RE.REQ_ID=Results.REQ_ID
1039
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1040
		FROM @lstREQUEST Results
1041
		GROUP BY REQ_ID
1042
		) NXL ON NXL.REQ_ID=A.REQ_ID
1043
		WHERE 1 = 1
1044
		
1045
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1046
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1047
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1048
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1049
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1050
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1051
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1052
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1053
	
1054
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1055
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1056
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1057
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1058
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1059
		AND A.RECORD_STATUS = '1'
1060
		
1061
		AND(
1062
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1063
			OR
1064
				(
1065
					@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)
1066
				)
1067
				OR
1068
				(
1069
						@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)
1070
				)
1071
			)
1072

    
1073
		AND (  (A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1074

    
1075
		AND A.PROCESS_ID='APPROVE'
1076
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1077
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1078
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1079
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1080
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1081
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1082
		--AND(
1083
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1084
		--	OR
1085
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1086
		--)
1087

    
1088
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1089
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1090

    
1091
		-- GiaNT 20/10/2021
1092
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
1093
    AND (NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
1094
		ORDER BY A.CREATE_DT DESC
1095
	-- PAGING END
1096
	END
1097
	ELSE IF(@p_TYPE='DVKD_ISALL')
1098
	BEGIN	
1099
	-- PAGING BEGIN
1100
		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,
1101
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1102
			   UDV.TLFullName AS CHECKER_NAME_DV,
1103
			   A.APPROVE_DT,
1104
               A.PROCESS_ID,
1105
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1106
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1107
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1108
			   G.BRANCH_CODE,
1109
			   G.BRANCH_NAME,
1110
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1111
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1112
			   UC.TLFullName AS MAKER_NAME,
1113
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1114
			   RP.ROLE_USER, 
1115
			   RP.NOTES AS PROCESS_STATUS , 
1116
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1117
			   A.DVDM_APP_ID,
1118
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1119
			   A.REQ_PARENT_ID,
1120
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1121
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1122
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1123
			   A.BRANCH_FEE,
1124
			   A.DEP_ID,
1125
			   A.DEP_FEE,
1126
			   DEP.DEP_NAME,
1127
			   DEP.DEP_CODE,
1128
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1129
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1130
			   DF.DEP_NAME AS DEP_FEE_NAME,
1131
			   DF.DEP_CODE AS DEP_FEE_CODE,
1132
			   '' AS BRANCH_DEP,
1133
			   '' AS BRANCH_DEP_FEE,
1134
			   
1135

    
1136

    
1137
			   '' AS TYPE_JOB,
1138
			   '' AS USER_JOB,
1139
			   '' AS USER_JOB_NAME,
1140
			   '' AS TRANSFER_MAKER,
1141
			    A.CREATE_DT AS TRANFER_DT ,
1142
				'' AS TRANSFER_MAKER_ID,
1143
			   A.EFFEC_DT,A.IS_BACKDAY,
1144
			   '' AS TYPE_JOB_XL,
1145
			   '' AS USER_JOB_XL,
1146
			   RP.ID AS REF_ID,
1147
			   RPN.STATUS AS STATUS_NEXT,
1148
			   RP.STATUS AS STATUS_CURR,
1149
			   '' AS STATUS_JOB,
1150
			   A.BRANCH_CREATE,
1151
			   A.DEP_CREATE,
1152
			   A.REQ_LINE,
1153
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1154
			   A.KT_NOTES,
1155
			     A.IS_CHECKALL,
1156
			   A.BASED_CONTENT, 
1157
			   '' AS IS_TRANSFER,
1158
			   --NGUOI XU LY
1159
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1160
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1161
			-- SELECT END
1162
		FROM PL_REQUEST_DOC A 		
1163
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1164
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1165
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1166

    
1167
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1168
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1169

    
1170
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1171
	
1172
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1173
		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') )
1174
		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)
1175
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1176
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1177
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1178
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1179
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1180
		LEFT JOIN
1181
		(
1182
		
1183
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1184
		FROM @lstREQUEST RE
1185
		WHERE RE.REQ_ID=Results.REQ_ID
1186
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1187
		STUFF((select ', ' + RE.TLNAME  
1188
		FROM @lstREQUEST RE
1189
		WHERE RE.REQ_ID=Results.REQ_ID
1190
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1191
		FROM @lstREQUEST Results
1192
		GROUP BY REQ_ID
1193
		) NXL ON NXL.REQ_ID=A.REQ_ID
1194
		WHERE 1 = 1
1195
		
1196
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1197
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1198
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1199
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1200
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1201
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1202
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1203
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1204
	
1205
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1206
	AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1207
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1208
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1209
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1210
		AND A.RECORD_STATUS = '1'
1211
		
1212
		AND(
1213
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1214
			OR
1215
				(
1216
					@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)
1217
				)
1218
				OR
1219
				(
1220
						@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)
1221
				)
1222
			)
1223

    
1224
		AND A.IS_CHECKALL=1
1225

    
1226
		AND A.PROCESS_ID='APPROVE'
1227
	AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1228
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1229
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1230
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1231
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1232
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1233
		--AND(
1234
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1235
		--	OR
1236
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1237
		--)
1238

    
1239
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1240
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1241

    
1242
		-- GiaNT 20/10/2021
1243
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
1244

    
1245
		ORDER BY A.CREATE_DT DESC
1246
	-- PAGING END
1247
	END
1248
	ELSE IF(@p_TYPE='TTCT_DVCM')
1249
	BEGIN	
1250
	-- PAGING BEGIN
1251
		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,
1252
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1253
			   UDV.TLFullName AS CHECKER_NAME_DV,
1254
			   A.APPROVE_DT,
1255
               A.PROCESS_ID,
1256
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1257
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1258
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1259
			   G.BRANCH_CODE,
1260
			   G.BRANCH_NAME,
1261
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1262
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1263
			   UC.TLFullName AS MAKER_NAME,
1264
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1265
			   RP.ROLE_USER, 
1266
			   RP.NOTES AS PROCESS_STATUS , 
1267
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1268
			   A.DVDM_APP_ID,
1269
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1270
			   A.REQ_PARENT_ID,
1271
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1272
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1273
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1274
			   A.BRANCH_FEE,
1275
			   A.DEP_ID,
1276
			   A.DEP_FEE,
1277
			   DEP.DEP_NAME,
1278
			   DEP.DEP_CODE,
1279
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1280
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1281
			   DF.DEP_NAME AS DEP_FEE_NAME,
1282
			   DF.DEP_CODE AS DEP_FEE_CODE,
1283
			   '' AS BRANCH_DEP,
1284
			   '' AS BRANCH_DEP_FEE,
1285
			   
1286

    
1287

    
1288
			   '' AS TYPE_JOB,
1289
			   '' AS USER_JOB,
1290
			   '' AS USER_JOB_NAME,
1291
			   '' AS TRANSFER_MAKER,
1292
			    A.CREATE_DT AS TRANFER_DT ,
1293
				'' AS TRANSFER_MAKER_ID,
1294
			   A.EFFEC_DT,A.IS_BACKDAY,
1295
			   '' AS TYPE_JOB_XL,
1296
			   '' AS USER_JOB_XL,
1297
			   RP.ID AS REF_ID,
1298
			   RPN.STATUS AS STATUS_NEXT,
1299
			   RP.STATUS AS STATUS_CURR,
1300
			   '' AS STATUS_JOB,
1301
			   A.BRANCH_CREATE,
1302
			   A.DEP_CREATE,
1303
			   A.REQ_LINE,
1304
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1305
			   A.KT_NOTES,
1306
			     A.IS_CHECKALL,
1307
			   A.BASED_CONTENT, 
1308
			   '' AS IS_TRANSFER,
1309
			   --NGUOI XU LY
1310
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1311
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1312
		-- SELECT END
1313
		FROM PL_REQUEST_DOC A 		
1314
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1315
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1316
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1317

    
1318
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1319
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1320

    
1321
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1322
	
1323
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1324
		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') )
1325
		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)
1326
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1327
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1328
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1329
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1330
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1331
		LEFT JOIN
1332
		(
1333
		
1334
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1335
		FROM @lstREQUEST RE
1336
		WHERE RE.REQ_ID=Results.REQ_ID
1337
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1338
		STUFF((select ', ' + RE.TLNAME  
1339
		FROM @lstREQUEST RE
1340
		WHERE RE.REQ_ID=Results.REQ_ID
1341
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1342
		FROM @lstREQUEST Results
1343
		GROUP BY REQ_ID
1344
		) NXL ON NXL.REQ_ID=A.REQ_ID
1345
		WHERE 1 = 1
1346
		
1347
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1348
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1349
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1350
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1351
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1352
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1353
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1354
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1355
	
1356
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1357
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1358
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1359
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 	
1360
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1361
		AND A.RECORD_STATUS = '1'
1362
		
1363
		AND(
1364
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1365
			OR
1366
				(
1367
					@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)
1368
				)
1369
				OR
1370
				(
1371
						@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)
1372
				)
1373
			)
1374

    
1375
		AND (  
1376
		 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) )
1377
		)
1378

    
1379
		AND A.PROCESS_ID='APPROVE'
1380
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1381
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1382
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1383
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1384
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1385
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1386
		--AND(
1387
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1388
		--	OR
1389
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1390
		--)
1391

    
1392

    
1393
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1394
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1395

    
1396
		-- GiaNT 20/10/2021
1397
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
1398
		ORDER BY A.CREATE_DT DESC
1399
	-- PAGING END
1400
	END
1401
   END -- PAGING