Project

General

Profile

[GSOFT - BVBANK].1.12032025. Stored PL_REQUEST_DOC_Search.txt

Luc Tran Van, 03/12/2025 03:24 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
	IF((@DEP_ID IS NULL OR @DEP_ID = '') AND @p_TYPE = 'DVKD_PARENT') -- 06032025_SECRETKEY : NGUYENTD NẾU DEP_ID NULL THÌ LẤY THEO USER ĐĂNG NHẬP
57
	BEGIN
58
		SET @DEP_ID = (SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID)
59
	END
60

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

    
66

    
67

    
68
	DECLARE @AUTHOR TABLE
69
	(
70
		ROLE_ID VARCHAR(100),
71
		BRANCH_ID VARCHAR(20),
72
		DEP_ID VARCHAR(20)
73
	)
74
	DECLARE @AUTHOR_DVDM TABLE
75
	(
76
		ROLE_ID VARCHAR(100),
77
		BRANCH_ID VARCHAR(20),
78
		DEP_ID VARCHAR(20),
79
		DVDM_ID VARCHAR(20)
80
	)
81
	INSERT INTO @AUTHOR
82
	(
83
	    ROLE_ID,
84
	    BRANCH_ID,
85
	    DEP_ID
86
	)
87
	SELECT RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
88
	WHERE TLNANME=@p_TLNAME_USER
89
	UNION ALL
90
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU ---- LUCTV 03072023_SECRETKEY: FIX LỖI ISNULL ROLE
91
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
92
	WHERE TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
93
	UNION ALL
94
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
95
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
96
	UNION ALL
97
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
98
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
99
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
100
	---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES 04072023_secretkey - 05072023_secretkey
101
	UNION ALL
102
	SELECT RL.DisplayName AS RoleName ,TL.TLSUBBRID,TL.SECUR_CODE FROM TL_USER TL
103
	INNER JOIN AbpUserRoles UR ON TL.ID = UR.UserId
104
	INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
105
	WHERE TL.TLNANME =@p_TLNAME_USER
106

    
107
	INSERT INTO @AUTHOR_DVDM
108
	(
109
	    ROLE_ID,
110
	    BRANCH_ID,
111
	    DEP_ID,
112
	    DVDM_ID
113
	)
114
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
115
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
116
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
117
	WHERE TU.TLNANME=@p_TLNAME_USER
118
	UNION ALL
119
	SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
120
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
121
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
122
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
123
	WHERE TU.TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
124
	UNION ALL
125
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
126
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
127
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
128
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
129
	UNION ALL
130
	SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
131
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
132
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
133
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
134
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)	
135
	---- 16.11.22 LUCTV BO SUNG UNION NHUNG PHONG BAN CON CUA PHONG BAN DUOC KIEM NHIEM
136
	UNION ALL
137
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
138
	LEFT JOIN CM_DEPARTMENT DP ON DP.FATHER_ID = TU.DEP_ID
139
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=DP.DEP_ID
140
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
141
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
142
	UNION ALL
143
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU
144
	LEFT JOIN CM_DEPARTMENT DP ON DP.FATHER_ID = TU.SECUR_CODE
145
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=DP.DEP_ID
146
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
147
	WHERE TU.TLNANME=@p_TLNAME_USER
148
	---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
149
	UNION ALL
150
	SELECT RL.DisplayName AS RoleName ,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM TL_USER TU
151
	INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
152
	INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
153
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
154
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
155
	WHERE TU.TLNANME =@p_TLNAME_USER
156
	---
157
	--UPDATE @AUTHOR_DVDM SET ROLE_ID ='' WHERE ROLE_ID IS NULL ---28112023_SECRETKEY: UPDATE NULL VỀ '' ĐỂ TRÁNH LỖI SO SÁNH
158
	---
159
	--- END LUCTV 16.11.2022
160
	INSERT INTO @COST_ID
161
	SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@p_BRANCH_LOGIN
162
	INSERT INTO @DVDM_ID
163
	SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID) GROUP BY DVDM_ID
164
		----- GIANT 23/12/2021
165
	IF(@p_FR_DATE IS NULL)
166
	BEGIN
167
			SET @p_FR_DATE = GETDATE()
168
			SET @p_FR_DATE = DATEADD(YEAR,-1,@p_FR_DATE)
169
	END
170
	--IF(@p_REQ_CODE IS NOT NULL OR @p_REQ_CODE <> '' OR @p_REQ_ID <> '' AND @p_REQ_ID IS NOT NULL )
171
	--BEGIN
172
	--		SET @p_FR_DATE = GETDATE()
173
	--		SET @p_FR_DATE = DATEADD(YEAR,-10,@p_FR_DATE)
174
	--END
175
		-----
176
	IF(@p_TYPE='DVKD')
177
	BEGIN	
178
		-- PAGING BEGIN
179
		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,
180
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
181
			   UDV.TLFullName AS CHECKER_NAME_DV,
182
			   A.APPROVE_DT,
183
               A.PROCESS_ID,
184
			   --D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
185
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
186
			   --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,
187
			   CASE WHEN A.PROCESS_ID='APPROVE' OR A.AUTH_STATUS ='A' THEN N'Đã duyệt'
188
			   ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
189
			   G.BRANCH_CODE,
190
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
191
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
192
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
193
			   UC.TLFullName AS MAKER_NAME,
194
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
195
			   RP.ROLE_USER, 
196
			   RP.NOTES AS PROCESS_STATUS , 
197
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
198
			   A.DVDM_APP_ID,
199
			   CD.DVDM_NAME AS DVDM_APP_NAME,
200
			   A.REQ_PARENT_ID,
201
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
202
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
203
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
204
			   A.BRANCH_FEE,
205
			   A.DEP_ID,
206
			   A.DEP_FEE,
207
			   DEP.DEP_NAME,
208
			   DEP.DEP_CODE,
209
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
210
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
211
			   DF.DEP_NAME AS DEP_FEE_NAME,
212
			   DF.DEP_CODE AS DEP_FEE_CODE,
213
			   '' AS BRANCH_DEP,
214
			   '' AS BRANCH_DEP_FEE,
