Project

General

Profile

UPDATE APP REQ 2.txt

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

 
1
USE [gAMSPro_VietcapitalBank_v2]
2
GO
3
/****** Object:  StoredProcedure [dbo].[PL_REQ_PROCESS_CHILD_App]    Script Date: 15-May-20 09:59:32 ******/
4
SET ANSI_NULLS ON
5
GO
6
SET QUOTED_IDENTIFIER ON
7
GO
8
ALTER PROCEDURE [dbo].[PL_REQ_PROCESS_CHILD_App]
9
@p_REQ_ID VARCHAR(20),
10
@p_PROCESS_ID VARCHAR(20),
11
@p_TLNAME VARCHAR(20),
12
@p_MAKER_ID VARCHAR(20),
13
@p_TYPE_JOB VARCHAR(20),
14
@p_PROCESS_DES NVARCHAR(20),
15
@p_REF_ID INT
16
AS
17
BEGIN TRANSACTION
18

    
19

    
20

    
21
DECLARE  @ERROR BIT ,@EROOR_DES NVARCHAR(500)
22

    
23
SELECT @ERROR=ERROR,
24
       @EROOR_DES=ERROR_DES FROM dbo.FN_CHECK_VALIDATE_APP(@p_REQ_ID,'PDDC','PL_REQUEST_DOC',@p_MAKER_ID,'DVKD')
25
IF(@ERROR=1)
26
BEGIN
27
	 ROLLBACK TRANSACTION;
28
    SELECT -1  Result,
29
           @EROOR_DES ErrorDesc
30
   
31
    RETURN 0;
32
END
33

    
34

    
35

    
36
DECLARE @LEVEL INT,@DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20),@DEP_CREATE VARCHAR(20)
37
DECLARE @ROLE_ID VARCHAR(20),@NOTES NVARCHAR(500),
38
				@PROCESS_CURR VARCHAR(10),
39
				@STEP_CURR INT,
40
				@STEP_NEXT INT,
41
				@PROCESS_NEXT VARCHAR(10),
42
				@TYPE_JOB_NAME NVARCHAR(100), @FULLNAME NVARCHAR(100)
43

    
44
SELECT @BRANCH_ID=  TLSUBBRID,@DEP_ID=SECUR_CODE ,@ROLE_ID=RoleName FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID
45

    
46

    
47
SELECT @BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
48

    
49

    
50
DECLARE
51
@COST_ID_TABLE TABLE (
52
	COST_ID VARCHAR(15)
53
)
54

    
55
DECLARE @DVDM_ID_TABLE TABLE (
56
	DVDM_ID VARCHAR(15)
57
)
58

    
59
	INSERT INTO @COST_ID_TABLE
60
	SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@BRANCH_ID
61

    
62
	INSERT INTO @DVDM_ID_TABLE
63
	SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID_TABLE) GROUP BY DVDM_ID
64

    
65
	
66
			
67
		UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P'
68
		WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND TLNAME=@p_TLNAME AND TYPE_JOB=@p_TYPE_JOB
69

    
70

    
71
		SET @TYPE_JOB_NAME =(SELECT CONTENT FROM dbo.CM_ALLCODE WHERE CDNAME = 'JOB_TYPE' AND CDTYPE='REQ' AND CDVAL=@p_TYPE_JOB)
72
		SET @FULLNAME =(SELECT TLFullName FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME )
73
			
74
		INSERT INTO dbo.PL_PROCESS
75
				(
76
					REQ_ID,
77
					PROCESS_ID,
78
					CHECKER_ID,
79
					APPROVE_DT,
80
					PROCESS_DESC,NOTES
81
				)
82
				VALUES
83
				(   @p_REQ_ID,        -- REQ_ID - varchar(15)
84
					@p_PROCESS_ID,        -- PROCESS_ID - varchar(10)
85
					@p_MAKER_ID,        -- CHECKER_ID - varchar(15)
86
					GETDATE() , -- APPROVE_DT - datetime
87
					@p_PROCESS_DES ,
88
					@TYPE_JOB_NAME+ N' đã phê duyệt'       -- PROCESS_DESC - nvarchar(1000)
89
				)
