Project

General

Profile

2.2.PL REQUEST DOC SEARCH.txt

Luc Tran Van, 11/24/2022 03:06 PM

 
1
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_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)= NULL,
26
@p_TYPE VARCHAR(15) = NULL,
27
@p_YEAR INT = NULL,
28
@p_TOP	INT = 10 ,
29
@p_IS_TRANSFER VARCHAR(10) = NULL,
30
@p_NGUOIXULY NVARCHAR(15) = NULL
31
AS
32
BEGIN -- PAGING
33

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

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

    
43

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

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

    
57

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

    
63

    
64

    
65
	DECLARE @AUTHOR TABLE
66
	(
67
		ROLE_ID VARCHAR(100),
68
		BRANCH_ID VARCHAR(20),
69
		DEP_ID VARCHAR(20)
70
	)
71
	DECLARE @AUTHOR_DVDM TABLE
72
	(
73
		ROLE_ID VARCHAR(100),
74
		BRANCH_ID VARCHAR(20),
75
		DEP_ID VARCHAR(20),
76
		DVDM_ID VARCHAR(20)
77
	)
78
	INSERT INTO @AUTHOR
79
	(
80
	    ROLE_ID,
81
	    BRANCH_ID,
82
	    DEP_ID
83
	)
84
	SELECT RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
85
	WHERE TLNANME=@p_TLNAME_USER
86
	UNION ALL
87
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
88
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
89
	WHERE TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
90
	UNION ALL
91
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
92
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
93
	UNION ALL
94
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
95
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
96
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
97

    
98
	INSERT INTO @AUTHOR_DVDM
99
	(
100
	    ROLE_ID,
101
	    BRANCH_ID,
102
	    DEP_ID,
103
	    DVDM_ID
104
	)
105
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
106
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
107
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
108
	WHERE TU.TLNANME=@p_TLNAME_USER
109
	UNION ALL
110
	SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
111
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
112
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
113
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
114
	WHERE TU.TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
115
	UNION ALL
116
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
117
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
118
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
119
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
120
	UNION ALL
121
	SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
122
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
123
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
124
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
125
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)	
126
	---- 16.11.22 LUCTV BO SUNG UNION NHUNG PHONG BAN CON CUA PHONG BAN DUOC KIEM NHIEM
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 CM_DEPARTMENT DP ON DP.FATHER_ID = TU.DEP_ID
130
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=DP.DEP_ID
131
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
132
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
133
	UNION ALL
134
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU
135
	LEFT JOIN CM_DEPARTMENT DP ON DP.FATHER_ID = TU.SECUR_CODE
136
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=DP.DEP_ID
137
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
138
	WHERE TU.TLNANME=@p_TLNAME_USER
139
	--- END LUCTV 16.11.2022
140
	INSERT INTO @COST_ID
141
	SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@p_BRANCH_LOGIN
142
	INSERT INTO @DVDM_ID
143
	SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID) GROUP BY DVDM_ID
144

    
145
	---- NGUOI XU lY TIEP THEO 18022021
146
			DECLARE @lstREQUEST TABLE (
147
			REQ_ID VARCHAR(20),
148
			PROCESS_ID VARCHAR(50),
149
			DVDM_NAME NVARCHAR(200),
150
			TLNAME VARCHAR(200),
151
			TLFullName NVARCHAR(200),
152
			NOTES NVARCHAR(200)
153
		)
154
		INSERT INTO @lstREQUEST
155
		( REQ_ID,PROCESS_ID, DVDM_NAME,TLNAME,TLFullName, NOTES)
156
		    SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM 
157
		(
158
      SELECT REQ_ID,PROCESS_ID,NOTES,ROLE_USER,BRANCH_ID,DEP_ID,STATUS,DVDM_ID
159
      FROM dbo.PL_REQUEST_PROCESS PRC
160
      WHERE PRC.STATUS = 'C'
161
        AND EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD WHERE PLRD.REQ_ID=PRC.REQ_ID) 
162
        AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID <>'SIGN'
163
        AND (PRC.IS_HAS_CHILD = 0  OR PRC.IS_HAS_CHILD IS NULL)
164
    ) PL
165
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
166
		LEFT JOIN 
