Project

General

Profile

UPDATE APP REQ 1.txt

Truong Nguyen Vu, 05/15/2020 09:59 AM

 
1
USE [gAMSPro_VietcapitalBank_v2]
2
GO
3
/****** Object:  StoredProcedure [dbo].[PL_REQUEST_DOC_App]    Script Date: 15-May-20 09:59:03 ******/
4
SET ANSI_NULLS ON
5
GO
6
SET QUOTED_IDENTIFIER ON
7
GO
8
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_App]
9
    @p_REQ_ID VARCHAR(15) = NULL,
10
    @p_AUTH_STATUS VARCHAR(1) = NULL,
11
    @p_CHECKER_ID VARCHAR(15) = NULL,
12
    @p_APPROVE_DT DATETIME = NULL,
13
    @p_ROLE_LOGIN VARCHAR(50) = NULL,
14
    @p_BRANCH_LOGIN VARCHAR(15),
15
    @p_PROCESS_DES NVARCHAR(500)
16
AS
17

    
18
BEGIN TRANSACTION;
19
--SET @p_APPROVE_DT = @p_APPROVE_DT 
20

    
21
--Validation is here
22
DECLARE @ERRORSYS NVARCHAR(15) = '';
23
IF (NOT EXISTS (SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID))
24
    SET @ERRORSYS = 'REQ-00002';
25
IF @ERRORSYS <> ''
26
BEGIN
27
    ROLLBACK TRANSACTION;
28
    SELECT ErrorCode Result,
29
           ErrorDesc ErrorDesc
30
    FROM SYS_ERROR
31
    WHERE ErrorCode = @ERRORSYS;
32
    RETURN '0';
33
END;
34

    
35
DECLARE  @ERROR BIT ,@EROOR_DES NVARCHAR(500)
36

    
37
SELECT @ERROR=ERROR,
38
       @EROOR_DES=ERROR_DES FROM dbo.FN_CHECK_VALIDATE_APP(@p_REQ_ID,'APPNEW','PL_REQUEST_DOC',@p_CHECKER_ID,'APPNEW')
39
IF(@ERROR=1)
40
BEGIN
41
	 ROLLBACK TRANSACTION;
42
    SELECT '-1'  Result,
43
           @EROOR_DES ErrorDesc
44
   
45
    RETURN '0';
46
END
47

    
48

    
49

    
50

    
51

    
52

    
53

    
54

    
55
--UPDATE dbo.PL_REQUEST_TRANSFER SET AUTH_STATUS = @P_AUTH_STATUS, CHECKER_ID = @P_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@P_APPROVE_DT,103)
56
--WHERE REQ_DOC_ID = @p_REQ_ID AND FR_BRN_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_LOGIN))
57

    
58
DECLARE @Result VARCHAR(5),
59
        @TOTAL_TRANSFER DECIMAL(18, 0),
60
        @TOTAL_AMT DECIMAL(18, 0),
61
        @ROLE_USER_NOTIFI VARCHAR(50),
62
        @ROLE_ID VARCHAR(20),
63
        @ROLE_TF VARCHAR(20),
64
        @LIMIT_VALUE DECIMAL(18, 0),
65
        @STEP_CURR VARCHAR(20),
66
        @STEP_PARENT VARCHAR(20),
67
        @COST_ID VARCHAR(20),
68
        @FR_BRANCH_ID VARCHAR(20),
69
        @FR_DEP_ID VARCHAR(20),
70
        @DVDM_ID VARCHAR(20),
71
        @IS_NEXT BIT = 0,
72
        @TOTAL_AMT_GD DECIMAL(12, 0),
73
        @STOP BIT,
74
        @NOTES NVARCHAR(100);
75
DECLARE @ROLE_CDT VARCHAR(20),
76
        @DVDM_CDT VARCHAR(20),
77
        @LIMIT_VALUE_CDT VARCHAR(20),
78
        @NOTES_CDT VARCHAR(20);
79

    
80

    
81
DECLARE @DATA_DVDM TABLE
82
(
83
    DVDM_ID VARCHAR(20),
84
    TOTAL_AMT DECIMAL(12, 0),
85
	IS_PTGD BIT
86
);
87

    
88

    
89
--UPDATE dbo.PL_REQUEST_COSTCENTER 
90
--SET DVMD_ID=(SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE PL_COSTCENTER.COST_ID=PL_REQUEST_COSTCENTER.COST_ID),
91
--TOTAL_AMT_GD=(SELECT SUM(PM.TOTAL_AMT) AS AMT FROM
92
--(SELECT PLAN_ID,GOODS_ID,TOTAL_AMT FROM dbo.PL_REQUEST_DOC_DT  WHERE REQDT_TYPE='I' AND REQ_ID=@p_REQ_ID) PR
93
--LEFT JOIN dbo.PL_MASTER PM ON PR.PLAN_ID=PM.PLAN_ID
94
--WHERE PM.COST_ID=PL_REQUEST_COSTCENTER.COST_ID)
95
--WHERE REQ_ID=@p_REQ_ID
96

    
97

    
98
INSERT INTO @DATA_DVDM
99
SELECT KHOI_ID,
100
       SUM(TOTAL_AMT) AS TOTAL_AMT,DM.IS_PTGD
101
FROM dbo.PL_REQUEST_DOC_DT DT
102
LEFT JOIN CM_DVDM DM ON DM.DVDM_ID=DT.KHOI_ID AND DM.IS_KHOI=1
103
WHERE REQ_ID = @p_REQ_ID
104
GROUP BY KHOI_ID,DM.IS_PTGD;
105

    
106

    
107

    
108

    
109

    
110
DELETE FROM dbo.PL_REQUEST_PROCESS
111
WHERE REQ_ID = @p_REQ_ID;
112

    
113

    
114

    
115

    
116
	DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20) ,@DEP_CREATE VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
117
	@BRANCH_CREATE_TYPE VARCHAR(10)
118

    
119

    
120
	SELECT @BRANCH_ID =BRANCH_ID,@DEP_ID=DEP_ID,@BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
121

    
122
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
123
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
124

    
125

    
126

    
127
IF(@BRANCH_ID <> @BRANCH_CREATE)
128
	BEGIN
129
		IF(@BRANCH_CREATE_TYPE='HS')