90

    
91
		
92

    
93

    
94
		SET @LEVEL=ISNULL((SELECT TOP 1 LEVEL_JOB 
95
		FROM dbo.PL_REQUEST_PROCESS_CHILD 
96
		WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND TLNAME=@p_TLNAME AND TYPE_JOB=@p_TYPE_JOB
97
		ORDER BY LEVEL_JOB DESC),0)                  
98

    
99
		UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C'
100
		WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND LEVEL_JOB=(@LEVEL-1)
101
		
102
		IF(NOT EXISTS (SELECT * FROM  dbo.PL_REQUEST_PROCESS_CHILD 
103
		WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND STATUS_JOB <> 'P'))
104
		BEGIN
105

    
106

    
107
				SET @PROCESS_CURR = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C')
108
				SET @PROCESS_NEXT = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND PARENT_PROCESS_ID=@PROCESS_CURR)
109
				IF(@PROCESS_CURR='TC')
110
				BEGIN
111
						SELECT @ERROR=ERROR,
112
						   @EROOR_DES=ERROR_DES FROM dbo.FN_CHECK_VALIDATE_APP(@p_REQ_ID,'PDDC','PL_REQUEST_DOC',@p_MAKER_ID,'TC')
113
					IF(@ERROR=1)
114
					BEGIN
115
						 ROLLBACK TRANSACTION;
116
						SELECT '-1'  Result,
117
							   @EROOR_DES ErrorDesc
118
   
119
						RETURN '0';
120
					END
121

    
122

    
123
						SET @NOTES=(SELECT CONTENT FROM dbo.CM_ALLCODE WHERE (@PROCESS_CURR LIKE CDVAL + '%') AND CDNAME='PROCESS_ID' AND CDTYPE='REQ')   
124
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P',NOTES=@NOTES+ N' đã phê duyệt', CHECKER_ID=@p_MAKER_ID,APPROVE_DT=GETDATE()  WHERE REQ_ID=@p_REQ_ID AND ROLE_USER=@ROLE_ID AND PROCESS_ID=@PROCESS_CURR
125
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID=@p_REQ_ID AND PARENT_PROCESS_ID=@PROCESS_CURR
126
						UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID=@PROCESS_NEXT WHERE REQ_ID=@p_REQ_ID
127
				END
128
				ELSE
129
				BEGIN
130
					
131
				
132

    
133
			
134
			
135

    
136
				SET @NOTES=(SELECT CONTENT FROM dbo.CM_ALLCODE WHERE (@PROCESS_CURR LIKE CDVAL + '%') AND CDNAME='PROCESS_ID' AND CDTYPE='REQ')   
137

    
138

    
139
				UPDATE dbo.PL_REQUEST_COSTCENTER SET AUTH_STATUS='A',APPROVE_DT=GETDATE(),CHECKER_ID=@p_MAKER_ID WHERE REQ_ID=@p_REQ_ID AND COST_ID IN (SELECT DVDM_ID FROM @DVDM_ID_TABLE)
140
				UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P',NOTES=@NOTES+ N' đã phê duyệt', CHECKER_ID=@p_MAKER_ID,APPROVE_DT=GETDATE() WHERE REQ_ID=@p_REQ_ID AND ROLE_USER=@ROLE_ID AND DVDM_ID IN (SELECT DVDM_ID FROM @DVDM_ID_TABLE)
141
							
142

    
143

    
144
				IF(NOT EXISTS( SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS='C'))
145
				BEGIN
146
						
147
							UPDATE dbo.PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PROCESS_ID=@PROCESS_NEXT AND REQ_ID=@p_REQ_ID
148
							UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID=@PROCESS_NEXT WHERE REQ_ID=@p_REQ_ID
