Project

General

Profile

1.0 TRANSFER TO TRINH CHU TRUONG TUYENTT VE NGOCTTB.txt

Luc Tran Van, 08/05/2021 05:15 PM

 
1
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0065/2021/TTr-0690405'
2
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0061/2021/TTr-0690405'
3
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0062/2021/TTr-0690405'
4
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0056/2021/TTr-0690405'
5
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0039/2021/TTr-0690405'
6
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0005/2021/TTr-0690405'
7
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0040/2021/TTr-0690405'
8
UPDATE PL_REQUEST_DOC SET MAKER_ID ='ngocttb' WHERE REQ_CODE ='0055/2021/TTr-0690405'
9

    
10
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/001249'
11
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/001225'
12
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/001194'
13
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/001248'
14
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/000854'
15
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/000530'
16
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/000884'
17
UPDATE TR_REQUEST_DOC SET MAKER_ID ='ngocttb', USER_REQUEST ='ngocttb' WHERE REQ_CODE='PUR/2021/001176'
18
INSERT INTO  PL_ROLE_DATA_CONFIG VALUES ('TR_REQUEST_DOC_ALL','vanpt2','')
19
--- CONFIG DATA 202185
20
¿
21
ALTER PROCEDURE [dbo].[TR_REQUEST_DOC_Search]
22
@p_REQ_ID	varchar(15)  = NULL,
23
@p_REQ_CODE	varchar(50)  = NULL,
24
@p_PL_REQ_CODE	varchar(50)  = NULL,
25
@p_REQ_NAME	nvarchar(200)  = NULL,
26
@p_REQ_DT	DATETIME = NULL,
27
@p_REQ_CONTENT NVARCHAR(1000)=NULL,
28
@p_TOTAL_AMT	decimal = NULL,
29
@p_NOTES	nvarchar(1000)  = NULL,
30
@p_RECORD_STATUS	varchar(1)  = NULL,
31
@p_MAKER_ID	varchar(12)  = NULL,
32
@p_CREATE_DT	DATETIME = NULL,
33
@p_AUTH_STATUS	varchar(50)  = NULL,
34
@p_CHECKER_ID	varchar(12)  = NULL,
35
@p_APPROVE_DT	DATETIME = NULL,
36
@p_BRANCH_DO VARCHAR(15) = NULL,
37
@p_BRANCH_CREATE VARCHAR(15) = NULL,
38
@p_USER_REQUEST VARCHAR(15) = NULL,
39
@p_BRANCH_LOGIN VARCHAR(15)=NULL,
40
@p_TLNAME_USER VARCHAR(20)=NULL,
41
@p_ROLE_USER VARCHAR(20),
42
@p_TOP	INT = 10,
43
@p_PROCESS_STATUS varchar(50) = NULL,
44
@p_FR_DATE DATETIME = NULL,
45
@p_TO_DATE DATETIME = NULL,
46
@p_TYPE VARCHAR(15),
47
@p_TYPE_TRANFER VARCHAR(15)=NULL,
48
@p_YEAR INT = NULL,
49
@p_IS_TRANSFER VARCHAR(10) = NULL,
50
@p_NGUOIXULY NVARCHAR(15) = NULL,
51
@p_IS_KT bit = NULL,
52
@p_PL_REQ_ID VARCHAR(20)=NULL
53
AS
54
BEGIN
55
	
56

    
57
	IF(@p_ROLE_USER ='KTT')
58
		SET @p_ROLE_USER ='GDDV'
59
	DECLARE @DEP_ID VARCHAR(15),@BRANCH_TYPE VARCHAR(20)
60
	DECLARE
61
	@COST_ID TABLE (
62
		COST_ID VARCHAR(15),
63
		DVDM_ID VARCHAR(15)
64
	)
65
	SET @DEP_ID =(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME_USER)
66
	INSERT INTO @COST_ID
67
	SELECT DT.COST_ID,PC.DVDM_ID FROM dbo.PL_COSTCENTER_DT DT
68
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
69
	WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@p_BRANCH_LOGIN
70

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

    
75
	DECLARE @AUTHOR TABLE
76
	(
77
		ROLE_ID VARCHAR(100),
78
		BRANCH_ID VARCHAR(20),
79
		DEP_ID VARCHAR(20),
80
		BRANCH_TYPE VARCHAR(20)
81
	)
82

    
83
	DECLARE @AUTHOR_DVDM TABLE
84
	(
85
		ROLE_ID VARCHAR(100),
86
		BRANCH_ID VARCHAR(20),
87
		DEP_ID VARCHAR(20),
88
		DVDM_ID VARCHAR(20)
89
	)
90
	DECLARE @AUTHOR_DMMS TABLE
91
	(
92
		ROLE_ID VARCHAR(100),
93
		BRANCH_ID VARCHAR(20),
94
		DEP_ID VARCHAR(20),
95
		DMMS_ID VARCHAR(20)
96
	)
97
	INSERT INTO @AUTHOR
98
	(
99
	    ROLE_ID,
100
	    BRANCH_ID,
101
	    DEP_ID,
102
		BRANCH_TYPE
103
	)
104
	SELECT RoleName,TLSUBBRID,SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_USER TU
105
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
106
	WHERE TLNANME=@p_TLNAME_USER
107
	UNION ALL
108
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_USER TU
109
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
110
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
111
	WHERE TLNANME=@p_TLNAME_USER
112
	UNION ALL
113
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_SYS_ROLE_MAPPING TM1
114
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
115
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
116
	UNION ALL
117
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_SYS_ROLE_MAPPING TM1
118
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
119
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
120
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
121

    
122
	INSERT INTO @AUTHOR_DVDM
123
	(
124
	    ROLE_ID,
125
	    BRANCH_ID,
126
	    DEP_ID,
127
	    DVDM_ID
128
	)
129
	SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
130
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
131
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
132
	WHERE TU.TLNANME=@p_TLNAME_USER
133
	UNION ALL
134
	SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU 
135
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
136
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
137
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
138
	WHERE TU.TLNANME=@p_TLNAME_USER
139
	UNION ALL
140
	SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
141
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
142
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
143
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
144
	UNION ALL
145
	SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU 
146
	LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
147
	LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
148
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
149
	WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
150

    
151
	INSERT INTO @AUTHOR_DMMS
152
	(
153
	    ROLE_ID,
154
	    BRANCH_ID,
155
	    DEP_ID,
156
		DMMS_ID
157
	)
158
	SELECT RoleName,TLSUBBRID,SECUR_CODE,MS.DMMS_ID FROM dbo.TL_USER TU
159
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
160
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TU.SECUR_CODE=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
161
	WHERE TLNANME=@p_TLNAME_USER
162
	UNION ALL
163
	SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE,MS.DMMS_ID FROM dbo.TL_USER TU
164
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
165
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
166
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TU.SECUR_CODE=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
167
	WHERE TLNANME=@p_TLNAME_USER
168
	UNION ALL
169
	SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,MS.DMMS_ID FROM dbo.TL_SYS_ROLE_MAPPING TM1
170
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
171
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TM1.DEP_ID=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
172
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
173
	UNION ALL
174
	SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,MS.DMMS_ID FROM dbo.TL_SYS_ROLE_MAPPING TM1
175
	LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
176
	LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
177
	LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TM1.DEP_ID=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
178
	WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
179

    
180

    
181
	----NGUOI XU LY 18022021