130
		BEGIN
131
			IF(@BRANCH_TYPE='PGD')
132
				SET @BRANCH_ID=(SELECT FATHER_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
133

    
134
		END
135
		ELSE
136
		IF(@BRANCH_CREATE='CN')
137
			IF(@BRANCH_TYPE='PGD')
138
				SET @BRANCH_ID=(SELECT FATHER_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
139
	END
140

    
141

    
142
INSERT INTO dbo.PL_REQUEST_PROCESS
143
(
144
    REQ_ID,
145
    PROCESS_ID,
146
    STATUS,
147
    ROLE_USER,
148
    BRANCH_ID,
149
	DEP_ID,
150
    CHECKER_ID,
151
    APPROVE_DT,
152
    PARENT_PROCESS_ID,
153
    IS_LEAF,
154
    NOTES
155
)
156
VALUES
157
(   @p_REQ_ID,               -- REQ_ID - varchar(15)
158
    'APPNEW',                  -- PROCESS_ID - varchar(10)
159
    'P',                     -- STATUS - varchar(5)
160
    'GDDV',                      -- ROLE_USER - varchar(50)
161
    @BRANCH_ID,
162
	@DEP_ID,                      -- BRANCH_ID - varchar(15)
163
    @p_CHECKER_ID,           -- CHECKER_ID - varchar(15)
164
    GETDATE() , -- APPROVE_DT - datetime
165
    NULL, 'N', N'Trưởng đơn vị phê duyệt');
166
SET @STEP_CURR = 'APPNEW';
167
SET @STEP_PARENT = 'APPNEW';
168

    
169

    
170

    
171

    
172

    
173
IF (EXISTS
174
(
175
    SELECT REQ_COST_ID
176
    FROM dbo.PL_REQUEST_COSTCENTER
177
    WHERE REQ_ID = @p_REQ_ID
178
)
179
   )
180
BEGIN
181

    
182

    
183
    DECLARE lstCostCenter CURSOR FOR
184
    SELECT COST_ID
185
    FROM dbo.PL_REQUEST_COSTCENTER
186
    WHERE REQ_ID = @p_REQ_ID AND COST_ID IS NOT NULL AND COST_ID <>'';
187
    OPEN lstCostCenter;
188
    FETCH NEXT FROM lstCostCenter
189
    INTO @COST_ID;
190
    WHILE @@FETCH_STATUS = 0
191
    BEGIN
192
	IF(NOT EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID  AND ROLE_USER='GDDV' AND ( DVDM_ID=@COST_ID OR @COST_ID IN ((SELECT PC.DVDM_ID FROM dbo.PL_COSTCENTER PC
193
		LEFT JOIN dbo.PL_COSTCENTER_DT PCD ON PCD.COST_ID = PC.COST_ID
194
		WHERE PCD.BRANCH_ID=PL_REQUEST_PROCESS.BRANCH_ID AND PCD.DEP_ID=PL_REQUEST_PROCESS.DEP_ID)) ) ))
195
		BEGIN
196
        INSERT INTO dbo.PL_REQUEST_PROCESS
197
        (
198
            REQ_ID,
199
            PROCESS_ID,
200
            STATUS,
201
            ROLE_USER,
202
            BRANCH_ID,
203
            CHECKER_ID,
204
            APPROVE_DT,
205
            PARENT_PROCESS_ID,
206
            IS_LEAF,
207
            COST_ID,
208
            DVDM_ID,
209
            NOTES,
210
            IS_HAS_CHILD
211
        )
212
        VALUES
213
        (   @p_REQ_ID,    -- REQ_ID - varchar(15)
214
            'DVCM',       -- PROCESS_ID - varchar(10)
215
            'U',          -- STATUS - varchar(5)
216
            'GDDV',       -- ROLE_USER - varchar(50)
217
            '',           -- BRANCH_ID - varchar(15)
218
            '',           -- CHECKER_ID - varchar(15)
219
            NULL,         -- APPROVE_DT - datetime
220
            @STEP_PARENT, -- PARENT_PROCESS_ID - varchar(10)
221
            'N',          -- IS_LEAF - varchar(1)
222
            '',           -- COST_ID - varchar(15)
223
            @COST_ID, N'Chờ đơn vị chuyên môn xác nhận', 1
224
            -- DVDM_ID - varchar(15)
225
            );
226
		END
227

    
228
        FETCH NEXT FROM lstCostCenter
229
        INTO @COST_ID;
230
    END;
231
    CLOSE lstCostCenter;
232
    DEALLOCATE lstCostCenter;
233
	IF(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='DVCM'))
234
		SET @STEP_PARENT = 'DVCM';
235
END;
236

    
237

    
238

    
239

    
240

    
241
SET @TOTAL_AMT =
242
(
243
    SELECT SUM(TOTAL_AMT) AS TOTAL_AMT
244
    FROM dbo.PL_REQUEST_DOC_DT
245
    WHERE REQ_ID = @p_REQ_ID
246
);
247

    
248

    
249
IF (EXISTS
250
(
251
    SELECT REQ_TRANSFER_ID
252
    FROM dbo.PL_REQUEST_TRANSFER
253
    WHERE REQ_DOC_ID = @p_REQ_ID
254
)
255
   )
256
BEGIN
257

    
258

    
259
    IF (EXISTS
260
    (
261
        SELECT FR_BRN_ID
262
        FROM dbo.PL_REQUEST_TRANSFER
263
        WHERE REQ_DOC_ID = @p_REQ_ID
264
              AND
265
              (
266
                  FR_BRN_ID <> @BRANCH_CREATE
267
                  OR FR_DEP_ID <> @DEP_CREATE
268
              )
269
    )
270
       )
271
    BEGIN
272
        DECLARE lstTransfer CURSOR FOR
273
        SELECT FR_BRN_ID,
274
               FR_DEP_ID
275
        FROM dbo.PL_REQUEST_TRANSFER
276
        WHERE REQ_DOC_ID = @p_REQ_ID
277
              AND
278
              (
279
                  FR_BRN_ID <> @BRANCH_CREATE
280
                  OR FR_DEP_ID <> @DEP_CREATE
281
              )
282
        GROUP BY FR_BRN_ID,
283
                 FR_DEP_ID;
