TR_REQUEST_DOC_Del.txt
1 |
|
---|---|
2 |
ALTER PROCEDURE [dbo].[TR_REQUEST_DOC_Del] |
3 |
@REQ_ID varchar(15), |
4 |
@p_USER_LOGIN VARCHAR(50) |
5 |
AS |
6 |
DECLARE @ERRORSYS NVARCHAR(15) = '' |
7 |
IF ( NOT EXISTS ( SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID= @REQ_ID)) |
8 |
SET @ERRORSYS = 'REQ-00002' |
9 |
IF @ERRORSYS <> '' |
10 |
BEGIN |
11 |
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS |
12 |
RETURN '0' |
13 |
END |
14 |
BEGIN TRANSACTION |
15 |
IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@REQ_ID AND |
16 |
(AUTH_STATUS NOT IN('E','R') AND AUTH_STATUS IS NOT NULL AND AUTH_STATUS <> '')) |
17 |
) |
18 |
BEGIN |
19 |
ROLLBACK TRANSACTION |
20 |
SELECT '-1' as Result, N'Bạn chỉ được phép xóa khi phiếu đang ở tình trạng lưu nháp hoặc từ chối' ErrorDesc |
21 |
RETURN '-1' |
22 |
END |
23 |
IF((SELECT AUTH_STATUS FROM TR_REQUEST_DOC WHERE REQ_ID= @REQ_ID) = 'A') |
24 |
BEGIN |
25 |
UPDATE TR_REQUEST_DOC SET RECORD_STATUS = '0' |
26 |
WHERE REQ_ID= @REQ_ID |
27 |
IF @@Error <> 0 GOTO ABORT |
28 |
--UPDATE DETAIL |
29 |
UPDATE TR_REQUEST_DOC_DT SET RECORD_STATUS = '0' WHERE REQ_DOC_ID = @REQ_ID |
30 |
END |
31 |
ELSE |
32 |
BEGIN |
33 |
Delete FROM TR_REQUEST_DOC WHERE REQ_ID= @REQ_ID |
34 |
delete FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@REQ_ID |
35 |
IF @@Error <> 0 GOTO ABORT |
36 |
END |
37 |
COMMIT TRANSACTION |
38 |
SELECT '0' as Result, '' ErrorDesc |
39 |
RETURN '0' |
40 |
|
41 |
ABORT: |
42 |
BEGIN |
43 |
ROLLBACK TRANSACTION |
44 |
SELECT '-1' as Result, '' ErrorDesc |
45 |
RETURN '-1' |
46 |
End |