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),
|
26
|
@p_TYPE VARCHAR(15),
|
27
|
@p_YEAR INT,
|
28
|
@p_TOP INT = 10,
|
29
|
@p_IS_TRANSFER VARCHAR(10) = NULL,
|
30
|
@p_NGUOIXULY NVARCHAR(15) = NULL
|
31
|
AS
|
32
|
BEGIN -- PAGING
|
33
|
|
34
|
DECLARE @TABLE_ROLE TABLE
|
35
|
( ROLE_ID VARCHAR(20))
|
36
|
INSERT INTO @TABLE_ROLE VALUES(@p_ROLE_USER)
|
37
|
|
38
|
|
39
|
INSERT INTO @TABLE_ROLE
|
40
|
SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER
|
41
|
|
42
|
|
43
|
|
44
|
DECLARE @DEP_ID VARCHAR(15),@BRANCH_TYPE VARCHAR(15)
|
45
|
|
46
|
DECLARE
|
47
|
@COST_ID TABLE (
|
48
|
COST_ID VARCHAR(15)
|
49
|
)
|
50
|
|
51
|
DECLARE @DVDM_ID TABLE (
|
52
|
DVDM_ID VARCHAR(15)
|
53
|
)
|
54
|
SET @DEP_ID =(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME_USER)
|
55
|
SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
|
56
|
|
57
|
|
58
|
IF(EXISTS(SELECT DEP_CODE FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEP_ID AND DEP_CODE LIKE '069%'))
|
59
|
BEGIN
|
60
|
SET @BRANCH_TYPE='HS'
|
61
|
END
|
62
|
|
63
|
|
64
|
|
65
|
DECLARE @AUTHOR TABLE
|
66
|
(
|
67
|
ROLE_ID VARCHAR(100),
|
68
|
BRANCH_ID VARCHAR(20),
|
69
|
DEP_ID VARCHAR(20)
|
70
|
)
|
71
|
DECLARE @AUTHOR_DVDM TABLE
|
72
|
(
|
73
|
ROLE_ID VARCHAR(100),
|
74
|
BRANCH_ID VARCHAR(20),
|
75
|
DEP_ID VARCHAR(20),
|
76
|
DVDM_ID VARCHAR(20)
|
77
|
)
|
78
|
INSERT INTO @AUTHOR
|
79
|
(
|
80
|
ROLE_ID,
|
81
|
BRANCH_ID,
|
82
|
DEP_ID
|
83
|
)
|
84
|
SELECT RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
|
85
|
WHERE TLNANME=@p_TLNAME_USER
|
86
|
UNION ALL
|
87
|
SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE FROM dbo.TL_USER TU
|
88
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
89
|
WHERE TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
|
90
|
UNION ALL
|
91
|
SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
|
92
|
WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
93
|
UNION ALL
|
94
|
SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE FROM dbo.TL_SYS_ROLE_MAPPING TM1
|
95
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
96
|
WHERE TM1.TLNAME=@p_TLNAME_USER AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
97
|
|
98
|
INSERT INTO @AUTHOR_DVDM
|
99
|
(
|
100
|
ROLE_ID,
|
101
|
BRANCH_ID,
|
102
|
DEP_ID,
|
103
|
DVDM_ID
|
104
|
)
|
105
|
SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU
|
106
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
|
107
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
108
|
WHERE TU.TLNANME=@p_TLNAME_USER
|
109
|
UNION ALL
|
110
|
SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU
|
111
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
|
112
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
113
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
114
|
WHERE TU.TLNANME=@p_TLNAME_USER AND TM.ROLE_NEW IS NOT NULL
|
115
|
UNION ALL
|
116
|
SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU
|
117
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
|
118
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
119
|
WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
120
|
UNION ALL
|
121
|
SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU
|
122
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
|
123
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
124
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
125
|
WHERE TU.TLNAME=@p_TLNAME_USER AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
126
|
|
127
|
INSERT INTO @COST_ID
|
128
|
SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@p_BRANCH_LOGIN
|
129
|
INSERT INTO @DVDM_ID
|
130
|
SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID) GROUP BY DVDM_ID
|
131
|
|
132
|
---- NGUOI XU lY TIEP THEO 18022021
|
133
|
DECLARE @lstREQUEST TABLE (
|
134
|
REQ_ID VARCHAR(20),
|
135
|
PROCESS_ID VARCHAR(50),
|
136
|
DVDM_NAME NVARCHAR(200),
|
137
|
TLNAME VARCHAR(200),
|
138
|
TLFullName NVARCHAR(200),
|
139
|
NOTES NVARCHAR(200)
|
140
|
)
|
141
|
INSERT INTO @lstREQUEST
|
142
|
( REQ_ID,PROCESS_ID, DVDM_NAME,TLNAME,TLFullName, NOTES)
|
143
|
SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM
|
144
|
(
|
145
|
SELECT REQ_ID,PROCESS_ID,NOTES,ROLE_USER,BRANCH_ID,DEP_ID,STATUS,DVDM_ID
|
146
|
FROM dbo.PL_REQUEST_PROCESS PRC
|
147
|
WHERE PRC.STATUS = 'C'
|
148
|
AND EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD WHERE PLRD.REQ_ID=PRC.REQ_ID)
|
149
|
AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID <>'SIGN'
|
150
|
AND (PRC.IS_HAS_CHILD = 0 OR PRC.IS_HAS_CHILD IS NULL)
|
151
|
) PL
|
152
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
|
153
|
LEFT JOIN
|
154
|
(
|
155
|
SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU
|
156
|
LEFT JOIN
|
157
|
(
|
158
|
SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID
|
159
|
FROM dbo.PL_COSTCENTER PC
|
160
|
LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID
|
161
|
) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
|
162
|
UNION ALL
|
163
|
SELECT TU.TLNAME,US.TLFullName,TU.ROLE_NEW RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID FROM dbo.TL_SYS_ROLE_MAPPING TU
|
164
|
LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
|
165
|
LEFT JOIN(
|
166
|
SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC
|
167
|
LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
|
168
|
WHERE CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
169
|
) TempU ON (TempU.RoleName=PL.ROLE_USER
|
170
|
OR EXISTS(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE PL.ROLE_USER = TM.ROLE_NEW AND ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME=''))) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='')
|
171
|
AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
|
172
|
AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
|
173
|
LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
|
174
|
LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
|
175
|
WHERE PL.STATUS='C'
|
176
|
UNION ALL
|
177
|
SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM
|
178
|
(
|
179
|
SELECT REQ_ID,PROCESS_ID,NOTES,ROLE_USER,BRANCH_ID,DEP_ID,STATUS,DVDM_ID
|
180
|
FROM dbo.PL_REQUEST_PROCESS PRC WHERE PRC.STATUS = 'C' AND --GIANT 23/12/2021
|
181
|
EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD
|
182
|
WHERE PLRD.REQ_ID=PRC.REQ_ID
|
183
|
) AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID ='SIGN' AND (PRC.IS_HAS_CHILD = 0 OR PRC.IS_HAS_CHILD IS NULL)) PL
|
184
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
|
185
|
LEFT JOIN
|
186
|
(
|
187
|
SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU
|
188
|
LEFT JOIN(
|
189
|
SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC
|
190
|
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
|
191
|
) TempU ON (TempU.RoleName=PL.ROLE_USER OR EXISTS(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE PL.ROLE_USER = TM.ROLE_NEW AND TM.ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME='')))
|
192
|
AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='')
|
193
|
AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
|
194
|
AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
|
195
|
LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
|
196
|
LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
|
197
|
WHERE STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
|
198
|
|
199
|
UNION ALL
|
200
|
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
|
201
|
FROM
|
202
|
(
|
203
|
SELECT REQ_ID,PROCESS_ID,NOTES,ROLE_USER,BRANCH_ID,DEP_ID,STATUS,IS_HAS_CHILD,DVDM_ID,ID
|
204
|
FROM dbo.PL_REQUEST_PROCESS PRC WHERE
|
205
|
EXISTS(SELECT PLRD.REQ_ID FROM dbo.PL_REQUEST_DOC PLRD
|
206
|
WHERE PLRD.REQ_ID=PRC.REQ_ID
|
207
|
|
208
|
) AND PRC.STATUS='C' AND PRC.PROCESS_ID <>'APPROVE' AND PRC.PROCESS_ID <>'SIGN' AND PRC.IS_HAS_CHILD = 1 ) PL
|
209
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
|
210
|
LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
|
211
|
LEFT JOIN
|
212
|
(
|
213
|
SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC
|
214
|
LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
|
215
|
WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
|
216
|
)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
|
217
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
|
218
|
LEFT JOIN
|
219
|
(
|
220
|
SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU
|
221
|
LEFT JOIN(
|
222
|
SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC
|
223
|
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
|
224
|
UNION ALL
|
225
|
SELECT TU.TLNAME,US.TLFullName,TU.ROLE_NEW RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID FROM dbo.TL_SYS_ROLE_MAPPING TU
|
226
|
LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
|
227
|
LEFT JOIN(
|
228
|
SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC
|
229
|
LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
|
230
|
WHERE CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
231
|
) TempU ON (TempU.RoleName=PL.ROLE_USER OR EXISTS(SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING TM WHERE PL.ROLE_USER = TM.ROLE_NEW AND ROLE_OLD=TempU.RoleName AND (TM.TLNAME IS NULL OR TM.TLNAME=''))) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='')
|
232
|
AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
|
233
|
AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
|
234
|
WHERE PL.STATUS='C'
|
235
|
----- GIANT 23/12/2021
|
236
|
IF(@p_FR_DATE IS NULL)
|
237
|
BEGIN
|
238
|
SET @p_FR_DATE = GETDATE()
|
239
|
SET @p_FR_DATE = DATEADD(YEAR,-1,@p_FR_DATE)
|
240
|
END
|
241
|
-----
|
242
|
IF(@p_TYPE='DVKD')
|
243
|
BEGIN
|
244
|
-- PAGING BEGIN
|
245
|
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,
|
246
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
247
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
248
|
A.APPROVE_DT,
|
249
|
A.PROCESS_ID,
|
250
|
--D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
251
|
--CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
252
|
--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,
|
253
|
CASE WHEN A.PROCESS_ID='APPROVE' OR A.AUTH_STATUS ='A' THEN N'Đã duyệt'
|
254
|
ELSE D.AUTH_STATUS_NAME END AS AUTH_STATUS_NAME,
|
255
|
G.BRANCH_CODE,
|
256
|
CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
|
257
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
258
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
259
|
UC.TLFullName AS MAKER_NAME,
|
260
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
261
|
RP.ROLE_USER,
|
262
|
RP.NOTES AS PROCESS_STATUS ,
|
263
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
264
|
A.DVDM_APP_ID,
|
265
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
266
|
A.REQ_PARENT_ID,
|
267
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
268
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
269
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
270
|
A.BRANCH_FEE,
|
271
|
A.DEP_ID,
|
272
|
A.DEP_FEE,
|
273
|
DEP.DEP_NAME,
|
274
|
DEP.DEP_CODE,
|
275
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
276
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
277
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
278
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
279
|
'' AS BRANCH_DEP,
|
280
|
'' AS BRANCH_DEP_FEE,
|
281
|
|
282
|
|
283
|
|
284
|
'' AS TYPE_JOB,
|
285
|
'' AS USER_JOB,
|
286
|
'' AS USER_JOB_NAME,
|
287
|
'' AS TRANSFER_MAKER,
|
288
|
A.CREATE_DT AS TRANFER_DT ,
|
289
|
'' AS TRANSFER_MAKER_ID,
|
290
|
A.EFFEC_DT,A.IS_BACKDAY,
|
291
|
'' AS TYPE_JOB_XL,
|
292
|
'' AS USER_JOB_XL,
|
293
|
RP.ID AS REF_ID,
|
294
|
RPN.STATUS AS STATUS_NEXT,
|
295
|
RP.STATUS AS STATUS_CURR,
|
296
|
'' AS STATUS_JOB,
|
297
|
A.BRANCH_CREATE,
|
298
|
A.DEP_CREATE,
|
299
|
A.REQ_LINE,
|
300
|
A.TC_NOTES,
|
301
|
A.SIGN_USER,
|
302
|
TL.TLFullName AS SIGN_USER_NAME,
|
303
|
A.KT_NOTES,
|
304
|
A.IS_CHECKALL,
|
305
|
A.BASED_CONTENT,
|
306
|
A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT,
|
307
|
'' AS IS_TRANSFER,
|
308
|
--NGUOI XU LY
|
309
|
NXL.NGUOIXULY AS NGUOIXULY, A.TK_HDQT_NOTES, A.TK_TGD_NOTES, A.OTHER_NOTES
|
310
|
-- SELECT END
|
311
|
FROM PL_REQUEST_DOC A
|
312
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <>'U'
|
313
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
314
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
315
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
316
|
|
317
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
318
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
319
|
|
320
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
321
|
|
322
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
323
|
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') )
|
324
|
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)
|
325
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
326
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
327
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
328
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
329
|
LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
|
330
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
331
|
LEFT JOIN
|
332
|
(
|
333
|
|
334
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
335
|
FROM @lstREQUEST RE
|
336
|
WHERE RE.REQ_ID=Results.REQ_ID
|
337
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
338
|
STUFF((select ', ' + RE.TLNAME
|
339
|
FROM @lstREQUEST RE
|
340
|
WHERE RE.REQ_ID=Results.REQ_ID
|
341
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
342
|
FROM @lstREQUEST Results
|
343
|
GROUP BY REQ_ID
|
344
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
345
|
|
346
|
WHERE 1 = 1
|
347
|
|
348
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
349
|
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
350
|
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
351
|
AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
|
352
|
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
353
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
354
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
355
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
356
|
|
357
|
|
358
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
359
|
|
360
|
|
361
|
AND (@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
|
362
|
AND (@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
|
363
|
AND (@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0)
|
364
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
|
365
|
AND A.RECORD_STATUS = '1'
|
366
|
|
367
|
AND(
|
368
|
@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
369
|
OR
|
370
|
(
|
371
|
@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)
|
372
|
)
|
373
|
OR
|
374
|
(
|
375
|
@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)
|
376
|
)
|
377
|
)
|
378
|
|
379
|
AND (A.MAKER_ID=@p_TLNAME_USER
|
380
|
OR (A.PROCESS_ID ='APPROVE' AND A.BRANCH_CREATE=@p_BRANCH_LOGIN AND (A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE<>'HS'))
|
381
|
OR EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG WHERE ROLE_TYPE='PL_REQUEST_DOC_ALL' AND BRANCH_ID=@p_TLNAME_USER )
|
382
|
OR EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE PLRP.PROCESS_ID='APPNEW' AND PLRP.REQ_ID=A.REQ_ID
|
383
|
AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND AUTH.BRANCH_ID=PLRP.BRANCH_ID
|
384
|
AND(PLRP.DEP_ID=AUTH.DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='') ))
|
385
|
--
|
386
|
|
387
|
--OR (EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS PLRP WHERE A.REQ_ID=PLRP.REQ_ID AND PLRP.PROCESS_ID='APPNEW'
|
388
|
-- AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE) AND PLRP.BRANCH_ID=@p_BRANCH_LOGIN
|
389
|
-- AND (PLRP.DEP_ID=@DEP_ID OR PLRP.DEP_ID IS NULL OR PLRP.DEP_ID ='')))
|
390
|
--
|
391
|
|
392
|
|
393
|
OR(A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'' AND A.SIGN_USER =@p_TLNAME_USER AND A.AUTH_STATUS<>'E'))
|
394
|
--
|
395
|
--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 = '')
|
396
|
--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 ='')))))
|
397
|
--
|
398
|
--AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
|
399
|
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'))
|
400
|
OR (@p_AUTH_STATUS ='E' AND A.AUTH_STATUS =@p_AUTH_STATUS)
|
401
|
OR (@p_AUTH_STATUS ='R' AND A.AUTH_STATUS =@p_AUTH_STATUS)
|
402
|
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'))
|
403
|
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'))
|
404
|
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'))
|
405
|
OR (@p_AUTH_STATUS ='' OR @p_AUTH_STATUS IS NULL)
|
406
|
)
|
407
|
AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
408
|
AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
|
409
|
AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
410
|
AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = ''
|
411
|
OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY + '%')
|
412
|
|
413
|
AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
414
|
AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
|
415
|
|
416
|
-- GIANT 26/10/2021
|
417
|
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))
|
418
|
|
419
|
--HUYHT 10/05/2022 TÌM KIẾM THEO BƯỚC XỬ LÝ TIẾP THEO
|
420
|
AND (A.PROCESS_ID = @p_PROCESS_ID OR (@p_PROCESS_ID IS NULL OR @p_PROCESS_ID = ''))
|
421
|
|
422
|
ORDER BY A.CREATE_DT DESC
|
423
|
-- PAGING END
|
424
|
END
|
425
|
ELSE IF(@p_TYPE='PDTT')
|
426
|
BEGIN
|
427
|
-- PAGING BEGIN
|
428
|
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,
|
429
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
430
|
|
431
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
432
|
|
433
|
A.APPROVE_DT,
|
434
|
A.PROCESS_ID,
|
435
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
436
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
437
|
ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
438
|
G.BRANCH_CODE,
|
439
|
G.BRANCH_NAME,
|
440
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
441
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
442
|
UC.TLFullName AS MAKER_NAME,
|
443
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
444
|
RPN.ROLE_USER,
|
445
|
RP.NOTES AS PROCESS_STATUS ,
|
446
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
447
|
A.DVDM_APP_ID,
|
448
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
449
|
A.REQ_PARENT_ID,
|
450
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
451
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
452
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
453
|
A.BRANCH_FEE,
|
454
|
A.DEP_ID,
|
455
|
A.DEP_FEE,
|
456
|
DEP.DEP_NAME,
|
457
|
DEP.DEP_CODE,
|
458
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
459
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
460
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
461
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
462
|
'' AS BRANCH_DEP,
|
463
|
'' AS BRANCH_DEP_FEE,
|
464
|
|
465
|
|
466
|
|
467
|
RPC.TYPE_JOB AS TYPE_JOB,
|
468
|
RPC.TLNAME AS USER_JOB,
|
469
|
TU.TLFullName AS USER_JOB_NAME,
|
470
|
TFM.TLNANME AS TRANSFER_MAKER,
|
471
|
RPC.TRANFER_DT AS TRANFER_DT ,
|
472
|
RPC.MAKER_ID AS TRANSFER_MAKER_ID,
|
473
|
A.EFFEC_DT,A.IS_BACKDAY,
|
474
|
'' AS TYPE_JOB_XL,
|
475
|
'' AS USER_JOB_XL,
|
476
|
--RP.ID AS REF_ID,
|
477
|
ISNULL(RP.ID,1) AS REF_ID,
|
478
|
RPN.STATUS AS STATUS_NEXT,
|
479
|
PLRP.STATUS AS STATUS_CURR,
|
480
|
RPC.STATUS_JOB AS STATUS_JOB,
|
481
|
A.BRANCH_CREATE,
|
482
|
A.DEP_CREATE,
|
483
|
A.REQ_LINE,
|
484
|
A.TC_NOTES,
|
485
|
A.SIGN_USER,
|
486
|
TL.TLFullName AS SIGN_USER_NAME,
|
487
|
A.KT_NOTES,
|
488
|
A.IS_CHECKALL,
|
489
|
A.BASED_CONTENT,
|
490
|
'' AS IS_TRANSFER,
|
491
|
--NGUOI XU LY
|
492
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
493
|
NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
|
494
|
-- SELECT END
|
495
|
FROM PL_REQUEST_DOC A
|
496
|
INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <>'U'
|
497
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
498
|
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') )
|
499
|
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)
|
500
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
501
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
502
|
|
503
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
504
|
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')
|
505
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
506
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
507
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
508
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
509
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
510
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
|
511
|
LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
|
512
|
LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
|
513
|
LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
|
514
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
515
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
516
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
517
|
LEFT JOIN
|
518
|
(
|
519
|
|
520
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
521
|
FROM @lstREQUEST RE
|
522
|
WHERE RE.REQ_ID=Results.REQ_ID
|
523
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
524
|
STUFF((select ', ' + RE.TLNAME
|
525
|
FROM @lstREQUEST RE
|
526
|
WHERE RE.REQ_ID=Results.REQ_ID
|
527
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
528
|
FROM @lstREQUEST Results
|
529
|
GROUP BY REQ_ID
|
530
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
531
|
|
532
|
WHERE 1 = 1
|
533
|
AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
|
534
|
AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
|
535
|
AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
|
536
|
AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
|
537
|
AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
|
538
|
AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')
|
539
|
-- AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
540
|
AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
|
541
|
|
542
|
AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
|
543
|
AND (@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
|
544
|
AND (@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
|
545
|
AND (@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0)
|
546
|
AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
|
547
|
--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
|
548
|
AND A.RECORD_STATUS = '1'
|
549
|
|
550
|
-- AND(@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
551
|
-- 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))
|
552
|
-- 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))
|
553
|
-- )
|
554
|
|
555
|
AND EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER AND (
|
556
|
(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=''))
|
557
|
OR PLRP.DVDM_ID=AUTH.DVDM_ID
|
558
|
OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
|
559
|
))
|
560
|
--AND PLRP.ROLE_USER IN (SELECT ROLE_ID FROM @TABLE_ROLE)
|
561
|
--AND (
|
562
|
-- (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=''))
|
563
|
--OR ( PLRP.DVDM_ID IN (SELECT DVDM_ID FROM @DVDM_ID))
|
564
|
--OR
|
565
|
--( (PLRP.DVDM_ID ='' OR PLRP.DVDM_ID IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))
|
566
|
--)
|
567
|
AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
568
|
AND (PLRP.IS_HAS_CHILD=0 OR PLRP.IS_HAS_CHILD IS NULL)
|
569
|
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 = '')
|
570
|
AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
571
|
AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
|
572
|
AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = ''
|
573
|
OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY + '%')
|
574
|
--AND(
|
575
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
576
|
-- OR
|
577
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
578
|
--)
|
579
|
|
580
|
--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
581
|
--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
|
582
|
|
583
|
-- GIANT 26/10/2021
|
584
|
AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
|
585
|
|
586
|
ORDER BY A.CREATE_DT DESC
|
587
|
-- PAGING END
|
588
|
END
|
589
|
ELSE IF(@p_TYPE='TFJOB')
|
590
|
BEGIN
|
591
|
-- PAGING BEGIN
|
592
|
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,
|
593
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
594
|
|
595
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
596
|
|
597
|
A.APPROVE_DT,
|
598
|
A.PROCESS_ID,
|
599
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
600
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
601
|
ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
602
|
G.BRANCH_CODE,
|
603
|
G.BRANCH_NAME,
|
604
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
605
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
606
|
UC.TLFullName AS MAKER_NAME,
|
607
|
PLRP.PROCESS_ID AS PROCESS_ID_NEXT,
|
608
|
RP.ROLE_USER,
|
609
|
RP.NOTES AS PROCESS_STATUS ,
|
610
|
PLRP.NOTES AS PROCESS_STATUS_NEXT,
|
611
|
A.DVDM_APP_ID,
|
612
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
613
|
A.REQ_PARENT_ID,
|
614
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
615
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
616
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
617
|
A.BRANCH_FEE,
|
618
|
A.DEP_ID,
|
619
|
A.DEP_FEE,
|
620
|
DEP.DEP_NAME,
|
621
|
DEP.DEP_CODE,
|
622
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
623
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
624
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
625
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
626
|
'' AS BRANCH_DEP,
|
627
|
'' AS BRANCH_DEP_FEE,
|
628
|
CASE WHEN RPC.TYPE_JOB IS NULL OR RPC.TYPE_JOB ='' THEN 'TP' ELSE RPC.TYPE_JOB END AS TYPE_JOB,
|
629
|
RPC.TLNAME AS USER_JOB,
|
630
|
TU.TLFullName AS USER_JOB_NAME,
|
631
|
TFM.TLNANME AS TRANSFER_MAKER,
|
632
|
RPC.TRANFER_DT AS TRANFER_DT ,
|
633
|
RPC.MAKER_ID AS TRANSFER_MAKER_ID,
|
634
|
A.EFFEC_DT,A.IS_BACKDAY,
|
635
|
'' AS TYPE_JOB_XL,
|
636
|
'' AS USER_JOB_XL,
|
637
|
PLRP.ID AS REF_ID,
|
638
|
PLRP.STATUS AS STATUS_NEXT,
|
639
|
PLRP.STATUS AS STATUS_CURR,
|
640
|
RPC.STATUS_JOB AS STATUS_JOB,
|
641
|
A.BRANCH_CREATE,
|
642
|
A.DEP_CREATE,
|
643
|
A.REQ_LINE,
|
644
|
A.TC_NOTES,
|
645
|
A.SIGN_USER,
|
646
|
TL.TLFULLNAME AS SIGN_USER_NAME,
|
647
|
A.KT_NOTES,
|
648
|
A.IS_CHECKALL,
|
649
|
A.BASED_CONTENT,
|
650
|
'' AS IS_TRANSFER,
|
651
|
--NGUOI XU LY
|
652
|
-- dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
653
|
NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES,A.TK_HDQT_NOTES, A.OTHER_NOTES
|
654
|
--PLQ.TLFullName CHECKER_NAME_DV
|
655
|
-- SELECT END
|
656
|
FROM PL_REQUEST_DOC A
|
657
|
INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
|
658
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS = 'C' AND PLRP.IS_HAS_CHILD=1
|
659
|
-- LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
660
|
-- 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') )
|
661
|
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)
|
662
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
663
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
664
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
665
|
|
666
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
667
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
668
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
669
|
LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
|
670
|
LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
|
671
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
672
|
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')
|
673
|
|
674
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
675
|
|
676
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
677
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
|
678
|
LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
|
679
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
680
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
681
|
LEFT JOIN
|
682
|
(
|
683
|
|
684
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
685
|
FROM @lstREQUEST RE
|
686
|
WHERE RE.REQ_ID=Results.REQ_ID
|
687
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
688
|
STUFF((select ', ' + RE.TLNAME
|
689
|
FROM @lstREQUEST RE
|
690
|
WHERE RE.REQ_ID=Results.REQ_ID
|
691
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
692
|
FROM @lstREQUEST Results
|
693
|
GROUP BY REQ_ID
|
694
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
695
|
-- GIANT
|
696
|
--LEFT JOIN (
|
697
|
-- 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
|
698
|
|
699
|
--) PLQ ON A.REQ_ID = PLQ.REQ_ID
|
700
|
WHERE 1 = 1
|
701
|
AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
|
702
|
AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
|
703
|
AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
|
704
|
AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
|
705
|
AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
|
706
|
AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')
|
707
|
-- AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
708
|
AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
|
709
|
|
710
|
AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
|
711
|
AND (@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
|
712
|
AND (@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
|
713
|
AND (@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0)
|
714
|
AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
|
715
|
--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
|
716
|
AND A.RECORD_STATUS = '1'
|
717
|
--
|
718
|
--
|
719
|
-- AND(@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
720
|
-- 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))
|
721
|
-- 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))
|
722
|
-- )
|
723
|
--
|
724
|
--
|
725
|
--
|
726
|
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))
|
727
|
OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
|
728
|
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=''))
|
729
|
OR PLRP.DVDM_ID=AUTH.DVDM_ID
|
730
|
OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID=''))))
|
731
|
)
|
732
|
AND(@p_FR_DATE IS NULL
|
733
|
OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103)
|
734
|
)
|
735
|
AND(@p_TO_DATE IS NULL
|
736
|
OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103)
|
737
|
)
|
738
|
AND(@p_YEAR IS NULL OR @p_YEAR=0
|
739
|
OR YEAR(A.REQ_DT)=@p_YEAR
|
740
|
)
|
741
|
AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
|
742
|
OR (@p_AUTH_STATUS='A' AND PLRP.STATUS='P') OR( @p_AUTH_STATUS='U' AND (PLRP.STATUS='C'))
|
743
|
)
|
744
|
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'))
|
745
|
AND (@p_IS_TRANSFER = '' OR @p_IS_TRANSFER IS NULL
|
746
|
OR ((RPC.REQ_ID IS NOT NULL OR RPC.REQ_ID <> '') AND @p_IS_TRANSFER = 'Y')
|
747
|
OR ((RPC.REQ_ID IS NULL OR RPC.REQ_ID = '') AND @p_IS_TRANSFER = 'N')
|
748
|
)
|
749
|
AND(@p_NGUOIXULY IS NULL OR @p_NGUOIXULY = ''
|
750
|
OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY + '%'
|
751
|
OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY + '%'
|
752
|
)
|
753
|
--
|
754
|
-- ---- GIANT 26/10/2021
|
755
|
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))
|
756
|
|
757
|
---- GIANT
|
758
|
--AND (A.BRANCH_CREATE = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
759
|
--AND (A.DEP_CREATE = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
|
760
|
|
761
|
ORDER BY A.CREATE_DT DESC
|
762
|
-- PAGING END
|
763
|
END
|
764
|
ELSE IF(@p_TYPE='XLTT')
|
765
|
BEGIN
|
766
|
-- PAGING BEGIN
|
767
|
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,
|
768
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
769
|
|
770
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
771
|
|
772
|
A.APPROVE_DT,
|
773
|
A.PROCESS_ID,
|
774
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
775
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
776
|
ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
777
|
G.BRANCH_CODE,
|
778
|
CASE WHEN A.BRANCH_CREATE <> 'DV0001' THEN G.BRANCH_NAME ELSE G.BRANCH_NAME+' - ' + DEP.DEP_NAME END AS BRANCH_NAME,
|
779
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
780
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
781
|
UC.TLFullName AS MAKER_NAME,
|
782
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
783
|
RPN.ROLE_USER,
|
784
|
RP.NOTES AS PROCESS_STATUS ,
|
785
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
786
|
A.DVDM_APP_ID,
|
787
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
788
|
A.REQ_PARENT_ID,
|
789
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
790
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
791
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
792
|
A.BRANCH_FEE,
|
793
|
A.DEP_ID,
|
794
|
A.DEP_FEE,
|
795
|
DEP.DEP_NAME,
|
796
|
DEP.DEP_CODE,
|
797
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
798
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
799
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
800
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
801
|
'' AS BRANCH_DEP,
|
802
|
'' AS BRANCH_DEP_FEE,
|
803
|
|
804
|
|
805
|
|
806
|
RPC.TYPE_JOB AS TYPE_JOB,
|
807
|
RPC.TLNAME AS USER_JOB,
|
808
|
TU.TLFullName AS USER_JOB_NAME,
|
809
|
TFM.TLNANME AS TRANSFER_MAKER,
|
810
|
RPC.TRANFER_DT AS TRANFER_DT ,
|
811
|
RPC.MAKER_ID AS TRANSFER_MAKER_ID,
|
812
|
A.EFFEC_DT,A.IS_BACKDAY,
|
813
|
'' AS TYPE_JOB_XL,
|
814
|
'' AS USER_JOB_XL,
|
815
|
PLRP.ID AS REF_ID,
|
816
|
RPN.STATUS AS STATUS_NEXT,
|
817
|
PLRP.STATUS AS STATUS_CURR,
|
818
|
RPC.STATUS_JOB AS STATUS_JOB,
|
819
|
A.BRANCH_CREATE,
|
820
|
A.DEP_CREATE,
|
821
|
A.REQ_LINE,
|
822
|
A.TC_NOTES,
|
823
|
A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
|
824
|
A.KT_NOTES,
|
825
|
A.IS_CHECKALL,
|
826
|
A.BASED_CONTENT,
|
827
|
'' AS IS_TRANSFER,
|
828
|
--NGUOI XU LY
|
829
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
830
|
NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
|
831
|
-- SELECT END
|
832
|
FROM PL_REQUEST_DOC A
|
833
|
INNER JOIN dbo.PL_REQUEST_PROCESS PLRP ON PLRP.REQ_ID=A.REQ_ID AND PLRP.STATUS <> 'U' AND PLRP.IS_HAS_CHILD=1
|
834
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
835
|
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') )
|
836
|
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)
|
837
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
838
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
839
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
840
|
|
841
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
842
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
843
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
844
|
LEFT JOIN dbo.CM_PROCESS_STATUS PS ON PS.PROCESS_ID = A.PROCESS_ID
|
845
|
LEFT JOIN dbo.CM_PROCESS_STATUS PSN ON PSN.PROCESS_ID = A.PROCESS_ID
|
846
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
847
|
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')
|
848
|
|
849
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
850
|
|
851
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
852
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=RPC.TLNAME
|
853
|
LEFT JOIN dbo.TL_USER TFM ON TFM.TLNANME=RPC.MAKER_ID
|
854
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
855
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
856
|
LEFT JOIN
|
857
|
(
|
858
|
|
859
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
860
|
FROM @lstREQUEST RE
|
861
|
WHERE RE.REQ_ID=Results.REQ_ID
|
862
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
863
|
STUFF((select ', ' + RE.TLNAME
|
864
|
FROM @lstREQUEST RE
|
865
|
WHERE RE.REQ_ID=Results.REQ_ID
|
866
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
867
|
FROM @lstREQUEST Results
|
868
|
GROUP BY REQ_ID
|
869
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
870
|
|
871
|
WHERE 1 = 1
|
872
|
AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')
|
873
|
AND (@p_REQ_ID IS NULL OR @p_REQ_ID = '' OR A.REQ_ID LIKE '%' + @p_REQ_ID + '%')
|
874
|
AND (@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '' OR A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%')
|
875
|
AND (@p_REQ_REASON IS NULL OR @p_REQ_REASON = '' OR A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%')
|
876
|
AND (@p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0 OR A.TOTAL_AMT=@p_TOTAL_AMT)
|
877
|
AND (@p_REQ_NAME IS NULL OR @p_REQ_NAME = '' OR A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%')
|
878
|
-- AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
879
|
AND (@p_MAKER_ID IS NULL OR @p_MAKER_ID = '' OR A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%')
|
880
|
|
881
|
AND (@p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '' OR A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%')
|
882
|
AND (@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
|
883
|
AND (@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
|
884
|
AND (@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0)
|
885
|
AND (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1 OR A.REQ_TYPE = @p_REQ_TYPE)
|
886
|
--AND (@p_RECEIVE_BRANCH IS NULL OR A.PO_ID IN (SELECT PO_ID FROM TR_PO_DETAIL WHERE RECEIVE_BRANCH=@p_RECEIVE_BRANCH))
|
887
|
AND A.RECORD_STATUS = '1'
|
888
|
|
889
|
|
890
|
-- AND(@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
891
|
-- 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))
|
892
|
-- 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))
|
893
|
-- )
|
894
|
|
895
|
|
896
|
|
897
|
AND(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE TLNAME=@p_TLNAME_USER AND PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PLRP.ID)
|
898
|
OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PLRP.ROLE_USER
|
899
|
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=''))
|
900
|
OR PLRP.DVDM_ID=AUTH.DVDM_ID
|
901
|
OR ((PLRP.DVDM_ID ='' OR PLRP.DVDM_ID IS NULL) AND (PLRP.BRANCH_ID IS NULL OR PLRP.BRANCH_ID='')))
|
902
|
)
|
903
|
)
|
904
|
AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
905
|
AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
|
906
|
AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
907
|
AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''
|
908
|
OR ( @p_AUTH_STATUS='TDV_APPROVED' AND PLRP.STATUS='P')
|
909
|
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'))
|
910
|
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'))
|
911
|
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'))
|
912
|
)
|
913
|
|
914
|
AND(@p_NGUOIXULY IS NULL OR @p_NGUOIXULY = ''
|
915
|
OR NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY + '%'
|
916
|
OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY + '%'
|
917
|
)
|
918
|
--AND(
|
919
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
920
|
-- OR
|
921
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
922
|
--)
|
923
|
|
924
|
--
|
925
|
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''
|
926
|
OR A.BRANCH_ID = @p_BRANCH_ID
|
927
|
)
|
928
|
AND (@p_DEP_ID IS NULL OR @p_DEP_ID = ''
|
929
|
OR A.DEP_ID = @p_DEP_ID
|
930
|
)
|
931
|
-- LUCTV 10 03 2021 BO SUNG DIEU KIENN NEU PHIEU CHUA DUOC DIEU PHOI THI SE KHONG TIM THAY O MAN HINH DVCM
|
932
|
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')))
|
933
|
OR (@p_NGUOIXULY IS NOT NULL AND @p_NGUOIXULY <> ''))
|
934
|
|
935
|
-- GIANT 26/10/2021
|
936
|
AND (EXISTS (SELECT PL_REQUEST_DOC_DT.REQ_ID FROM PL_REQUEST_DOC_DT WHERE PL_REQUEST_DOC_DT.REQ_ID = A.REQ_ID))
|
937
|
ORDER BY A.CREATE_DT DESC
|
938
|
-- PAGING END
|
939
|
END
|
940
|
ELSE IF(@p_TYPE='DVKD_PARENT')
|
941
|
BEGIN
|
942
|
-- PAGING BEGIN
|
943
|
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,
|
944
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
945
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
946
|
A.APPROVE_DT,
|
947
|
A.PROCESS_ID,
|
948
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
949
|
|
950
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
951
|
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,
|
952
|
|
953
|
--CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
954
|
--ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
955
|
G.BRANCH_CODE,
|
956
|
G.BRANCH_NAME,
|
957
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
958
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
959
|
UC.TLFullName AS MAKER_NAME,
|
960
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
961
|
RP.ROLE_USER,
|
962
|
RP.NOTES AS PROCESS_STATUS ,
|
963
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
964
|
A.DVDM_APP_ID,
|
965
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
966
|
A.REQ_PARENT_ID,
|
967
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
968
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
969
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
970
|
A.BRANCH_FEE,
|
971
|
A.DEP_ID,
|
972
|
A.DEP_FEE,
|
973
|
DEP.DEP_NAME,
|
974
|
DEP.DEP_CODE,
|
975
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
976
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
977
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
978
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
979
|
'' AS BRANCH_DEP,
|
980
|
'' AS BRANCH_DEP_FEE,
|
981
|
'' AS TYPE_JOB,
|
982
|
'' AS USER_JOB,
|
983
|
'' AS USER_JOB_NAME,
|
984
|
'' AS TRANSFER_MAKER,
|
985
|
A.CREATE_DT AS TRANFER_DT ,
|
986
|
'' AS TRANSFER_MAKER_ID,
|
987
|
A.EFFEC_DT,A.IS_BACKDAY,
|
988
|
'' AS TYPE_JOB_XL,
|
989
|
'' AS USER_JOB_XL,
|
990
|
--RP.ID AS REF_ID,
|
991
|
0 AS REF_ID,
|
992
|
RPN.STATUS AS STATUS_NEXT,
|
993
|
RP.STATUS AS STATUS_CURR,
|
994
|
'' AS STATUS_JOB,
|
995
|
A.BRANCH_CREATE,
|
996
|
A.DEP_CREATE,
|
997
|
A.REQ_LINE,
|
998
|
A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
|
999
|
A.KT_NOTES,
|
1000
|
A.BASED_CONTENT,
|
1001
|
A.IS_CHECKALL,
|
1002
|
-- GIANT 23/12/2021
|
1003
|
A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT,
|
1004
|
'' AS IS_TRANSFER,
|
1005
|
--NGUOI XU LY
|
1006
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
1007
|
NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
|
1008
|
(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
|
1009
|
-- SELECT END
|
1010
|
FROM PL_REQUEST_DOC A
|
1011
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
1012
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
1013
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
1014
|
|
1015
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
1016
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
1017
|
|
1018
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
1019
|
|
1020
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
1021
|
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') )
|
1022
|
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)
|
1023
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
1024
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
1025
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
1026
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
1027
|
-- GIANT 23/12/2021
|
1028
|
LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
|
1029
|
|
1030
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
1031
|
LEFT JOIN
|
1032
|
(
|
1033
|
|
1034
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
1035
|
FROM @lstREQUEST RE
|
1036
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1037
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
1038
|
STUFF((select ', ' + RE.TLNAME
|
1039
|
FROM @lstREQUEST RE
|
1040
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1041
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
1042
|
FROM @lstREQUEST Results
|
1043
|
GROUP BY REQ_ID
|
1044
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
1045
|
WHERE 1 = 1
|
1046
|
|
1047
|
--AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
1048
|
--AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
|
1049
|
--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
1050
|
--AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
|
1051
|
|
1052
|
--AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
1053
|
--AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
1054
|
--AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
|
1055
|
--AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
1056
|
--AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1057
|
--AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
1058
|
--AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
1059
|
|
1060
|
--AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
1061
|
--AND (@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
|
1062
|
--AND (@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
|
1063
|
--AND (@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0)
|
1064
|
--AND A.RECORD_STATUS = '1'
|
1065
|
|
1066
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
|
1067
|
AND(
|
1068
|
@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
1069
|
OR
|
1070
|
(
|
1071
|
@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)
|
1072
|
)
|
1073
|
OR
|
1074
|
(
|
1075
|
@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)
|
1076
|
)
|
1077
|
)
|
1078
|
|
1079
|
----AND ( (A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
|
1080
|
|
1081
|
--AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
1082
|
--AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
|
1083
|
--AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
1084
|
--AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
|
1085
|
--AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = ''
|
1086
|
-- OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY + '%')
|
1087
|
--AND(
|
1088
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
1089
|
-- OR
|
1090
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
1091
|
--)
|
1092
|
|
1093
|
--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
1094
|
--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
|
1095
|
--AND (A.MAKER_ID = @p_TLNAME_USER)
|
1096
|
|
1097
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
1098
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1099
|
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)
|
1100
|
AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
1101
|
AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
|
1102
|
AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
1103
|
AND (ISNULL(A.PROCESS_ID,'') ='APPROVE')
|
1104
|
|
1105
|
ORDER BY A.CREATE_DT DESC
|
1106
|
-- PAGING END
|
1107
|
END
|
1108
|
ELSE IF(@p_TYPE='DVKD_ISALL')
|
1109
|
BEGIN
|
1110
|
-- PAGING BEGIN
|
1111
|
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,
|
1112
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
1113
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
1114
|
A.APPROVE_DT,
|
1115
|
A.PROCESS_ID,
|
1116
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
1117
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
1118
|
ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
1119
|
G.BRANCH_CODE,
|
1120
|
G.BRANCH_NAME,
|
1121
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
1122
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
1123
|
UC.TLFullName AS MAKER_NAME,
|
1124
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
1125
|
RP.ROLE_USER,
|
1126
|
RP.NOTES AS PROCESS_STATUS ,
|
1127
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
1128
|
A.DVDM_APP_ID,
|
1129
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
1130
|
A.REQ_PARENT_ID,
|
1131
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
1132
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
1133
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
1134
|
A.BRANCH_FEE,
|
1135
|
A.DEP_ID,
|
1136
|
A.DEP_FEE,
|
1137
|
DEP.DEP_NAME,
|
1138
|
DEP.DEP_CODE,
|
1139
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
1140
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
1141
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
1142
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
1143
|
'' AS BRANCH_DEP,
|
1144
|
'' AS BRANCH_DEP_FEE,
|
1145
|
|
1146
|
|
1147
|
|
1148
|
'' AS TYPE_JOB,
|
1149
|
'' AS USER_JOB,
|
1150
|
'' AS USER_JOB_NAME,
|
1151
|
'' AS TRANSFER_MAKER,
|
1152
|
A.CREATE_DT AS TRANFER_DT ,
|
1153
|
'' AS TRANSFER_MAKER_ID,
|
1154
|
A.EFFEC_DT,A.IS_BACKDAY,
|
1155
|
'' AS TYPE_JOB_XL,
|
1156
|
'' AS USER_JOB_XL,
|
1157
|
RP.ID AS REF_ID,
|
1158
|
RPN.STATUS AS STATUS_NEXT,
|
1159
|
RP.STATUS AS STATUS_CURR,
|
1160
|
'' AS STATUS_JOB,
|
1161
|
A.BRANCH_CREATE,
|
1162
|
A.DEP_CREATE,
|
1163
|
A.REQ_LINE,
|
1164
|
A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
|
1165
|
A.KT_NOTES,
|
1166
|
A.IS_CHECKALL,
|
1167
|
A.BASED_CONTENT,
|
1168
|
'' AS IS_TRANSFER,
|
1169
|
--NGUOI XU LY
|
1170
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
1171
|
NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
|
1172
|
-- SELECT END
|
1173
|
FROM PL_REQUEST_DOC A
|
1174
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
1175
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
1176
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
1177
|
|
1178
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
1179
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
1180
|
|
1181
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
1182
|
|
1183
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
1184
|
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') )
|
1185
|
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)
|
1186
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
1187
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
1188
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
1189
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
1190
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
1191
|
LEFT JOIN
|
1192
|
(
|
1193
|
|
1194
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
1195
|
FROM @lstREQUEST RE
|
1196
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1197
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
1198
|
STUFF((select ', ' + RE.TLNAME
|
1199
|
FROM @lstREQUEST RE
|
1200
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1201
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
1202
|
FROM @lstREQUEST Results
|
1203
|
GROUP BY REQ_ID
|
1204
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
1205
|
WHERE 1 = 1
|
1206
|
|
1207
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
1208
|
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
1209
|
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
1210
|
AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
|
1211
|
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
1212
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1213
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
1214
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
1215
|
|
1216
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
1217
|
AND (@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
|
1218
|
AND (@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
|
1219
|
AND (@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0)
|
1220
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
|
1221
|
AND A.RECORD_STATUS = '1'
|
1222
|
|
1223
|
AND(
|
1224
|
@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
1225
|
OR
|
1226
|
(
|
1227
|
@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)
|
1228
|
)
|
1229
|
OR
|
1230
|
(
|
1231
|
@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)
|
1232
|
)
|
1233
|
)
|
1234
|
|
1235
|
AND A.IS_CHECKALL=1
|
1236
|
|
1237
|
AND A.PROCESS_ID='APPROVE'
|
1238
|
AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
1239
|
AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
|
1240
|
AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
1241
|
AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
|
1242
|
AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = ''
|
1243
|
OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY + '%')
|
1244
|
--AND(
|
1245
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
1246
|
-- OR
|
1247
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
1248
|
--)
|
1249
|
|
1250
|
--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
1251
|
--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
|
1252
|
|
1253
|
-- GIANT 26/10/2021
|
1254
|
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))
|
1255
|
|
1256
|
ORDER BY A.CREATE_DT DESC
|
1257
|
-- PAGING END
|
1258
|
END
|
1259
|
ELSE IF(@p_TYPE='TTCT_DVCM')
|
1260
|
BEGIN
|
1261
|
-- PAGING BEGIN
|
1262
|
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,
|
1263
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
1264
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
1265
|
A.APPROVE_DT,
|
1266
|
A.PROCESS_ID,
|
1267
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
1268
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
1269
|
ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
1270
|
G.BRANCH_CODE,
|
1271
|
G.BRANCH_NAME,
|
1272
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
1273
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
1274
|
UC.TLFullName AS MAKER_NAME,
|
1275
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
1276
|
RP.ROLE_USER,
|
1277
|
RP.NOTES AS PROCESS_STATUS ,
|
1278
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
1279
|
A.DVDM_APP_ID,
|
1280
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
1281
|
A.REQ_PARENT_ID,
|
1282
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
1283
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
1284
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
1285
|
A.BRANCH_FEE,
|
1286
|
A.DEP_ID,
|
1287
|
A.DEP_FEE,
|
1288
|
DEP.DEP_NAME,
|
1289
|
DEP.DEP_CODE,
|
1290
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
1291
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
1292
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
1293
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
1294
|
'' AS BRANCH_DEP,
|
1295
|
'' AS BRANCH_DEP_FEE,
|
1296
|
|
1297
|
|
1298
|
|
1299
|
'' AS TYPE_JOB,
|
1300
|
'' AS USER_JOB,
|
1301
|
'' AS USER_JOB_NAME,
|
1302
|
'' AS TRANSFER_MAKER,
|
1303
|
A.CREATE_DT AS TRANFER_DT ,
|
1304
|
'' AS TRANSFER_MAKER_ID,
|
1305
|
A.EFFEC_DT,A.IS_BACKDAY,
|
1306
|
'' AS TYPE_JOB_XL,
|
1307
|
'' AS USER_JOB_XL,
|
1308
|
RP.ID AS REF_ID,
|
1309
|
RPN.STATUS AS STATUS_NEXT,
|
1310
|
RP.STATUS AS STATUS_CURR,
|
1311
|
'' AS STATUS_JOB,
|
1312
|
A.BRANCH_CREATE,
|
1313
|
A.DEP_CREATE,
|
1314
|
A.REQ_LINE,
|
1315
|
A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
|
1316
|
A.KT_NOTES,
|
1317
|
A.IS_CHECKALL,
|
1318
|
A.BASED_CONTENT,
|
1319
|
'' AS IS_TRANSFER,
|
1320
|
--NGUOI XU LY
|
1321
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
1322
|
NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
|
1323
|
-- SELECT END
|
1324
|
FROM PL_REQUEST_DOC A
|
1325
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
1326
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
1327
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
1328
|
|
1329
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
1330
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
1331
|
|
1332
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
1333
|
|
1334
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
1335
|
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') )
|
1336
|
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)
|
1337
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
1338
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
1339
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
1340
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
1341
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
1342
|
LEFT JOIN
|
1343
|
(
|
1344
|
|
1345
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
1346
|
FROM @lstREQUEST RE
|
1347
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1348
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
1349
|
STUFF((select ', ' + RE.TLNAME
|
1350
|
FROM @lstREQUEST RE
|
1351
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1352
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
1353
|
FROM @lstREQUEST Results
|
1354
|
GROUP BY REQ_ID
|
1355
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
1356
|
WHERE 1 = 1
|
1357
|
|
1358
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
1359
|
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
1360
|
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
1361
|
AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '')
|
1362
|
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
1363
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1364
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
1365
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
1366
|
|
1367
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
1368
|
AND (@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
|
1369
|
AND (@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
|
1370
|
AND (@p_REQ_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_REQ_DT,103)) = 0)
|
1371
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
|
1372
|
AND A.RECORD_STATUS = '1'
|
1373
|
|
1374
|
AND(
|
1375
|
@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
1376
|
OR
|
1377
|
(
|
1378
|
@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)
|
1379
|
)
|
1380
|
OR
|
1381
|
(
|
1382
|
@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)
|
1383
|
)
|
1384
|
)
|
1385
|
|
1386
|
AND (
|
1387
|
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) )
|
1388
|
)
|
1389
|
|
1390
|
AND A.PROCESS_ID='APPROVE'
|
1391
|
AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
1392
|
AND(@p_TO_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) <= CONVERT(DATETIME,@p_TO_DATE,103))
|
1393
|
AND(@p_YEAR IS NULL OR @p_YEAR=0 OR YEAR(A.REQ_DT)=@p_YEAR)
|
1394
|
AND(A.REQ_PARENT_ID IS NULL OR A.REQ_PARENT_ID='')
|
1395
|
AND( NXL.NGUOIXULYTLNAME LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = ''
|
1396
|
OR NXL.NGUOIXULY LIKE '%' + @p_NGUOIXULY + '%')
|
1397
|
--AND(
|
1398
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
1399
|
-- OR
|
1400
|
-- (dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',1) LIKE '%' + @p_NGUOIXULY + '%' OR @p_NGUOIXULY IS NULL OR @p_NGUOIXULY = '')
|
1401
|
--)
|
1402
|
|
1403
|
|
1404
|
--AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
1405
|
--AND (A.DEP_ID = @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
|
1406
|
|
1407
|
-- GIANT 26/10/2021
|
1408
|
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))
|
1409
|
|
1410
|
ORDER BY A.CREATE_DT DESC
|
1411
|
-- PAGING END
|
1412
|
END
|
1413
|
ELSE IF(@p_TYPE='REQ_PARENT')
|
1414
|
BEGIN
|
1415
|
-- PAGING BEGIN
|
1416
|
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,
|
1417
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
1418
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
1419
|
A.APPROVE_DT,
|
1420
|
A.PROCESS_ID,
|
1421
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
1422
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
1423
|
ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
1424
|
G.BRANCH_CODE,
|
1425
|
G.BRANCH_NAME,
|
1426
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
1427
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
1428
|
UC.TLFullName AS MAKER_NAME,
|
1429
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
1430
|
RP.ROLE_USER,
|
1431
|
RP.NOTES AS PROCESS_STATUS ,
|
1432
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
1433
|
A.DVDM_APP_ID,
|
1434
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
1435
|
A.REQ_PARENT_ID,
|
1436
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
1437
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
1438
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
1439
|
A.BRANCH_FEE,
|
1440
|
A.DEP_ID,
|
1441
|
A.DEP_FEE,
|
1442
|
DEP.DEP_NAME,
|
1443
|
DEP.DEP_CODE,
|
1444
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
1445
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
1446
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
1447
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
1448
|
'' AS BRANCH_DEP,
|
1449
|
'' AS BRANCH_DEP_FEE,
|
1450
|
|
1451
|
'' AS TYPE_JOB,
|
1452
|
'' AS USER_JOB,
|
1453
|
'' AS USER_JOB_NAME,
|
1454
|
'' AS TRANSFER_MAKER,
|
1455
|
A.CREATE_DT AS TRANFER_DT ,
|
1456
|
'' AS TRANSFER_MAKER_ID,
|
1457
|
A.EFFEC_DT,A.IS_BACKDAY,
|
1458
|
'' AS TYPE_JOB_XL,
|
1459
|
'' AS USER_JOB_XL,
|
1460
|
RP.ID AS REF_ID,
|
1461
|
RPN.STATUS AS STATUS_NEXT,
|
1462
|
RP.STATUS AS STATUS_CURR,
|
1463
|
'' AS STATUS_JOB,
|
1464
|
A.BRANCH_CREATE,
|
1465
|
A.DEP_CREATE,
|
1466
|
A.REQ_LINE,
|
1467
|
A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
|
1468
|
A.KT_NOTES,
|
1469
|
A.IS_CHECKALL,
|
1470
|
A.BASED_CONTENT,
|
1471
|
'' AS IS_TRANSFER,
|
1472
|
--NGUOI XU LY
|
1473
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
1474
|
NXL.NGUOIXULY AS NGUOIXULY
|
1475
|
,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
|
1476
|
-- SELECT END
|
1477
|
FROM PL_REQUEST_DOC A
|
1478
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
1479
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
1480
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
1481
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
1482
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
1483
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
1484
|
|
1485
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
1486
|
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') )
|
1487
|
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)
|
1488
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
1489
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
1490
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
1491
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
1492
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
1493
|
LEFT JOIN
|
1494
|
(
|
1495
|
|
1496
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
1497
|
FROM @lstREQUEST RE
|
1498
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1499
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
1500
|
STUFF((select ', ' + RE.TLNAME
|
1501
|
FROM @lstREQUEST RE
|
1502
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1503
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
1504
|
FROM @lstREQUEST Results
|
1505
|
GROUP BY REQ_ID
|
1506
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
1507
|
WHERE 1 = 1
|
1508
|
AND A.REQ_PARENT_ID =@p_REQ_ID
|
1509
|
ORDER BY A.CREATE_DT DESC
|
1510
|
-- PAGING END
|
1511
|
END
|
1512
|
ELSE IF(@p_TYPE='LINK_TTCT')
|
1513
|
BEGIN
|
1514
|
-- PAGING BEGIN
|
1515
|
-- đoạn dưới chưa làm
|
1516
|
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,
|
1517
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
1518
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
1519
|
A.APPROVE_DT,
|
1520
|
A.PROCESS_ID,
|
1521
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
1522
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
1523
|
ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
1524
|
G.BRANCH_CODE,
|
1525
|
G.BRANCH_NAME,
|
1526
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
1527
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
1528
|
UC.TLFullName AS MAKER_NAME,
|
1529
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
1530
|
RP.ROLE_USER,
|
1531
|
RP.NOTES AS PROCESS_STATUS ,
|
1532
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
1533
|
A.DVDM_APP_ID,
|
1534
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
1535
|
A.REQ_PARENT_ID,
|
1536
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
1537
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
1538
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
1539
|
A.BRANCH_FEE,
|
1540
|
A.DEP_ID,
|
1541
|
A.DEP_FEE,
|
1542
|
DEP.DEP_NAME,
|
1543
|
DEP.DEP_CODE,
|
1544
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
1545
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
1546
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
1547
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
1548
|
'' AS BRANCH_DEP,
|
1549
|
'' AS BRANCH_DEP_FEE,
|
1550
|
|
1551
|
'' AS TYPE_JOB,
|
1552
|
'' AS USER_JOB,
|
1553
|
'' AS USER_JOB_NAME,
|
1554
|
'' AS TRANSFER_MAKER,
|
1555
|
A.CREATE_DT AS TRANFER_DT ,
|
1556
|
'' AS TRANSFER_MAKER_ID,
|
1557
|
A.EFFEC_DT,A.IS_BACKDAY,
|
1558
|
'' AS TYPE_JOB_XL,
|
1559
|
'' AS USER_JOB_XL,
|
1560
|
RP.ID AS REF_ID,
|
1561
|
RPN.STATUS AS STATUS_NEXT,
|
1562
|
RP.STATUS AS STATUS_CURR,
|
1563
|
'' AS STATUS_JOB,
|
1564
|
A.BRANCH_CREATE,
|
1565
|
A.DEP_CREATE,
|
1566
|
A.REQ_LINE,
|
1567
|
A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
|
1568
|
A.KT_NOTES,
|
1569
|
A.IS_CHECKALL,
|
1570
|
A.BASED_CONTENT,
|
1571
|
'' AS IS_TRANSFER,
|
1572
|
--NGUOI XU LY
|
1573
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
1574
|
NXL.NGUOIXULY AS NGUOIXULY
|
1575
|
,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES
|
1576
|
-- SELECT END
|
1577
|
FROM PL_REQUEST_DOC A
|
1578
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
1579
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
1580
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
1581
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
1582
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
1583
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
1584
|
|
1585
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
1586
|
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') )
|
1587
|
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)
|
1588
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
1589
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
1590
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
1591
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
1592
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
1593
|
LEFT JOIN
|
1594
|
(
|
1595
|
|
1596
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
1597
|
FROM @lstREQUEST RE
|
1598
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1599
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
1600
|
STUFF((select ', ' + RE.TLNAME
|
1601
|
FROM @lstREQUEST RE
|
1602
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1603
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
1604
|
FROM @lstREQUEST Results
|
1605
|
GROUP BY REQ_ID
|
1606
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
1607
|
WHERE 1 = 1
|
1608
|
AND A.REQ_PARENT_ID =@p_REQ_ID
|
1609
|
ORDER BY A.CREATE_DT DESC
|
1610
|
-- PAGING END
|
1611
|
END
|
1612
|
ELSE IF(@p_TYPE='DVKD_XDCB')
|
1613
|
BEGIN
|
1614
|
-- PAGING BEGIN
|
1615
|
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,
|
1616
|
A.TOTAL_AMT AS TOTAL_AMT,A.NOTES, A.RECORD_STATUS,A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,
|
1617
|
UDV.TLFullName AS CHECKER_NAME_DV,
|
1618
|
A.APPROVE_DT,
|
1619
|
A.PROCESS_ID,
|
1620
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_DV,
|
1621
|
|
1622
|
CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
1623
|
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,
|
1624
|
|
1625
|
--CASE WHEN A.PROCESS_ID='APPROVE' THEN N'Đã duyệt'
|
1626
|
--ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME,
|
1627
|
G.BRANCH_CODE,
|
1628
|
G.BRANCH_NAME,
|
1629
|
UP.TLFullName AS CHECKER_NAME_PROCESS,
|
1630
|
RP.APPROVE_DT AS APPROVE_DT_PROCESS,
|
1631
|
UC.TLFullName AS MAKER_NAME,
|
1632
|
RPN.PROCESS_ID AS PROCESS_ID_NEXT,
|
1633
|
RP.ROLE_USER,
|
1634
|
RP.NOTES AS PROCESS_STATUS ,
|
1635
|
RPN.NOTES AS PROCESS_STATUS_NEXT,
|
1636
|
A.DVDM_APP_ID,
|
1637
|
CD.DVDM_NAME AS DVDM_APP_NAME,
|
1638
|
A.REQ_PARENT_ID,
|
1639
|
PARENT.REQ_NAME AS REQ_PARENT_NAME,
|
1640
|
PARENT.REQ_CODE AS REQ_PARENT_CODE,
|
1641
|
PARENT.TOTAL_AMT AS REQ_PARENT_AMT,
|
1642
|
A.BRANCH_FEE,
|
1643
|
A.DEP_ID,
|
1644
|
A.DEP_FEE,
|
1645
|
DEP.DEP_NAME,
|
1646
|
DEP.DEP_CODE,
|
1647
|
BF.BRANCH_NAME AS BRANCH_FEE_NAME,
|
1648
|
BF.BRANCH_CODE AS BRANCH_FEE_CODE,
|
1649
|
DF.DEP_NAME AS DEP_FEE_NAME,
|
1650
|
DF.DEP_CODE AS DEP_FEE_CODE,
|
1651
|
'' AS BRANCH_DEP,
|
1652
|
'' AS BRANCH_DEP_FEE,
|
1653
|
'' AS TYPE_JOB,
|
1654
|
'' AS USER_JOB,
|
1655
|
'' AS USER_JOB_NAME,
|
1656
|
'' AS TRANSFER_MAKER,
|
1657
|
A.CREATE_DT AS TRANFER_DT ,
|
1658
|
'' AS TRANSFER_MAKER_ID,
|
1659
|
A.EFFEC_DT,A.IS_BACKDAY,
|
1660
|
'' AS TYPE_JOB_XL,
|
1661
|
'' AS USER_JOB_XL,
|
1662
|
--RP.ID AS REF_ID,
|
1663
|
0 AS REF_ID,
|
1664
|
RPN.STATUS AS STATUS_NEXT,
|
1665
|
RP.STATUS AS STATUS_CURR,
|
1666
|
'' AS STATUS_JOB,
|
1667
|
A.BRANCH_CREATE,
|
1668
|
A.DEP_CREATE,
|
1669
|
A.REQ_LINE,
|
1670
|
A.TC_NOTES, A.SIGN_USER, TL.TLFullName AS SIGN_USER_NAME,
|
1671
|
A.KT_NOTES,
|
1672
|
A.BASED_CONTENT,
|
1673
|
A.IS_CHECKALL,
|
1674
|
-- GIANT 23/12/2021
|
1675
|
A.PL_BASED_ID, PL_B.REQ_CODE AS PL_BASED_CODE, PL_B.REQ_CONTENT AS PL_BASED_CONTENT,
|
1676
|
'' AS IS_TRANSFER,
|
1677
|
--NGUOI XU LY
|
1678
|
--dbo.PL_PROCESS_CURRENT_NGUOIXULY(A.REQ_ID,NULL,'TTCT-DVKD',0) AS NGUOIXULY
|
1679
|
NXL.NGUOIXULY AS NGUOIXULY,A.TK_TGD_NOTES, A.OTHER_NOTES,A.TK_HDQT_NOTES,
|
1680
|
(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
|
1681
|
-- SELECT END
|
1682
|
FROM PL_REQUEST_DOC A
|
1683
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
1684
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
1685
|
LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID=A.DEP_ID
|
1686
|
|
1687
|
LEFT JOIN CM_BRANCH BF ON BF.BRANCH_ID=A.BRANCH_FEE
|
1688
|
LEFT JOIN dbo.CM_DEPARTMENT DF ON DF.DEP_ID=A.DEP_FEE
|
1689
|
|
1690
|
LEFT JOIN dbo.TL_USER UDV ON UDV.TLNANME=A.CHECKER_ID
|
1691
|
|
1692
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
1693
|
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') )
|
1694
|
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)
|
1695
|
LEFT JOIN dbo.TL_USER UP ON UP.TLNANME=RP.CHECKER_ID
|
1696
|
LEFT JOIN dbo.TL_USER UC ON UC.TLNANME=A.MAKER_ID
|
1697
|
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=A.DVDM_APP_ID
|
1698
|
LEFT JOIN dbo.PL_REQUEST_DOC PARENT ON PARENT.REQ_ID=A.REQ_PARENT_ID
|
1699
|
-- GIANT 23/12/2021
|
1700
|
LEFT JOIN dbo.PL_REQUEST_DOC PL_B ON PL_B.REQ_ID=A.PL_BASED_ID
|
1701
|
|
1702
|
LEFT JOIN TL_USER TL ON A.SIGN_USER = TL.TLNANME
|
1703
|
LEFT JOIN
|
1704
|
(
|
1705
|
|
1706
|
SELECT Results.REQ_ID,STUFF((select ', ' + RE.TLFullName
|
1707
|
FROM @lstREQUEST RE
|
1708
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1709
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULY,
|
1710
|
STUFF((select ', ' + RE.TLNAME
|
1711
|
FROM @lstREQUEST RE
|
1712
|
WHERE RE.REQ_ID=Results.REQ_ID
|
1713
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') NGUOIXULYTLNAME
|
1714
|
FROM @lstREQUEST Results
|
1715
|
GROUP BY REQ_ID
|
1716
|
) NXL ON NXL.REQ_ID=A.REQ_ID
|
1717
|
WHERE 1 = 1
|
1718
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
1719
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1720
|
AND ((A.BRANCH_CREATE = @p_BRANCH_LOGIN AND( A.DEP_CREATE=@DEP_ID OR @BRANCH_TYPE <>'HS')) OR A.IS_CHECKALL=1)
|
1721
|
AND(@p_FR_DATE IS NULL OR CONVERT(DATETIME,A.REQ_DT,103) >= CONVERT(DATETIME,@p_FR_DATE,103))
|
1722
|
AND(@p_TO_DATE IS 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 (ISNULL(A.PROCESS_ID,'') ='APPROVE')
|
1725
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE =-1)
|
1726
|
AND(
|
1727
|
@p_REQ_TYPE = -1 OR @p_REQ_TYPE IS NULL
|
1728
|
OR
|
1729
|
(
|
1730
|
@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)
|
1731
|
)
|
1732
|
OR
|
1733
|
(
|
1734
|
@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)
|
1735
|
)
|
1736
|
)
|
1737
|
AND (EXISTS(SELECT REQDT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID = A.REQ_ID))
|
1738
|
|
1739
|
ORDER BY A.CREATE_DT DESC
|
1740
|
-- PAGING END
|
1741
|
END
|
1742
|
END -- PAGING
|