284
        OPEN lstTransfer;
285
        FETCH NEXT FROM lstTransfer
286
        INTO @FR_BRANCH_ID,
287
             @FR_DEP_ID;
288
        WHILE @@FETCH_STATUS = 0
289
        BEGIN
290
            INSERT INTO dbo.PL_REQUEST_PROCESS
291
            (
292
                REQ_ID,
293
                PROCESS_ID,
294
                STATUS,
295
                ROLE_USER,
296
                BRANCH_ID,
297
                CHECKER_ID,
298
                APPROVE_DT,
299
                PARENT_PROCESS_ID,
300
                IS_LEAF,
301
                COST_ID,
302
                DVDM_ID,
303
                NOTES,
304
                IS_HAS_CHILD,
305
                DEP_ID
306
            )
307
            VALUES
308
            (   @p_REQ_ID,     -- REQ_ID - varchar(15)
309
                'DVDC',        -- PROCESS_ID - varchar(10)
310
                'U',           -- STATUS - varchar(5)
311
                'GDDV',        -- ROLE_USER - varchar(50)
312
                @FR_BRANCH_ID, -- BRANCH_ID - varchar(15)
313
                '',            -- CHECKER_ID - varchar(15)
314
                NULL,          -- APPROVE_DT - datetime
315
                @STEP_PARENT,  -- PARENT_PROCESS_ID - varchar(10)
316
                'N',           -- IS_LEAF - varchar(1)
317
                '',            -- COST_ID - varchar(15)
318
                '',            -- DVDM_ID - varchar(15)
319
                N'Chờ đơn vị điều chuyển xác nhận', 1, @FR_DEP_ID);
320
            FETCH NEXT FROM lstTransfer
321
            INTO @FR_BRANCH_ID,
322
                 @FR_DEP_ID;
323
        END;
324
        CLOSE lstTransfer;
325
        DEALLOCATE lstTransfer;
326
        SET @STEP_PARENT = 'DVDC';
327
    END;
328

    
329
    -- Đầu mối nhận
330
    DECLARE lstTransfer CURSOR FOR
331
    SELECT TO_DVDM_ID
332
    FROM dbo.PL_REQUEST_TRANSFER
333
    WHERE REQ_DOC_ID = @p_REQ_ID AND TO_DVDM_ID IS NOT NULL AND TO_DVDM_ID <>''
334
    GROUP BY TO_DVDM_ID;
335
    OPEN lstTransfer;
336
    FETCH NEXT FROM lstTransfer
337
    INTO @DVDM_ID;
338
    WHILE @@FETCH_STATUS = 0
339
    BEGIN
340
		IF(NOT EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID  AND ROLE_USER='GDDV' AND ( DVDM_ID=@DVDM_ID OR @DVDM_ID IN ((SELECT PC.DVDM_ID FROM dbo.PL_COSTCENTER PC
341
		LEFT JOIN dbo.PL_COSTCENTER_DT PCD ON PCD.COST_ID = PC.COST_ID
342
		WHERE PCD.BRANCH_ID=PL_REQUEST_PROCESS.BRANCH_ID AND PCD.DEP_ID=PL_REQUEST_PROCESS.DEP_ID)) ) ))
343
		
344
		BEGIN
345
        INSERT INTO dbo.PL_REQUEST_PROCESS
346
        (
347
            REQ_ID,
348
            PROCESS_ID,
349
            STATUS,
350
            ROLE_USER,
351
            BRANCH_ID,
352
            CHECKER_ID,
353
            APPROVE_DT,
354
            PARENT_PROCESS_ID,
355
            IS_LEAF,
356
            COST_ID,
357
            DVDM_ID,
358
            NOTES,
359
            IS_HAS_CHILD
360
        )
361
        VALUES
362
        (   @p_REQ_ID,    -- REQ_ID - varchar(15)
363
            'DVDM_DC',    -- PROCESS_ID - varchar(10)
364
            'U',          -- STATUS - varchar(5)
365
            'GDDV',       -- ROLE_USER - varchar(50)
366
            '',           -- BRANCH_ID - varchar(15)
367
            '',           -- CHECKER_ID - varchar(15)
368
            NULL,         -- APPROVE_DT - datetime
369
            @STEP_PARENT, -- PARENT_PROCESS_ID - varchar(10)
370
            'N',          -- IS_LEAF - varchar(1)
371
            '',           -- COST_ID - varchar(15)
372
            @DVDM_ID,     -- DVDM_ID - varchar(15)
373
            N'Chờ đơn vị đầu mối xác nhận', 0);
374
		END
375
        FETCH NEXT FROM lstTransfer
376
        INTO @DVDM_ID;
377
    END;
378
    CLOSE lstTransfer;
379
    DEALLOCATE lstTransfer;
380

    
381

    
382
    IF (EXISTS
383
    (
384
        SELECT FR_BRN_ID
385
        FROM dbo.PL_REQUEST_TRANSFER
386
        WHERE REQ_DOC_ID = @p_REQ_ID
387
              AND FR_BRN_ID = @BRANCH_CREATE
388
              AND FR_DEP_ID = @DEP_CREATE
389
    )
390
       )
391
    BEGIN
392
        -- Đầu mối cho
393
        DECLARE lstTransfer CURSOR FOR
394
        SELECT FR_DVDM_ID
395
        FROM dbo.PL_REQUEST_TRANSFER
396
        WHERE REQ_DOC_ID = @p_REQ_ID
397
              AND FR_BRN_ID = @BRANCH_CREATE
398
              AND FR_DEP_ID = @DEP_CREATE
399
			  AND FR_DVDM_ID IS NOT NULL AND FR_DVDM_ID <>''
400
              AND NOT EXISTS
401
        (
402
            SELECT *
403
            FROM dbo.PL_REQUEST_PROCESS
404
            WHERE REQ_ID = @p_REQ_ID
405
                  AND PROCESS_ID = 'DVDM_DC'
406
                  AND DVDM_ID = FR_DVDM_ID
407
        )
408
        GROUP BY FR_DVDM_ID;
409
        OPEN lstTransfer;
410
        FETCH NEXT FROM lstTransfer
411
        INTO @DVDM_ID;
412
        WHILE @@FETCH_STATUS = 0
413
        BEGIN