149
						
150
				END
151

    
152
				UPDATE dbo.PL_REQUEST_TRANSFER SET AUTH_STATUS='A',CHECKER_ID=@p_MAKER_ID,APPROVE_DT=GETDATE()  WHERE REQ_DOC_ID=@p_REQ_ID AND FR_BRN_ID=@BRANCH_ID AND (FR_DEP_ID=@DEP_ID OR FR_DEP_ID IS NULL OR FR_DEP_ID='')
153
				UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P',NOTES=@NOTES+ N' đã phê duyệt', CHECKER_ID=@p_MAKER_ID,APPROVE_DT=GETDATE()  WHERE REQ_ID=@p_REQ_ID AND ROLE_USER=@ROLE_ID AND BRANCH_ID=@BRANCH_ID AND (DEP_ID=@DEP_ID OR DEP_ID IS NULL OR DEP_ID='')
154

    
155

    
156
		IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND (FR_BRN_ID <> @BRANCH_CREATE OR FR_DEP_ID<> @DEP_CREATE)))
157
			BEGIN
158
			IF(NOT EXISTS(SELECT REQ_COST_ID FROM dbo.PL_REQUEST_COSTCENTER WHERE REQ_ID=@p_REQ_ID AND AUTH_STATUS<>'A'))
159
			BEGIN
160
				    IF(NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND AUTH_STATUS <>'A'))
161
					BEGIN
162
							DECLARE 	@LIMIT_VALUE DECIMAL(18,0),@TOTAL_TRANSFER DECIMAL(18,2),
163
							@IS_NEXT BIT=0,@STEP_PARENT VARCHAR(20),@TOTAL_AMT_GD DECIMAL(12,0),@STOP BIT,@ROLE_TF VARCHAR(20),@DVDM_ID VARCHAR(20),@NOTE NVARCHAR(100)
164
							DECLARE @ROLE_CDT VARCHAR(20),@DVDM_CDT VARCHAR(20),@LIMIT_VALUE_CDT VARCHAR(20),@NOTES_CDT VARCHAR(20),@TOTAL_AMT DECIMAL(18,2)	
165
						
166

    
167
							SET @STEP_PARENT=(SELECT PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID='TC' AND REQ_ID=@p_REQ_ID)
168
						
169
							SET @NOTE=   (SELECT CONTENT FROM dbo.CM_ALLCODE WHERE CDVAL='DVDM' AND CDNAME='PROCESS_ID' AND CDTYPE='REQ')
170
							
171

    
172
							DECLARE lstTransfer CURSOR FOR
173
							SELECT FR_DVDM_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND   FR_DVDM_ID IS NOT NULL AND FR_DVDM_ID <>'' AND (FR_BRN_ID <> @BRANCH_CREATE OR FR_DEP_ID<> @DEP_CREATE)
174
							AND NOT EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND ROLE_USER='GDDV' AND DVDM_ID=FR_DVDM_ID	)
175
							GROUP BY FR_DVDM_ID
176
							OPEN lstTransfer
177
							FETCH NEXT FROM lstTransfer INTO @DVDM_ID
178
							WHILE @@FETCH_STATUS = 0 
179
							BEGIN 
180
							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
181
							LEFT JOIN dbo.PL_COSTCENTER_DT PCD ON PCD.COST_ID = PC.COST_ID
182
							WHERE PCD.BRANCH_ID=PL_REQUEST_PROCESS.BRANCH_ID AND PCD.DEP_ID=PL_REQUEST_PROCESS.DEP_ID)) ) ))
183
							BEGIN
184
								INSERT INTO dbo.PL_REQUEST_PROCESS
185
								(
186
									REQ_ID,
187
									PROCESS_ID,
188
									STATUS,
189
									ROLE_USER,
190
									BRANCH_ID,
191
									CHECKER_ID,
192
									APPROVE_DT,
193
									PARENT_PROCESS_ID,
194
									IS_LEAF,
195
									COST_ID,
196
									DVDM_ID,
197
									NOTES,IS_HAS_CHILD
198
								)