215
			   
216

    
217

    
218
			   '' AS TYPE_JOB,
219
			   '' AS USER_JOB,
220
			   '' AS USER_JOB_NAME,
221
			   '' AS TRANSFER_MAKER,
222
			    A.CREATE_DT AS TRANFER_DT ,
223
				'' AS TRANSFER_MAKER_ID,
224
			   A.EFFEC_DT,A.IS_BACKDAY,
225
			   '' AS TYPE_JOB_XL,
226
			   '' AS USER_JOB_XL,
227
			   RP.ID AS REF_ID,
228
			   RPN.STATUS AS STATUS_NEXT,
229
			   RP.STATUS AS STATUS_CURR,
230
			   '' AS STATUS_JOB,
231
			   A.BRANCH_CREATE,
232
			   A.DEP_CREATE,
233
			   A.REQ_LINE,
234
			   A.TC_NOTES,
235
			   A.SIGN_USER,
236
			   TL.TLFullName AS SIGN_USER_NAME,
237
			   A.KT_NOTES,
238
			   A.IS_CHECKALL,
239
			   A.BASED_CONTENT,
240
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
241
			   '' AS IS_TRANSFER,
242
			   --NGUOI XU LY
243
			  NXL.NGUOIXULY AS NGUOIXULY, A.TK_HDQT_NOTES, A.TK_TGD_NOTES, A.OTHER_NOTES
244
			 -- SELECT END 
245
		FROM PL_REQUEST_DOC A 	
246
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
247
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
248
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
249
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
250

    
251
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
252
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
253

    
254
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
255
	
256
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
257
		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') )
258
		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)
259
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
260
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
261
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
262
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
263
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
264
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
265
		OUTER APPLY
266
		(
267
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
268
		) NXL
269
		WHERE 1 = 1
270
		
271
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
272
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
273
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
274
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
275
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
276
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
277
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
278
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
279
		
280

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

    
283

    
284
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
285
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
286
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
287
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
288
		AND A.RECORD_STATUS = '1'
289
		
290
		AND(
291
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
292
			OR
293
				(
294
					@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)
295
				)
296
				OR
297
				(
298
						@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)
299
				)
300
			)
301

    
302
		AND    (A.MAKER_ID=@p_TLNAME_USER 
303
        OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
304
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL' AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
305
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
306
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
307
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
308
			--	
309
				
310
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
311
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
312
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
313
			--
314

    
315

    
316
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
317
		--
318
		--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 = '')
319
		--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 ='')))))
320
		--
321
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
322
		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'))
323
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
324
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
325
			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'))
326
			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'))
327
			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'))
328
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
329
		)
330
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
331
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
332
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
333
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
334
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
335

    
336
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
337
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
338
		
339
		-- GIANT 26/10/2021
340
		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))
341

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

    
345
		ORDER BY A.CREATE_DT DESC
346
	-- PAGING END
347
	END
348
	ELSE IF(@p_TYPE='PDTT')
349
	BEGIN
350
		-- PAGING BEGIN
351
		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,
352
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
353

    
354
			   UDV.TLFullName AS CHECKER_NAME_DV,
355
			  
356
			   A.APPROVE_DT,
357
               A.PROCESS_ID,
358
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
359
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
360
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
361
			   G.BRANCH_CODE,
362
			   G.BRANCH_NAME,
363
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
364
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
365
			   UC.TLFullName AS MAKER_NAME,
366
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
367
			   RPN.ROLE_USER, 
368
			   RP.NOTES AS PROCESS_STATUS , 
369
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
370
			   A.DVDM_APP_ID,
371
			   CD.DVDM_NAME AS DVDM_APP_NAME,
372
			   A.REQ_PARENT_ID,
373
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
374
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
375
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
376
			   A.BRANCH_FEE,
377
			   A.DEP_ID,
378
			   A.DEP_FEE,
379
			   DEP.DEP_NAME,
380
			   DEP.DEP_CODE,
381
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
382
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
383
			   DF.DEP_NAME AS DEP_FEE_NAME,
384
			   DF.DEP_CODE AS DEP_FEE_CODE,
385
			   '' AS BRANCH_DEP,
386
			   '' AS BRANCH_DEP_FEE,
387
			   
388

    
389

    
390
			   RPC.TYPE_JOB AS TYPE_JOB,
391
			   RPC.TLNAME AS USER_JOB,
392
			   TU.TLFullName AS USER_JOB_NAME,
393
			   TFM.TLNANME AS TRANSFER_MAKER,
394
			    RPC.TRANFER_DT AS TRANFER_DT ,
395
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
396
			   A.EFFEC_DT,A.IS_BACKDAY,
397
			   '' AS TYPE_JOB_XL,
398
			   '' AS USER_JOB_XL,
399
			   --RP.ID AS REF_ID,
400
			   ISNULL(RP.ID,1) AS REF_ID,
401
			   RPN.STATUS AS STATUS_NEXT,
402
			   PLRP.STATUS AS STATUS_CURR,
403
			    RPC.STATUS_JOB AS STATUS_JOB,
404
			   A.BRANCH_CREATE,
405
			   A.DEP_CREATE,
406
			   A.REQ_LINE,
407
			     A.TC_NOTES,
408
				  A.SIGN_USER,
409
			   TL.TLFullName  AS SIGN_USER_NAME,
410
			   A.KT_NOTES,
411
			     A.IS_CHECKALL,
412
			   A.BASED_CONTENT, 
413
			   '' AS IS_TRANSFER,
414
			   --NGUOI XU LY
415
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
416
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
417
			-- SELECT END
418
		FROM PL_REQUEST_DOC A 	
419
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <>'U'	
420
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
421
		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') )
422
		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)	
423
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
424
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
425

    
426
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
427
		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')
428
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
429
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
430
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
431
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
432
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
433
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
434
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
435
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
436
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
437
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
438
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
439
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
440
		OUTER APPLY
441
		(
442
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
443
		) NXL 
444

    
445
		WHERE 1 = 1
446
	  AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
447
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
448
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
449
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
450
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
451
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
452
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
453
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
454
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
455
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
456
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
457
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
458
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
459
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
460
		AND A.RECORD_STATUS = '1'