414
		IF(NOT EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID  AND ROLE_USER='GDDV' AND ( DVDM_ID=@DVDM_ID OR @DVDM_ID IN ((SELECT PC.DVDM_ID FROM dbo.PL_COSTCENTER PC
415
		LEFT JOIN dbo.PL_COSTCENTER_DT PCD ON PCD.COST_ID = PC.COST_ID
416
		WHERE PCD.BRANCH_ID=PL_REQUEST_PROCESS.BRANCH_ID AND PCD.DEP_ID=PL_REQUEST_PROCESS.DEP_ID)) ) ))
417
		BEGIN
418
            INSERT INTO dbo.PL_REQUEST_PROCESS
419
            (
420
                REQ_ID,
421
                PROCESS_ID,
422
                STATUS,
423
                ROLE_USER,
424
                BRANCH_ID,
425
                CHECKER_ID,
426
                APPROVE_DT,
427
                PARENT_PROCESS_ID,
428
                IS_LEAF,
429
                COST_ID,
430
                DVDM_ID,
431
                NOTES,
432
                IS_HAS_CHILD
433
            )
434
            VALUES
435
            (   @p_REQ_ID,    -- REQ_ID - varchar(15)
436
                'DVDM_DC',    -- PROCESS_ID - varchar(10)
437
                'U',          -- STATUS - varchar(5)
438
                'GDDV',       -- ROLE_USER - varchar(50)
439
                '',           -- BRANCH_ID - varchar(15)
440
                '',           -- CHECKER_ID - varchar(15)
441
                NULL,         -- APPROVE_DT - datetime
442
                @STEP_PARENT, -- PARENT_PROCESS_ID - varchar(10)
443
                'N',          -- IS_LEAF - varchar(1)
444
                '',           -- COST_ID - varchar(15)
445
                @DVDM_ID,     -- DVDM_ID - varchar(15)
446
                N'Chờ đơn vị đầu mối xác nhận', 0);
447
		END
448
            FETCH NEXT FROM lstTransfer
449
            INTO @DVDM_ID;
450
        END;
451
        CLOSE lstTransfer;
452
        DEALLOCATE lstTransfer;
453

    
454

    
455

    
456

    
457
       IF(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='DVDM_DC'))
458
			SET @STEP_PARENT='DVDM_DC'
459

    
460

    
461
    END;
462

    
463

    
464

    
465
    INSERT INTO dbo.PL_REQUEST_PROCESS
466
    (
467
        REQ_ID,
468
        PROCESS_ID,
469
        STATUS,
470
        ROLE_USER,
471
        BRANCH_ID,
472
        CHECKER_ID,
473
        APPROVE_DT,
474
        PARENT_PROCESS_ID,
475
        IS_LEAF,
476
        COST_ID,
477
        DVDM_ID,
478
        NOTES,IS_HAS_CHILD
479
    )
480
    VALUES
481
    (   @p_REQ_ID,    -- REQ_ID - varchar(15)
482
        'TC',         -- PROCESS_ID - varchar(10)
483
        'U',          -- STATUS - varchar(5)
484
        'TC',         -- ROLE_USER - varchar(50)
485
        '',           -- BRANCH_ID - varchar(15)
486
        '',           -- CHECKER_ID - varchar(15)
487
        NULL,         -- APPROVE_DT - datetime
488
        @STEP_PARENT, -- PARENT_PROCESS_ID - varchar(10)
489
        'N',          -- IS_LEAF - varchar(1)
490
        '',           -- COST_ID - varchar(15)
491
        '',           -- DVDM_ID - varchar(15)
492
        N'Chờ đơn vị Tài chính xác nhận',1);
493
    SET @STEP_PARENT = 'TC';
494

    
495

    
496
    IF (NOT EXISTS
497
    (
498
        SELECT REQ_TRANSFER_ID
499
        FROM dbo.PL_REQUEST_TRANSFER
500
        WHERE REQ_DOC_ID = @p_REQ_ID
501
              AND
502
              (
503
                  FR_BRN_ID <> @BRANCH_CREATE
504
                  OR FR_DEP_ID <> @DEP_CREATE
505
              )
506
    )
507
       )
508
    BEGIN
509
        ---Duyệt DC
510
        IF (
511
           (
512
               SELECT COUNT(T.FR_KHOI_ID) AS COUNT_ROW
513
               FROM
514
               (
515
                   SELECT FR_KHOI_ID
516
                   FROM dbo.PL_REQUEST_TRANSFER
517
                   WHERE REQ_DOC_ID = @p_REQ_ID
518
                   GROUP BY FR_KHOI_ID
519
               ) T
520
           ) > 1
521
           )
522
        BEGIN
523
            INSERT INTO dbo.PL_REQUEST_PROCESS
524
            (
525
                REQ_ID,
526
                PROCESS_ID,
527
                STATUS,
528
                ROLE_USER,
529
                BRANCH_ID,
530
                CHECKER_ID,
531
                APPROVE_DT,
532
                PARENT_PROCESS_ID,
533
                IS_LEAF,
534
                COST_ID,
535
                DVDM_ID,
536
                NOTES,
537
                IS_HAS_CHILD
538
            )
539
            VALUES
540
            (   @p_REQ_ID,                      -- REQ_ID - varchar(15)
541
                'TGD_DC',                       -- PROCESS_ID - varchar(10)
542
                'U',                            -- STATUS - varchar(5)
543
                'TGD',                          -- ROLE_USER - varchar(50)
544
                '',                             -- BRANCH_ID - varchar(15)
545
                '',                             -- CHECKER_ID - varchar(15)
546
                NULL,                           -- APPROVE_DT - datetime
547
                @STEP_PARENT,                   -- PARENT_PROCESS_ID - varchar(10)
548
                '',                             -- IS_LEAF - varchar(1)
549
                '',                             -- COST_ID - varchar(15)
550
                '',                             -- DVDM_ID - varchar(15)
551
                N'Chờ tổng giám đốc phê duyệt', -- NOTES - nvarchar(500)
552
                NULL                            -- IS_HAS_CHILD - bit
553
                );
554
            SET @STEP_PARENT = 'TGD_DC';
555
        END;
556
        ELSE
557
        BEGIN
558
            DECLARE @LIMTT_MAX DECIMAL(18, 2),