182
		DECLARE @lstREQUEST TABLE (
183
			REQ_ID VARCHAR(20),
184
			PROCESS_ID VARCHAR(50),
185
			DVDM_NAME NVARCHAR(200),
186
			TLNAME VARCHAR(200),
187
			TLFullName NVARCHAR(200),
188
			NOTES NVARCHAR(200)
189
		)
190
	INSERT INTO @lstREQUEST
191
	( REQ_ID,PROCESS_ID, DVDM_NAME,TLNAME,TLFullName, NOTES)	
192
	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 	
193
	FROM
194
	(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC
195
	WHERE EXISTS(SELECT TRD.REQ_ID FROM dbo.TR_REQUEST_DOC TRD WHERE TRD.REQ_ID=PRC.REQ_ID) 
196
	AND PRC.PROCESS_ID ='DMMS' AND PRC.STATUS='C'
197
	) PL
198
	LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
199
	LEFT JOIN dbo.TR_REQUEST_DOC TR ON TR.REQ_ID=PL.REQ_ID
200
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
201
	LEFT JOIN 
202
	(
203
	SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
204
	LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
205
	WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
206
	)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
207
	LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
208
	LEFT JOIN 
209
	(
210
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DMMS_ID 
211
		FROM
212
		(
213
		SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
214
		dbo.TL_USER TS 
215
		UNION ALL
216
		SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.ROLE_NEW RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
217
		dbo.TL_SYS_ROLE_MAPPING TM
218
		LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
219
		WHERE  CAST(TM.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
220
		) TU
221
		LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
222
		LEFT JOIN(
223
		SELECT PC.DMMS_ID,PC.DEP_ID,PC.BRANCH_ID FROM dbo.CM_DMMS PC
224
		UNION ALL
225
		SELECT DVDM.DVDM_ID AS DMMS_ID,DVDM.DEP_ID,DVDM.BRANCH_ID  FROM 
226
		(
227
			SELECT CD.DVDM_ID,PCDT.BRANCH_ID,PCDT.DEP_ID FROM dbo.CM_DVDM CD
228
			LEFT JOIN dbo.PL_COSTCENTER PC ON PC.DVDM_ID=CD.DVDM_ID
229
			LEFT JOIN dbo.PL_COSTCENTER_DT PCDT ON PCDT.COST_ID = PC.COST_ID
230
			WHERE CD.IS_KHOI <>1
231
			GROUP BY CD.DVDM_ID,PCDT.BRANCH_ID,PCDT.DEP_ID
232
		) DVDM
233
		) Temp ON (Temp.DEP_ID=TU.SECUR_CODE OR CB.BRANCH_TYPE<>'HS') AND Temp.BRANCH_ID=TU.TLSUBBRID
234
	) TempU ON (TempU.RoleName=PL.ROLE_USER  OR PL.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE TM.ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME=''))) AND (TempU.DMMS_ID=TR.DMMS_ID) AND TempC.ID IS NULL	
235
	WHERE PL.STATUS='C'	
236
	UNION ALL
237
	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 
238
	FROM
239
	(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC
240
	WHERE EXISTS(SELECT TRD.REQ_ID FROM dbo.TR_REQUEST_DOC TRD WHERE TRD.REQ_ID=PRC.REQ_ID) 
241
	AND PRC.PROCESS_ID <>'DMMS' AND PRC.PROCESS_ID <> 'NEW' AND PRC.PROCESS_ID <>'APPROVE' 
242
	AND PRC.STATUS='C' AND (PRC.IS_HAS_CHILD=0 OR PRC.IS_HAS_CHILD IS NULL)
243
	) PL
244
	LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
245
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
246
	LEFT JOIN 
247
	(
248
	SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
249
	FROM (
250
		SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
251
		dbo.TL_USER TS 
252
		UNION ALL
253
		SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.ROLE_NEW RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
254
		dbo.TL_SYS_ROLE_MAPPING TM
255
		LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
256
		WHERE  CAST(TM.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
257
		) TU
258
	LEFT JOIN
259
		(
260
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
261
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID
262
		) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
263
	) TempU ON (TempU.RoleName=PL.ROLE_USER  OR PL.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME=''))) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
264
	AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
265
	AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
266
	WHERE  STATUS='C'
267
	UNION ALL
268
		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 
269
		FROM 
270
	(SELECT * FROM dbo.PL_REQUEST_PROCESS PRC
271
	WHERE EXISTS(SELECT TRD.REQ_ID FROM dbo.TR_REQUEST_DOC TRD WHERE TRD.REQ_ID=PRC.REQ_ID) 
272
	AND PRC.PROCESS_ID <>'DMMS' AND PRC.PROCESS_ID <> 'NEW' AND PRC.PROCESS_ID <>'APPROVE' 
273
	AND PRC.STATUS='C' AND PRC.IS_HAS_CHILD=1 
274
	) PL
275
	LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
276
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
277
	LEFT JOIN 
278
	(
279
	SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
280
	LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
281
	WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
282
	)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
283
	LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
284
	LEFT JOIN 
285
	(
286
	SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
287
	FROM       (
288
		SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
289
		dbo.TL_USER TS 
290
		UNION ALL
291
		SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.ROLE_NEW RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
292
		dbo.TL_SYS_ROLE_MAPPING TM
293
		LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
294
		WHERE  CAST(TM.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
295
		)  TU 
296
	LEFT JOIN(
297
	SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
298
	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
299
	) TempU ON  (TempU.RoleName=PL.ROLE_USER  OR PL.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME=''))) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
300
	AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
301
	AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
302
	WHERE  PL.STATUS='C'
303
	----
304

    
305
	IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0 OR @P_TOP>0)
306
	BEGIN
307
		IF(@p_TYPE='DVKD')
308
		BEGIN
309
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE, A.IS_KT,
310
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
311
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
312
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
313
			   CMS.DMMS_NAME,A.DMMS_ID,
314
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
315
			   RP.ROLE_USER,
316
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
317
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
318
				RPN.NOTES AS PROCESS_STATUS_NEXT
319
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
320
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
321
		DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
322
		PLRD.REQ_NAME AS PL_REQ_NAME,'' TYPE_JOB,'' AS USER_JOB,'' AS USER_JOB_NAME,'' AS TRANSFER_MAKER,CAST(NULL AS DATETIME)  AS TRANFER_DT ,
323
		'' AS TRANSFER_MAKER_ID,'' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, FORMAT(PLRD.TOTAL_AMT,'#,###') AS NCC_NAME, '' AS NCC_ADDR,RP.ID AS REF_ID,
324
		  RPN.STATUS AS STATUS_NEXT,
325
		  RP.STATUS AS STATUS_CURR,
326
		'' AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,CDC.DEP_NAME AS DEP_CREATE_NAME,CDC.DEP_CODE AS DEP_CREATE_CODE,
327
		A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
328
		--NGUOI XU LY
329
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
330
		 NXL.NGUOIXULY AS NGUOIXULY, PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
331
		FROM TR_REQUEST_DOC A
332
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
333
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
334
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
335
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
336
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
337
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
338
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
339
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
340
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
341
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
342
		LEFT JOIN 