461

    
462
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
463
--			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))
464
--			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))
465
--    )
466

    
467
		AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
468
			(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=''))
469
			OR PLRP.DVDM_ID=AUTH.DVDM_ID
470
			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
471
		))
472
		--AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) 
473
		--AND (
474
		--  (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='')) 
475
		--OR ( PLRP.DVDM_ID IN (SELECT DVDM_ID FROM @DVDM_ID))
476
		--OR
477
		--( (PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))	
478
		--)
479
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
480
		AND (PLRP.IS_HAS_CHILD=0 OR PLRP.IS_HAS_CHILD IS NULL)
481
		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 = '')
482
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
483
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
484
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
485
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
486
		--AND(
487
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
488
		--	OR
489
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
490
		--)
491

    
492
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
493
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
494
		
495
		-- GIANT 26/10/2021
496
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
497
		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
498
		ORDER BY A.CREATE_DT DESC
499
	-- PAGING END
500
	END
501
	ELSE IF(@p_TYPE='TFJOB')
502
	BEGIN
503
		-- PAGING BEGIN
504
			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,
505
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
506

    
507
			   UDV.TLFullName AS CHECKER_NAME_DV,
508
			  
509
			   A.APPROVE_DT,
510
               A.PROCESS_ID,
511
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
512
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
513
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
514
			   G.BRANCH_CODE,
515
			   G.BRANCH_NAME,
516
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
517
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
518
			   UC.TLFullName AS MAKER_NAME,
519
			   PLRP.PROCESS_ID AS PROCESS_ID_NEXT,
520
			   RP.ROLE_USER, 
521
			   RP.NOTES AS PROCESS_STATUS , 
522
			   PLRP.NOTES AS PROCESS_STATUS_NEXT,
523
			   A.DVDM_APP_ID,
524
			   CD.DVDM_NAME AS DVDM_APP_NAME,
525
			   A.REQ_PARENT_ID,
526
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
527
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
528
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
529
			   A.BRANCH_FEE,
530
			   A.DEP_ID,
531
			   A.DEP_FEE,
532
			   DEP.DEP_NAME,
533
			   DEP.DEP_CODE,
534
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
535
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
536
			   DF.DEP_NAME AS DEP_FEE_NAME,
537
			   DF.DEP_CODE AS DEP_FEE_CODE,
538
			   '' AS BRANCH_DEP,
539
			   '' AS BRANCH_DEP_FEE,
540
			  CASE WHEN RPC.TYPE_JOB IS NULL OR RPC.TYPE_JOB ='' THEN 'TP' ELSE RPC.TYPE_JOB END AS TYPE_JOB,
541
			   RPC.TLNAME AS USER_JOB,
542
			   TU.TLFullName AS USER_JOB_NAME,
543
			   TFM.TLNANME AS TRANSFER_MAKER,
544
			    RPC.TRANFER_DT AS TRANFER_DT ,
545
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
546
			   A.EFFEC_DT,A.IS_BACKDAY,
547
			   '' AS TYPE_JOB_XL,
548
			   '' AS USER_JOB_XL,
549
			   PLRP.ID AS REF_ID,
550
			   PLRP.STATUS AS STATUS_NEXT,
551
			   PLRP.STATUS AS STATUS_CURR,
552
			    RPC.STATUS_JOB AS STATUS_JOB,
553
			   A.BRANCH_CREATE,
554
			   A.DEP_CREATE,
555
			   A.REQ_LINE,
556
			   A.TC_NOTES,
557
			   A.SIGN_USER,
558
			   TL.TLFULLNAME AS SIGN_USER_NAME,
559
			   A.KT_NOTES,
560
			     A.IS_CHECKALL,
561
			   A.BASED_CONTENT, 
562
			   '' AS IS_TRANSFER,
563
			  --NGUOI XU LY
564
			 -- dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
565
			  NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES,A.TK_HDQT_NOTES, A.OTHER_NOTES
566
			  --PLQ.TLFullName CHECKER_NAME_DV 
567
			-- SELECT END
568
		FROM PL_REQUEST_DOC A 	
569
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
570
		--LEFT JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
571
--		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
572
--		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') )
573
		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)	
574
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
575
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
576
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
577

    
578
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
579
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
580
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
581
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
582
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
583
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
584
		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')
585
		
586
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
587
	
588
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
589
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
590
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
591
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
592
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
593
		OUTER APPLY
594
		(
595
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
596
		) NXL
597
		-- GIANT
598
		--LEFT JOIN (
599
		--	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
600
			
601
		--) PLQ ON A.REQ_ID = PLQ.REQ_ID
602
		WHERE 1 = 1
603
		AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
604
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
605
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
606
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
607
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
608
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
609
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
610
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
611
		
612
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
613
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
614
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
615
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
616
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
617
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
618
		AND A.RECORD_STATUS = '1'	
619
		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))
620
		OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
621
		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=''))
622
  			OR PLRP.DVDM_ID=AUTH.DVDM_ID
623
  			OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))))
624
		)
625
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR @p_REQ_ID IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103)) --- 29112023_SECRETKEY FIX LỖI NẾU ĐÃ TRUYỀN ID XUỐNG THÌ KHÔNG CARE NGÀY THÁNG
626
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
627
		AND(@p_YEAR IS NULL OR @p_YEAR=0  OR YEAR(A.REQ_DT)=@p_YEAR)	
628
			AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
629
		  OR (@p_AUTH_STATUS='A' AND  PLRP.STATUS='P') OR( @p_AUTH_STATUS='U' AND (PLRP.STATUS='C'))
630
		)
631
			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' AND PRRC.REQ_ID=@p_REQ_ID))
632
				AND (@p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
633
				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
634
				OR (
635
						(@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)))
636
								AND @p_IS_TRANSFER = 'N')
637
		)
638
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
639
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' 
640
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
641
    )
642
		---- GIANT 26/10/2021
643
		--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))
644
		---- GIANT 
