Project

General

Profile

req_payment_del.txt

Luc Tran Van, 04/03/2023 09:57 AM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQ_PAYMENT_Del]
3
@p_REQ_PAY_ID	varchar(15),
4
@p_USER_LOGIN varchar(20)
5
AS
6
	DECLARE @REQ_CODE VARCHAR(50), @BRANCH_ID VARCHAR(15), @MAKER_ID VARCHAR(15)
7
	SET @REQ_CODE =(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
8
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
9
	--IF ( NOT EXISTS ( SELECT * FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID))
10
	--	SET @ERRORSYS = 'REQ-00002'
11
	--IF @ERRORSYS <> ''
12
	--BEGIN
13
	--	SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS 
14
	--	RETURN '0'
15
	--END
16
BEGIN TRANSACTION
17
	--IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <>'E'))
18
	--BEGIN
19
	--	ROLLBACK TRANSACTION
20
	--	SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được gửi phê duyệt! Bạn chỉ được phép xóa bản nháp!' ErrorDesc
21
	--	RETURN '-1'
22
	--END
23
	IF((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID) = 'A')
24
	BEGIN
25
		ROLLBACK TRANSACTION
26
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: ' +(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được trưởng đơn vị phê duyệt, bạn không được phép xóa!' ErrorDesc
27
		RETURN '-1'
28
	END
29
	IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID) = 'A')
30
	BEGIN
31
		ROLLBACK TRANSACTION
32
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: ' +(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được trưởng đơn vị phê duyệt, bạn không được phép xóa!' ErrorDesc
33
		RETURN '-1'
34
	END
35
	IF((SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID) <> @p_USER_LOGIN)
36
	BEGIN
37
		ROLLBACK TRANSACTION
38
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' do người dùng ' + (SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID)  + N' tạo, bạn không được phép xóa!' ErrorDesc
39
		RETURN '-1'
40
	END
41
	SET @BRANCH_ID =(SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
42
	SET @MAKER_ID =(SELECT MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
43
	IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME =@MAKER_ID AND (RoleName ='DISABLE' OR AUTH_STATUS ='U')))
44
	BEGIN
45
		IF(NOT EXISTS(SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID AND ISNULL(AUTH_STATUS_KT,'') ='A'))
46
		BEGIN
47
			IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB ='C'))
48
				BEGIN
49
					UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='D' WHERE   REQ_PAY_ID= @p_REQ_PAY_ID
50
					UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS ='D' WHERE  PAY_ID= @p_REQ_PAY_ID
51
					UPDATE TR_REQ_PAY_INVOICE SET AUTH_STATUS ='D', AUTH_STATUS_KT ='D' WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
52
					UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT ='D' WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
53
					UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
54
					COMMIT TRANSACTION
55
					SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+@REQ_CODE+ N' đã được hủy thành công.Bạn có thể tra cứu phiếu ở tình trạng Phiếu bị hủy!' AS ErrorDesc
56
					RETURN '0'
57
					--RETURN
58
				END
59
		END
60
	END
61
	IF(NOT EXISTS(SELECT * FROM TL_USER WHERE TLNANME =@MAKER_ID AND TLSUBBRID =@BRANCH_ID))
62
	BEGIN
63
		IF(NOT EXISTS(SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID AND ISNULL(AUTH_STATUS_KT,'') ='A'))
64
		BEGIN
65
			IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB ='C'))
66
				BEGIN
67
					UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='D' WHERE   REQ_PAY_ID= @p_REQ_PAY_ID
68
					UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS ='D' WHERE  PAY_ID= @p_REQ_PAY_ID
69
					UPDATE TR_REQ_PAY_INVOICE SET AUTH_STATUS ='D', AUTH_STATUS_KT ='D' WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
70
					UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT ='D' WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
71
					UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
72
					COMMIT TRANSACTION
73
					SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+@REQ_CODE+ N' đã được hủy thành công.Bạn có thể tra cứu phiếu ở tình trạng Phiếu bị hủy!' AS ErrorDesc
74
					RETURN '0'
75
				END
76
		END
77
	END
78
	IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID) = 'A')
79
	BEGIN
80
		ROLLBACK TRANSACTION
81
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được kiểm soát viên duyệt, bạn không được phép xóa!' ErrorDesc
82
		RETURN '-1'
83
	END
84
	IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB ='C'))
85
	BEGIN
86
		ROLLBACK TRANSACTION
87
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được điều phối và xử lý ở phòng kế toán. Bạn không được phép xóa!' ErrorDesc
88
		RETURN '-1'
89
	END
90
	IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID) = 'R')
91
	BEGIN
92
		ROLLBACK TRANSACTION
93
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đang bị KSV từ chối, bạn không được phép xóa!' ErrorDesc
94
		RETURN '-1'
95
	END
96
	IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID) = 'R')
97
	BEGIN
98
		ROLLBACK TRANSACTION
99
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đang ở tình trạng từ chối, bạn không được phép xóa!' ErrorDesc
100
		RETURN '-1'
101
	END
102
	IF(EXISTS(SELECT * FROM PL_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND CHECKER_ID IN ('nghihm','huongvt','chaudtm','hainth')))
103
	BEGIN
104
		ROLLBACK TRANSACTION
105
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã có lịch sử xử lý.Vui lòng tiếp tục thao tác trên phiếu này. Bạn không được phép xóa!' ErrorDesc
106
		RETURN '-1'
107
	END
108
	ELSE
109
	BEGIN
110
		Delete FROM TR_REQ_PAYMENT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
111
		Delete FROM TR_REQ_PAYMENT_DT WHERE  PAY_ID= @p_REQ_PAY_ID
112
		DELETE FROM TR_REQ_PAY_INVOICE WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
113
		DELETE FROM TR_REQ_PAY_BUDGET WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
114
		DELETE FROM TR_REQ_PAY_CAT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
115
		DELETE FROM TR_REQ_PAY_METHOD WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
116
		DELETE FROM TR_REQ_PAY_SCHEDULE WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
117
		DELETE FROM TR_REQ_PAY_SERVICE WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
118
		DELETE FROM TR_REQ_PAY_ENTRIES WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
119
		DELETE FROM TR_REQ_PAY_PERIOD WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
120
		DELETE FROM TR_REQ_PAY_ATTACH WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
121
		DELETE FROM TR_REQ_ADVANCE_DT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
122
		--doanptt 210622 xóa định mức chi phí khi xóa phiếu
123
		DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
124
		DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
125
		DELETE FROM TR_REQ_PAY_JOB WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
126
		DELETE FROM TR_REQ_PAY_JOB_DT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
127
		DELETE FROM TR_REQ_PAY_DRIVE WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
128
		DELETE FROM TR_REQ_PAY_DRIVE_DT WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
129
		DELETE FROM TR_REQ_PAY_REQUEST_CAR WHERE  REQ_PAY_ID= @p_REQ_PAY_ID
130
		IF @@Error <> 0 GOTO ABORT
131
	END
132
COMMIT TRANSACTION
133
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị thanh toán số : '+@REQ_CODE+ N' đã được xóa thành công khỏi hệ thống!' AS ErrorDesc
134
RETURN '0'
135
ABORT:
136
BEGIN
137
		ROLLBACK TRANSACTION
138
		SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' AS ErrorDesc
139
		RETURN '-1'
140
End