167
		(
168
  		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
169
  		LEFT JOIN
170
      (
171
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID
172
        FROM dbo.PL_COSTCENTER PC 
173
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID
174
      ) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
175
  		UNION ALL
176
  		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
177
  		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
178
  		LEFT JOIN(
179
  		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
180
  		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
181
  		WHERE  CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
182
		) TempU ON (TempU.RoleName=PL.ROLE_USER 
183
      OR EXISTS(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE PL.ROLE_USER = TM.ROLE_NEW AND 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='') 
184
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
185
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
186
		LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
187
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
188
		WHERE PL.STATUS='C' 
189
		UNION ALL
190
		 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 
191
		(
192
      SELECT REQ_ID,PROCESS_ID,NOTES,ROLE_USER,BRANCH_ID,DEP_ID,STATUS,DVDM_ID
193
      FROM dbo.PL_REQUEST_PROCESS PRC WHERE PRC.STATUS = 'C' AND --GIANT 23/12/2021
194
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
195
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
196
		)  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
197
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
198
		LEFT JOIN 
199
		(
200
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
201
		LEFT JOIN(
202
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
203
		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
204
		) TempU ON (TempU.RoleName=PL.ROLE_USER  OR EXISTS(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE PL.ROLE_USER = TM.ROLE_NEW AND TM.ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME='')))  
205
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
206
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
207
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
208
		LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
209
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
210
		WHERE  STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
211

    
212
		UNION ALL
213
		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
214
		FROM 
215
		(
216
      SELECT REQ_ID,PROCESS_ID,NOTES,ROLE_USER,BRANCH_ID,DEP_ID,STATUS,IS_HAS_CHILD,DVDM_ID,ID
217
      FROM dbo.PL_REQUEST_PROCESS PRC WHERE 
218
			EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD 
219
			WHERE PLRD.REQ_ID=PRC.REQ_ID 
220

    
221
		)  AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID <>'SIGN' AND PRC.IS_HAS_CHILD = 1  ) PL
222
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
223
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
224
		LEFT JOIN 
225
		(
226
		SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
227
		LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
228
		WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
229
		)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
230
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
231
		LEFT JOIN 
232
			(
233
				SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
234
				LEFT JOIN(
235
				SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
236
				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
237
				UNION ALL
238
				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
239
				LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
240
				LEFT JOIN(
241
				SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
242
				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
243
				WHERE  CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
244
			) TempU ON (TempU.RoleName=PL.ROLE_USER  OR EXISTS(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE PL.ROLE_USER = TM.ROLE_NEW AND 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='') 
245
			AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
246
			AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
247
		WHERE  PL.STATUS='C'
248
		----- GIANT 23/12/2021
249
		IF(@p_FR_DATE IS NULL)
250
		BEGIN
251
			SET @p_FR_DATE = GETDATE()
252
			SET @p_FR_DATE = DATEADD(YEAR,-1,@p_FR_DATE)
253
		END
254
		-----
255
	IF(@p_TYPE='DVKD')
256
	BEGIN	
257
		-- PAGING BEGIN
258
		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,
259
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
260
			   UDV.TLFullName AS CHECKER_NAME_DV,
261
			   A.APPROVE_DT,
262
               A.PROCESS_ID,
263
			   --D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
264
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
265
			   --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,
266
			   CASE WHEN A.PROCESS_ID='APPROVE' OR A.AUTH_STATUS ='A' THEN N'Đã duyệt'
267
			   ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
268
			   G.BRANCH_CODE,
269
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
270
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
271
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
272
			   UC.TLFullName AS MAKER_NAME,
273
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
274
			   RP.ROLE_USER, 
275
			   RP.NOTES AS PROCESS_STATUS , 
276
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
277
			   A.DVDM_APP_ID,
278
			   CD.DVDM_NAME AS DVDM_APP_NAME,
279
			   A.REQ_PARENT_ID,
280
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
281
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
282
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
283
			   A.BRANCH_FEE,
284
			   A.DEP_ID,
285
			   A.DEP_FEE,
286
			   DEP.DEP_NAME,
287
			   DEP.DEP_CODE,
288
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
289
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
290
			   DF.DEP_NAME AS DEP_FEE_NAME,
291
			   DF.DEP_CODE AS DEP_FEE_CODE,
292
			   '' AS BRANCH_DEP,
293
			   '' AS BRANCH_DEP_FEE,
294
			   
295

    
296

    
297
			   '' AS TYPE_JOB,
298
			   '' AS USER_JOB,
299
			   '' AS USER_JOB_NAME,
300
			   '' AS TRANSFER_MAKER,
301
			    A.CREATE_DT AS TRANFER_DT ,
302
				'' AS TRANSFER_MAKER_ID,
303
			   A.EFFEC_DT,A.IS_BACKDAY,
304
			   '' AS TYPE_JOB_XL,
305
			   '' AS USER_JOB_XL,
306
			   RP.ID AS REF_ID,
307
			   RPN.STATUS AS STATUS_NEXT,
308
			   RP.STATUS AS STATUS_CURR,
309
			   '' AS STATUS_JOB,
310
			   A.BRANCH_CREATE,
311
			   A.DEP_CREATE,
312
			   A.REQ_LINE,
313
			   A.TC_NOTES,
314
			   A.SIGN_USER,
315
			   TL.TLFullName AS SIGN_USER_NAME,
316
			   A.KT_NOTES,
317
			   A.IS_CHECKALL,
318
			   A.BASED_CONTENT,
319
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
320
			   '' AS IS_TRANSFER,
321
			   --NGUOI XU LY
322
			  NXL.NGUOIXULY AS NGUOIXULY, A.TK_HDQT_NOTES, A.TK_TGD_NOTES, A.OTHER_NOTES
323
			 -- SELECT END 
324
		FROM PL_REQUEST_DOC A 	
325
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
326
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
327
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
328
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
329

    
330
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
331
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
332

    
333
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
334
	
335
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
336
		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') )
337
		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)
338
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
339
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
340
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
341
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
342
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
343
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
344
		LEFT JOIN
345
		(
346
		
347
			SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
348
			FROM @lstREQUEST RE
349
			WHERE RE.REQ_ID=Results.REQ_ID
350
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
351
			STUFF((select ', ' + RE.TLNAME  
352
			FROM @lstREQUEST RE
353
			WHERE RE.REQ_ID=Results.REQ_ID
354
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
355
			FROM @lstREQUEST Results
356
			GROUP BY REQ_ID
357
		) NXL ON NXL.REQ_ID=A.REQ_ID
358

    
359
		WHERE 1 = 1
360
		
361
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
362
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
363
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
364
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
365
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
366
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
367
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
368
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
369
		
370

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

    
373

    
374
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
375
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
376
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
377
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
378
		AND A.RECORD_STATUS = '1'
379
		
380
		AND(
381
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
382
			OR
383
				(
384
					@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)
385
				)
386
				OR
387
				(
388
						@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)
389
				)
390
			)
391

    
392
		AND    (A.MAKER_ID=@p_TLNAME_USER
393
        OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
394
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL'
395
          AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
396
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
397
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
398
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
399
			--	
400
				
401
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
402
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
403
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
404
			--
405

    
406

    
407
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
408
		--
409
		--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 = '')
410
		--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 ='')))))