645
		--AND (A.BRANCH_CREATE = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
646
		--AND (A.DEP_CREATE = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
647
	ORDER BY A.CREATE_DT DESC
648
	-- PAGING END
649
	END
650
	ELSE IF(@p_TYPE='XLTT')
651
	BEGIN
652
	-- PAGING BEGIN		
653
				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,
654
             A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
655

    
656
			   UDV.TLFullName AS CHECKER_NAME_DV,
657
			  
658
			   A.APPROVE_DT,
659
               A.PROCESS_ID,
660
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
661
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
662
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
663
			   G.BRANCH_CODE,
664
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
665
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
666
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
667
			   UC.TLFullName AS MAKER_NAME,
668
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
669
			   RPN.ROLE_USER, 
670
			   RP.NOTES AS PROCESS_STATUS , 
671
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
672
			   A.DVDM_APP_ID,
673
			   CD.DVDM_NAME AS DVDM_APP_NAME,
674
			   A.REQ_PARENT_ID,
675
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
676
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
677
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
678
			   A.BRANCH_FEE,
679
			   A.DEP_ID,
680
			   A.DEP_FEE,
681
			   DEP.DEP_NAME,
682
			   DEP.DEP_CODE,
683
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
684
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
685
			   DF.DEP_NAME AS DEP_FEE_NAME,
686
			   DF.DEP_CODE AS DEP_FEE_CODE,
687
			   '' AS BRANCH_DEP,
688
			   '' AS BRANCH_DEP_FEE,
689
			   RPC.TYPE_JOB AS TYPE_JOB,
690
			   RPC.TLNAME AS USER_JOB,
691
			   TU.TLFullName AS USER_JOB_NAME,
692
			   TFM.TLNANME AS TRANSFER_MAKER,
693
			    RPC.TRANFER_DT AS TRANFER_DT ,
694
				RPC.MAKER_ID AS TRANSFER_MAKER_ID,
695
			   A.EFFEC_DT,A.IS_BACKDAY,
696
			   '' AS TYPE_JOB_XL,
697
			   '' AS USER_JOB_XL,
698
			   PLRP.ID AS REF_ID,
699
			   RPN.STATUS AS STATUS_NEXT,
700
			   PLRP.STATUS AS STATUS_CURR,
701
			   RPC.STATUS_JOB AS STATUS_JOB,
702
			   A.BRANCH_CREATE,
703
			   A.DEP_CREATE,
704
			   A.REQ_LINE,
705
			   A.TC_NOTES,
706
			   A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
707
			   A.KT_NOTES,
708
			     A.IS_CHECKALL,
709
			   A.BASED_CONTENT, 
710
			   '' AS IS_TRANSFER,
711
			   --NGUOI XU LY
712
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
713
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
714
			-- SELECT END
715
		FROM PL_REQUEST_DOC A 	
716
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <> 'U' AND PLRP.IS_HAS_CHILD=1
717
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
718
		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') )
719
		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)	
720
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
721
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
722
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
723

    
724
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
725
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
726
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
727
		LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
728
		LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
729
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
730
		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')
731
		
732
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
733
	
734
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
735
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
736
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
737
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
738
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
739
		OUTER APPLY
740
		(
741
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
742
		) NXL
743

    
744
		WHERE 1 = 1
745
		AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
746
		AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
747
		AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
748
		AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
749
		AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
750
		AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')	
751
--		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
752
		AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
753
		
754
		AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
755
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
756
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
757
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
758
		AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
759
		--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
760
		AND A.RECORD_STATUS = '1'
761

    
762

    
763
--		AND(@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
764
--			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))
765
--			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))
766
--    )
767

    
768

    
769
		
770
		AND(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID)
771
			OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
772
        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=''))
773
				  OR PLRP.DVDM_ID=AUTH.DVDM_ID
774
				  OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID='')))
775
        )
776
	  )
777
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
778
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
779
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
780
		AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
781
      OR ( @p_AUTH_STATUS='TDV_APPROVED' AND  PLRP.STATUS='P')
782
			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'))
783
			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'))
784
			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'))
785
    ) 
786
	
787
		AND(@p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
788
      OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%'
789
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%'
790
    )
791
		--AND(
792
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
793
		--	OR
794
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
795
		--)
796

    
797
		--
798
		AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''
799
      OR A.BRANCH_ID = @p_BRANCH_ID
800
    )
801
		AND (@p_DEP_ID IS NULL OR @p_DEP_ID = ''
802
      OR A.DEP_ID = @p_DEP_ID
803
    )
804
		-- LUCTV 10 03 2021 BO SUNG DIEU KIENN NEU PHIEU CHUA DUOC DIEU PHOI THI SE KHONG TIM THAY O MAN HINH DVCM
805
		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'))) 
806
			OR (@p_NGUOIXULY IS NOT NULL AND @p_NGUOIXULY <> '')
807
		OR EXISTS(SELECT * FROM @AUTHOR WHERE ROLE_ID ='TKTGD')) --- LUCTV 11042024_SECRETKEY: BỔ SUNG CHO PHÉP TKTGD THẤY NHỮNG TỜ TRÌNH ĐÃ DUYỆT
808

    
809
		-- GIANT 26/10/2021
810
		AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
811
	ORDER BY A.CREATE_DT DESC
812
	-- PAGING END
813
	END
814
	ELSE IF(@p_TYPE='DVKD_PARENT')
815
	BEGIN
816
	-- PAGING BEGIN
817
		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,
818
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
819
			   UDV.TLFullName AS CHECKER_NAME_DV,
820
			   A.APPROVE_DT,
821
               A.PROCESS_ID,
822
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
823

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

    
827
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
828
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
829
			   G.BRANCH_CODE,
830
			   G.BRANCH_NAME,
831
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
832
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
833
			   UC.TLFullName AS MAKER_NAME,
834
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
835
			   RP.ROLE_USER, 
836
			   RP.NOTES AS PROCESS_STATUS , 
837
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
838
			   A.DVDM_APP_ID,
839
			   CD.DVDM_NAME AS DVDM_APP_NAME,
840
			   A.REQ_PARENT_ID,
841
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
842
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
843
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
844
			   A.BRANCH_FEE,
845
			   A.DEP_ID,
846
			   A.DEP_FEE,