199
								VALUES
200
								(   @p_REQ_ID,        -- REQ_ID - varchar(15)
201
									'DVDM_DC',        -- PROCESS_ID - varchar(10)
202
									'U',        -- STATUS - varchar(5)
203
									'GDDV',        -- ROLE_USER - varchar(50)
204
									'',        -- BRANCH_ID - varchar(15)
205
									'',        -- CHECKER_ID - varchar(15)
206
									NULL, -- APPROVE_DT - datetime
207
									@STEP_PARENT,        -- PARENT_PROCESS_ID - varchar(10)
208
									'N',        -- IS_LEAF - varchar(1)
209
									'',        -- COST_ID - varchar(15)
210
									@DVDM_ID ,        -- DVDM_ID - varchar(15)
211
									N'Chờ '+@NOTE+N' xác nhận'
212
									,0)
213
							END
214

    
215
							FETCH NEXT FROM lstTransfer INTO @DVDM_ID
216
							END
217
							CLOSE lstTransfer
218
							DEALLOCATE lstTransfer
219

    
220

    
221
							 IF(EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='DVDM_DC'))
222
								SET @STEP_PARENT='DVDM_DC'
223
							
224

    
225
						UPDATE dbo.PL_REQUEST_PROCESS SET PARENT_PROCESS_ID=@STEP_PARENT,STATUS='U' WHERE  PROCESS_ID='TC' AND REQ_ID=@p_REQ_ID
226
						SET @STEP_PARENT='TC'
227

    
228
						---Duyệt DC
229

    
230
						IF( (SELECT COUNT(T.FR_KHOI_ID) AS COUNT_ROW FROM (SELECT FR_KHOI_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID 
231
						GROUP BY FR_KHOI_ID)T
232
						) > 1)
233
						BEGIN
234
							INSERT INTO dbo.PL_REQUEST_PROCESS
235
							(
236
							    REQ_ID,
237
							    PROCESS_ID,
238
							    STATUS,
239
							    ROLE_USER,
240
							    BRANCH_ID,
241
							    CHECKER_ID,
242
							    APPROVE_DT,
243
							    PARENT_PROCESS_ID,
244
							    IS_LEAF,
245
							    COST_ID,
246
							    DVDM_ID,
247
							    NOTES,
248
							    IS_HAS_CHILD
249
							)
250
							VALUES
251
							(   @p_REQ_ID,        -- REQ_ID - varchar(15)
252
							    'TGD_DC',        -- PROCESS_ID - varchar(10)
253
							    'U',        -- STATUS - varchar(5)
254
							    'TGD',        -- ROLE_USER - varchar(50)
255
							    '',        -- BRANCH_ID - varchar(15)
256
							    '',        -- CHECKER_ID - varchar(15)
257
							    NULL, -- APPROVE_DT - datetime
258
							    @STEP_PARENT,        -- PARENT_PROCESS_ID - varchar(10)
259
							    '',        -- IS_LEAF - varchar(1)
260
							    '',        -- COST_ID - varchar(15)
261
							    '',        -- DVDM_ID - varchar(15)
262
							    N'Chờ tổng giám đốc phê duyệt',       -- NOTES - nvarchar(500)
263
							    NULL       -- IS_HAS_CHILD - bit
264
							    )
265
							SET	@STEP_PARENT='TGD_DC'
266
						END
267
						ELSE
268
						BEGIN
269
							DECLARE @LIMTT_MAX  DECIMAL(18,2),@LIMIT_APP DECIMAL(18,2) ,@KHOI_ID_TF VARCHAR(20)
270
							SET @KHOI_ID_TF=(SELECT TOP 1 FR_KHOI_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID)