411
		--
412
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
413
		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'))
414
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
415
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
416
			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'))
417
			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'))
418
			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'))
419
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
420
		)
421
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
422
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
423
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
424
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
425
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
426

    
427
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
428
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
429
		
430
		-- GIANT 26/10/2021
431
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
432

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

    
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
			   ISNULL(RP.ID,1) 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 (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
548
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
549
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
550
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
551
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
552
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
553
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
554
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
555
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @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 (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
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
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
564
--			OR(@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
565
--			OR(@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
566
--    )
567

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

    
593
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
594
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
595
		
596
		-- GIANT 26/10/2021
597
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
598
		AND (A.PROCESS_ID IN ('GDK_TT','PTGDK_TT','TGD','HDQT','GDK_DC','APPROVE','GDK_TC')) -- LUCTV 24.11.2022 BO SUNG DIEU KIEN DE CHAN KHONG CHO LANH DAO TIM KIEM NEU PHIEU CHUA TOI
599
		ORDER BY A.CREATE_DT DESC
600
	-- PAGING END
601
	END
602
	ELSE IF(@p_TYPE='TFJOB')
603
	BEGIN
604
		-- PAGING BEGIN
605
				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,
606
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
607

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

    
679
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
680
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
681
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
682
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
683
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
684
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
685
		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')
686
		
687
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
688
	
689
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
690
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
691
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
692
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
693
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
694
		LEFT JOIN
695
		(
696
		
697
			SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
698
			FROM @lstREQUEST RE
699
			WHERE RE.REQ_ID=Results.REQ_ID
700
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
701
			STUFF((select ', ' + RE.TLNAME  
702
			FROM @lstREQUEST RE
703
			WHERE RE.REQ_ID=Results.REQ_ID
704
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
705
			FROM @lstREQUEST Results
706
			GROUP BY REQ_ID
707
		) NXL ON NXL.REQ_ID=A.REQ_ID
708
		-- GIANT
709
		--LEFT JOIN (
710
		--	SELECT AB.ID,AB.REQ_ID,AB.PROCESS_ID,BC.TLFullName,AB.TLNAME FROM PL_REQUEST_PROCESS_CHILD AB LEFT JOIN TL_USER  BC ON AB.TLNAME = BC.TLNANME
711
			
712
		--) PLQ ON A.REQ_ID = PLQ.REQ_ID
713
		WHERE 1 = 1
714
		AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
715
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
716
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
717
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
718
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
719
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
720
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
721
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
722
		
723
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
724
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
725
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
726
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
727
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
728
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
729
		AND A.RECORD_STATUS = '1'
730
--
731
--
732
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
733
--			OR(@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
734
--			OR(@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
735
--    )
736
--
737
--
738
--		
739
    AND((EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER AND TYPE_JOB='KS' AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID))
740
      OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
741
      AND ((PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
742
  			OR PLRP.DVDM_ID=AUTH.DVDM_ID
743
  			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))))
744
    )
745
		AND(@p_FR_DATE IS NULL
746
      OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103)
747
    )
748
		AND(@p_TO_DATE IS NULL
749
      OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103)
750
    )
751
		AND(@p_YEAR IS NULL OR @p_YEAR=0
752
      OR YEAR(A.REQ_DT)=@p_YEAR
753
    )	
754
		AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
755
      OR (@p_AUTH_STATUS='A' AND  PLRP.STATUS='P') OR( @p_AUTH_STATUS='U' AND (PLRP.STATUS='C'))
756
    )
757
		AND (NOT EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD PRRC WHERE PRRC.PROCESS_ID=PLRP.ID AND PRRC.STATUS_JOB='C' AND PRRC.TYPE_JOB='TP'))
758
			AND (@p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
759
			OR (((RPC.REQ_ID IS NOT NULL AND RPC.REQ_ID <> '' AND (RPC.MAKER_ID =@p_TLNAME_USER OR @p_ROLE_USER ='KSV')) OR (EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = A.REQ_ID AND CHECKER_ID=@p_TLNAME_USER))) AND @p_IS_TRANSFER = 'Y') --- LUCTV 22-10-2022 LUCTV DIEU CHINH CACH XAC ĐỊNH ĐÃ ĐIỀU PHỐI / CHƯA ĐIỀU PHỐI
760
			OR (
761
					(@p_ROLE_USER ='KSV' AND ISNULL(RPC.REQ_ID,'') = '') OR (@p_ROLE_USER<> 'KSV' AND (ISNULL(RPC.REQ_ID,'') = '' OR (ISNULL(RPC.REQ_ID,'') <> '' AND RPC.MAKER_ID <> @p_TLNAME_USER)))
762
							AND @p_IS_TRANSFER = 'N')
763
    )
764
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
765
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' 
766
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
767
    )
768
--
769
--		---- GIANT 26/10/2021
770
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
771

    
772
		---- GIANT 