847
			   DEP.DEP_NAME,
848
			   DEP.DEP_CODE,
849
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
850
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
851
			   DF.DEP_NAME AS DEP_FEE_NAME,
852
			   DF.DEP_CODE AS DEP_FEE_CODE,
853
			   '' AS BRANCH_DEP,
854
			   '' AS BRANCH_DEP_FEE,
855
			   '' AS TYPE_JOB,
856
			   '' AS USER_JOB,
857
			   '' AS USER_JOB_NAME,
858
			   '' AS TRANSFER_MAKER,
859
			    A.CREATE_DT AS TRANFER_DT ,
860
				'' AS TRANSFER_MAKER_ID,
861
			   A.EFFEC_DT,A.IS_BACKDAY,
862
			   '' AS TYPE_JOB_XL,
863
			   '' AS USER_JOB_XL,
864
			   --RP.ID AS REF_ID,
865
			   0 AS REF_ID,
866
			   RPN.STATUS AS STATUS_NEXT,
867
			   RP.STATUS AS STATUS_CURR,
868
			   '' AS STATUS_JOB,
869
			   A.BRANCH_CREATE,
870
			   A.DEP_CREATE,
871
			   A.REQ_LINE,
872
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
873
			   A.KT_NOTES,
874
			   A.BASED_CONTENT, 
875
			   A.IS_CHECKALL,
876
			   -- GIANT 23/12/2021
877
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
878
			   '' AS IS_TRANSFER,
879
			   --NGUOI XU LY
880
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
881
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
882
				(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
883
		-- SELECT END
884
		FROM PL_REQUEST_DOC A 		
885
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
886
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
887
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
888

    
889
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
890
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
891

    
892
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
893
	
894
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
895
		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') )
896
		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)
897
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
898
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
899
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
900
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
901
		-- GIANT 23/12/2021
902
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
903

    
904
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
905
		OUTER APPLY
906
		(
907
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
908
		) NXL
909
		WHERE 1 = 1
910
		
911
	    --AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
912
		--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
913
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
914
		--AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')	
915

    
916
		--AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
917
		--AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
918
		--AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
919
		--AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
920
		--AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
921
		--AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
922
		--AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
923
	
924
		--AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
925
		--AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
926
		--AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
927
		--AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
928
		--AND A.RECORD_STATUS = '1'
929
		
930
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
931
		AND(
932
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
933
			OR
934
				(
935
					@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)
936
				)
937
				OR
938
				(
939
					@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)
940
				)
941
			)
942

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

    
945
		--AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
946
		--AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
947
		--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
948
		--AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
949
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
950
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
951
		--AND(
952
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
953
		--	OR
954
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
955
		--)
956

    
957
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
958
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
959
		--AND (A.MAKER_ID = @p_TLNAME_USER)
960

    
961
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
962
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
963
		--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)
964
		----------BAODNQ 25/10/2022 : FIX POPUP TÌM KIẾM TTCT Ở PYCMS--------------------
965
		----------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Ở-----
966
		AND (
967
			(A.BRANCH_CREATE = @p_BRANCH_LOGIN 
968
				AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')
969
			) 
970
			OR A.IS_CHECKALL=1 OR A.MAKER_ID =@p_TLNAME_USER OR A.MAKER_ID =@p_MAKER_ID OR A.DEP_CREATE=@DEP_ID--- LUCTV 02.11.2022 HOTFIX LỖI KHÔNG SEARCH ĐC TTCT DO CODE KHÔNG TRUYỀN @p_TLNAME_USER XUỐNG
971
		) --- LUCTV 08052024_SECRETKEY
972
		---------------------------------END BAODNQ-------------------------
973
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
974
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
975
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
976
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
977

    
978
		ORDER BY A.CREATE_DT DESC
979
	-- PAGING END
980
	END
981
	ELSE IF(@p_TYPE='DVKD_ISALL')
982
	BEGIN	
983
	-- PAGING BEGIN
984
		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,
985
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
986
			   UDV.TLFullName AS CHECKER_NAME_DV,
987
			   A.APPROVE_DT,
988
               A.PROCESS_ID,
989
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
990
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
991
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
992
			   G.BRANCH_CODE,
993
			   G.BRANCH_NAME,
994
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
995
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
996
			   UC.TLFullName AS MAKER_NAME,
997
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
998
			   RP.ROLE_USER, 
999
			   RP.NOTES AS PROCESS_STATUS , 
1000
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1001
			   A.DVDM_APP_ID,
1002
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1003
			   A.REQ_PARENT_ID,
1004
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1005
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1006
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1007
			   A.BRANCH_FEE,
1008
			   A.DEP_ID,
1009
			   A.DEP_FEE,
1010
			   DEP.DEP_NAME,
1011
			   DEP.DEP_CODE,
1012
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1013
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1014
			   DF.DEP_NAME AS DEP_FEE_NAME,
1015
			   DF.DEP_CODE AS DEP_FEE_CODE,
1016
			   '' AS BRANCH_DEP,
1017
			   '' AS BRANCH_DEP_FEE,
1018
			   
1019

    
1020

    
1021
			   '' AS TYPE_JOB,
1022
			   '' AS USER_JOB,
1023
			   '' AS USER_JOB_NAME,
1024
			   '' AS TRANSFER_MAKER,
1025
			    A.CREATE_DT AS TRANFER_DT ,
1026
				'' AS TRANSFER_MAKER_ID,
1027
			   A.EFFEC_DT,A.IS_BACKDAY,
1028
			   '' AS TYPE_JOB_XL,
1029
			   '' AS USER_JOB_XL,
1030
			   RP.ID AS REF_ID,
1031
			   RPN.STATUS AS STATUS_NEXT,
1032
			   RP.STATUS AS STATUS_CURR,
1033
			   '' AS STATUS_JOB,
1034
			   A.BRANCH_CREATE,
1035
			   A.DEP_CREATE,
1036
			   A.REQ_LINE,
1037
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1038
			   A.KT_NOTES,
1039
			     A.IS_CHECKALL,
1040
			   A.BASED_CONTENT, 
1041
			   '' AS IS_TRANSFER,