271
							SET @LIMIT_APP=(SELECT ISNULL(MAX_AMT,0)- ISNULL(TOTAL_APP_AMT,0) AS LIMIT_APP FROM dbo.LIMIT_ACCUMULATE WHERE ROLE_ID='GDK' AND DVDM_ID=@KHOI_ID_TF)
272
							SET @TOTAL_TRANSFER=(SELECT SUM(TOTAL_AMT) AS TOTAL FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID)
273
							SET @LIMTT_MAX=(SELECT LIMIT_VALUE FROM dbo.TL_SYSROLE_LIMIT WHERE ROLE_ID='GDK' AND LIMIT_TYPE='DCNS')
274

    
275
							INSERT INTO dbo.PL_REQUEST_PROCESS
276
							(
277
							    REQ_ID,
278
							    PROCESS_ID,
279
							    STATUS,
280
							    ROLE_USER,
281
							    BRANCH_ID,
282
							    CHECKER_ID,
283
							    APPROVE_DT,
284
							    PARENT_PROCESS_ID,
285
							    IS_LEAF,
286
							    COST_ID,
287
							    DVDM_ID,
288
							    NOTES,
289
							    IS_HAS_CHILD
290
							)
291
							VALUES
292
							(   @p_REQ_ID,        -- REQ_ID - varchar(15)
293
							    'GDK_DC',        -- PROCESS_ID - varchar(10)
294
							    'U',        -- STATUS - varchar(5)
295
							    'GDK',        -- ROLE_USER - varchar(50)
296
							    '',        -- BRANCH_ID - varchar(15)
297
							    '',        -- CHECKER_ID - varchar(15)
298
							    GETDATE(), -- APPROVE_DT - datetime
299
							    @STEP_PARENT,        -- PARENT_PROCESS_ID - varchar(10)
300
							    'N',        -- IS_LEAF - varchar(1)
301
							    '',        -- COST_ID - varchar(15)
302
							    @KHOI_ID_TF,        -- DVDM_ID - varchar(15)
303
							    N'Chờ giám đốc khối xác nhận',       -- NOTES - nvarchar(500)
304
							    NULL       -- IS_HAS_CHILD - bit
305
							 )
306
							 SET @STEP_PARENT='GDK_DC';
307
							 IF(@TOTAL_TRANSFER>@LIMTT_MAX OR @TOTAL_TRANSFER>@LIMIT_APP)
308
							 BEGIN
309
								IF(EXISTS(SELECT DVDM_ID FROM dbo.CM_DVDM WHERE DVDM_ID=@KHOI_ID_TF AND IS_KHOI=1 AND IS_PTGD=1))
310
									BEGIN
311
									INSERT INTO dbo.PL_REQUEST_PROCESS
312
							(
313
							    REQ_ID,
314
							    PROCESS_ID,
315
							    STATUS,
316
							    ROLE_USER,
317
							    BRANCH_ID,
318
							    CHECKER_ID,
319
							    APPROVE_DT,
320
							    PARENT_PROCESS_ID,
321
							    IS_LEAF,
322
							    COST_ID,
323
							    DVDM_ID,
324
							    NOTES,
325
							    IS_HAS_CHILD
326
							)
327
							VALUES
328
							(   @p_REQ_ID,        -- REQ_ID - varchar(15)
329
							    'PTGD_DC',        -- PROCESS_ID - varchar(10)
330
							    'U',        -- STATUS - varchar(5)
331
							    'PTGD',        -- ROLE_USER - varchar(50)
332
							    '',        -- BRANCH_ID - varchar(15)
333
							    '',        -- CHECKER_ID - varchar(15)
334
							    GETDATE(), -- APPROVE_DT - datetime
335
							    @STEP_PARENT,        -- PARENT_PROCESS_ID - varchar(10)
336
							    'N',        -- IS_LEAF - varchar(1)
337
							    '',        -- COST_ID - varchar(15)
338
							    @KHOI_ID_TF,        -- DVDM_ID - varchar(15)
339
							    N'Chờ giám đốc khối xác nhận',       -- NOTES - nvarchar(500)
340
							    NULL       -- IS_HAS_CHILD - bit
341
							 )