343
		(
344
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
345
			dbo.PL_REQUEST_PROCESS
346
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
347
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ([RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
348
		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)	
349
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
350
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
351
		LEFT JOIN 
352
		(
353
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
354
			dbo.CM_DMMS 
355
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
356
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
357
			UNION ALL
358
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
359
			FROM dbo.CM_DVDM
360
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
361
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
362
		LEFT JOIN
363
		(		
364
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
365
		FROM @lstREQUEST RE
366
		WHERE RE.REQ_ID=Results.REQ_ID
367
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
368
		STUFF((select ', ' + RE.TLNAME  
369
		FROM @lstREQUEST RE
370
		WHERE RE.REQ_ID=Results.REQ_ID
371
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
372
		FROM @lstREQUEST Results
373
		GROUP BY REQ_ID
374
		) NXL ON NXL.REQ_ID=A.REQ_ID
375

    
376
		WHERE 1 = 1
377
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
378
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
379
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
380
		AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
381
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
382
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
383
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
384
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
385
		AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')		
386
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
387
		AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
388
		AND (A.PROCESS_ID LIKE '%' + @p_PROCESS_STATUS + '%' OR @p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='')	
389
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
390
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
391
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
392
		AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = ''
393
		OR A.DEP_CREATE LIKE '%' + @p_BRANCH_CREATE + '%'
394
		)
395
		AND (PLRD.REQ_CODE LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
396
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_ID + '%' OR @p_PL_REQ_ID IS NULL OR @p_PL_REQ_ID = '')
397
		AND A.RECORD_STATUS = '1'
398
		AND	(A.MAKER_ID=@p_TLNAME_USER OR 		
399
				(EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW' 
400
					AND EXISTS(SELECT * FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID 
401
					AND (AUTH.DEP_ID=PLRP.DEP_ID OR AUTH.BRANCH_TYPE <>'HS'))  )) 		
402
		OR (A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER =@p_TLNAME_USER AND A.AUTH_STATUS <>'E')
403
		OR (EXISTS(SELECT * FROM PL_ROLE_DATA_CONFIG WHERE ROLE_TYPE ='TR_REQUEST_DOC_ALL' AND BRANCH_ID =@p_TLNAME_USER))
404
		)
405

    
406
		AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS='U' AND A.PROCESS_ID <> 'APPROVE') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
407
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)	
408
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
409
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
410
		--AND(
411
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
412
		--	OR
413
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
414
		--)
415

    
416
		ORDER BY A.CREATE_DT DESC
417
		END
418
		ELSE IF(@p_TYPE='TFJOB')
419
		BEGIN			
420
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
421
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
422
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
423
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
424
			   CMS.DMMS_NAME,A.DMMS_ID,
425
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
426
			   RP.ROLE_USER,
427
				CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
428
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
429
				RPN.NOTES AS PROCESS_STATUS_NEXT
430
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
431
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
432
		CASE WHEN DVC.BRANCH_TYPE ='HS' THEN DVC.BRANCH_NAME ELSE DEP.DEP_NAME END AS BRANCH_CREATE_NAME,
433
		--DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
434
		PLRD.REQ_NAME AS PL_REQ_NAME,ISNULL(RPC.TYPE_JOB,'KS') AS TYPE_JOB,RPC.TLNAME AS USER_JOB,TU.TLFullName AS USER_JOB_NAME,TFM.TLFullName AS TRANSFER_MAKER,RPC.TRANFER_DT ,RPC.MAKER_ID AS TRANSFER_MAKER_ID,
435
			 '' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, FORMAT(PLRD.TOTAL_AMT,'#,###') AS NCC_NAME, '' AS NCC_ADDR,PLRP.ID AS REF_ID,
436
		  RPN.STATUS AS STATUS_NEXT,
437
		  PLRP.STATUS AS STATUS_CURR,
438
		'' AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,
439
		--CDC.DEP_NAME AS DEP_CREATE_NAME,
440
		CASE WHEN DVC.BRANCH_TYPE ='HS' THEN CDC.DEP_NAME ELSE DVC.BRANCH_NAME END AS DEP_CREATE_NAME,
441
		CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
442
		
443
		--NGUOI XU LY
444
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
445
		 NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
446
		FROM TR_REQUEST_DOC A
447
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1 		
448
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
449
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
450
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
451
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
452
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
453
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
454
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
455
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
456
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
457
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
458
		LEFT JOIN CM_DEPARTMENT DEP ON UM.SECUR_CODE = DEP.DEP_ID
459
		LEFT JOIN 
460
		(
461
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
462
			dbo.PL_REQUEST_PROCESS
463
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
464
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ( [RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
465
		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)	
466
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
467
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
468
		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')
469
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
470
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
471
		LEFT JOIN 
472
		(
473
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
474
			dbo.CM_DMMS 
475
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
476
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
477
			UNION ALL
478
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
479
			FROM dbo.CM_DVDM
480
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
481
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
482
			LEFT JOIN
483
		(		
484
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
485
		FROM @lstREQUEST RE
486
		WHERE RE.REQ_ID=Results.REQ_ID
487
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
488
		STUFF((select ', ' + RE.TLNAME  
489
		FROM @lstREQUEST RE
490
		WHERE RE.REQ_ID=Results.REQ_ID
491
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
492
		FROM @lstREQUEST Results
493
		GROUP BY REQ_ID
494
		) NXL ON NXL.REQ_ID=A.REQ_ID
495
		WHERE 1 = 1
496
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
497
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
498
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
499
		AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
500
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
501
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
502
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
503
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
504
		AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
505
		
506
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
507
		AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
508
		AND (A.PROCESS_ID LIKE '%' + @p_PROCESS_STATUS + '%' OR @p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='')	
509
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
510
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
511
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
512
		--AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = ''
513
		--OR A.DEP_CREATE LIKE '%' + @p_BRANCH_CREATE + '%'
514
		--)
515
		AND (PLRD.REQ_CODE LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
516
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_ID + '%' OR @p_PL_REQ_ID IS NULL OR @p_PL_REQ_ID = '')
517
		AND A.RECORD_STATUS = '1'
518
		AND (	
519
			   EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND PLRP.DVDM_ID=AUTH.DVDM_ID)
520
			OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DMMS AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND A.DMMS_ID=AUTH.DMMS_ID AND A.PROCESS_ID='DMMS')
521
			OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND A.DMMS_ID=AUTH.DVDM_ID AND A.PROCESS_ID='DMMS')
522
			OR EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID AND  TLNAME=@p_TLNAME_USER AND TYPE_JOB='KS')
523
		)
524

    
525
		--AND ( ( ( (PLRP.ROLE_USER=@p_ROLE_USER OR PLRP.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER)) AND ((PLRP.DVDM_ID  IN (SELECT DVDM_ID FROM @COST_ID) ) 
526
		--OR ((A.DMMS_ID IN (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID =@p_BRANCH_LOGIN AND (DEP_ID=@DEP_ID OR @BRANCH_TYPE <>'HS')) 
527
		--OR A.DMMS_ID IN (SELECT DVDM_ID FROM @COST_ID)) AND A.PROCESS_ID='DMMS'))))
528
		--OR (EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID AND  TLNAME=@p_TLNAME_USER AND TYPE_JOB='KS') ))
529
		
530
		AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS='U' AND A.PROCESS_ID <> 'APPROVE') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
531
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)
532
		AND (RPC.TYPE_JOB <>'TP' OR RPC.TYPE_JOB IS NULL OR RPC.TYPE_JOB ='')
533
		AND (
534
			((RPC.REQ_ID IS NOT NULL OR RPC.REQ_ID <> '') AND @p_IS_TRANSFER = 'Y')
535
			OR ((RPC.REQ_ID IS NULL OR RPC.REQ_ID = '') AND @p_IS_TRANSFER = 'N')
536
			OR @p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
537
			)
538
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
539
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
540
		--AND(
541
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
542
		--	OR
543
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
544
		--)