1042
			   --NGUOI XU LY
1043
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1044
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1045
			-- SELECT END
1046
		FROM PL_REQUEST_DOC A 		
1047
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1048
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1049
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1050

    
1051
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1052
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1053

    
1054
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1055
	
1056
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1057
		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') )
1058
		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)
1059
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1060
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1061
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1062
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1063
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1064
		OUTER APPLY
1065
		(
1066
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1067
		) NXL
1068
		WHERE 1 = 1
1069
		
1070
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1071
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1072
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1073
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1074
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1075
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1076
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1077
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1078
	
1079
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1080
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1081
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1082
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1083
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1084
		AND A.RECORD_STATUS = '1'
1085
		
1086
		AND(
1087
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1088
			OR
1089
				(
1090
					@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)
1091
				)
1092
				OR
1093
				(
1094
						@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)
1095
				)
1096
			)
1097

    
1098
		AND A.IS_CHECKALL=1
1099

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

    
1113
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1114
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1115
		
1116
		-- GIANT 26/10/2021
1117
		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))
1118

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

    
1161

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

    
1192
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1193
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1194

    
1195
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1196
	
1197
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1198
		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') )
1199
		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)
1200
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1201
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1202
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1203
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1204
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1205
		OUTER APPLY
1206
		(
1207
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1208
		) NXL
1209
		WHERE 1 = 1
1210
		
1211
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1212
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1213
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1214
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1215
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1216
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1217
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1218
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1219
	
1220
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1221
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1222
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1223
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 	
1224
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1225
		AND A.RECORD_STATUS = '1'
1226
		
1227
		AND(
1228
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1229
			OR
1230
				(
1231
					@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)
1232
				)
1233
				OR
1234
				(
1235
						@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)
1236
				)
1237
			)
1238

    
1239
		AND (  
1240
		 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) )
1241
		)
1242

    
1243
		AND A.PROCESS_ID='APPROVE'
1244
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1245
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1246
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1247
		AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
1248
			AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1249
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1250
		--AND(
1251
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1252
		--	OR
1253
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
1254
		--)
1255

    
1256

    
1257
		--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1258
		--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1259

    
1260
		-- GIANT 26/10/2021
1261
		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))
1262

    
1263
		ORDER BY A.CREATE_DT DESC
1264
	-- PAGING END
1265
	END
1266
	ELSE IF(@p_TYPE='REQ_PARENT')
1267
	BEGIN	
1268
		-- PAGING BEGIN
1269
		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,
1270
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1271
			   UDV.TLFullName AS CHECKER_NAME_DV,
1272
			   A.APPROVE_DT,
1273
               A.PROCESS_ID,
1274
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1275
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1276
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1277
			G.BRANCH_CODE,
1278
			   G.BRANCH_NAME,
1279
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1280
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1281
			   UC.TLFullName AS MAKER_NAME,
1282
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1283
			   RP.ROLE_USER, 
1284
			   RP.NOTES AS PROCESS_STATUS , 
1285
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1286
			   A.DVDM_APP_ID,
1287
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1288
			   A.REQ_PARENT_ID,
1289
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1290
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1291
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1292
			   A.BRANCH_FEE,
1293
			   A.DEP_ID,
1294
			   A.DEP_FEE,
1295
			   DEP.DEP_NAME,
1296
			   DEP.DEP_CODE,
1297
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1298
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1299
			   DF.DEP_NAME AS DEP_FEE_NAME,
1300
			   DF.DEP_CODE AS DEP_FEE_CODE,
1301
			   '' AS BRANCH_DEP,
1302
			   '' AS BRANCH_DEP_FEE,
1303
			   
1304
			   '' AS TYPE_JOB,
1305
			   '' AS USER_JOB,
1306
			   '' AS USER_JOB_NAME,
1307
			   '' AS TRANSFER_MAKER,
1308
			    A.CREATE_DT AS TRANFER_DT ,
1309
				'' AS TRANSFER_MAKER_ID,
1310
			   A.EFFEC_DT,A.IS_BACKDAY,
1311
			   '' AS TYPE_JOB_XL,
1312
			   '' AS USER_JOB_XL,
1313
			   RP.ID AS REF_ID,
1314
			   RPN.STATUS AS STATUS_NEXT,
1315
			   RP.STATUS AS STATUS_CURR,
1316
			   '' AS STATUS_JOB,
1317
			   A.BRANCH_CREATE,
1318
			   A.DEP_CREATE,
1319
			   A.REQ_LINE,
1320
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1321
			   A.KT_NOTES,
1322
			     A.IS_CHECKALL,
1323
			   A.BASED_CONTENT, 
1324
			   '' AS IS_TRANSFER,
1325
			   --NGUOI XU LY
1326
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1327
			    NXL.NGUOIXULY AS NGUOIXULY
1328
				,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1329
		-- SELECT END
1330
		FROM PL_REQUEST_DOC A 		
1331
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1332
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1333
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1334
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1335
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1336
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1337
	
1338
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1339
		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') )
1340
		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)
1341
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1342
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1343
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1344
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1345
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1346
		OUTER APPLY
1347
		(
1348
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1349
		) NXL
1350
		WHERE 1 = 1 
1351
		AND A.REQ_PARENT_ID =@p_REQ_ID
1352
		ORDER BY A.CREATE_DT DESC
1353
		-- PAGING END
1354
	END
1355
	ELSE IF(@p_TYPE='LINK_TTCT')
1356
	BEGIN	
1357
		-- PAGING BEGIN
1358
		-- đoạn dưới chưa làm
1359
		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,
1360
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1361
			   UDV.TLFullName AS CHECKER_NAME_DV,
1362
			   A.APPROVE_DT,
1363
               A.PROCESS_ID,
1364
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1365
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1366
			   ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1367
			G.BRANCH_CODE,
1368
			   G.BRANCH_NAME,
1369
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1370
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1371
			   UC.TLFullName AS MAKER_NAME,
1372
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1373
			   RP.ROLE_USER, 
1374
			   RP.NOTES AS PROCESS_STATUS , 
1375
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1376
			   A.DVDM_APP_ID,