342
									SET @STEP_PARENT='PTGD_DC'
343
									SET @LIMTT_MAX=(SELECT LIMIT_VALUE FROM dbo.TL_SYSROLE_LIMIT WHERE ROLE_ID='GDK' AND LIMIT_TYPE='DCNS')
344
									SET @LIMIT_APP=(SELECT ISNULL(MAX_AMT,0)- ISNULL(TOTAL_APP_AMT,0) AS LIMIT_APP FROM dbo.LIMIT_ACCUMULATE WHERE ROLE_ID='GDK' AND DVDM_ID=@KHOI_ID_TF)
345
									
346
									END
347
									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))
348
									BEGIN
349
									INSERT INTO dbo.PL_REQUEST_PROCESS
350
									(
351
										REQ_ID,
352
										PROCESS_ID,
353
										STATUS,
354
										ROLE_USER,
355
										BRANCH_ID,
356
										CHECKER_ID,
357
										APPROVE_DT,
358
										PARENT_PROCESS_ID,
359
										IS_LEAF,
360
										COST_ID,
361
										DVDM_ID,
362
										NOTES,
363
										IS_HAS_CHILD
364
									)
365
									VALUES
366
									(   @p_REQ_ID,        -- REQ_ID - varchar(15)
367
										'TGD_DC',        -- PROCESS_ID - varchar(10)
368
										'U',        -- STATUS - varchar(5)
369
										'TGD',        -- ROLE_USER - varchar(50)
370
										'',        -- BRANCH_ID - varchar(15)
371
										'',        -- CHECKER_ID - varchar(15)
372
										NULL, -- APPROVE_DT - datetime
373
										@STEP_PARENT,        -- PARENT_PROCESS_ID - varchar(10)
374
										'',        -- IS_LEAF - varchar(1)
375
										'',        -- COST_ID - varchar(15)
376
										'',        -- DVDM_ID - varchar(15)
377
										N'Chờ tổng giám đốc phê duyệt',       -- NOTES - nvarchar(500)
378
										NULL       -- IS_HAS_CHILD - bit
379
									)
380
									SET	@STEP_PARENT='TGD_DC'
381
								 END
382
							
383
							 END
384

    
385

    
386

    
387

    
388
						END
389
						--- Duyệt TT
390

    
391
					
392
						
393
						UPDATE dbo.PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PROCESS_ID='DVDM_DC' AND REQ_ID=@p_REQ_ID
394
						UPDATE dbo.PL_REQUEST_PROCESS SET PARENT_PROCESS_ID=@STEP_PARENT,STATUS='U' WHERE  PROCESS_ID='APPROVE' AND REQ_ID=@p_REQ_ID
395
						UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='DVDM_DC' WHERE REQ_ID=@p_REQ_ID
396

    
397
				END	
398
			END
399
		END
400

    
401

    
402
	
403
		
404
		
405
			
406

    
407
				IF(EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='APPROVE'))
408
			BEGIN
409
				
410
					
411
					EXEC dbo.PL_REQ_DOC_UPDATE_AFTER_APPROVE @p_REQ_ID = @p_REQ_ID 
412
					EXEC dbo.PL_REQ_DOC_Ins_To_TR_REQ_DOC @p_PL_REQ_ID = @p_REQ_ID
413

    
414

    
415

    
416
				
417
			END
418
	
419

    
420
				END
421

    
422

    
423
		END
424

    
425

    
426
				
427
		IF @@Error <> 0 GOTO ABORT
428
COMMIT TRANSACTION
429
SELECT 0 as Result, '' ErrorDesc
430
RETURN 0
431
ABORT:
432
BEGIN
433
		ROLLBACK TRANSACTION
434
		SELECT -1 as Result, '' ErrorDesc
435
		RETURN -1
436
End
437

    
438

    
439

    
440

    
441

    
442