545
		--LUCTV 10-03-2021 Ơ MAN HINH DIEU PHOI PYCMS NEU PHIEU DA DUOC NHAN VIEN XU LY GUI PHE DUYET THI KHONG CAN HIEN THI
546
		AND ((NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_ID AND TYPE_JOB ='XL'  AND STATUS_JOB ='P' AND PROCESS_ID IN (SELECT ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_ID))) OR A.PROCESS_ID ='DVCM')
547
		ORDER BY A.CREATE_DT DESC
548
		END
549
		ELSE IF(@p_TYPE='DMMS')
550
		BEGIN		
551
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
552
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
553
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
554
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
555
			   CMS.DMMS_NAME,A.DMMS_ID,
556
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
557
			   RP.ROLE_USER,
558
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
559
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
560
				RPN.NOTES AS PROCESS_STATUS_NEXT
561
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
562
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
563
		CASE WHEN DVC.BRANCH_TYPE ='HS' THEN DVC.BRANCH_NAME ELSE DEP.DEP_NAME END AS BRANCH_CREATE_NAME,
564
		--DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
565
		PLRD.REQ_NAME AS PL_REQ_NAME,RPC.TYPE_JOB,RPC.TLNAME AS USER_JOB,TU.TLFullName AS USER_JOB_NAME,TFM.TLFullName AS TRANSFER_MAKER,RPC.TRANFER_DT ,RPC.MAKER_ID AS TRANSFER_MAKER_ID,
566
			 '' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, FORMAT(PLRD.TOTAL_AMT,'#,###') AS NCC_NAME, '' AS NCC_ADDR,PLRP.ID AS REF_ID,
567
		   RPN.STATUS AS STATUS_NEXT,
568
		  PLRP.STATUS AS STATUS_CURR,
569
		RPC.STATUS_JOB AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,
570
		CASE WHEN DVC.BRANCH_TYPE ='HS' THEN CDC.DEP_NAME ELSE DVC.BRANCH_NAME END AS DEP_CREATE_NAME,
571
		CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
572
		
573
		--NGUOI XU LY
574
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
575
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
576
		FROM TR_REQUEST_DOC A 	
577
		LEFT JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND	PLRP.STATUS <>'U' AND PLRP.PROCESS_ID = 'DMMS'
578
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID 
579
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
580
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
581
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
582
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
583
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
584
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
585
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
586
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
587
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
588
		LEFT JOIN CM_DEPARTMENT DEP ON UM.SECUR_CODE = DEP.DEP_ID
589
		LEFT JOIN 
590
		(
591
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
592
			dbo.PL_REQUEST_PROCESS
593
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
594
		) RPN ON RPN.REQ_ID=A.REQ_ID AND( [RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
595
		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)	
596
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
597
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
598
		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') AND A.PROCESS_ID <>'PDHT'
599
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
600
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
601
		LEFT JOIN 
602
		(
603
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
604
			dbo.CM_DMMS 
605
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
606
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
607
			UNION ALL
608
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
609
			FROM dbo.CM_DVDM
610
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
611
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
612
		LEFT JOIN
613
		(		
614
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
615
		FROM @lstREQUEST RE
616
		WHERE RE.REQ_ID=Results.REQ_ID
617
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
618
		STUFF((select ', ' + RE.TLNAME  
619
		FROM @lstREQUEST RE
620
		WHERE RE.REQ_ID=Results.REQ_ID
621
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
622
		FROM @lstREQUEST Results
623
		GROUP BY REQ_ID
624
		) NXL ON NXL.REQ_ID=A.REQ_ID
625
		
626

    
627
		WHERE 1 = 1
628
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
629
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
630
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
631
		AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
632
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
633
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
634
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
635
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
636
		AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
637
		
638
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
639
		AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
640
		
641
		AND (@p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='' 
642
		OR (RPC.TYPE_JOB LIKE '%' + @p_PROCESS_STATUS + '%'  AND (@p_PROCESS_STATUS='KS' OR @p_PROCESS_STATUS='TP') 
643
				AND EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD Temp   WHERE Temp.REQ_ID=A.REQ_ID AND Temp.STATUS_JOB='P' AND Temp.TYPE_JOB='XL')
644
		OR 	 (RPC.TYPE_JOB LIKE '%' + @p_PROCESS_STATUS + '%'  AND @p_PROCESS_STATUS='XL') 	
645
		OR A.USER_DVMS =@p_TLNAME_USER
646
		)
647
		)
648
		
649
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
650
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
651
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
652
		AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = ''
653
		OR A.DEP_CREATE LIKE '%' + @p_BRANCH_CREATE + '%'
654
		)
655
		AND (PLRD.REQ_CODE LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
656
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_ID + '%' OR @p_PL_REQ_ID IS NULL OR @p_PL_REQ_ID = '')
657
		AND A.RECORD_STATUS = '1'
658
		
659
		AND (				
660
			   EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DMMS AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND A.DMMS_ID=AUTH.DMMS_ID AND A.PROCESS_ID='DMMS')
661
			OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND A.DMMS_ID=AUTH.DVDM_ID AND A.PROCESS_ID='DMMS')
662
			OR EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER AND PROCESS_ID=PLRP.ID AND PLRP.PROCESS_ID='DMMS')
663
			OR(A.USER_DVMS =@p_TLNAME_USER)
664
		)
665

    
666
		--AND ( ((PLRP.ROLE_USER=@p_ROLE_USER OR PLRP.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER)) 
667
		
668
		--AND ( ( A.DMMS_ID IN (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID =@p_BRANCH_LOGIN AND (DEP_ID=@DEP_ID  OR @BRANCH_TYPE <>'HS')) 
669
		--OR A.DMMS_ID IN (SELECT DVDM_ID FROM @COST_ID) )))
670
		
671
		--OR (EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER AND PROCESS_ID=PLRP.ID AND PLRP.PROCESS_ID='DMMS')))
672
		
673
		AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS='U' AND A.PROCESS_ID <> 'APPROVE') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
674
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)
675
		--AND(
676
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
677
		--	OR
678
		--	(dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',1) LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = '')
679
		--)
680
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
681
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
682
		-- LUCTV: 10-03-2021 BO SUNG DIEU KIEN NEU CHUA DIEU PHOI THI KHONG TIM THAY O MAN HINH DMMS
683
		AND ((EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =A.REQ_ID AND (MAKER_ID = @p_TLNAME_USER  OR (TLNAME =@p_TLNAME_USER AND TYPE_JOB ='XL'))AND PROCESS_ID IN
684
															(SELECT ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_ID)) OR LEN(A.REQ_CODE) >15))
685

    
686
		--AND (A.USER_DVMS =@p_TLNAME_USER)
687
		ORDER BY A.CREATE_DT DESC
688
		END
689
		ELSE IF(@p_TYPE='PDYC')
690
		BEGIN
691
			
692
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
693
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
694
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
695
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
696
			   CMS.DMMS_NAME,A.DMMS_ID,
697
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
698
			   PLRP.ROLE_USER,
699
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
700
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
701
				RPN.NOTES AS PROCESS_STATUS_NEXT
702
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
703
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
704
		DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
705
		PLRD.REQ_NAME AS PL_REQ_NAME,RPC.TYPE_JOB,RPC.TLNAME AS USER_JOB,TU.TLFullName AS USER_JOB_NAME,TFM.TLFullName AS TRANSFER_MAKER,RPC.TRANFER_DT ,RPC.MAKER_ID AS TRANSFER_MAKER_ID,
