Project

General

Profile

TR_REQUEST_DOC_Del.txt

Luc Tran Van, 12/26/2022 02:08 PM

 
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