773
		--AND (A.BRANCH_CREATE = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
774
		--AND (A.DEP_CREATE = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
775

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

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

    
820

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

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

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

    
904

    
905
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
906
--			OR(@p_REQ_TYPE=1 AND EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
907
--			OR(@p_REQ_TYPE=0 AND NOT EXISTS(SELECT D.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT D WHERE D.REQDT_TYPE='O' AND D.REQ_ID=A.REQ_ID))
908
--    )
909

    
910

    
911
		
912
		AND(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID)
913
			OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
914
        AND ((PLRP.PROCESS_ID='DVDC' AND PLRP.BRANCH_ID=AUTH.BRANCH_ID AND (PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID=''))
915
				  OR PLRP.DVDM_ID=AUTH.DVDM_ID
916
				  OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID='')))
917
        )
918
	  )
919
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
920
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
921
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
922
		AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
923
      OR ( @p_AUTH_STATUS='TDV_APPROVED' AND  PLRP.STATUS='P')
924
			OR (@p_AUTH_STATUS = 'NV_XL' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'XL' AND X.STATUS_JOB = 'C'))
925
			OR (@p_AUTH_STATUS = 'KSV_APPROVE' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'KS' AND X.STATUS_JOB = 'C'))
926
			OR (@p_AUTH_STATUS = 'TDV_APPROVE' AND EXISTS(SELECT X.ID FROM dbo.PL_REQUEST_PROCESS_CHILD X WHERE X.PROCESS_ID = PLRP.ID AND X.TYPE_JOB = 'TP' AND X.STATUS_JOB = 'C'))
927
    ) 
928
	
929
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
930
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%'
931
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
932
    )
933
		--AND(
934
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
935
		--	OR
936
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
937
		--)
938

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

    
950
		-- GIANT 26/10/2021
951
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
952
	ORDER BY A.CREATE_DT DESC
953
	-- PAGING END
954
	END
955
	ELSE IF(@p_TYPE='DVKD_PARENT')
956
	BEGIN
957
	-- PAGING BEGIN
958
		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,
959
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
960
			   UDV.TLFullName AS CHECKER_NAME_DV,
961
			   A.APPROVE_DT,
962
               A.PROCESS_ID,
963
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
964

    
965
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
966
			   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,
967

    
968
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
969
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
970
			   G.BRANCH_CODE,
971
			   G.BRANCH_NAME,
972
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
973
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
974
			   UC.TLFullName AS MAKER_NAME,
975
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
976
			   RP.ROLE_USER, 
977
			   RP.NOTES AS PROCESS_STATUS , 
978
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
979
			   A.DVDM_APP_ID,
980
			   CD.DVDM_NAME AS DVDM_APP_NAME,
981
			   A.REQ_PARENT_ID,
982
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
983
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
984
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
985
			   A.BRANCH_FEE,
986
			   A.DEP_ID,
987
			   A.DEP_FEE,
988
			   DEP.DEP_NAME,
989
			   DEP.DEP_CODE,
990
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
991
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
992
			   DF.DEP_NAME AS DEP_FEE_NAME,
993
			   DF.DEP_CODE AS DEP_FEE_CODE,
994
			   '' AS BRANCH_DEP,
995
			   '' AS BRANCH_DEP_FEE,
996
			   '' AS TYPE_JOB,
997
			   '' AS USER_JOB,
998
			   '' AS USER_JOB_NAME,
999
			   '' AS TRANSFER_MAKER,
1000
			    A.CREATE_DT AS TRANFER_DT ,
1001
				'' AS TRANSFER_MAKER_ID,
1002
			   A.EFFEC_DT,A.IS_BACKDAY,
1003
			   '' AS TYPE_JOB_XL,
1004
			   '' AS USER_JOB_XL,
1005
			   --RP.ID AS REF_ID,
1006
			   0 AS REF_ID,
1007
			   RPN.STATUS AS STATUS_NEXT,
1008
			   RP.STATUS AS STATUS_CURR,
1009
			   '' AS STATUS_JOB,
1010
			   A.BRANCH_CREATE,
1011
			   A.DEP_CREATE,
1012
			   A.REQ_LINE,
1013
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1014
			   A.KT_NOTES,
1015
			   A.BASED_CONTENT, 
1016
			   A.IS_CHECKALL,
1017
			   -- GIANT 23/12/2021
1018
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
1019
			   '' AS IS_TRANSFER,
1020
			   --NGUOI XU LY
1021
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1022
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
1023
				(SELECT TOP 1 BB.YEAR  FROM PL_REQUEST_DOC_DT AA LEFT JOIN PL_MASTER BB ON AA.PLAN_ID = BB.PLAN_ID WHERE AA.REQ_ID = A.REQ_ID) AS NAMNGANSACH
1024
		-- SELECT END
1025
		FROM PL_REQUEST_DOC A 		
1026
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1027
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1028
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1029

    
1030
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1031
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1032

    
1033
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1034
	
1035
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1036
		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') )
1037
		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)
1038
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1039
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1040
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1041
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1042
		-- GIANT 23/12/2021
1043
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
1044

    
1045
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1046
		LEFT JOIN
1047
		(
1048
		
1049
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1050
		FROM @lstREQUEST RE
1051
		WHERE RE.REQ_ID=Results.REQ_ID
1052
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1053
		STUFF((select ', ' + RE.TLNAME  
1054
		FROM @lstREQUEST RE
1055
		WHERE RE.REQ_ID=Results.REQ_ID
1056
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1057
		FROM @lstREQUEST Results
1058
		GROUP BY REQ_ID
1059
		) NXL ON NXL.REQ_ID=A.REQ_ID
1060
		WHERE 1 = 1
1061
		
1062
	    --AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1063
		--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1064
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1065
		--AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')	
1066

    
1067
		--AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1068
		--AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1069
		--AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1070
		--AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1071
		--AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1072
		--AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1073
		--AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1074
	
1075
		--AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1076
		--AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1077
		--AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1078
		--AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1079
		--AND A.RECORD_STATUS = '1'
1080
		
1081
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1082
		AND(
1083
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1084
			OR
1085
				(
1086
					@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)
1087
				)
1088
				OR
1089
				(
1090
					@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)
1091
				)
1092
			)