1377
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1378
			   A.REQ_PARENT_ID,
1379
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1380
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1381
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1382
			   A.BRANCH_FEE,
1383
			   A.DEP_ID,
1384
			   A.DEP_FEE,
1385
			   DEP.DEP_NAME,
1386
			   DEP.DEP_CODE,
1387
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1388
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1389
			   DF.DEP_NAME AS DEP_FEE_NAME,
1390
			   DF.DEP_CODE AS DEP_FEE_CODE,
1391
			   '' AS BRANCH_DEP,
1392
			   '' AS BRANCH_DEP_FEE,
1393
			   
1394
			   '' AS TYPE_JOB,
1395
			   '' AS USER_JOB,
1396
			   '' AS USER_JOB_NAME,
1397
			   '' AS TRANSFER_MAKER,
1398
			    A.CREATE_DT AS TRANFER_DT ,
1399
				'' AS TRANSFER_MAKER_ID,
1400
			   A.EFFEC_DT,A.IS_BACKDAY,
1401
			   '' AS TYPE_JOB_XL,
1402
			   '' AS USER_JOB_XL,
1403
			   RP.ID AS REF_ID,
1404
			   RPN.STATUS AS STATUS_NEXT,
1405
			   RP.STATUS AS STATUS_CURR,
1406
			   '' AS STATUS_JOB,
1407
			   A.BRANCH_CREATE,
1408
			   A.DEP_CREATE,
1409
			   A.REQ_LINE,
1410
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1411
			   A.KT_NOTES,
1412
			     A.IS_CHECKALL,
1413
			   A.BASED_CONTENT, 
1414
			   '' AS IS_TRANSFER,
1415
			   --NGUOI XU LY
1416
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1417
			    NXL.NGUOIXULY AS NGUOIXULY
1418
				,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
1419
		-- SELECT END
1420
		FROM PL_REQUEST_DOC A 		
1421
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1422
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1423
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1424
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1425
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1426
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1427
	
1428
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1429
		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') )
1430
		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)
1431
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1432
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1433
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1434
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1435
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1436
		OUTER APPLY
1437
		(
1438
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1439
		) NXL
1440
		WHERE 1 = 1 
1441
		AND A.PL_BASED_ID =@p_REQ_ID --- LUCTV 19.02.2023 FIX DIEU KIEN SEARCH TO TRINH CAN CU DANG THAM CHIEU
1442
		ORDER BY A.CREATE_DT DESC
1443
		-- PAGING END
1444
	END
1445
	ELSE IF(@p_TYPE='DVKD_XDCB')
1446
	BEGIN
1447
	-- PAGING BEGIN
1448
		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,
1449
              A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1450
			   UDV.TLFullName AS CHECKER_NAME_DV,
1451
			   A.APPROVE_DT,
1452
               A.PROCESS_ID,
1453
			   D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1454

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

    
1458
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1459
			   --ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
1460
			   G.BRANCH_CODE,
1461
			   G.BRANCH_NAME,
1462
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1463
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1464
			   UC.TLFullName AS MAKER_NAME,
1465
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1466
			   RP.ROLE_USER, 
1467
			   RP.NOTES AS PROCESS_STATUS , 
1468
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1469
			   A.DVDM_APP_ID,
1470
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1471
			   A.REQ_PARENT_ID,
1472
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1473
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1474
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1475
			   A.BRANCH_FEE,
1476
			   A.DEP_ID,
1477
			   A.DEP_FEE,
1478
			   DEP.DEP_NAME,
1479
			   DEP.DEP_CODE,
1480
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1481
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1482
			   DF.DEP_NAME AS DEP_FEE_NAME,
1483
			   DF.DEP_CODE AS DEP_FEE_CODE,
1484
			   '' AS BRANCH_DEP,
1485
			   '' AS BRANCH_DEP_FEE,
1486
			   '' AS TYPE_JOB,
1487
			   '' AS USER_JOB,
1488
			   '' AS USER_JOB_NAME,
1489
			   '' AS TRANSFER_MAKER,
1490
			    A.CREATE_DT AS TRANFER_DT ,
1491
				'' AS TRANSFER_MAKER_ID,
1492
			   A.EFFEC_DT,A.IS_BACKDAY,
1493
			   '' AS TYPE_JOB_XL,
1494
			   '' AS USER_JOB_XL,
1495
			   --RP.ID AS REF_ID,
1496
			   0 AS REF_ID,
1497
			   RPN.STATUS AS STATUS_NEXT,
1498
			   RP.STATUS AS STATUS_CURR,
1499
			   '' AS STATUS_JOB,
1500
			   A.BRANCH_CREATE,
1501
			   A.DEP_CREATE,
1502
			   A.REQ_LINE,
1503
			   A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
1504
			   A.KT_NOTES,
1505
			   A.BASED_CONTENT, 
1506
			   A.IS_CHECKALL,
1507
			   -- GIANT 23/12/2021
1508
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
1509
			   '' AS IS_TRANSFER,
1510
			   --NGUOI XU LY
1511
			   --dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
1512
			    NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
1513
				(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
1514
		-- SELECT END
1515
		FROM PL_REQUEST_DOC A 		
1516
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1517
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1518
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1519

    
1520
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1521
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1522

    
1523
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1524
	
1525
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1526
		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') )
1527
		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)
1528
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1529
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1530
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1531
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1532
		-- GIANT 23/12/2021
1533
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
1534

    
1535
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1536
		OUTER APPLY
1537
		(
1538
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1539
		) NXL
1540
		WHERE 1 = 1
1541
		AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1542
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1543
		AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
1544
		AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1545
		AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1546
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)		
1547
		AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
1548
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1549
		AND(
1550
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1551
			OR
1552
				(
1553
					@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)
1554
				)
1555
				OR
1556
				(
1557
					@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)
1558
				)
1559
			)
