CANCEL_OUT_DEL.txt
1 |
ALTER PROCEDURE dbo.MW_CANCEL_OUT_Del |
---|---|
2 |
@p_CANCEL_OUT_ID varchar(15) = NULL |
3 |
AS |
4 |
DECLARE @ERRORSYS NVARCHAR(15) = '', @AUTH_STATUS VARCHAR(1); |
5 |
IF ( NOT EXISTS ( SELECT * FROM MW_CANCEL_OUT cr WHERE cr.CANCEL_OUT_ID = @p_CANCEL_OUT_ID)) |
6 |
SET @ERRORSYS = '' |
7 |
|
8 |
IF( EXISTS (SELECT * FROM MW_CANCEL_OUT cd WHERE cd.RECORD_STATUS <> '1' AND cd.AUTH_STATUS = 'A' AND cd.CANCEL_OUT_ID = @p_CANCEL_OUT_ID)) |
9 |
SET @ERRORSYS = '241' |
10 |
|
11 |
|
12 |
SET @AUTH_STATUS = (SELECT mco.AUTH_STATUS FROM MW_CANCEL_OUT mco WHERE mco.CANCEL_OUT_ID = @p_CANCEL_OUT_ID) |
13 |
IF(@AUTH_STATUS <> 'E' AND @AUTH_STATUS <> 'R') |
14 |
BEGIN |
15 |
SELECT '-1' as Result, N'Phiếu ' + @p_CANCEL_OUT_ID + N' Không được phép xóa' ErrorDesc |
16 |
RETURN '-1' |
17 |
END |
18 |
|
19 |
IF @ERRORSYS <> '' |
20 |
BEGIN |
21 |
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS |
22 |
RETURN '0' |
23 |
END |
24 |
BEGIN TRANSACTION |
25 |
IF((SELECT cd.CHECKER_ID FROM MW_CANCEL_OUT cd WHERE cd.CANCEL_OUT_ID = @p_CANCEL_OUT_ID) IS NOT NULL ) |
26 |
BEGIN |
27 |
UPDATE MW_CANCEL_OUT |
28 |
SET RECORD_STATUS = '0' |
29 |
WHERE MW_CANCEL_OUT.CANCEL_OUT_ID = @p_CANCEL_OUT_ID |
30 |
|
31 |
IF @@Error <> 0 GOTO ABORT |
32 |
END |
33 |
ELSE |
34 |
BEGIN |
35 |
DELETE |
36 |
FROM MW_CANCEL_OUT |
37 |
WHERE MW_CANCEL_OUT.CANCEL_OUT_ID = @p_CANCEL_OUT_ID |
38 |
IF @@Error <> 0 GOTO ABORT |
39 |
END |
40 |
COMMIT TRANSACTION |
41 |
SELECT '0' as Result, '' ErrorDesc |
42 |
RETURN '0' |
43 |
|
44 |
ABORT: |
45 |
BEGIN |
46 |
ROLLBACK TRANSACTION |
47 |
SELECT '-1' as Result, '' ErrorDesc |
48 |
RETURN '-1' |
49 |
End |