1
|
ALTER PROCEDURE [dbo].[PL_REQUEST_PROCESS_App] @p_REQ_ID VARCHAR(15) = NULL,
|
2
|
@p_AUTH_STATUS VARCHAR(1) = NULL,
|
3
|
@p_CHECKER_ID VARCHAR(15) = NULL,
|
4
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
5
|
@p_ROLE_LOGIN VARCHAR(50) = NULL,
|
6
|
@p_BRANCH_LOGIN VARCHAR(15),
|
7
|
@p_PROCESS_DESC NVARCHAR(MAX),
|
8
|
@p_IS_AUTHORITY BIT = 0
|
9
|
AS
|
10
|
|
11
|
DECLARE @MENU_PERMISSION NVARCHAR(500) = 'Pages.Administration.PlanProcess'--permission chức năng call store
|
12
|
DECLARE @PROCESS_DESC_TUQ NVARCHAR(500) = ''
|
13
|
--SET @p_APPROVE_DT= CAST(@p_APPROVE_DT AS DATE)
|
14
|
--Validation is here
|
15
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
16
|
IF (NOT EXISTS (SELECT
|
17
|
*
|
18
|
FROM PL_REQUEST_DOC
|
19
|
WHERE REQ_ID = @p_REQ_ID)
|
20
|
)
|
21
|
SET @ERRORSYS = 'REQ-00002'
|
22
|
IF @ERRORSYS <> ''
|
23
|
BEGIN
|
24
|
--ROLLBACK TRANSACTION
|
25
|
SELECT
|
26
|
ErrorCode Result
|
27
|
,ErrorDesc ErrorDesc
|
28
|
FROM SYS_ERROR
|
29
|
WHERE ErrorCode = @ERRORSYS
|
30
|
RETURN '0'
|
31
|
END
|
32
|
-- LUCTV 06 - 05 - 2021 BO SUNG UY QUYEN KIEM NHIEM
|
33
|
DECLARE @TABLE_ROLE TABLE (
|
34
|
ROLE_AUTH VARCHAR(50)
|
35
|
)
|
36
|
INSERT INTO @TABLE_ROLE
|
37
|
SELECT
|
38
|
(SELECT
|
39
|
ROLENAME
|
40
|
FROM TL_USER
|
41
|
WHERE TLNANME = @p_CHECKER_ID)
|
42
|
INSERT INTO @TABLE_ROLE
|
43
|
SELECT TOP 1
|
44
|
A.RoleDisplayName
|
45
|
FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER A
|
46
|
LEFT JOIN dbo.CM_BRANCH B
|
47
|
ON B.BRANCH_ID = A.BRANCH_ID
|
48
|
WHERE A.TLNAME = @p_CHECKER_ID
|
49
|
AND (DATEDIFF(DAY, CONVERT(DATE, A.EffectiveDate, 103), CONVERT(DATE, GETDATE(), 103)) >= 0
|
50
|
OR A.EffectiveDate IS NULL
|
51
|
OR A.EffectiveDate = '')
|
52
|
AND (DATEDIFF(DAY, CONVERT(DATE, A.ExpirationDate, 103), CONVERT(DATE, GETDATE(), 103)) <= 0
|
53
|
OR A.ExpirationDate IS NULL
|
54
|
OR A.ExpirationDate = '')
|
55
|
AND EXISTS (SELECT
|
56
|
DT.PER_PAGE_FOR_USER_DT_ID
|
57
|
FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT
|
58
|
WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID
|
59
|
AND DT.MENU_PERMISSION = @MENU_PERMISSION)
|
60
|
AND A.AUTH_STATUS = 'A'
|
61
|
AND A.RECORD_STATUS = '1'
|
62
|
---- LUCTV 15062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
|
63
|
INSERT INTO @TABLE_ROLE
|
64
|
SELECT
|
65
|
RL.DisplayName
|
66
|
FROM TL_USER TL
|
67
|
INNER JOIN AbpUserRoles UR
|
68
|
ON TL.ID = UR.UserId
|
69
|
INNER JOIN AbpRoles RL
|
70
|
ON UR.RoleId = RL.Id
|
71
|
WHERE TL.TLNANME = @p_CHECKER_ID
|
72
|
---- END LUCTV 16052023
|
73
|
-- KHAI BAO UY QUYEN DON VI DAU MOI
|
74
|
|
75
|
SELECT
|
76
|
ROLE_DISPLAYNAME ROLE_ID
|
77
|
,BRANCH_ID
|
78
|
,DEP_ID
|
79
|
,DVDM_ID INTO #AUTHOR_DVDM
|
80
|
FROM dbo.FN_GET_ROLE_DVDM_USER_BY_TLNAME(@p_CHECKER_ID, @MENU_PERMISSION)
|
81
|
|
82
|
BEGIN TRANSACTION
|
83
|
SET NOCOUNT ON;
|
84
|
IF (EXISTS (SELECT
|
85
|
*
|
86
|
FROM PL_REQUEST_PROCESS_CHILD
|
87
|
WHERE REQ_ID = @p_REQ_ID
|
88
|
AND STATUS_JOB = 'R')
|
89
|
OR (EXISTS (SELECT
|
90
|
*
|
91
|
FROM PL_REQUEST_DOC
|
92
|
WHERE REQ_ID = @p_REQ_ID
|
93
|
AND AUTH_STATUS = 'R')
|
94
|
)
|
95
|
OR (EXISTS (SELECT
|
96
|
*
|
97
|
FROM PL_REQUEST_PROCESS
|
98
|
WHERE REQ_ID = @p_REQ_ID
|
99
|
AND STATUS = 'R')
|
100
|
))
|
101
|
BEGIN
|
102
|
ROLLBACK TRANSACTION
|
103
|
SELECT
|
104
|
'-1' AS Result
|
105
|
,N'Tờ trình chủ trương số: ' + (SELECT
|
106
|
REQ_CODE
|
107
|
FROM PL_REQUEST_DOC
|
108
|
WHERE REQ_ID = @p_REQ_ID)
|
109
|
+ N' đang bị từ chối. Vui lòng đợi nhân viên xử lý phiếu và gửi phê duyệt lại!' ErrorDesc
|
110
|
RETURN '-1'
|
111
|
END
|
112
|
IF (EXISTS (SELECT
|
113
|
*
|
114
|
FROM PL_REQUEST_DOC
|
115
|
WHERE REQ_ID = @p_REQ_ID
|
116
|
AND PROCESS_ID IN ('DVCM', 'TC', 'DVDC', 'KT'))
|
117
|
)
|
118
|
BEGIN
|
119
|
ROLLBACK TRANSACTION
|
120
|
SELECT
|
121
|
'-1' AS Result
|
122
|
,N'Tờ trình chủ trương số: ' + (SELECT
|
123
|
REQ_CODE
|
124
|
FROM PL_REQUEST_DOC
|
125
|
WHERE REQ_ID = @p_REQ_ID)
|
126
|
+ N' đang chờ các đơn vị phụ trách chuyên môn xử lý. Anh Chị Banh Lãnh Đạo chỉ phê duyệt khi tờ trình đang chờ Giám đốc khối / Phó tổng giám đốc/ Tổng giám đốc và Chủ Tịch HĐQT!' ErrorDesc
|
127
|
RETURN '-1'
|
128
|
END
|
129
|
--UPDATE dbo.PL_REQUEST_TRANSFER SET AUTH_STATUS = @P_AUTH_STATUS, CHECKER_ID = @P_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@P_APPROVE_DT,103)
|
130
|
--WHERE REQ_DOC_ID = @p_REQ_ID AND FR_BRN_ID IN (SELECT BRANCH_ID FROM CM_BRANCH_GETCHILDID(@p_BRANCH_LOGIN))
|
131
|
|
132
|
DECLARE @Result VARCHAR(5)
|
133
|
,@PROCESS_CURR VARCHAR(10)
|
134
|
,@STEP_CURR INT
|
135
|
,@STEP_NEXT INT
|
136
|
,@PROCESS_NEXT VARCHAR(10)
|
137
|
,@ROLE_USER_NOTIFI VARCHAR(50)
|
138
|
,@DEP_ID VARCHAR(15)
|
139
|
,@IS_LEAF VARCHAR(1)
|
140
|
,@NOTES NVARCHAR(500)
|
141
|
,@IS_NEXT BIT
|
142
|
,@ROLE_USER VARCHAR(20)
|
143
|
,@ROLE_NEXT VARCHAR(20)
|
144
|
,@LIMTT_MAX DECIMAL(18, 2)
|
145
|
,@LIMIT_APP DECIMAL(18, 2)
|
146
|
,@KHOI_ID_TF VARCHAR(20)
|
147
|
,@TOTAL_TRANSFER DECIMAL(18, 2)
|
148
|
,@PROCESS_ID_NEXT VARCHAR(20)
|
149
|
,@IS_NEXT_CDT BIT
|
150
|
,@TOTAL_AMT DECIMAL(18, 2)
|
151
|
,@STEP_PARENT VARCHAR(20)
|
152
|
,@NOTES_CDT VARCHAR(20)
|
153
|
,@ROLE_CDT VARCHAR(20)
|
154
|
,@DVDM_CDT VARCHAR(20)
|
155
|
,@LIMIT_VALUE_CDT DECIMAL(18, 2)
|
156
|
,@DVDM_ID_TT VARCHAR(20)
|
157
|
,@TOTAL_AMT_GD DECIMAL(18, 2)
|
158
|
,@BRANCH_CREATE VARCHAR(15)
|
159
|
,@BRANCH_CREATE_TYPE VARCHAR(15)
|
160
|
,@DEP_CREATE VARCHAR(15)
|
161
|
,@BRANCH_PARENT VARCHAR(15)
|
162
|
-- BIẾN CHECK UỶ QUYỀN
|
163
|
,@l_IS_TUQ VARCHAR(1) = '0'
|
164
|
,@BRANCH_ID_CHECK_TUQ VARCHAR(20) = ''
|
165
|
,@DEP_ID_CHECK_TUQ VARCHAR(20) = ''
|
166
|
,@DVCM_ID_CHECK_TUQ VARCHAR(20) = ''
|
167
|
,@ROLE_USER_CHECK VARCHAR(20)
|
168
|
DECLARE @PROCESS_ID VARCHAR(5)
|
169
|
,@DVDM_NAME NVARCHAR(20)
|
170
|
,@ROLE_ID VARCHAR(20)
|
171
|
,@DVDM_ID_CDT VARCHAR(20)
|
172
|
|
173
|
SET @DEP_ID = (SELECT
|
174
|
SECUR_CODE
|
175
|
FROM dbo.TL_USER
|
176
|
WHERE TLNANME = @p_CHECKER_ID)
|
177
|
|
178
|
SET @PROCESS_CURR = (SELECT TOP 1
|
179
|
PROCESS_ID
|
180
|
FROM dbo.PL_REQUEST_PROCESS
|
181
|
WHERE REQ_ID = @p_REQ_ID
|
182
|
AND STATUS = 'C')
|
183
|
SET @PROCESS_NEXT = (SELECT TOP 1
|
184
|
PROCESS_ID
|
185
|
FROM dbo.PL_REQUEST_PROCESS
|
186
|
WHERE REQ_ID = @p_REQ_ID
|
187
|
AND PARENT_PROCESS_ID = @PROCESS_CURR)
|
188
|
|
189
|
DECLARE @DATA_DVDM TABLE (
|
190
|
DVDM_ID VARCHAR(20)
|
191
|
,TOTAL_AMT DECIMAL(12, 0)
|
192
|
,IS_PTGD BIT
|
193
|
);
|
194
|
|
195
|
SET @NOTES = (SELECT
|
196
|
CONTENT
|
197
|
FROM dbo.CM_ALLCODE
|
198
|
WHERE (@PROCESS_CURR LIKE CDVAL + '%')
|
199
|
AND CDNAME = 'PROCESS_ID'
|
200
|
AND CDTYPE = 'REQ')
|
201
|
DECLARE @DVDM_ID TABLE (
|
202
|
DVDM_ID VARCHAR(15)
|
203
|
)
|
204
|
DECLARE @ERROR BIT
|
205
|
,@EROOR_DES NVARCHAR(500)
|
206
|
IF (@PROCESS_CURR LIKE '%_DC')
|
207
|
BEGIN
|
208
|
SELECT
|
209
|
@ERROR = ERROR
|
210
|
,@EROOR_DES = ERROR_DES
|
211
|
FROM dbo.FN_CHECK_VALIDATE_APP(@p_REQ_ID, 'PDDC', 'PL_REQUEST_DOC', @p_CHECKER_ID, @PROCESS_CURR)
|
212
|
IF (@ERROR = 1)
|
213
|
BEGIN
|
214
|
ROLLBACK TRANSACTION;
|
215
|
SELECT
|
216
|
'-1' Result
|
217
|
,@EROOR_DES ErrorDesc
|
218
|
RETURN '0';
|
219
|
END
|
220
|
END
|
221
|
SELECT
|
222
|
@ERROR = ERROR
|
223
|
,@EROOR_DES = ERROR_DES
|
224
|
FROM dbo.FN_CHECK_VALIDATE_APP(@p_REQ_ID, 'PDTT', 'PL_REQUEST_DOC', @p_CHECKER_ID, @PROCESS_CURR)
|
225
|
IF (@ERROR = 1)
|
226
|
BEGIN
|
227
|
ROLLBACK TRANSACTION;
|
228
|
SELECT
|
229
|
'-1' Result
|
230
|
,@EROOR_DES ErrorDesc
|
231
|
RETURN '0';
|
232
|
END
|
233
|
INSERT INTO @DATA_DVDM
|
234
|
SELECT
|
235
|
KHOI_ID
|
236
|
,SUM(TOTAL_AMT) AS TOTAL_AMT
|
237
|
,DM.IS_PTGD
|
238
|
FROM dbo.PL_REQUEST_DOC_DT DT
|
239
|
LEFT JOIN CM_DVDM DM
|
240
|
ON DM.DVDM_ID = DT.KHOI_ID
|
241
|
AND DM.IS_KHOI = 1
|
242
|
WHERE REQ_ID = @p_REQ_ID
|
243
|
AND DT.KHOI_ID IS NOT NULL
|
244
|
AND DT.KHOI_ID <> ''
|
245
|
GROUP BY KHOI_ID
|
246
|
,DM.IS_PTGD;
|
247
|
SET @DVDM_CDT = (SELECT
|
248
|
DVDM_ID
|
249
|
FROM dbo.TL_SYSROLE_LIMIT
|
250
|
WHERE LIMIT_TYPE = 'CDT')
|
251
|
INSERT INTO @DVDM_ID
|
252
|
SELECT
|
253
|
DVDM_ID
|
254
|
FROM dbo.PL_COSTCENTER
|
255
|
WHERE COST_ID IN (SELECT
|
256
|
COST_ID
|
257
|
FROM dbo.PL_COSTCENTER_DT
|
258
|
WHERE DEP_ID = @DEP_ID
|
259
|
AND BRANCH_ID = @p_BRANCH_LOGIN)
|
260
|
GROUP BY DVDM_ID
|
261
|
|
262
|
|
263
|
|
264
|
IF (NOT EXISTS (SELECT
|
265
|
REQ_ID
|
266
|
FROM dbo.PL_REQUEST_PROCESS
|
267
|
WHERE STATUS = 'C'
|
268
|
AND PROCESS_ID = @PROCESS_CURR
|
269
|
AND REQ_ID = @p_REQ_ID
|
270
|
AND (EXISTS (SELECT
|
271
|
ROLE_ID
|
272
|
FROM #AUTHOR_DVDM AUTH
|
273
|
WHERE AUTH.ROLE_ID = ROLE_USER
|
274
|
AND (AUTH.DVDM_ID = PL_REQUEST_PROCESS.DVDM_ID
|
275
|
OR PL_REQUEST_PROCESS.DVDM_ID = ''
|
276
|
OR PL_REQUEST_PROCESS.DVDM_ID IS NULL))
|
277
|
))
|
278
|
)
|
279
|
BEGIN
|
280
|
ROLLBACK TRANSACTION
|
281
|
SELECT
|
282
|
'-1' AS Result
|
283
|
,N'Bạn không nằm trong nhóm quyền được phê duyệt tờ trình này' AS ROLE_NOTIFI
|
284
|
,N'Bạn không nằm trong nhóm quyền được phê duyệt tờ trình này' ErrorDesc
|
285
|
RETURN '-1'
|
286
|
END
|
287
|
|
288
|
UPDATE dbo.PL_REQUEST_PROCESS
|
289
|
SET [STATUS] = 'P'
|
290
|
,NOTES = @NOTES + N' đã phê duyệt'
|
291
|
,CHECKER_ID = @p_CHECKER_ID
|
292
|
,APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
|
293
|
WHERE PROCESS_ID = @PROCESS_CURR
|
294
|
AND REQ_ID = @p_REQ_ID
|
295
|
AND (EXISTS (SELECT
|
296
|
ROLE_ID
|
297
|
FROM #AUTHOR_DVDM AUTH
|
298
|
WHERE AUTH.ROLE_ID = ROLE_USER
|
299
|
AND (AUTH.DVDM_ID = PL_REQUEST_PROCESS.DVDM_ID
|
300
|
OR PL_REQUEST_PROCESS.DVDM_ID = ''
|
301
|
OR PL_REQUEST_PROCESS.DVDM_ID IS NULL))
|
302
|
)
|
303
|
IF (@PROCESS_CURR <> 'DVCM'
|
304
|
AND @PROCESS_CURR <> 'DVDM'
|
305
|
AND @PROCESS_CURR <> 'TC')
|
306
|
BEGIN
|
307
|
UPDATE dbo.PL_REQUEST_DOC_DT
|
308
|
SET CHECKER_ID = @p_CHECKER_ID
|
309
|
,APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
|
310
|
WHERE REQ_ID = @p_REQ_ID
|
311
|
AND (KHOI_ID IN (SELECT
|
312
|
DVDM_ID
|
313
|
FROM @DVDM_ID)
|
314
|
OR @p_ROLE_LOGIN = 'TGD'
|
315
|
OR @p_ROLE_LOGIN = 'HDQT'
|
316
|
OR @p_ROLE_LOGIN = 'GDDV'
|
317
|
OR @p_ROLE_LOGIN IN (SELECT
|
318
|
ROLE_OLD
|
319
|
FROM dbo.TL_SYS_ROLE_MAPPING
|
320
|
WHERE ROLE_NEW = 'GDDV')
|
321
|
)
|
322
|
END
|
323
|
IF (@PROCESS_CURR LIKE '%_DC')
|
324
|
BEGIN
|
325
|
UPDATE dbo.PL_REQUEST_TRANSFER
|
326
|
SET CHECKER_ID = @p_CHECKER_ID
|
327
|
,APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
|
328
|
WHERE REQ_DOC_ID = @p_REQ_ID
|
329
|
AND (FR_KHOI_ID IN (SELECT
|
330
|
DVDM_ID
|
331
|
FROM @DVDM_ID)
|
332
|
OR @p_ROLE_LOGIN = 'TGD'
|
333
|
OR @p_ROLE_LOGIN = 'HDQT'
|
334
|
OR @p_ROLE_LOGIN IN (SELECT
|
335
|
ROLE_OLD
|
336
|
FROM dbo.TL_SYS_ROLE_MAPPING
|
337
|
WHERE ROLE_NEW = 'GDDV')
|
338
|
)
|
339
|
END
|
340
|
DECLARE @PROCESS_DVDM VARCHAR(20)
|
341
|
SELECT TOP 1
|
342
|
@PROCESS_DVDM = DVDM_ID
|
343
|
FROM PL_REQUEST_PROCESS
|
344
|
WHERE REQ_ID = @p_REQ_ID
|
345
|
AND STATUS = 'C'
|
346
|
SET @DVCM_ID_CHECK_TUQ = @PROCESS_DVDM -- LẤY ID DVCM ĐỂ CHECK XEM USER CÓ ỦY QUYỀN HAY KHÔNG
|
347
|
--XỬ LÝ VIỆC THỪA ỦY QUYỀN KIÊM NHIỆM
|
348
|
EXEC SYS_CHECK_USER_APPROVE_TUQ @TLNAME = @p_CHECKER_ID
|
349
|
, --USER DOMAIN NGƯỜI CẦN CHECK
|
350
|
@BRANCH_ID = @BRANCH_ID_CHECK_TUQ
|
351
|
, --BRANCH CẦN CHECK
|
352
|
@DEP_ID = @DEP_ID_CHECK_TUQ
|
353
|
, --DEP CẦN CHECK
|
354
|
@DVCM_ID = @DVCM_ID_CHECK_TUQ
|
355
|
, -- DVCM CẦN CHECK
|
356
|
@MENU_PERMISSION = @MENU_PERMISSION
|
357
|
, --PERMISSION ĐỂ ĐƯỢC TÍNH USER LOGIN LÀ ĐƯỢC ỦY QUYỀN
|
358
|
@ROLE_USER_CHECK = @ROLE_USER_CHECK
|
359
|
, --ROLE USER CẦN CHECK KHI ĐÓ LÀ BƯỚC DUYỆT CỦA TKTGD, TGD, TKHDQT, HDQT
|
360
|
@CONTENT_RESULT = @PROCESS_DESC_TUQ OUT
|
361
|
|
362
|
IF @PROCESS_DESC_TUQ = ''
|
363
|
BEGIN
|
364
|
SET @PROCESS_DESC_TUQ = @p_PROCESS_DESC
|
365
|
END
|
366
|
ELSE
|
367
|
BEGIN
|
368
|
SET @l_IS_TUQ = '1'
|
369
|
END
|
370
|
--XỬ LÝ VIỆC THỪA ỦY QUYỀN KIÊM NHIỆM
|
371
|
|
372
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES, IS_TUQ)
|
373
|
VALUES (@p_REQ_ID, @PROCESS_CURR, @p_CHECKER_ID, GETDATE(), @PROCESS_DESC_TUQ, @NOTES + N' đã phê duyệt', @l_IS_TUQ)
|
374
|
|
375
|
SELECT
|
376
|
@BRANCH_CREATE = BRANCH_CREATE
|
377
|
,@DEP_CREATE = DEP_CREATE
|
378
|
FROM dbo.PL_REQUEST_DOC
|
379
|
WHERE REQ_ID = @p_REQ_ID
|
380
|
|
381
|
SET @BRANCH_CREATE_TYPE = (SELECT
|
382
|
BRANCH_TYPE
|
383
|
FROM dbo.CM_BRANCH
|
384
|
WHERE BRANCH_ID = @BRANCH_CREATE)
|
385
|
|
386
|
|
387
|
SET @Result = '1'
|
388
|
IF (NOT EXISTS (SELECT
|
389
|
PROCESS_ID
|
390
|
FROM dbo.PL_REQUEST_PROCESS
|
391
|
WHERE REQ_ID = @p_REQ_ID
|
392
|
AND PROCESS_ID = @PROCESS_CURR
|
393
|
AND [STATUS] <> 'P')
|
394
|
)
|
395
|
BEGIN
|
396
|
--- LUCTV 18.10.22 KIEM TRA NEU WORKFLOW CO PTGD KHOI HO TRO THI REMOVE KHOI QUY TRINH
|
397
|
IF ((SELECT
|
398
|
COUNT(*)
|
399
|
FROM PL_REQUEST_PROCESS
|
400
|
WHERE REQ_ID = @p_REQ_ID
|
401
|
AND PROCESS_ID = 'PTGDK_TT')
|
402
|
= 1)
|
403
|
BEGIN
|
404
|
IF (EXISTS (SELECT
|
405
|
*
|
406
|
FROM PL_REQUEST_PROCESS
|
407
|
WHERE REQ_ID = @p_REQ_ID
|
408
|
AND PROCESS_ID = 'PTGDK_TT'
|
409
|
AND DVDM_ID = 'DM0000000000015x')
|
410
|
) --- 15062023_SECRETKEY
|
411
|
BEGIN
|
412
|
DELETE FROM PL_REQUEST_PROCESS
|
413
|
WHERE REQ_ID = @p_REQ_ID
|
414
|
AND PROCESS_ID = 'PTGDK_TT'
|
415
|
AND DVDM_ID = 'DM0000000000015x'
|
416
|
UPDATE PL_REQUEST_PROCESS
|
417
|
SET PARENT_PROCESS_ID = @PROCESS_CURR
|
418
|
WHERE REQ_ID = @p_REQ_ID
|
419
|
AND PARENT_PROCESS_ID = 'PTGDK_TT'
|
420
|
SET @PROCESS_NEXT = (SELECT TOP 1
|
421
|
PROCESS_ID
|
422
|
FROM dbo.PL_REQUEST_PROCESS
|
423
|
WHERE REQ_ID = @p_REQ_ID
|
424
|
AND PARENT_PROCESS_ID = @PROCESS_CURR)
|
425
|
END
|
426
|
END
|
427
|
ELSE
|
428
|
BEGIN
|
429
|
IF ((SELECT
|
430
|
COUNT(*)
|
431
|
FROM PL_REQUEST_PROCESS
|
432
|
WHERE REQ_ID = @p_REQ_ID
|
433
|
AND PROCESS_ID = 'PTGDK_TT')
|
434
|
= 1)
|
435
|
BEGIN
|
436
|
IF (EXISTS (SELECT
|
437
|
*
|
438
|
FROM PL_REQUEST_PROCESS
|
439
|
WHERE REQ_ID = @p_REQ_ID
|
440
|
AND PROCESS_ID = 'PTGDK_TT'
|
441
|
AND DVDM_ID = 'DM0000000000015x')
|
442
|
)
|
443
|
BEGIN
|
444
|
DELETE FROM PL_REQUEST_PROCESS
|
445
|
WHERE REQ_ID = @p_REQ_ID
|
446
|
AND PROCESS_ID = 'PTGDK_TT'
|
447
|
AND DVDM_ID = 'DM0000000000015'
|
448
|
SET @PROCESS_NEXT = (SELECT TOP 1
|
449
|
PROCESS_ID
|
450
|
FROM dbo.PL_REQUEST_PROCESS
|
451
|
WHERE REQ_ID = @p_REQ_ID
|
452
|
AND PARENT_PROCESS_ID = @PROCESS_CURR)
|
453
|
END
|
454
|
END
|
455
|
END
|
456
|
--- END LUCTV 18.10.22
|
457
|
UPDATE dbo.PL_REQUEST_PROCESS
|
458
|
SET [STATUS] = 'C'
|
459
|
WHERE PARENT_PROCESS_ID = @PROCESS_CURR
|
460
|
AND REQ_ID = @p_REQ_ID
|
461
|
UPDATE dbo.PL_REQUEST_DOC
|
462
|
SET PROCESS_ID = @PROCESS_NEXT
|
463
|
WHERE REQ_ID = @p_REQ_ID
|
464
|
SET @IS_LEAF = (SELECT TOP 1
|
465
|
IS_LEAF
|
466
|
FROM dbo.PL_REQUEST_PROCESS
|
467
|
WHERE REQ_ID = @p_REQ_ID
|
468
|
AND PARENT_PROCESS_ID = @PROCESS_CURR)
|
469
|
|
470
|
IF (@p_ROLE_LOGIN = 'HDQT')
|
471
|
UPDATE dbo.PL_REQUEST_DOC
|
472
|
SET IS_AUTHORITY = @p_IS_AUTHORITY
|
473
|
WHERE REQ_ID = @p_REQ_ID
|
474
|
IF (@p_ROLE_LOGIN = 'TGD')
|
475
|
UPDATE dbo.PL_REQUEST_DOC
|
476
|
SET TGD_NOTES = @p_PROCESS_DESC
|
477
|
WHERE REQ_ID = @p_REQ_ID
|
478
|
|
479
|
IF (@IS_LEAF = 'Y'
|
480
|
OR EXISTS (SELECT
|
481
|
*
|
482
|
FROM PL_REQUEST_PROCESS
|
483
|
WHERE REQ_ID = @p_REQ_ID
|
484
|
AND PROCESS_ID = 'APPROVE'
|
485
|
AND STATUS = 'C')
|
486
|
) --- 20.04.23 LUCTV FIX LOI DUYET HOAN TAT NHUNG KHONG PHAT SINH NGAN SACH
|
487
|
BEGIN
|
488
|
--print 'haha'
|
489
|
UPDATE PL_REQUEST_DOC
|
490
|
SET PROCESS_ID = 'APPROVE'
|
491
|
WHERE REQ_ID = @p_REQ_ID
|
492
|
EXEC dbo.PL_REQ_DOC_UPDATE_AFTER_APPROVE @p_REQ_ID = @p_REQ_ID
|
493
|
EXEC dbo.PL_REQ_DOC_Ins_To_TR_REQ_DOC @p_PL_REQ_ID = @p_REQ_ID
|
494
|
SET @Result = '0'
|
495
|
END
|
496
|
END
|
497
|
IF @@Error <> 0
|
498
|
GOTO ABORT
|
499
|
|
500
|
COMMIT TRANSACTION
|
501
|
-- BAY GIỜ KHÔNG CẦN PHÂN CHIA XÁC NHẬN - DUYỆT NỮA. KHI CẤP LÃNH ĐẠO (GĐK, PTGĐ, TGĐ) BẤM VÀO NÚT DUYỆT THÌ THÔNG BÁO DUYỆT THÀNH CÔNG. KHÔNG CẦN QUAN TÂM CẤP CUỐI CÙNG
|
502
|
SELECT
|
503
|
'0' AS Result
|
504
|
,@ROLE_USER AS ROLE_NOTIFI
|
505
|
,'' ErrorDesc
|
506
|
RETURN '0'
|
507
|
ABORT:
|
508
|
BEGIN
|
509
|
|
510
|
ROLLBACK TRANSACTION
|
511
|
SELECT
|
512
|
'-1' AS Result
|
513
|
,'' ROLE_NOTIFI
|
514
|
,ERROR_MESSAGE() ErrorDesc
|
515
|
RETURN '-1'
|
516
|
END
|