1
|
|
2
|
ALTER PROC [dbo].[CM_ACCOUNT_PAY_Upd]
|
3
|
@p_REF_ID VARCHAR(15) = NULL,
|
4
|
@p_ACC_TYPE VARCHAR(150) = NULL,
|
5
|
@p_ACC_NO VARCHAR(150) = NULL,
|
6
|
@p_ACC_NAME NVARCHAR(150) = NULL,
|
7
|
@p_MAKER_ID VARCHAR(15)= NULL,
|
8
|
@p_TK_GL VARCHAR(100)= NULL,
|
9
|
@p_TK_GL_NAME NVARCHAR(1000)= NULL,
|
10
|
@p_EDITOR_ID VARCHAR(15)= NULL
|
11
|
AS
|
12
|
BEGIN TRANSACTION
|
13
|
-- CHUYEN THANH CHU IN HOA KHONG DAU
|
14
|
SET @p_ACC_NAME = UPPER(dbo.fChuyenCoDauThanhKhongDau(@p_ACC_NAME))
|
15
|
SET @p_TK_GL_NAME = UPPER(dbo.fChuyenCoDauThanhKhongDau(@p_TK_GL_NAME))
|
16
|
|
17
|
IF(@p_TK_GL ='' OR @p_TK_GL IS NULL)
|
18
|
BEGIN
|
19
|
ROLLBACK TRANSACTION
|
20
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản GL không được phép để trống' ErrorDesc
|
21
|
RETURN '-1'
|
22
|
END
|
23
|
IF(@p_TK_GL_NAME ='' OR @p_TK_GL_NAME IS NULL)
|
24
|
BEGIN
|
25
|
ROLLBACK TRANSACTION
|
26
|
SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản GL không được phép để trống' ErrorDesc
|
27
|
RETURN '-1'
|
28
|
END
|
29
|
IF(@p_ACC_NO ='' OR @p_ACC_NO IS NULL)
|
30
|
BEGIN
|
31
|
ROLLBACK TRANSACTION
|
32
|
SELECT '-1' as Result, '' ACC_ID, N'Số tài khoản không được phép để trống' ErrorDesc
|
33
|
RETURN '-1'
|
34
|
END
|
35
|
IF(@p_ACC_NAME ='' OR @p_ACC_NAME IS NULL)
|
36
|
BEGIN
|
37
|
ROLLBACK TRANSACTION
|
38
|
SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản không được phép để trống' ErrorDesc
|
39
|
RETURN '-1'
|
40
|
END
|
41
|
|
42
|
IF(@p_ACC_TYPE ='ADV_PAY')
|
43
|
BEGIN
|
44
|
|
45
|
IF (@p_REF_ID IS NULL OR @p_REF_ID = '')
|
46
|
BEGIN
|
47
|
ROLLBACK TRANSACTION
|
48
|
SELECT '-1' as Result, '' ACC_ID, N'Người đề nghị tạm ứng không được phép để trống' ErrorDesc
|
49
|
RETURN '-1'
|
50
|
END
|
51
|
|
52
|
IF (LEN(@p_ACC_NO) < 13 OR LEN(@p_ACC_NO) > 13)
|
53
|
BEGIN
|
54
|
ROLLBACK TRANSACTION
|
55
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản tạm ứng nội bộ không hợp lệ: Tài khoản tạm ứng phải đủ 13 ký tự' ErrorDesc
|
56
|
RETURN '-1'
|
57
|
END
|
58
|
IF (SUBSTRING(@p_ACC_NO,7,1) <> '8')
|
59
|
BEGIN
|
60
|
ROLLBACK TRANSACTION
|
61
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản tạm ứng nội bộ không hợp lệ: Ký tự thứ 7 phải là số 8' ErrorDesc
|
62
|
RETURN '-1'
|
63
|
END
|
64
|
|
65
|
UPDATE CM_ACCOUNT_PAY SET ACC_NAME =@p_ACC_NAME, ACC_NUM =@p_ACC_NO,EDITOR_DT = GETDATE(), EDITOR_ID =@p_EDITOR_ID,AUTH_STATUS ='U' WHERE REF_ID =@p_REF_ID
|
66
|
--- UPDATE TOAN BO CAC HACH TOAN CO SU DUNG TAI KHOAN TAM UNG
|
67
|
--UPDATE TR_REQ_ADVANCE_PAYMENT SET RECEIVER_DEBIT =@p_ACC_NO WHERE REF_ID =@p_REF_ID AND REQ_TYPE ='I'
|
68
|
--UPDATE TR_REQ_PAY_ENTRIES SET ACCT= @p_ACC_NO WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REF_ID =@p_REF_ID AND REQ_TYPE ='I')
|
69
|
END
|
70
|
ELSE IF(@p_ACC_TYPE ='CASA')
|
71
|
BEGIN
|
72
|
IF (LEN(@p_ACC_NO) < 13 OR LEN(@p_ACC_NO) > 13 AND @p_ACC_TYPE ='CASA')
|
73
|
BEGIN
|
74
|
ROLLBACK TRANSACTION
|
75
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản CASA không hợp lệ: Tài khoản CASA phải đủ 13 ký tự' ErrorDesc
|
76
|
RETURN '-1'
|
77
|
END
|
78
|
|
79
|
--KIEM TRA XEM DA TON TAI TAM UNG NOI BO NAO SU DUNG SO TAI KHOAN TAM UNG CUA NHAN VIEN NAY HAY KHONG
|
80
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE AUTH_STATUS_KT ='A'))
|
81
|
BEGIN
|
82
|
ROLLBACK TRANSACTION
|
83
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản ' + @p_ACC_NO + N' đã được sử dụng để hạch toán (đã bắn bút toán tạm ứng vào core)' ErrorDesc
|
84
|
RETURN '-1'
|
85
|
END
|
86
|
ELSE
|
87
|
BEGIN
|
88
|
UPDATE CM_ACCOUNT SET ACC_NAME =@p_ACC_NAME,AUTH_STATUS='U', TK_GL =@p_TK_GL,TK_GL_NAME =@p_TK_GL_NAME WHERE ACC_NO =@p_ACC_NO
|
89
|
END
|
90
|
END
|
91
|
ELSE
|
92
|
BEGIN
|
93
|
/*
|
94
|
IF (LEN(@p_ACC_NO) < 9 OR LEN(@p_ACC_NO) > 9 AND @p_ACC_TYPE ='GL')
|
95
|
BEGIN
|
96
|
ROLLBACK TRANSACTION
|
97
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản GL không hợp lệ: Tài khoản GL phải đủ 9 ký tự' ErrorDesc
|
98
|
RETURN '-1'
|
99
|
END
|
100
|
*/
|
101
|
IF(EXISTS(SELECT * FROM CM_ACCOUNT WHERE ACC_NO =@p_ACC_NO))
|
102
|
BEGIN
|
103
|
print 1
|
104
|
END
|
105
|
ELSE
|
106
|
BEGIN
|
107
|
INSERT INTO CM_ACCOUNT(ACC_NO,ACC_NAME,TK_GL,TK_GL_NAME,MAKER_ID,CREATE_DT,AUTH_STATUS,EDITOR_ID,EDITOR_DT,CHECKER_ID,APPROVE_DT)
|
108
|
VALUES (@p_ACC_NO,@p_ACC_NAME,@p_TK_GL,@p_TK_GL_NAME,@p_MAKER_ID,GETDATE(),'U',NULL,NULL,NULL,NULL)
|
109
|
END
|
110
|
END
|
111
|
|
112
|
-- UPDATE CHUNG
|
113
|
UPDATE CM_ACCOUNT SET TK_GL =@p_TK_GL, TK_GL_NAME = @p_TK_GL_NAME WHERE ACC_NO =@p_ACC_NO
|
114
|
COMMIT TRANSACTION
|
115
|
SELECT '0' as Result, '' ACC_ID, '' ErrorDesc
|
116
|
RETURN '0'
|
117
|
ABORT:
|
118
|
BEGIN
|
119
|
ROLLBACK TRANSACTION
|
120
|
SELECT '-1' as Result, '' ACC_ID, '' ErrorDesc
|
121
|
RETURN '-1'
|
122
|
END
|