1560
		AND (EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
1561

    
1562
		ORDER BY A.CREATE_DT DESC
1563
	-- PAGING END
1564
	END
1565
	ELSE IF(@p_TYPE='VLOOK_UP')
1566
	BEGIN	
1567
		-- PAGING BEGIN
1568
		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,
1569
               A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
1570
			   UDV.TLFullName AS CHECKER_NAME_DV,
1571
			   A.APPROVE_DT,
1572
               A.PROCESS_ID,
1573
			   --D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
1574
			   --CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
1575
			   --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,
1576
			   CASE WHEN A.PROCESS_ID='APPROVE' OR A.AUTH_STATUS ='A' THEN N'Đã duyệt'
1577
			   ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
1578
			   G.BRANCH_CODE,
1579
			   CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
1580
			   UP.TLFullName AS CHECKER_NAME_PROCESS,
1581
			   RP.APPROVE_DT AS APPROVE_DT_PROCESS,
1582
			   UC.TLFullName AS MAKER_NAME,
1583
			   RPN.PROCESS_ID AS PROCESS_ID_NEXT,
1584
			   RP.ROLE_USER, 
1585
			   RP.NOTES AS PROCESS_STATUS , 
1586
			   RPN.NOTES AS PROCESS_STATUS_NEXT,
1587
			   A.DVDM_APP_ID,
1588
			   CD.DVDM_NAME AS DVDM_APP_NAME,
1589
			   A.REQ_PARENT_ID,
1590
			   PARENT.REQ_NAME AS REQ_PARENT_NAME,
1591
			   PARENT.REQ_CODE AS REQ_PARENT_CODE,
1592
			   PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
1593
			   A.BRANCH_FEE,
1594
			   A.DEP_ID,
1595
			   A.DEP_FEE,
1596
			   DEP.DEP_NAME,
1597
			   DEP.DEP_CODE,
1598
			   BF.BRANCH_NAME AS BRANCH_FEE_NAME,
1599
			   BF.BRANCH_CODE AS BRANCH_FEE_CODE,
1600
			   DF.DEP_NAME AS DEP_FEE_NAME,
1601
			   DF.DEP_CODE AS DEP_FEE_CODE,
1602
			   '' AS BRANCH_DEP,
1603
			   '' AS BRANCH_DEP_FEE,
1604
			   
1605

    
1606

    
1607
			   '' AS TYPE_JOB,
1608
			   '' AS USER_JOB,
1609
			   '' AS USER_JOB_NAME,
1610
			   '' AS TRANSFER_MAKER,
1611
			    A.CREATE_DT AS TRANFER_DT ,
1612
				'' AS TRANSFER_MAKER_ID,
1613
			   A.EFFEC_DT,A.IS_BACKDAY,
1614
			   '' AS TYPE_JOB_XL,
1615
			   '' AS USER_JOB_XL,
1616
			   RP.ID AS REF_ID,
1617
			   RPN.STATUS AS STATUS_NEXT,
1618
			   RP.STATUS AS STATUS_CURR,
1619
			   '' AS STATUS_JOB,
1620
			   A.BRANCH_CREATE,
1621
			   A.DEP_CREATE,
1622
			   A.REQ_LINE,
1623
			   A.TC_NOTES,
1624
			   A.SIGN_USER,
1625
			   TL.TLFullName AS SIGN_USER_NAME,
1626
			   A.KT_NOTES,
1627
			   A.IS_CHECKALL,
1628
			   A.BASED_CONTENT,
1629
			   A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT, 
1630
			   '' AS IS_TRANSFER,
1631
			   --NGUOI XU LY
1632
			  NXL.NGUOIXULY AS NGUOIXULY, A.TK_HDQT_NOTES, A.TK_TGD_NOTES, A.OTHER_NOTES
1633
			 -- SELECT END 
1634
		FROM PL_REQUEST_DOC A 	
1635
		--LEFT JOIN	dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID  AND PLRP.STATUS <>'U'
1636
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1637
		LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1638
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
1639

    
1640
		LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
1641
		LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
1642

    
1643
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1644
	
1645
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
1646
		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') )
1647
		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)
1648
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1649
		LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
1650
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
1651
		LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
1652
		LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
1653
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1654
		OUTER APPLY
1655
		(
1656
			SELECT [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID) NGUOIXULY, '' NGUOIXULYTLNAME
1657
		) NXL
1658

    
1659
		WHERE 1 = 1
1660
		
1661
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1662
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1663
		AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1664
		AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
1665
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1666
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1667
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1668
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1669
		
1670

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

    
1673

    
1674
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0) 
1675
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0) 
1676
		AND	(@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0) 
1677
		AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
1678
		AND A.RECORD_STATUS = '1'
1679
		
1680
		AND(
1681
			@p_REQ_TYPE = -1  OR @p_REQ_TYPE IS NULL
1682
			OR
1683
				(
1684
					@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)
1685
				)
1686
				OR
1687
				(
1688
						@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)
1689
				)
1690
			)
1691

    
1692
		AND    (A.MAKER_ID=@p_TLNAME_USER
1693
        OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
1694
				OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG PLRDC WHERE PLRDC.ROLE_TYPE='PL_REQUEST_DOC_ALL'
1695
          AND (PLRDC.BRANCH_ID=@p_TLNAME_USER OR (PLRDC.BRANCH_ID = @p_BRANCH_LOGIN AND PLRDC.DEP_ID = @DEP_ID)))
1696
				OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
1697
																			AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
1698
																														AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
1699
			--	
1700
				
1701
				--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
1702
				--												AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN 
1703
				--												AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID =''))) 
1704
			--
1705

    
1706

    
1707
		OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER  =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
1708
		--
1709
		--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 = '')
1710
		--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 ='')))))
1711
		--
1712
		--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
1713
		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'))
1714
			OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
1715
			OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
1716
			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'))
1717
			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'))
1718
			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'))
1719
			OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
1720
		)
1721
		AND(@p_FR_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
1722
		AND(@p_TO_DATE IS NULL OR @p_REQ_CODE IS NOT NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))	
1723
		AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)	
1724
--		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1725
--			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1726

    
1727
		AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
1728
		AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
1729
		
1730
		-- GIANT 26/10/2021
1731
		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))
1732

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

    
1736
		ORDER BY A.CREATE_DT DESC
1737
		-- PAGING END
1738
	END
1739
   END -- PAGING
1740
--06032025_SECRETKEY
1741