1
|
|
2
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_Del]
|
3
|
@p_REQ_PAY_ID varchar(15)
|
4
|
AS
|
5
|
DECLARE @REQ_CODE VARCHAR(50)
|
6
|
SET @REQ_CODE =(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
7
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
8
|
--IF ( NOT EXISTS ( SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID))
|
9
|
-- SET @ERRORSYS = 'REQ-00002'
|
10
|
--IF @ERRORSYS <> ''
|
11
|
--BEGIN
|
12
|
-- SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
13
|
-- RETURN '0'
|
14
|
--END
|
15
|
BEGIN TRANSACTION
|
16
|
--IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <>'E'))
|
17
|
--BEGIN
|
18
|
-- ROLLBACK TRANSACTION
|
19
|
-- 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
|
20
|
-- RETURN '-1'
|
21
|
--END
|
22
|
--IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'A')
|
23
|
--BEGIN
|
24
|
-- ROLLBACK TRANSACTION
|
25
|
-- 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
|
26
|
-- RETURN '-1'
|
27
|
--END
|
28
|
IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'A')
|
29
|
BEGIN
|
30
|
ROLLBACK TRANSACTION
|
31
|
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
|
32
|
RETURN '-1'
|
33
|
END
|
34
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB ='C'))
|
35
|
BEGIN
|
36
|
ROLLBACK TRANSACTION
|
37
|
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
|
38
|
RETURN '-1'
|
39
|
END
|
40
|
IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'R')
|
41
|
BEGIN
|
42
|
ROLLBACK TRANSACTION
|
43
|
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
|
44
|
RETURN '-1'
|
45
|
END
|
46
|
IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'R')
|
47
|
BEGIN
|
48
|
ROLLBACK TRANSACTION
|
49
|
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
|
50
|
RETURN '-1'
|
51
|
END
|
52
|
IF(EXISTS(SELECT * FROM PL_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND CHECKER_ID IN ('nghihm','huongvt','chaudtm','hainth')))
|
53
|
BEGIN
|
54
|
ROLLBACK TRANSACTION
|
55
|
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
|
56
|
RETURN '-1'
|
57
|
END
|
58
|
ELSE
|
59
|
BEGIN
|
60
|
Delete FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
61
|
Delete FROM TR_REQ_PAYMENT_DT WHERE PAY_ID= @p_REQ_PAY_ID
|
62
|
DELETE FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
63
|
DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
64
|
DELETE FROM TR_REQ_PAY_CAT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
65
|
DELETE FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
66
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
67
|
DELETE FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
68
|
DELETE FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
69
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
70
|
DELETE FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
71
|
IF @@Error <> 0 GOTO ABORT
|
72
|
END
|
73
|
COMMIT TRANSACTION
|
74
|
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
|
75
|
RETURN '0'
|
76
|
ABORT:
|
77
|
BEGIN
|
78
|
ROLLBACK TRANSACTION
|
79
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' AS ErrorDesc
|
80
|
RETURN '-1'
|
81
|
End
|
82
|
|
83
|
|
84
|
|
85
|
|
86
|
|
87
|
|