559
                    @LIMIT_APP DECIMAL(18, 2),
560
                    @KHOI_ID_TF VARCHAR(20);
561
            SET @KHOI_ID_TF =
562
            (
563
                SELECT TOP 1
564
                       FR_KHOI_ID
565
                FROM dbo.PL_REQUEST_TRANSFER
566
                WHERE REQ_DOC_ID = @p_REQ_ID
567
            );
568
            SET @LIMIT_APP =
569
            (
570
                SELECT ISNULL(MAX_AMT, 0) - ISNULL(TOTAL_APP_AMT, 0) AS LIMIT_APP
571
                FROM dbo.LIMIT_ACCUMULATE
572
                WHERE ROLE_ID = 'GDK'
573
                      AND DVDM_ID = @KHOI_ID_TF
574
            );
575
            SET @TOTAL_TRANSFER =
576
            (
577
                SELECT SUM(TOTAL_AMT) AS TOTAL
578
                FROM dbo.PL_REQUEST_TRANSFER
579
                WHERE REQ_DOC_ID = @p_REQ_ID
580
            );
581
            SET @LIMTT_MAX =
582
            (
583
                SELECT LIMIT_VALUE
584
                FROM dbo.TL_SYSROLE_LIMIT
585
                WHERE ROLE_ID = 'GDK'
586
                      AND LIMIT_TYPE = 'DCNS'
587
            );
588

    
589
            INSERT INTO dbo.PL_REQUEST_PROCESS
590
            (
591
                REQ_ID,
592
                PROCESS_ID,
593
                STATUS,
594
                ROLE_USER,
595
                BRANCH_ID,
596
                CHECKER_ID,
597
                APPROVE_DT,
598
                PARENT_PROCESS_ID,
599
                IS_LEAF,
600
                COST_ID,
601
                DVDM_ID,
602
                NOTES,
603
                IS_HAS_CHILD
604
            )
605
            VALUES
606
            (   @p_REQ_ID,                     -- REQ_ID - varchar(15)
607
                'GDK_DC',                      -- PROCESS_ID - varchar(10)
608
                'U',                           -- STATUS - varchar(5)
609
                'GDK',                         -- ROLE_USER - varchar(50)
610
                '',                            -- BRANCH_ID - varchar(15)
611
                '',                            -- CHECKER_ID - varchar(15)
612
                GETDATE(),                     -- APPROVE_DT - datetime
613
                @STEP_PARENT,                  -- PARENT_PROCESS_ID - varchar(10)
614
                'N',                           -- IS_LEAF - varchar(1)
615
                '',                            -- COST_ID - varchar(15)
616
                @KHOI_ID_TF,                   -- DVDM_ID - varchar(15)
617
                N'Chờ giám đốc khối xác nhận', -- NOTES - nvarchar(500)
618
                NULL                           -- IS_HAS_CHILD - bit
619
                );
620
            SET @STEP_PARENT = 'GDK_DC';
621
            IF (@TOTAL_TRANSFER > @LIMTT_MAX OR @TOTAL_TRANSFER > @LIMIT_APP)
622
            BEGIN
623
			IF(EXISTS(SELECT DVDM_ID FROM dbo.CM_DVDM WHERE DVDM_ID=@KHOI_ID_TF AND IS_KHOI=1 AND IS_PTGD=1))
624
			BEGIN
625
                INSERT INTO dbo.PL_REQUEST_PROCESS
626
                (
627
                    REQ_ID,
628
                    PROCESS_ID,
629
                    STATUS,
630
                    ROLE_USER,
631
                    BRANCH_ID,
632
                    CHECKER_ID,
633
                    APPROVE_DT,
634
                    PARENT_PROCESS_ID,
635
                    IS_LEAF,
636
                    COST_ID,
637
                    DVDM_ID,
638
                    NOTES,
639
                    IS_HAS_CHILD
640
                )
641
                VALUES
642
                (   @p_REQ_ID,                     -- REQ_ID - varchar(15)
643
                    'PTGD_DC',                     -- PROCESS_ID - varchar(10)
644
                    'U',                           -- STATUS - varchar(5)
645
                    'PTGD',                        -- ROLE_USER - varchar(50)
646
                    '',                            -- BRANCH_ID - varchar(15)
647
                    '',                            -- CHECKER_ID - varchar(15)
648
                    GETDATE(),                     -- APPROVE_DT - datetime
649
                    @STEP_PARENT,                  -- PARENT_PROCESS_ID - varchar(10)
650
                    'N',                           -- IS_LEAF - varchar(1)
651
                    '',                            -- COST_ID - varchar(15)
652
                    @KHOI_ID_TF,                   -- DVDM_ID - varchar(15)
653
                    N'Chờ giám đốc khối xác nhận', -- NOTES - nvarchar(500)
654
                    NULL                           -- IS_HAS_CHILD - bit
655
                    );
656
                SET @STEP_PARENT = 'PTGD_DC';
657
                SET @LIMTT_MAX =
658
                (
659
                    SELECT LIMIT_VALUE
660
                    FROM dbo.TL_SYSROLE_LIMIT
661
                    WHERE ROLE_ID = 'PTGD'
662
                          AND LIMIT_TYPE = 'DCNS'
663
                );
664
                SET @LIMIT_APP =
665
                (
666
                    SELECT ISNULL(MAX_AMT, 0) - ISNULL(TOTAL_APP_AMT, 0) AS LIMIT_APP
667
                    FROM dbo.LIMIT_ACCUMULATE
668
                    WHERE ROLE_ID = 'PTGD'
669
                          AND DVDM_ID = @KHOI_ID_TF
670
                );
671

    
672
			END
673
                IF (@TOTAL_TRANSFER > @LIMTT_MAX OR @TOTAL_TRANSFER > @LIMIT_APP OR EXISTS(SELECT DVDM_ID FROM dbo.CM_DVDM WHERE DVDM_ID=@KHOI_ID_TF AND IS_KHOI=1 AND IS_PTGD=0))
674
                BEGIN
675
                    INSERT INTO dbo.PL_REQUEST_PROCESS