706
			 '' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,PLRP.ID AS REF_ID,
707
		  RPN.STATUS AS STATUS_NEXT,
708
		  PLRP.STATUS AS STATUS_CURR,
709
		RPC.STATUS_JOB AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,CDC.DEP_NAME AS DEP_CREATE_NAME,CDC.DEP_CODE AS DEP_CREATE_CODE,
710
		A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
711

    
712
		--NGUOI XU LY
713
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
714
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
715
		FROM TR_REQUEST_DOC A 	
716
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS<>'U'		
717
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
718
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
719
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
720
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
721
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
722
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
723
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
724
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
725
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
726
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
727
		LEFT JOIN 
728
		(
729
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
730
			dbo.PL_REQUEST_PROCESS
731
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
732
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ([RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
733
		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)	
734
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
735
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
736
		LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPC ON RPC.REQ_ID=A.REQ_ID AND RPC.PROCESS_ID=PLRP.REQ_ID AND  (RPC.STATUS_JOB='C' OR RPC.STATUS_JOB='R')
737
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
738
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
739
		LEFT JOIN 
740
		(
741
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
742
			dbo.CM_DMMS 
743
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
744
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
745
			UNION ALL
746
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
747
			FROM dbo.CM_DVDM
748
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
749
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
750
		LEFT JOIN
751
		(		
752
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
753
		FROM @lstREQUEST RE
754
		WHERE RE.REQ_ID=Results.REQ_ID
755
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
756
		STUFF((select ', ' + RE.TLNAME  
757
		FROM @lstREQUEST RE
758
		WHERE RE.REQ_ID=Results.REQ_ID
759
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
760
		FROM @lstREQUEST Results
761
		GROUP BY REQ_ID
762
		) NXL ON NXL.REQ_ID=A.REQ_ID
763
		
764
		WHERE 1 = 1
765
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
766
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
767
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
768
		AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
769
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
770
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
771
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
772
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
773
		AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
774
		
775
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
776
		AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
777
		AND (A.PROCESS_ID LIKE '%' + @p_PROCESS_STATUS + '%' OR @p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='')	
778
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
779
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
780
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
781
		AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = ''
782
		OR A.DEP_CREATE LIKE '%' + @p_BRANCH_CREATE + '%'
783
		)
784
		AND (PLRD.REQ_CODE LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
785
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_ID + '%' OR @p_PL_REQ_ID IS NULL OR @p_PL_REQ_ID = '')
786
		AND A.RECORD_STATUS = '1'
787
		--AND (PLRP.ROLE_USER=@p_ROLE_USER OR PLRP.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER)) AND  PLRP.PROCESS_ID <>'DMMS' AND PLRP.PROCESS_ID<>'APPNEW' AND (
788
		-- (PLRP.DVDM_ID IN (SELECT DVDM_ID FROM @COST_ID) OR PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL))
789

    
790
		 AND (EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (PLRP.DVDM_ID=AUTH.DVDM_ID OR PLRP.DVDM_ID ='' OR PLRP.DVDM_ID  IS NULL) AND  PLRP.PROCESS_ID <>'DMMS' AND PLRP.PROCESS_ID<>'APPNEW'))
791

    
792
		AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS='U' AND A.PROCESS_ID <> 'APPROVE') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
793
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)
794

    
795
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
796
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
797

    
798
		ORDER BY A.CREATE_DT DESC
799
		END
800
		ELSE IF(@p_TYPE='DVCM')
801
		BEGIN
802
			
803
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
804
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,ISNULL(A.TOTAL_AMT,0.00) AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
805
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
806
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
807
			   CMS.DMMS_NAME,A.DMMS_ID,
808
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
809
			   PLRP.ROLE_USER,
810
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
811
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
812
				RPN.NOTES AS PROCESS_STATUS_NEXT
813
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
814
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
815
		DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
816
		PLRD.REQ_NAME AS PL_REQ_NAME,RPC.TYPE_JOB,RPC.TLNAME AS USER_JOB,TU.TLFullName AS USER_JOB_NAME,TFM.TLFullName AS TRANSFER_MAKER,RPC.TRANFER_DT ,RPC.MAKER_ID AS TRANSFER_MAKER_ID,
817
			 '' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,PLRP.ID AS REF_ID,
818
		  RPN.STATUS AS STATUS_NEXT,
819
		  PLRP.STATUS AS STATUS_CURR,
820
		RPC.STATUS_JOB AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,CDC.DEP_NAME AS DEP_CREATE_NAME,CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
821
		--NGUOI XU LY
822
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
823
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
824
		FROM TR_REQUEST_DOC A 	
825
		INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS<>'U'	
826
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
827
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
828
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
829
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
830
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
831
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
832
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
833
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
834
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
835
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
836
		LEFT JOIN 
837
		(
838
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
839
			dbo.PL_REQUEST_PROCESS
840
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
841
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ([RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
842
		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)	
843
		
844
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
845
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
846
		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')  AND A.PROCESS_ID <>'PDHT'
847
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
848
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
849
		LEFT JOIN 
850
		(
851
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
852
			dbo.CM_DMMS 
853
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
854
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
855
			UNION ALL
856
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
857
			FROM dbo.CM_DVDM
858
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
859
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
860
		LEFT JOIN
861
		(		
862
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
863
		FROM @lstREQUEST RE
864
		WHERE RE.REQ_ID=Results.REQ_ID
865
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
866
		STUFF((select ', ' + RE.TLNAME  
867
		FROM @lstREQUEST RE
868
		WHERE RE.REQ_ID=Results.REQ_ID
869
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
870
		FROM @lstREQUEST Results
871
		GROUP BY REQ_ID
872
		) NXL ON NXL.REQ_ID=A.REQ_ID
873
		
874

    
875
		WHERE 1 = 1
876
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
877
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
878
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
879
		AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
880
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
881
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
882
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
883
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
884
		AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
885
		
886
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
887
		AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
888
		AND (A.PROCESS_ID LIKE '%' + @p_PROCESS_STATUS + '%' OR @p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='')	
889
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
890
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
891
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
892
		AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = ''
893
		OR A.DEP_CREATE LIKE '%' + @p_BRANCH_CREATE + '%'
894
		)
895
		AND (PLRD.REQ_CODE LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
896
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_ID + '%' OR @p_PL_REQ_ID IS NULL OR @p_PL_REQ_ID = '')
897
		AND A.RECORD_STATUS = '1'
898
		
899
		AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS='U' AND A.PROCESS_ID <> 'APPROVE') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
900
		
901

    
902
		AND(((PLRP.ROLE_USER=@p_ROLE_USER OR PLRP.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER)) AND ((PLRP.DVDM_ID  IN (SELECT DVDM_ID FROM @COST_ID) )))
903
		OR (EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID AND PLRP.PROCESS_ID='DVCM') ))
904

    
905
		AND (	
906
			   EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND PLRP.DVDM_ID=AUTH.DVDM_ID)
907
			
908
			OR EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID AND PLRP.PROCESS_ID='DVCM')
909
		)
910

    
911

    
912

    
913
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)
914

    
915
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
916
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
917
		ORDER BY A.CREATE_DT DESC
918
		END
919
		ELSE IF(@p_TYPE='PLDVCM')
920
		BEGIN	
921
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
922
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,ISNULL(A.TOTAL_AMT,0.00) AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
923
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
924
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
925
			   CMS.DMMS_NAME,A.DMMS_ID,