1093

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

    
1096
		--AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1097
		--AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1098
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1099
		--AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1100
		--AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1101
		--	OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1102
		--AND(
1103
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1104
		--	OR
1105
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1106
		--)
1107

    
1108
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1109
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1110
		--AND (A.MAKER_ID = @p_TLNAME_USER)
1111

    
1112
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1113
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1114
		--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS' OR A.BRANCH_ID =@p_BRANCH_ID OR A.BRANCH_CREATE =@p_BRANCH_ID OR A.BRANCH_CREATE =@p_BRANCH_LOGIN )) OR A.IS_CHECKALL=1 OR A.MAKER_ID =@p_TLNAME_USER)
1115
		----------BAODNQ 25/10/2022 : FIX POPUP TÌM KIẾM TTCT Ở PYCMS--------------------
1116
		----------NẾU KO PH TT TOÀN HÀNG THÌ CHỈ TÌM KIẾM DC TTCT THEO PHÒNG BAN NẾU Ở HỘI SỞ-----
1117
		AND (
1118
			(A.BRANCH_CREATE = @p_BRANCH_LOGIN 
1119
				AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')
1120
			) 
1121
			OR A.IS_CHECKALL=1 OR A.MAKER_ID =@p_TLNAME_USER OR A.MAKER_ID =@p_MAKER_ID --- LUCTV 02.11.2022 HOTFIX LỖI KHÔNG SEARCH ĐC TTCT DO CODE KHÔNG TRUYỀN @p_TLNAME_USER XUỐNG
1122
		)
1123
		---------------------------------END BAODNQ-------------------------
1124
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1125
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1126
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
1127
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
1128

    
1129
		ORDER BY A.CREATE_DT DESC
1130
	-- PAGING END
1131
	END
1132
	ELSE IF(@p_TYPE='DVKD_ISALL')
1133
	BEGIN	
1134
	-- PAGING BEGIN
1135
		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,
1136
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1137
			   UDV.TLFullName AS CHECKER_NAME_DV,
1138
			   A.APPROVE_DT,
1139
               A.PROCESS_ID,
1140
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1141
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1142
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1143
			   G.BRANCH_CODE,
1144
			   G.BRANCH_NAME,
1145
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1146
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1147
			   UC.TLFullName AS MAKER_NAME,
1148
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1149
			   RP.ROLE_USER, 
1150
			   RP.NOTES AS PROCESS_STATUS , 
1151
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1152
			   A.DVDM_APP_ID,
1153
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1154
			   A.REQ_PARENT_ID,
1155
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1156
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1157
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1158
			   A.BRANCH_FEE,
1159
			   A.DEP_ID,
1160
			   A.DEP_FEE,
1161
			   DEP.DEP_NAME,
1162
			   DEP.DEP_CODE,
1163
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1164
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1165
			   DF.DEP_NAME AS DEP_FEE_NAME,
1166
			   DF.DEP_CODE AS DEP_FEE_CODE,
1167
			   '' AS BRANCH_DEP,
1168
			   '' AS BRANCH_DEP_FEE,
1169
			   
1170

    
1171

    
1172
			   '' AS TYPE_JOB,
1173
			   '' AS USER_JOB,
1174
			   '' AS USER_JOB_NAME,
1175
			   '' AS TRANSFER_MAKER,
1176
			    A.CREATE_DT AS TRANFER_DT ,
1177
				'' AS TRANSFER_MAKER_ID,
1178
			   A.EFFEC_DT,A.IS_BACKDAY,
1179
			   '' AS TYPE_JOB_XL,
1180
			   '' AS USER_JOB_XL,
1181
			   RP.ID AS REF_ID,
1182
			   RPN.STATUS AS STATUS_NEXT,
1183
			   RP.STATUS AS STATUS_CURR,
1184
			   '' AS STATUS_JOB,
1185
			   A.BRANCH_CREATE,
1186
			   A.DEP_CREATE,
1187
			   A.REQ_LINE,
1188
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1189
			   A.KT_NOTES,
1190
			     A.IS_CHECKALL,
1191
			   A.BASED_CONTENT, 
1192
			   '' AS IS_TRANSFER,
1193
			   --NGUOI XU LY
1194
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1195
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1196
			-- SELECT END
1197
		FROM PL_REQUEST_DOC A 		
1198
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1199
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1200
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1201

    
1202
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1203
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1204

    
1205
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1206
	
1207
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1208
		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') )
1209
		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)
1210
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1211
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1212
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1213
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1214
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1215
		LEFT JOIN
1216
		(
1217
		
1218
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1219
		FROM @lstREQUEST RE
1220
		WHERE RE.REQ_ID=Results.REQ_ID
1221
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1222
		STUFF((select ', ' + RE.TLNAME  
1223
		FROM @lstREQUEST RE
1224
		WHERE RE.REQ_ID=Results.REQ_ID
1225
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1226
		FROM @lstREQUEST Results
1227
		GROUP BY REQ_ID
1228
		) NXL ON NXL.REQ_ID=A.REQ_ID
1229
		WHERE 1 = 1
1230
		
1231
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1232
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1233
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1234
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1235
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1236
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1237
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1238
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1239
	
1240
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1241
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1242
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1243
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1244
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1245
		AND A.RECORD_STATUS = '1'
1246
		
1247
		AND(
1248
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1249
			OR
1250
				(
1251
					@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)
1252
				)
1253
				OR
1254
				(
1255
						@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)
1256
				)
1257
			)
