Project

General

Profile

PL_REQUEST_TRANSFER_Search.txt

Luc Tran Van, 11/17/2022 09:47 AM

 
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 PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL'
374
          AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
375
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
376
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
377
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
378
			--	
379
				
380
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
381
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
382
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
383
			--
384

    
385

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

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

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

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

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

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

    
481

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

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

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

    
564

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

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

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

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

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

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

    
733

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

    
746

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

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

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

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

    
816

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

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

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

    
900

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

    
913

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

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

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

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

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

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

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

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

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

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

    
1133

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

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

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

    
1221
		AND A.IS_CHECKALL=1
1222

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

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

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

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

    
1284

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

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

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

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

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

    
1389

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

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