676
                    (
677
                        REQ_ID,
678
                        PROCESS_ID,
679
                        STATUS,
680
                        ROLE_USER,
681
                        BRANCH_ID,
682
                        CHECKER_ID,
683
                        APPROVE_DT,
684
                        PARENT_PROCESS_ID,
685
                        IS_LEAF,
686
                        COST_ID,
687
                        DVDM_ID,
688
                        NOTES,
689
                        IS_HAS_CHILD
690
                    )
691
                    VALUES
692
                    (   @p_REQ_ID,                      -- REQ_ID - varchar(15)
693
                        'TGD_DC',                       -- PROCESS_ID - varchar(10)
694
                        'U',                            -- STATUS - varchar(5)
695
                        'TGD',                          -- ROLE_USER - varchar(50)
696
                        '',                             -- BRANCH_ID - varchar(15)
697
                        '',                             -- CHECKER_ID - varchar(15)
698
                        NULL,                           -- APPROVE_DT - datetime
699
                        @STEP_PARENT,                   -- PARENT_PROCESS_ID - varchar(10)
700
                        '',                             -- IS_LEAF - varchar(1)
701
                        '',                             -- COST_ID - varchar(15)
702
                        '',                             -- DVDM_ID - varchar(15)
703
                        N'Chờ tổng giám đốc phê duyệt', -- NOTES - nvarchar(500)
704
                        NULL                            -- IS_HAS_CHILD - bit
705
                        );
706
                    SET @STEP_PARENT = 'TGD_DC';
707
                END;
708

    
709
            END;
710

    
711

    
712

    
713

    
714
        END;
715
       
716
     
717
    END;
718

    
719

    
720

    
721

    
722
END;
723
ELSE
724
BEGIN
725
	
726
IF(@BRANCH_CREATE_TYPE='PGD')
727
BEGIN
728
	DECLARE @BRANCH_PARENT VARCHAR(15)
729
	SET @BRANCH_PARENT=(SELECT FATHER_ID FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
730
	IF(NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND BRANCH_ID=@BRANCH_PARENT AND (DEP_ID IS NULL OR DEP_ID='')))
731
	BEGIN
732
		INSERT INTO dbo.PL_REQUEST_PROCESS
733
		(
734
		REQ_ID,
735
		PROCESS_ID,
736
		STATUS,
737
		ROLE_USER,
738
		BRANCH_ID,
739
		DEP_ID,
740
		CHECKER_ID,
741
		APPROVE_DT,
742
		PARENT_PROCESS_ID,
743
		IS_LEAF,
744
		NOTES
745
		)
746
		VALUES
747
		(   
748
		@p_REQ_ID,               -- REQ_ID - varchar(15)
749
		'DVC',                  -- PROCESS_ID - varchar(10)
750
		'U',                     -- STATUS - varchar(5)
751
		'GDDV',                      -- ROLE_USER - varchar(50)
752
		@BRANCH_PARENT,
753
		NULL,                      -- BRANCH_ID - varchar(15)
754
		NULL,           -- CHECKER_ID - varchar(15)
755
		NULL , -- APPROVE_DT - datetime
756
		@STEP_PARENT, 'N', N'Trưởng đơn vị phê duyệt');
757

    
758
		SET @STEP_CURR = 'DVC';
759
		SET @STEP_PARENT = 'DVC';
760
	END
761
	
762
END
763
ELSE 
764
IF(NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND ROLE_USER='GDDV'
765
AND ((
766
	BRANCH_ID=@BRANCH_CREATE 
767
	AND ((DEP_ID =@DEP_CREATE) OR ((@DEP_CREATE IS NULL OR @DEP_CREATE='') 
768
	AND (DEP_ID IS NULL OR DEP_ID='')))
769
	)
770
	OR EXISTS(SELECT PC.COST_ID FROM dbo.PL_COSTCENTER PC 
771
	LEFT JOIN dbo.PL_COSTCENTER_DT PCDT ON PCDT.COST_ID = PC.COST_ID WHERE PL_REQUEST_PROCESS.DVDM_ID=PC.DVDM_ID AND DEP_ID=@DEP_CREATE AND BRANCH_ID=@BRANCH_CREATE)
772
	)
773
))
774
BEGIN
775
INSERT INTO dbo.PL_REQUEST_PROCESS
776
		(
777
		REQ_ID,
778
		PROCESS_ID,
779
		STATUS,
780
		ROLE_USER,
781
		BRANCH_ID,
782
		DEP_ID,
783
		CHECKER_ID,
784
		APPROVE_DT,
785
		PARENT_PROCESS_ID,
786
		IS_LEAF,
787
		NOTES
788
		)
789
		VALUES
790
		(   
791
		@p_REQ_ID,               -- REQ_ID - varchar(15)
792
		'DVC',                  -- PROCESS_ID - varchar(10)
793
		'U',                     -- STATUS - varchar(5)
794
		'GDDV',                      -- ROLE_USER - varchar(50)
795
		@BRANCH_CREATE,
796
		@DEP_CREATE,                      -- BRANCH_ID - varchar(15)
797
		NULL,           -- CHECKER_ID - varchar(15)
798
		NULL , -- APPROVE_DT - datetime
799
		@STEP_PARENT, 'N', N'Trưởng đơn vị phê duyệt');
800

    
801
SET @STEP_CURR = 'DVC';
802
SET @STEP_PARENT = 'DVC';
803
END
804

    
805

    
806

    
807

    
808

    
809
SET @IS_NEXT =
810
(
811
    SELECT dbo.FN_CHECK_LIMIT_PL_REQ(@p_REQ_ID, 'GDDV')
812
);
813

    
814

    
815

    
816

    
817
IF (@IS_NEXT = 1)
818
BEGIN
819

    
820
    DECLARE lstCostCenter CURSOR FOR
821
    SELECT DVDM_ID,
822
           TOTAL_AMT
823
    FROM @DATA_DVDM;
824
    OPEN lstCostCenter;
825
    FETCH NEXT FROM lstCostCenter
826
    INTO @DVDM_ID,
827
         @TOTAL_AMT_GD;
828
    WHILE @@FETCH_STATUS = 0
829
    BEGIN
830
        INSERT INTO dbo.PL_REQUEST_PROCESS
