Project

General

Profile

CANCEL_OUT_DEL.txt

Luc Tran Van, 11/17/2023 09:23 AM

 
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