1258

    
1259
		AND A.IS_CHECKALL=1
1260

    
1261
		AND A.PROCESS_ID='APPROVE'
1262
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1263
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1264
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1265
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1266
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1267
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1268
		--AND(
1269
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1270
		--	OR
1271
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1272
		--)
1273

    
1274
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1275
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1276
		
1277
		-- GIANT 26/10/2021
1278
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1279

    
1280
		ORDER BY A.CREATE_DT DESC
1281
	-- PAGING END
1282
	END
1283
	ELSE IF(@p_TYPE='TTCT_DVCM')
1284
	BEGIN	
1285
	-- PAGING BEGIN
1286
		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,
1287
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1288
			   UDV.TLFullName AS CHECKER_NAME_DV,
1289
			   A.APPROVE_DT,
1290
               A.PROCESS_ID,
1291
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1292
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1293
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1294
			   G.BRANCH_CODE,
1295
			   G.BRANCH_NAME,
1296
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1297
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1298
			   UC.TLFullName AS MAKER_NAME,
1299
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1300
			   RP.ROLE_USER, 
1301
			   RP.NOTES AS PROCESS_STATUS , 
1302
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1303
			   A.DVDM_APP_ID,
1304
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1305
			   A.REQ_PARENT_ID,
1306
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1307
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1308
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1309
			   A.BRANCH_FEE,
1310
			   A.DEP_ID,
1311
			   A.DEP_FEE,
1312
			   DEP.DEP_NAME,
1313
			   DEP.DEP_CODE,
1314
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1315
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1316
			   DF.DEP_NAME AS DEP_FEE_NAME,
1317
			   DF.DEP_CODE AS DEP_FEE_CODE,
1318
			   '' AS BRANCH_DEP,
1319
			   '' AS BRANCH_DEP_FEE,
1320
			   
1321

    
1322

    
1323
			   '' AS TYPE_JOB,
1324
			   '' AS USER_JOB,
1325
			   '' AS USER_JOB_NAME,
1326
			   '' AS TRANSFER_MAKER,
1327
			    A.CREATE_DT AS TRANFER_DT ,
1328
				'' AS TRANSFER_MAKER_ID,
1329
			   A.EFFEC_DT,A.IS_BACKDAY,
1330
			   '' AS TYPE_JOB_XL,
1331
			   '' AS USER_JOB_XL,
1332
			   RP.ID AS REF_ID,
1333
			   RPN.STATUS AS STATUS_NEXT,
1334
			   RP.STATUS AS STATUS_CURR,
1335
			   '' AS STATUS_JOB,
1336
			   A.BRANCH_CREATE,
1337
			   A.DEP_CREATE,
1338
			   A.REQ_LINE,
1339
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1340
			   A.KT_NOTES,
1341
			     A.IS_CHECKALL,
1342
			   A.BASED_CONTENT, 
1343
			   '' AS IS_TRANSFER,
1344
			   --NGUOI XU LY
1345
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1346
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1347
		-- SELECT END
1348
		FROM PL_REQUEST_DOC A 		
1349
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1350
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1351
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1352

    
1353
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1354
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1355

    
1356
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1357
	
1358
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1359
		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') )
1360
		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)
1361
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1362
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1363
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1364
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1365
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1366
		LEFT JOIN
1367
		(
1368
		
1369
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1370
		FROM @lstREQUEST RE
1371
		WHERE RE.REQ_ID=Results.REQ_ID
1372
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1373
		STUFF((select ', ' + RE.TLNAME  
1374
		FROM @lstREQUEST RE
1375
		WHERE RE.REQ_ID=Results.REQ_ID
1376
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1377
		FROM @lstREQUEST Results
1378
		GROUP BY REQ_ID
1379
		) NXL ON NXL.REQ_ID=A.REQ_ID
1380
		WHERE 1 = 1
1381
		
1382
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1383
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1384
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1385
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1386
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1387
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1388
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1389
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1390
	
1391
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1392
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1393
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1394
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 	
1395
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1396
		AND A.RECORD_STATUS = '1'
1397
		
1398
		AND(
1399
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1400
			OR
1401
				(
1402
					@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)
1403
				)
1404
				OR
1405
				(
1406
						@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)
1407
				)
1408
			)
1409

    
1410
		AND (  
1411
		 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) )
1412
		)
1413

    
1414
		AND A.PROCESS_ID='APPROVE'
1415
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1416
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1417
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1418
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1419
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1420
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1421
		--AND(
1422
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1423
		--	OR
1424
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1425
		--)
1426

    
1427

    
1428
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1429
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1430

    
1431
		-- GIANT 26/10/2021