831
        (
832
            REQ_ID,
833
            PROCESS_ID,
834
            STATUS,
835
            ROLE_USER,
836
            BRANCH_ID,
837
            CHECKER_ID,
838
            APPROVE_DT,
839
            PARENT_PROCESS_ID,
840
            IS_LEAF,
841
            COST_ID,
842
            DVDM_ID,
843
            NOTES,
844
            IS_HAS_CHILD
845
        )
846
        VALUES
847
        (   @p_REQ_ID,                                 -- REQ_ID - varchar(15)
848
            'GDK_TT',                                  -- PROCESS_ID - varchar(10)
849
            'U',                                       -- STATUS - varchar(5)
850
            'GDK',                                     -- ROLE_USER - varchar(50)
851
            '',                                        -- BRANCH_ID - varchar(15)
852
            '',                                        -- CHECKER_ID - varchar(15)
853
            NULL,                                      -- APPROVE_DT - datetime
854
            @STEP_PARENT,                              -- PARENT_PROCESS_ID - varchar(10)
855
            'N',                                       -- IS_LEAF - varchar(1)
856
            '',                                        -- COST_ID - varchar(15)
857
            @DVDM_ID, N'Chờ giám đốc khối xác nhận', 0 -- DVDM_ID - varchar(15)
858
            );
859
        FETCH NEXT FROM lstCostCenter
860
        INTO @DVDM_ID,
861
             @TOTAL_AMT_GD;
862
    END;
863
    CLOSE lstCostCenter;
864
    DEALLOCATE lstCostCenter;
865

    
866
    SET @IS_NEXT =
867
    (
868
        SELECT dbo.FN_CHECK_LIMIT_PL_REQ(@p_REQ_ID, 'GDK')
869
    );
870

    
871
    SET @STEP_PARENT = 'GDK_TT';
872
    IF (@IS_NEXT = 1)
873
    BEGIN
874

    
875
		IF( EXISTS (SELECT DVDM_ID FROM @DATA_DVDM WHERE IS_PTGD=1) )
876
		BEGIN
877
        DECLARE lstCostCenter CURSOR FOR
878
        SELECT DVDM_ID,
879
               TOTAL_AMT
880
        FROM @DATA_DVDM WHERE IS_PTGD=1;
881
        OPEN lstCostCenter;
882
        FETCH NEXT FROM lstCostCenter
883
        INTO @DVDM_ID,
884
             @TOTAL_AMT_GD;
885
        WHILE @@FETCH_STATUS = 0
886
        BEGIN
887
            INSERT INTO dbo.PL_REQUEST_PROCESS
888
            (
889
                REQ_ID,
890
                PROCESS_ID,
891
                STATUS,
892
                ROLE_USER,
893
                BRANCH_ID,
894
                CHECKER_ID,
895
                APPROVE_DT,
896
                PARENT_PROCESS_ID,
897
                IS_LEAF,
898
                COST_ID,
899
                DVDM_ID,
900
                NOTES,
901
                IS_HAS_CHILD
902
            )
903
            VALUES
904
            (   @p_REQ_ID,                                          -- REQ_ID - varchar(15)
905
                'PTGDK_TT',                                         -- PROCESS_ID - varchar(10)
906
                'U',                                                -- STATUS - varchar(5)
907
                'PTGD',                                             -- ROLE_USER - varchar(50)
908
                '',                                                 -- BRANCH_ID - varchar(15)
909
                '',                                                 -- CHECKER_ID - varchar(15)
910
                NULL,                                               -- APPROVE_DT - datetime
911
                @STEP_PARENT,                                       -- PARENT_PROCESS_ID - varchar(10)
912
                'N',                                                -- IS_LEAF - varchar(1)
913
                '',                                                 -- COST_ID - varchar(15)
914
                @DVDM_ID, N'Chờ phó tổng giám đốc khối xác nhận', 0 -- DVDM_ID - varchar(15)
915
                );
916
            FETCH NEXT FROM lstCostCenter
917
            INTO @DVDM_ID,
918
                 @TOTAL_AMT_GD;
919
        END;
920
        CLOSE lstCostCenter;
921
        DEALLOCATE lstCostCenter;
922

    
923
        SET @IS_NEXT =
924
        (
925
            SELECT dbo.FN_CHECK_LIMIT_PL_REQ(@p_REQ_ID, 'PTGD')
926
        );
927

    
928
        SET @STEP_PARENT = 'PTGDK_TT';
929
		END
930
		IF(EXISTS (SELECT DVDM_ID FROM @DATA_DVDM WHERE IS_PTGD=0))
931
		BEGIN
932
		SET @IS_NEXT=1
933
		END
934
        IF (@IS_NEXT = 1)
935
        BEGIN
936
            INSERT INTO dbo.PL_REQUEST_PROCESS
937
            (
938
                REQ_ID,
939
                PROCESS_ID,
940
                STATUS,
941
                ROLE_USER,
942
                BRANCH_ID,
943
                CHECKER_ID,
944
                APPROVE_DT,
945
                PARENT_PROCESS_ID,
946
                IS_LEAF,
947
                COST_ID,
948
                DVDM_ID,
949
                NOTES,
950
                IS_HAS_CHILD
951
            )
952
            VALUES
953
            (   @p_REQ_ID,                           -- REQ_ID - varchar(15)
954
                'TGD',                               -- PROCESS_ID - varchar(10)
955
                'U',                                 -- STATUS - varchar(5)
956
                'TGD',                               -- ROLE_USER - varchar(50)
957
                '',                                  -- BRANCH_ID - varchar(15)
958
                '',                                  -- CHECKER_ID - varchar(15)
959
                NULL,                                -- APPROVE_DT - datetime
960
                @STEP_PARENT,                        -- PARENT_PROCESS_ID - varchar(10)
961
                'N',                                 -- IS_LEAF - varchar(1)
962
                '',                                  -- COST_ID - varchar(15)
963
                '', N'Chờ tổng giám đốc xác nhận', 0 -- DVDM_ID - varchar(15)
964
                );
965
            SET @STEP_PARENT = 'TGD';
966

    
967
			IF((SELECT SUM(TOTAL_AMT) FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID) > (SELECT LIMIT_VALUE FROM dbo.TL_SYSROLE_LIMIT WHERE LIMIT_TYPE='TCTT-HDQT'))
968
			BEGIN
969
				
