Project

General

Profile

PL_REQUEST_TRANSFER_Search.txt

Luc Tran Van, 10/18/2022 05:29 PM

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

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

    
39
AS
40
BEGIN -- PAGING
41

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

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

    
51

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

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

    
70

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

    
76

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

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

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

    
144
	---- NGUOI XU lY TIEP THEO 18022021
145
			DECLARE @lstREQUEST TABLE (
146
			REQ_ID VARCHAR(20),
147
			PROCESS_ID VARCHAR(50),
148
			DVDM_NAME NVARCHAR(200),
149
			TLNAME VARCHAR(200),
150
			TLFullName NVARCHAR(200),
151
			NOTES NVARCHAR(200)
152
		)
153
		INSERT INTO @lstREQUEST
154
		( REQ_ID,PROCESS_ID, DVDM_NAME,TLNAME,TLFullName, NOTES)
155
		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 
156
		(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC WHERE 
157
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
158
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
159

    
160
		) 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
161
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
162
		LEFT JOIN 
163
		(
164
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
165
		LEFT JOIN(
166
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
167
		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
168
		UNION ALL
169
		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
170
		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
171
		LEFT JOIN(
172
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
173
		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
174
		WHERE  CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
175
		) 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='') 
176
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
177
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
178
		LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
179
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
180
		WHERE PL.STATUS='C' 
181
		UNION ALL
182
		 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 
183
		(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC WHERE 
184
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
185
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
186
		)  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
187
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
188
		LEFT JOIN 
189
		(
190
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
191
		LEFT JOIN(
192
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
193
		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
194
		) 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='')))  
195
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
196
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
197
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
198
		LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
199
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
200
		WHERE  STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
201

    
202
		UNION ALL
203
		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
204
		FROM 
205
		(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC WHERE 
206
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
207
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
208

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

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

    
278

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

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

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

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

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

    
384

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

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

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

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

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

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

    
480

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

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

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

    
563

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

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

    
601
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
602
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
603
		
604
		-- GiaNT 20/10/2021
605
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
606

    
607
		ORDER BY A.CREATE_DT DESC
608
	-- PAGING END
609
	END
610
	ELSE IF(@p_TYPE='TFJOB')
611
	BEGIN
612
		-- PAGING BEGIN
613
				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,
614
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
615

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

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

    
732

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

    
745

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

    
768
		-- GiaNT 20/10/2021
769
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
770
	ORDER BY A.CREATE_DT DESC
771
	-- PAGING END
772
	END
773

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

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

    
815

    
816
			   RPC.TYPE_JOB AS TYPE_JOB,
817
			   RPC.TLNAME AS USER_JOB,
818
			   TU.TLFullName AS USER_JOB_NAME,
819
			   TFM.TLNANME AS TRANSFER_MAKER,
820
			    RPC.TRANFER_DT AS TRANFER_DT ,
821
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
822
			   A.EFFEC_DT,A.IS_BACKDAY,
823
			   '' AS TYPE_JOB_XL,
824
			   '' AS USER_JOB_XL,
825
			   PLRP.ID AS REF_ID,
826
			   RPN.STATUS AS STATUS_NEXT,
827
			   PLRP.STATUS AS STATUS_CURR,
828
			   RPC.STATUS_JOB AS STATUS_JOB,
829
			   A.BRANCH_CREATE,
830
			   A.DEP_CREATE,
831
			   A.REQ_LINE,
832
			   A.TC_NOTES,
833
			   A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
834
			   A.KT_NOTES,
835
			     A.IS_CHECKALL,
836
			   A.BASED_CONTENT, 
837
			   '' AS IS_TRANSFER,
838
			   --NGUOI XU LY
839
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
840
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
841
			-- SELECT END
842
		FROM PL_REQUEST_DOC A 	
843
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <> 'U' AND PLRP.IS_HAS_CHILD=1
844
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
845
		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') )
846
		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)	
847
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
848
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
849
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
850

    
851
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
852
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
853
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
854
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
855
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
856
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
857
		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')
858
		
859
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
860
	
861
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
862
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
863
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
864
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
865
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
866
		LEFT JOIN
867
		(
868
		
869
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
870
		FROM @lstREQUEST RE
871
		WHERE RE.REQ_ID=Results.REQ_ID
872
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
873
		STUFF((select ', ' + RE.TLNAME  
874
		FROM @lstREQUEST RE
875
		WHERE RE.REQ_ID=Results.REQ_ID
876
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
877
		FROM @lstREQUEST Results
878
		GROUP BY REQ_ID
879
		) NXL ON NXL.REQ_ID=A.REQ_ID
880

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

    
899

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

    
912

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

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

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

    
1012
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1013
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1014

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

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

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

    
1084
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1085
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1086

    
1087
		-- GiaNT 20/10/2021
1088
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
1089

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

    
1132

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

    
1163
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1164
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1165

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

    
1220
		AND A.IS_CHECKALL=1
1221

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

    
1235
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1236
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1237

    
1238
		-- GiaNT 20/10/2021
1239
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
1240

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

    
1283

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

    
1314
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1315
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1316

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

    
1371
		AND (  
1372
		 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) )
1373
		)
1374

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

    
1388

    
1389
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1390
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1391

    
1392
		-- GiaNT 20/10/2021
1393
		AND (A.REQ_ID IN( SELECT REQ_DOC_ID FROM PL_REQUEST_TRANSFER) )
1394
		ORDER BY A.CREATE_DT DESC
1395
	-- PAGING END
1396
	END
1397
   END -- PAGING