1432
		AND (A.REQ_ID IN (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
1433

    
1434
		ORDER BY A.CREATE_DT DESC
1435
	-- PAGING END
1436
	END
1437
	ELSE IF(@p_TYPE='REQ_PARENT')
1438
	BEGIN	
1439
		-- PAGING BEGIN
1440
		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,
1441
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1442
			   UDV.TLFullName AS CHECKER_NAME_DV,
1443
			   A.APPROVE_DT,
1444
               A.PROCESS_ID,
1445
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1446
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1447
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1448
			G.BRANCH_CODE,
1449
			   G.BRANCH_NAME,
1450
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1451
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1452
			   UC.TLFullName AS MAKER_NAME,
1453
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1454
			   RP.ROLE_USER, 
1455
			   RP.NOTES AS PROCESS_STATUS , 
1456
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1457
			   A.DVDM_APP_ID,
1458
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1459
			   A.REQ_PARENT_ID,
1460
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1461
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1462
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1463
			   A.BRANCH_FEE,
1464
			   A.DEP_ID,
1465
			   A.DEP_FEE,
1466
			   DEP.DEP_NAME,
1467
			   DEP.DEP_CODE,
1468
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1469
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1470
			   DF.DEP_NAME AS DEP_FEE_NAME,
1471
			   DF.DEP_CODE AS DEP_FEE_CODE,
1472
			   '' AS BRANCH_DEP,
1473
			   '' AS BRANCH_DEP_FEE,
1474
			   
1475
			   '' AS TYPE_JOB,
1476
			   '' AS USER_JOB,
1477
			   '' AS USER_JOB_NAME,
1478
			   '' AS TRANSFER_MAKER,
1479
			    A.CREATE_DT AS TRANFER_DT ,
1480
				'' AS TRANSFER_MAKER_ID,
1481
			   A.EFFEC_DT,A.IS_BACKDAY,
1482
			   '' AS TYPE_JOB_XL,
1483
			   '' AS USER_JOB_XL,
1484
			   RP.ID AS REF_ID,
1485
			   RPN.STATUS AS STATUS_NEXT,
1486
			   RP.STATUS AS STATUS_CURR,
1487
			   '' AS STATUS_JOB,
1488
			   A.BRANCH_CREATE,
1489
			   A.DEP_CREATE,
1490
			   A.REQ_LINE,
1491
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1492
			   A.KT_NOTES,
1493
			     A.IS_CHECKALL,
1494
			   A.BASED_CONTENT, 
1495
			   '' AS IS_TRANSFER,
1496
			   --NGUOI XU LY
1497
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1498
			    NXL.NGUOIXULY AS NGUOIXULY
1499
				,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1500
		-- SELECT END
1501
		FROM PL_REQUEST_DOC A 		
1502
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1503
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1504
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1505
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1506
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1507
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1508
	
1509
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1510
		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') )
1511
		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)
1512
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1513
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1514
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1515
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1516
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1517
		LEFT JOIN
1518
		(
1519
		
1520
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1521
		FROM @lstREQUEST RE
1522
		WHERE RE.REQ_ID=Results.REQ_ID
1523
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1524
		STUFF((select ', ' + RE.TLNAME  
1525
		FROM @lstREQUEST RE
1526
		WHERE RE.REQ_ID=Results.REQ_ID
1527
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1528
		FROM @lstREQUEST Results
1529
		GROUP BY REQ_ID
1530
		) NXL ON NXL.REQ_ID=A.REQ_ID
1531
		WHERE 1 = 1 
1532
		AND A.REQ_PARENT_ID =@p_REQ_ID
1533
		ORDER BY A.CREATE_DT DESC
1534
		-- PAGING END
1535
	END
1536
	ELSE IF(@p_TYPE='LINK_TTCT')
1537
	BEGIN	
1538
		-- PAGING BEGIN
1539
		-- đoạn dưới chưa làm
1540
		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,
1541
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1542
			   UDV.TLFullName AS CHECKER_NAME_DV,
1543
			   A.APPROVE_DT,
1544
               A.PROCESS_ID,
1545
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1546
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1547
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1548
			G.BRANCH_CODE,
1549
			   G.BRANCH_NAME,
1550
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1551
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1552
			   UC.TLFullName AS MAKER_NAME,
1553
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1554
			   RP.ROLE_USER, 
1555
			   RP.NOTES AS PROCESS_STATUS , 
1556
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1557
			   A.DVDM_APP_ID,
1558
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1559
			   A.REQ_PARENT_ID,
1560
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1561
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1562
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1563
			   A.BRANCH_FEE,
1564
			   A.DEP_ID,
1565
			   A.DEP_FEE,
1566
			   DEP.DEP_NAME,
1567
			   DEP.DEP_CODE,
1568
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1569
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1570
			   DF.DEP_NAME AS DEP_FEE_NAME,
1571
			   DF.DEP_CODE AS DEP_FEE_CODE,
1572
			   '' AS BRANCH_DEP,
1573
			   '' AS BRANCH_DEP_FEE,
1574
			   
1575
			   '' AS TYPE_JOB,
1576
			   '' AS USER_JOB,
1577
			   '' AS USER_JOB_NAME,
1578
			   '' AS TRANSFER_MAKER,
1579
			    A.CREATE_DT AS TRANFER_DT ,
1580
				'' AS TRANSFER_MAKER_ID,
1581
			   A.EFFEC_DT,A.IS_BACKDAY,
1582
			   '' AS TYPE_JOB_XL,
1583
			   '' AS USER_JOB_XL,
1584
			   RP.ID AS REF_ID,
1585
			   RPN.STATUS AS STATUS_NEXT,
1586
			   RP.STATUS AS STATUS_CURR,
1587
			   '' AS STATUS_JOB,
1588
			   A.BRANCH_CREATE,
1589
			   A.DEP_CREATE,
1590
			   A.REQ_LINE,
1591
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1592
			   A.KT_NOTES,
1593
			     A.IS_CHECKALL,
1594
			   A.BASED_CONTENT, 
1595
			   '' AS IS_TRANSFER,
1596
			   --NGUOI XU LY
1597
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1598
			    NXL.NGUOIXULY AS NGUOIXULY
1599
				,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1600
		-- SELECT END
1601
		FROM PL_REQUEST_DOC A 		
1602
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1603
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1604
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1605
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1606
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1607
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1608
	
1609
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1610
		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') )
1611
		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)
1612
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1613
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1614
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1615
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1616
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1617
		LEFT JOIN
1618
		(
1619
		
1620
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1621
		FROM @lstREQUEST RE
1622
		WHERE RE.REQ_ID=Results.REQ_ID
1623
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1624
		STUFF((select ', ' + RE.TLNAME  
1625
		FROM @lstREQUEST RE
1626
		WHERE RE.REQ_ID=Results.REQ_ID
1627
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1628
		FROM @lstREQUEST Results
1629
		GROUP BY REQ_ID
1630
		) NXL ON NXL.REQ_ID=A.REQ_ID
1631
		WHERE 1 = 1 
1632
		AND A.REQ_PARENT_ID =@p_REQ_ID
1633
		ORDER BY A.CREATE_DT DESC
1634
		-- PAGING END
1635
	END
1636
	ELSE IF(@p_TYPE='DVKD_XDCB')
1637
	BEGIN
1638
	-- PAGING BEGIN
1639
		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,
1640
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1641
			   UDV.TLFullName AS CHECKER_NAME_DV,
1642
			   A.APPROVE_DT,
1643
               A.PROCESS_ID,
1644
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1645

    
1646
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1647
			   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,
1648

    
1649
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1650
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1651
			   G.BRANCH_CODE,
1652
			   G.BRANCH_NAME,
1653
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1654
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1655
			   UC.TLFullName AS MAKER_NAME,
1656
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1657
			   RP.ROLE_USER, 
1658
			   RP.NOTES AS PROCESS_STATUS , 
1659
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1660
			   A.DVDM_APP_ID,
1661
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1662
			   A.REQ_PARENT_ID,
1663
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1664
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1665
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1666
			   A.BRANCH_FEE,
1667
			   A.DEP_ID,
1668
			   A.DEP_FEE,
1669
			   DEP.DEP_NAME,
1670
			   DEP.DEP_CODE,
1671
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1672
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1673
			   DF.DEP_NAME AS DEP_FEE_NAME,
1674
			   DF.DEP_CODE AS DEP_FEE_CODE,
1675
			   '' AS BRANCH_DEP,
1676
			   '' AS BRANCH_DEP_FEE,
1677
			   '' AS TYPE_JOB,
1678
			   '' AS USER_JOB,
1679
			   '' AS USER_JOB_NAME,
1680
			   '' AS TRANSFER_MAKER,
1681
			    A.CREATE_DT AS TRANFER_DT ,
1682
				'' AS TRANSFER_MAKER_ID,
1683
			   A.EFFEC_DT,A.IS_BACKDAY,
1684
			   '' AS TYPE_JOB_XL,
1685
			   '' AS USER_JOB_XL,
1686
			   --RP.ID AS REF_ID,
1687
			   0 AS REF_ID,
1688
			   RPN.STATUS AS STATUS_NEXT,
1689
			   RP.STATUS AS STATUS_CURR,
1690
			   '' AS STATUS_JOB,
1691
			   A.BRANCH_CREATE,
1692
			   A.DEP_CREATE,
1693
			   A.REQ_LINE,
1694
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1695
			   A.KT_NOTES,
1696
			   A.BASED_CONTENT, 
1697
			   A.IS_CHECKALL,
1698
			   -- GIANT 23/12/2021
1699
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
1700
			   '' AS IS_TRANSFER,
1701
			   --NGUOI XU LY
1702
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1703
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
1704
				(SELECT TOP 1 BB.YEAR  FROM PL_REQUEST_DOC_DT AA LEFT JOIN PL_MASTER BB ON AA.PLAN_ID = BB.PLAN_ID WHERE AA.REQ_ID = A.REQ_ID) AS NAMNGANSACH
1705
		-- SELECT END
1706
		FROM PL_REQUEST_DOC A 		
1707
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1708
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1709
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1710

    
1711
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1712
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1713

    
1714
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1715
	
1716
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1717
		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') )
1718
		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)
1719
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1720
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1721
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1722
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1723
		-- GIANT 23/12/2021
1724
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
1725

    
1726
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1727
		LEFT JOIN
1728
		(
1729
		
1730
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1731
		FROM @lstREQUEST RE
1732
		WHERE RE.REQ_ID=Results.REQ_ID
1733
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1734
		STUFF((select ', ' + RE.TLNAME  
1735
		FROM @lstREQUEST RE
1736
		WHERE RE.REQ_ID=Results.REQ_ID
1737
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1738
		FROM @lstREQUEST Results
1739
		GROUP BY REQ_ID
1740
		) NXL ON NXL.REQ_ID=A.REQ_ID
1741
		WHERE 1 = 1
1742
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1743
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1744
		AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1745
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1746
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1747
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
1748
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
1749
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1750
		AND(
1751
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1752
			OR
1753
				(
1754
					@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)
1755
				)
1756
				OR
1757
				(
1758
					@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)
1759
				)
1760
			)
1761
		AND (EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
1762

    
1763
		ORDER BY A.CREATE_DT DESC
1764
	-- PAGING END
1765
	END
1766
   END -- PAGING
1767

    
1768

    
1769

    
1770

    
1771

    
1772