970

    
971
				INSERT INTO dbo.PL_REQUEST_PROCESS
972
            (
973
                REQ_ID,
974
                PROCESS_ID,
975
                STATUS,
976
                ROLE_USER,
977
                BRANCH_ID,
978
                CHECKER_ID,
979
                APPROVE_DT,
980
                PARENT_PROCESS_ID,
981
                IS_LEAF,
982
                COST_ID,
983
                DVDM_ID,
984
                NOTES,
985
                IS_HAS_CHILD
986
            )
987
            VALUES
988
            (   @p_REQ_ID,                           -- REQ_ID - varchar(15)
989
                'HDQT',                               -- PROCESS_ID - varchar(10)
990
                'U',                                 -- STATUS - varchar(5)
991
                'HDQT',                               -- ROLE_USER - varchar(50)
992
                '',                                  -- BRANCH_ID - varchar(15)
993
                '',                                  -- CHECKER_ID - varchar(15)
994
                NULL,                                -- APPROVE_DT - datetime
995
                @STEP_PARENT,                        -- PARENT_PROCESS_ID - varchar(10)
996
                'N',                                 -- IS_LEAF - varchar(1)
997
                '',                                  -- COST_ID - varchar(15)
998
                '', N'Chờ HDQT xác nhận', 0 -- DVDM_ID - varchar(15)
999
                );
1000
            SET @STEP_PARENT = 'HDQT';
1001
			END
1002
        END;
1003

    
1004

    
1005

    
1006
	
1007
    --ELSE
1008
    --BEGIN
1009

    
1010
    --END
1011
		
1012
    END;
1013

    
1014
END;
1015
END
1016
INSERT INTO dbo.PL_REQUEST_PROCESS
1017
(
1018
    REQ_ID,
1019
    PROCESS_ID,
1020
    STATUS,
1021
    ROLE_USER,
1022
    BRANCH_ID,
1023
    CHECKER_ID,
1024
    APPROVE_DT,
1025
    PARENT_PROCESS_ID,
1026
    IS_LEAF,
1027
    NOTES
1028
)
1029
VALUES
1030
(   @p_REQ_ID, -- REQ_ID - varchar(15)
1031
    'APPROVE', -- PROCESS_ID - varchar(10)
1032
    'U',       -- STATUS - varchar(5)
1033
    '',        -- ROLE_USER - varchar(50)
1034
    '',        -- BRANCH_ID - varchar(15)
1035
    '',        -- CHECKER_ID - varchar(15)
1036
    NULL,      -- APPROVE_DT - datetime
1037
    @STEP_PARENT, 'Y', N'Hoàn tất');
1038

    
1039

    
1040

    
1041
IF @@Error <> 0
1042
    GOTO ABORT;
1043

    
1044

    
1045

    
1046
DECLARE @PROCESS_ID_CURR VARCHAR(10);
1047
SET @PROCESS_ID_CURR =
1048
(
1049
    SELECT TOP 1
1050
           PROCESS_ID
1051
    FROM dbo.PL_REQUEST_PROCESS
1052
    WHERE REQ_ID = @p_REQ_ID
1053
          AND PARENT_PROCESS_ID = 'APPNEW'
1054
);
1055

    
1056
UPDATE dbo.PL_REQUEST_PROCESS
1057
SET STATUS = 'C'
1058
WHERE PARENT_PROCESS_ID = 'APPNEW'
1059
      AND REQ_ID = @p_REQ_ID;
1060
UPDATE dbo.PL_REQUEST_DOC
1061
SET AUTH_STATUS = @p_AUTH_STATUS,
1062
    APPROVE_DT = @p_APPROVE_DT,
1063
    CHECKER_ID = @p_CHECKER_ID,
1064
    PROCESS_ID = @PROCESS_ID_CURR
1065
WHERE REQ_ID = @p_REQ_ID;
1066

    
1067
UPDATE dbo.PL_REQUEST_DOC_DT
1068
SET CHECKER_ID=@p_CHECKER_ID,
1069
APPROVE_DT=@p_APPROVE_DT
1070
WHERE REQ_ID = @p_REQ_ID;
1071

    
1072
INSERT INTO dbo.PL_PROCESS
1073
(
1074
    REQ_ID,
1075
    PROCESS_ID,
1076
    CHECKER_ID,
1077
    APPROVE_DT,
1078
    PROCESS_DESC,
1079
    NOTES
1080
)
1081
VALUES
1082
(   @p_REQ_ID,                                            -- REQ_ID - varchar(15)
1083
    'APPNEW',                                               -- PROCESS_ID - varchar(10)
1084
    @p_CHECKER_ID,                                        -- CHECKER_ID - varchar(15)
1085
    @p_APPROVE_DT,                                        -- APPROVE_DT - datetime
1086
    @p_PROCESS_DES, N'Trưởng đơn vị phê duyệt' -- PROCESS_DESC - nvarchar(1000)
1087
    );
1088

    
1089

    
1090

    
1091

    
1092
IF (EXISTS
1093
(
1094
    SELECT REQ_ID
1095
    FROM dbo.PL_REQUEST_DOC
1096
    WHERE REQ_ID = @p_REQ_ID
1097
          AND PROCESS_ID = 'APPROVE'
1098
)
1099
   )
1100
BEGIN
1101
    EXEC dbo.PL_REQ_DOC_UPDATE_AFTER_APPROVE @p_REQ_ID = @p_REQ_ID;
1102
    EXEC dbo.PL_REQ_DOC_Ins_To_TR_REQ_DOC @p_PL_REQ_ID = @p_REQ_ID;
1103
    SET @Result = '0';
1104
END;
1105

    
1106

    
1107
SET @Result = '1';
1108

    
1109

    
1110
COMMIT TRANSACTION;
1111
SELECT @Result AS Result,
1112
       @ROLE_USER_NOTIFI AS ROLE_NOTIFI,
1113
       '' ErrorDesc;
1114
RETURN '0';
1115
ABORT:
1116
BEGIN
1117

    
1118
    ROLLBACK TRANSACTION;
1119
    SELECT '-1' AS Result,
1120
           '' ROLE_NOTIFI,
1121
           '' ErrorDesc;
1122
    RETURN '-1';
1123
END;
1124

    
1125

    
1126

    
1127

    
1128

    
1129