1
|
|
2
|
ALTER PROCEDURE dbo.CM_REQUEST_TEMPLATE_Reject
|
3
|
@P_REQUEST_TEMPLATE_ID VARCHAR(100),
|
4
|
@P_AUTH_STATUS VARCHAR(1),
|
5
|
@P_CHECKER_ID VARCHAR(12),
|
6
|
@P_APPROVE_DT VARCHAR(20) = NULL,
|
7
|
@P_NOTE NVARCHAR(500)=NULL
|
8
|
|
9
|
AS
|
10
|
BEGIN TRANSACTION
|
11
|
DECLARE @l_APPROVE_GROUP_ID VARCHAR(50)=(
|
12
|
SELECT APPROVE_GROUP_ID FROM CM_APPROVE_GROUP WHERE REQ_ID=@P_REQUEST_TEMPLATE_ID
|
13
|
AND (APPROVE_USERNAME=@P_CHECKER_ID OR AUTHORITY_NAME=@P_CHECKER_ID)
|
14
|
AND PROCESS_STATUS=1)
|
15
|
DECLARE @l_STEP_LEVEL INT =(SELECT STEP_LEVEL FROM CM_APPROVE_GROUP WHERE APPROVE_GROUP_ID=@l_APPROVE_GROUP_ID)
|
16
|
--SET CURRENT reject
|
17
|
UPDATE CM_APPROVE_GROUP
|
18
|
SET
|
19
|
DONE=0
|
20
|
,PROCESS_STATUS=0
|
21
|
,CHECKER_ID=@P_CHECKER_ID
|
22
|
,NOTES=@P_NOTE
|
23
|
,IS_REJECT=1
|
24
|
,APPROVE_DT= CONVERT(DATETIME,@P_APPROVE_DT,103)
|
25
|
WHERE APPROVE_GROUP_ID=@l_APPROVE_GROUP_ID
|
26
|
IF @@Error <> 0 GOTO ABORT
|
27
|
UPDATE CM_APPROVE_GROUP SET PROCESS_STATUS=0 WHERE REQ_ID=@P_REQUEST_TEMPLATE_ID AND STEP_LEVEL= @l_STEP_LEVEL
|
28
|
UPDATE CM_REQUEST_TEMPLATE SET AUTH_STATUS ='R',IS_SENT_APPROVE=1 WHERE REQUEST_TEMPLATE_ID=@P_REQUEST_TEMPLATE_ID
|
29
|
IF @@Error <> 0 GOTO ABORT
|
30
|
--ADD LOG
|
31
|
declare @DONE_INS_APPROVE_GROUP bit
|
32
|
EXEC CM_TEMPLATE_LOG_Ins @P_REQUEST_TEMPLATE_ID,N'REJ',@P_NOTE,@P_CHECKER_ID,@l_APPROVE_GROUP_ID, @DONE_INS_APPROVE_GROUP OUT
|
33
|
IF @DONE_INS_APPROVE_GROUP <> 1 GOTO ABORT
|
34
|
--
|
35
|
|
36
|
COMMIT TRANSACTION
|
37
|
SELECT '0' as Result, '' ErrorDesc
|
38
|
RETURN '0'
|
39
|
ABORT:
|
40
|
BEGIN
|
41
|
ROLLBACK TRANSACTION
|
42
|
SELECT '-1' as Result, '' ErrorDesc
|
43
|
RETURN '-1'
|
44
|
End
|
45
|
GO
|