926
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
927
			   --PLRP.ROLE_USER,
928
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
929
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
930
				RPN.NOTES AS PROCESS_STATUS_NEXT
931
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
932
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
933
		DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
934
		PLRD.REQ_NAME AS PL_REQ_NAME,
935
		--RPC.TYPE_JOB,RPC.TLNAME AS USER_JOB,TU.TLFullName AS USER_JOB_NAME,TFM.TLFullName AS TRANSFER_MAKER,RPC.TRANFER_DT ,RPC.MAKER_ID AS TRANSFER_MAKER_ID,
936
			 '' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,
937
			 --PLRP.ID AS REF_ID,
938
		  RPN.STATUS AS STATUS_NEXT,
939
		  --PLRP.STATUS AS STATUS_CURR,
940
		--RPC.STATUS_JOB AS STATUS_JOB,
941
		A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,CDC.DEP_NAME AS DEP_CREATE_NAME,CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
942
		--NGUOI XU LY
943
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
944
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
945
		FROM TR_REQUEST_DOC A 	
946
		--INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS<>'U'	
947
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
948
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
949
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
950
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
951
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
952
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
953
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
954
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
955
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
956
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
957
		LEFT JOIN 
958
		(
959
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
960
			dbo.PL_REQUEST_PROCESS
961
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
962
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ([RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
963
		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)	
964
		
965
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
966
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
967
		--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')  AND A.PROCESS_ID <>'PDHT'
968
		--LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
969
		--LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
970
		LEFT JOIN 
971
		(
972
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
973
			dbo.CM_DMMS 
974
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
975
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
976
			UNION ALL
977
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
978
			FROM dbo.CM_DVDM
979
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
980
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
981
		LEFT JOIN
982
		(		
983
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
984
		FROM @lstREQUEST RE
985
		WHERE RE.REQ_ID=Results.REQ_ID
986
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
987
		STUFF((select ', ' + RE.TLNAME  
988
		FROM @lstREQUEST RE
989
		WHERE RE.REQ_ID=Results.REQ_ID
990
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
991
		FROM @lstREQUEST Results
992
		GROUP BY REQ_ID
993
		) NXL ON NXL.REQ_ID=A.REQ_ID
994
		
995

    
996
		WHERE 1 = 1
997
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
998
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
999
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1000
		AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1001
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1002
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1003
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1004
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1005
		AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
1006
		
1007
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1008
		AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
1009
		AND (A.PROCESS_ID LIKE '%' + @p_PROCESS_STATUS + '%' OR @p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='')	
1010
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
1011
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
1012
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
1013
		AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = ''
1014
		OR A.DEP_CREATE LIKE '%' + @p_BRANCH_CREATE + '%'
1015
		)
1016
		AND (PLRD.REQ_CODE LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
1017
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_ID + '%' OR @p_PL_REQ_ID IS NULL OR @p_PL_REQ_ID = '')
1018
		AND A.RECORD_STATUS = '1'
1019
		
1020
		AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS='U' AND A.PROCESS_ID <> 'APPROVE') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
1021
		
1022

    
1023
		AND(	EXISTS (
1024
					SELECT * FROM PL_REQUEST_COSTCENTER  PRC
1025
					INNER JOIN @COST_ID COST ON PRC.COST_ID = COST.DVDM_ID
1026
					WHERE PRC.REQ_ID = A.PL_REQ_ID
1027
					)
1028
					OR @DEP_ID='DEP000000000022'
1029
										
1030
			)
1031

    
1032
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)
1033

    
1034
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1035
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1036
		--AND(((PLRP.ROLE_USER=@p_ROLE_USER OR PLRP.ROLE_USER IN (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER)) AND ((PLRP.DVDM_ID  IN (SELECT DVDM_ID FROM @COST_ID) )))
1037
		--	OR (EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER  AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID) ))
1038

    
1039
		ORDER BY A.CREATE_DT DESC
1040
		END
1041
		ELSE	IF(@p_TYPE='DVKD_PARENT' )
1042
		BEGIN		
1043
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
1044
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
1045
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
1046
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
1047
			   CMS.DMMS_NAME,A.DMMS_ID,
1048
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
1049
			   RP.ROLE_USER,
1050
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
1051
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
1052
				RPN.NOTES AS PROCESS_STATUS_NEXT
1053
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
1054
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
1055
		DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
1056
		PLRD.REQ_NAME AS PL_REQ_NAME,'' TYPE_JOB,'' AS USER_JOB,'' AS USER_JOB_NAME,'' AS TRANSFER_MAKER,CAST(NULL AS DATETIME) AS TRANFER_DT ,
1057
		'' AS TRANSFER_MAKER_ID,'' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,RP.ID AS REF_ID,
1058
		  RPN.STATUS AS STATUS_NEXT,
1059
		  RP.STATUS AS STATUS_CURR,
1060
		'' AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,CDC.DEP_NAME AS DEP_CREATE_NAME,CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
1061
		--NGUOI XU LY
1062
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
1063
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
1064
		FROM TR_REQUEST_DOC A
1065
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
1066
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1067
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
1068
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
1069
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
1070
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
1071
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
1072
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
1073
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
1074
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
1075
		LEFT JOIN 
1076
		(
1077
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
1078
			dbo.PL_REQUEST_PROCESS
1079
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
1080
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ([RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
1081
		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)	
1082
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1083
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1084
		LEFT JOIN 
1085
		(
1086
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
1087
			dbo.CM_DMMS 
1088
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
1089
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
1090
			UNION ALL
1091
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
1092
			FROM dbo.CM_DVDM
1093
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
1094
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1095
		LEFT JOIN
1096
		(		
1097
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1098
		FROM @lstREQUEST RE
1099
		WHERE RE.REQ_ID=Results.REQ_ID
1100
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1101
		STUFF((select ', ' + RE.TLNAME  
1102
		FROM @lstREQUEST RE
1103
		WHERE RE.REQ_ID=Results.REQ_ID
1104
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1105
		FROM @lstREQUEST Results
1106
		GROUP BY REQ_ID
1107
		) NXL ON NXL.REQ_ID=A.REQ_ID
1108
		
1109

    
1110
		WHERE 1 = 1
1111
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
1112
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1113
		AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1114
		AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1115
		AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1116
		AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1117
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1118
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1119
		AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
1120
		
1121
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1122
		AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
1123
		AND (A.PROCESS_ID LIKE '%' + @p_PROCESS_STATUS + '%' OR @p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='')	
1124
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
1125
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
1126
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
1127
		AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
1128
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
1129
		
1130
		AND A.RECORD_STATUS = '1'
1131
		AND (A.BRANCH_CREATE =@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR A.DEP_CREATE ='' OR A.DEP_CREATE IS NULL))
1132
		AND (( @p_AUTH_STATUS='A' AND  A.PROCESS_ID='APPROVE') OR( @p_AUTH_STATUS='U' AND A.PROCESS_ID <> 'APPROVE') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
1133
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)
1134
		AND (A.REQ_PARENT_ID IS NULL  OR A.REQ_PARENT_ID='')
1135

    
1136
		AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY  + '%' OR @p_NGUOIXULY  IS NULL OR @p_NGUOIXULY  = ''
1137
			OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY  + '%')
1138

    
1139
		ORDER BY A.CREATE_DT DESC
1140
		END
1141
		ELSE IF(@p_TYPE='DMMS_PARENT')
1142
		BEGIN	
1143
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
1144
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
1145
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
1146
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
1147
			   CMS.DMMS_NAME,A.DMMS_ID,
1148
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
1149
			   RP.ROLE_USER,
1150
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
1151
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
1152
				RPN.NOTES AS PROCESS_STATUS_NEXT
1153
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
1154
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
1155
		CASE WHEN DVC.BRANCH_TYPE ='HS' THEN DVC.BRANCH_NAME ELSE DEP.DEP_NAME END AS BRANCH_CREATE_NAME,
1156
		--DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
1157
		PLRD.REQ_NAME AS PL_REQ_NAME,RPC.TYPE_JOB,RPC.TLNAME AS USER_JOB,TU.TLFullName AS USER_JOB_NAME,TFM.TLFullName AS TRANSFER_MAKER,RPC.TRANFER_DT ,RPC.MAKER_ID AS TRANSFER_MAKER_ID,
1158
			 '' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, FORMAT(PLRD.TOTAL_AMT,'#,###') AS NCC_NAME, '' AS NCC_ADDR,PLRP.ID AS REF_ID,
1159
		   RPN.STATUS AS STATUS_NEXT,
1160
		  PLRP.STATUS AS STATUS_CURR,
1161
		RPC.STATUS_JOB AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,
1162
		CASE WHEN DVC.BRANCH_TYPE ='HS' THEN CDC.DEP_NAME ELSE DVC.BRANCH_NAME END AS DEP_CREATE_NAME,
1163
		CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
1164
		
1165
		--NGUOI XU LY
1166
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
1167
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
1168
		FROM TR_REQUEST_DOC A 	
1169
		LEFT JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND	PLRP.STATUS <>'U' AND PLRP.PROCESS_ID = 'DMMS'
1170
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID 
1171
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1172
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
1173
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
1174
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
1175
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
1176
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
1177
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
1178
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
1179
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
1180
		LEFT JOIN CM_DEPARTMENT DEP ON UM.SECUR_CODE = DEP.DEP_ID
1181
		LEFT JOIN 
1182
		(
1183
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
1184
			dbo.PL_REQUEST_PROCESS
1185
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
1186
		) RPN ON RPN.REQ_ID=A.REQ_ID AND( [RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
1187
		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)	
1188
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1189
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1190
		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') AND A.PROCESS_ID <>'PDHT'
1191
		LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
1192
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
1193
		LEFT JOIN 
1194
		(
1195
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
1196
			dbo.CM_DMMS 
1197
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
1198
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
1199
			UNION ALL
1200
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
1201
			FROM dbo.CM_DVDM
1202
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
1203
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1204
		LEFT JOIN
1205
		(		
1206
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1207
		FROM @lstREQUEST RE
1208
		WHERE RE.REQ_ID=Results.REQ_ID
1209
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1210
		STUFF((select ', ' + RE.TLNAME  
1211
		FROM @lstREQUEST RE
1212
		WHERE RE.REQ_ID=Results.REQ_ID
1213
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1214
		FROM @lstREQUEST Results
1215
		GROUP BY REQ_ID
1216
		) NXL ON NXL.REQ_ID=A.REQ_ID
1217
		
1218

    
1219
		WHERE 1 = 1
1220
		AND (A.IS_KT = @p_IS_KT OR @p_IS_KT IS NULL)
1221
	    AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1222
		--AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1223
		--AND (A.REQ_REASON LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1224
		--AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1225
		--AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')	
1226
		--AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1227
		--AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1228
		--AND (CAST(A.CREATE_DT AS DATE)=CAST(@p_CREATE_DT AS DATE) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
1229
		
1230
		--AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1231
		--AND (CAST(A.APPROVE_DT AS DATE) = CAST(@p_APPROVE_DT AS DATE) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
1232
		
1233
		--AND (@p_PROCESS_STATUS IS NULL OR @p_PROCESS_STATUS='' 
1234
		--OR (RPC.TYPE_JOB LIKE '%' + @p_PROCESS_STATUS + '%'  AND (@p_PROCESS_STATUS='KS' OR @p_PROCESS_STATUS='TP') 
1235
		--		AND EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD Temp   WHERE Temp.REQ_ID=A.REQ_ID AND Temp.STATUS_JOB='P' AND Temp.TYPE_JOB='XL')
1236
		--OR 	 (RPC.TYPE_JOB LIKE '%' + @p_PROCESS_STATUS + '%'  AND @p_PROCESS_STATUS='XL') 	
1237
		--OR A.USER_DVMS =@p_TLNAME_USER
1238
		--)
1239
		--)
1240
		 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
1241
		AND(@p_FR_DATE IS NULL OR CAST(A.REQ_DT AS DATE) >= CAST(@p_FR_DATE AS DATE))
1242
		AND(@p_TO_DATE IS NULL OR CAST(A.REQ_DT AS DATE) <= CAST(@p_TO_DATE AS DATE))
1243
		AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = ''
1244
		OR A.DEP_CREATE LIKE '%' + @p_BRANCH_CREATE + '%'
1245
		)
1246
		AND (PLRD.REQ_CODE LIKE '%' + @p_PL_REQ_CODE + '%' OR @p_PL_REQ_CODE IS NULL OR @p_PL_REQ_CODE = '')
1247
		AND (A.PL_REQ_ID LIKE '%' + @p_PL_REQ_ID + '%' OR @p_PL_REQ_ID IS NULL OR @p_PL_REQ_ID = '')
1248
		AND A.RECORD_STATUS = '1'
1249
		
1250
		AND (				
1251
			   EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DMMS AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND A.DMMS_ID=AUTH.DMMS_ID AND A.PROCESS_ID='DMMS')
1252
			OR EXISTS(SELECT  AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND A.DMMS_ID=AUTH.DVDM_ID AND A.PROCESS_ID='DMMS')
1253
			OR EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER AND PROCESS_ID=PLRP.ID AND PLRP.PROCESS_ID='DMMS')
1254
			OR(A.USER_DVMS =@p_TLNAME_USER)
1255
		)
1256
		AND (A.PROCESS_ID ='APPROVE')
1257
		AND(@p_YEAR IS NULL OR YEAR(A.REQ_DT)=@p_YEAR OR @p_YEAR = '' OR @p_YEAR IS NULL OR @p_YEAR = 0)
1258
		END
1259
		ELSE	IF(@p_TYPE='TTCT' )
1260
		BEGIN	
1261
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
1262
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
1263
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
1264
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
1265
			   CMS.DMMS_NAME,A.DMMS_ID,
1266
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
1267
			   RP.ROLE_USER,
1268
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
1269
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
1270
				RPN.NOTES AS PROCESS_STATUS_NEXT
1271
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
1272
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
1273
		DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
1274
		PLRD.REQ_NAME AS PL_REQ_NAME,'' TYPE_JOB,'' AS USER_JOB,'' AS USER_JOB_NAME,'' AS TRANSFER_MAKER,CAST(NULL AS DATETIME) AS TRANFER_DT ,
1275
		'' AS TRANSFER_MAKER_ID,'' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,RP.ID AS REF_ID,
1276
		  RPN.STATUS AS STATUS_NEXT,
1277
		  RP.STATUS AS STATUS_CURR,
1278
		'' AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,CDC.DEP_NAME AS DEP_CREATE_NAME,CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
1279
		--NGUOI XU LY
1280
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
1281
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
1282
		FROM TR_REQUEST_DOC A
1283
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
1284
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1285
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
1286
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
1287
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
1288
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
1289
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
1290
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
1291
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
1292
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
1293
		LEFT JOIN 
1294
		(
1295
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
1296
			dbo.PL_REQUEST_PROCESS
1297
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
1298
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ([RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
1299
		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)	
1300
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1301
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1302
		LEFT JOIN 
1303
		(
1304
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
1305
			dbo.CM_DMMS 
1306
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
1307
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
1308
			UNION ALL
1309
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
1310
			FROM dbo.CM_DVDM
1311
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
1312
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1313
		LEFT JOIN
1314
		(		
1315
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1316
		FROM @lstREQUEST RE
1317
		WHERE RE.REQ_ID=Results.REQ_ID
1318
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1319
		STUFF((select ', ' + RE.TLNAME  
1320
		FROM @lstREQUEST RE
1321
		WHERE RE.REQ_ID=Results.REQ_ID
1322
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1323
		FROM @lstREQUEST Results
1324
		GROUP BY REQ_ID
1325
		) NXL ON NXL.REQ_ID=A.REQ_ID
1326
		
1327

    
1328
		WHERE 1 = 1
1329
		AND A.PL_REQ_ID=@p_PL_REQ_ID
1330

    
1331
		ORDER BY A.CREATE_DT DESC
1332
		END
1333
		-- NEU LA LINK PYCMS
1334
		ELSE IF(@p_TYPE='LINK_TTCT' )
1335
		BEGIN	
1336
		SELECT A.REQ_ID,A.REQ_CODE,A.REQ_NAME,A.REQ_DT, A.REQ_TYPE,A.IS_KT,
1337
               A.REQ_REASON, A.REQ_CONTENT,A.PL_REQ_ID,A.TOTAL_AMT AS TOTAL_AMT, A.NOTES, A.RECORD_STATUS,A.MAKER_ID, A.CREATE_DT,
1338
               A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.BRANCH_DO, A.PROCESS_ID,A.BRANCH_CREATE, A.USER_REQUEST,U.TLFullName AS USER_REQUEST_NAME,
1339
			   D.AUTH_STATUS_NAME,UDV.TLFullName AS CHECKER_NAME,UMS.TLFullName AS USER_DVMS_NAME,UM.TLFullName AS MAKER_NAME,
1340
			   CMS.DMMS_NAME,A.DMMS_ID,
1341
			   RP.NOTES AS PROCESS_STATUS,RP.APPROVE_DT AS PROCESS_APP_DT,UP.TLFullName AS PROCESS_CHECKER_NAME,
1342
			   RP.ROLE_USER,
1343
			   CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt' 
1344
				ELSE N'Chờ duyệt' END AS AUTH_STATUS_PROCESS_NAME,
1345
				RPN.NOTES AS PROCESS_STATUS_NEXT
1346
		,G.BRANCH_NAME AS BRANCH_DO_NAME,G.BRANCH_CODE AS BRANCH_DO_CODE,PLRD.REQ_CODE AS PL_REQ_CODE,
1347
		DVMS.BRANCH_CODE AS BRANCH_CODE_DVMS,DVMS.BRANCH_NAME AS BRANCH_NAME_DVMS,DVC.BRANCH_CODE AS BRANCH_CREATE_CODE,
1348
		DVC.BRANCH_NAME AS BRANCH_CREATE_NAME,
1349
		PLRD.REQ_NAME AS PL_REQ_NAME,'' TYPE_JOB,'' AS USER_JOB,'' AS USER_JOB_NAME,'' AS TRANSFER_MAKER,CAST(NULL AS DATETIME) AS TRANFER_DT ,
1350
		'' AS TRANSFER_MAKER_ID,'' AS TYPE_JOB_XL,'' AS USER_JOB_XL,PLRD.REQ_CODE AS SO_TT_CT, PLRD.REQ_DT AS NGAY_NHAN_TT, PLRD.EFFEC_DT NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,RP.ID AS REF_ID,
1351
		  RPN.STATUS AS STATUS_NEXT,
1352
		  RP.STATUS AS STATUS_CURR,
1353
		'' AS STATUS_JOB,A.REQ_PARENT_ID,A.DEP_CREATE,APR.REQ_CODE AS REQ_PARENT_CODE,CDC.DEP_NAME AS DEP_CREATE_NAME,CDC.DEP_CODE AS DEP_CREATE_CODE,A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME, '' AS IS_TRANSFER,
1354
		--NGUOI XU LY
1355
		--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'PYC-DVKD',0) AS NGUOIXULY
1356
		NXL.NGUOIXULY AS NGUOIXULY,PLRD.TOTAL_AMT AS GIATRI_TO_TRINH
1357
		FROM TR_REQUEST_DOC A
1358
		LEFT JOIN dbo.PL_REQUEST_DOC PLRD ON A.PL_REQ_ID=PLRD.REQ_ID
1359
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1360
		LEFT JOIN CM_BRANCH G ON A.BRANCH_DO=G.BRANCH_ID
1361
		LEFT JOIN dbo.TL_USER U ON U.TLNANME =A.USER_REQUEST
1362
		LEFT JOIN dbo.TL_USER UMS ON UMS.TLNANME =A.USER_DVMS
1363
		LEFT JOIN dbo.CM_BRANCH DVMS ON DVMS.BRANCH_ID=A.BRANCH_DVMS
1364
		LEFT JOIN dbo.CM_BRANCH DVC ON DVC.BRANCH_ID=A.BRANCH_CREATE
1365
		LEFT JOIN dbo.CM_DEPARTMENT CDC ON CDC.DEP_ID=A.DEP_CREATE
1366
		LEFT JOIN dbo.TR_REQUEST_DOC APR ON APR.REQ_ID=A.REQ_PARENT_ID
1367
		LEFT JOIN dbo.TL_USER UM ON UM.TLNANME=A.MAKER_ID
1368
		LEFT JOIN 
1369
		(
1370
			SELECT REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES FROM
1371
			dbo.PL_REQUEST_PROCESS
1372
			GROUP BY REQ_ID,PROCESS_ID,PARENT_PROCESS_ID,STATUS,NOTES
1373
		) RPN ON RPN.REQ_ID=A.REQ_ID AND ([RPN].[STATUS]='C' OR [RPN].[STATUS]='R')
1374
		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)	
1375
		LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
1376
		LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
1377
		LEFT JOIN 
1378
		(
1379
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
1380
			dbo.CM_DMMS 
1381
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
1382
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
1383
			UNION ALL
1384
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
1385
			FROM dbo.CM_DVDM
1386
		)CMS ON CMS.DMMS_ID=A.DMMS_ID
1387
		LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
1388
		LEFT JOIN
1389
		(		
1390
		SELECT	Results.REQ_ID,STUFF((select ', ' + RE.TLFullName  
1391
		FROM @lstREQUEST RE
1392
		WHERE RE.REQ_ID=Results.REQ_ID
1393
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
1394
		STUFF((select ', ' + RE.TLNAME  
1395
		FROM @lstREQUEST RE
1396
		WHERE RE.REQ_ID=Results.REQ_ID
1397
		FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME	
1398
		FROM @lstREQUEST Results
1399
		GROUP BY REQ_ID
1400
		) NXL ON NXL.REQ_ID=A.REQ_ID
1401
		
1402

    
1403
		WHERE 1 = 1
1404
		AND A.PL_REQ_ID=@p_PL_REQ_ID
1405

    
1406
		ORDER BY A.CREATE_DT DESC
1407
		END-- END LUCTV
1408
	END
1409
   END
1410