1
|
ALTER PROC [dbo].[CM_ACCOUNT_PAY_Ins]
|
2
|
@p_USER_ID VARCHAR(15) = NULL,
|
3
|
@p_ACC_TYPE VARCHAR(150) = NULL,
|
4
|
@p_ACC_NO VARCHAR(150) = NULL,
|
5
|
@p_ACC_NAME VARCHAR(150) = NULL,
|
6
|
@p_TK_GL VARCHAR(100) = NULL,
|
7
|
@p_TK_GL_NAME VARCHAR(1000) = NULL,
|
8
|
@p_MAKER_ID VARCHAR(15)= NULL
|
9
|
AS
|
10
|
BEGIN TRANSACTION
|
11
|
IF(EXISTS(SELECT * FROM CM_ACCOUNT_PAY WHERE ACC_TYPE =@p_ACC_TYPE AND REF_ID =@p_USER_ID) AND @p_ACC_TYPE <> 'ENTRIES' )
|
12
|
BEGIN
|
13
|
ROLLBACK TRANSACTION
|
14
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản tạm ứng của nhân viên ' +@p_USER_ID + N' đã tồn tại trong hệ thống' ErrorDesc
|
15
|
RETURN '-1'
|
16
|
END
|
17
|
IF(EXISTS(SELECT * FROM CM_ACCOUNT_PAY WHERE ACC_TYPE =@p_ACC_TYPE AND REF_ID =@p_USER_ID) AND @p_ACC_TYPE = 'ENTRIES' )
|
18
|
BEGIN
|
19
|
ROLLBACK TRANSACTION
|
20
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản hạch toán ' + @p_ACC_NO + N' đã tồn tại trong hệ thống' ErrorDesc
|
21
|
RETURN '-1'
|
22
|
END
|
23
|
IF(@p_TK_GL ='' OR @p_TK_GL IS NULL)
|
24
|
BEGIN
|
25
|
ROLLBACK TRANSACTION
|
26
|
SELECT '-1' as Result, '' ACC_ID, N'Tài khoản GL không được phép để trống' ErrorDesc
|
27
|
RETURN '-1'
|
28
|
END
|
29
|
IF(@p_TK_GL_NAME ='' OR @p_TK_GL_NAME IS NULL)
|
30
|
BEGIN
|
31
|
ROLLBACK TRANSACTION
|
32
|
SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản GL không được phép để trống' ErrorDesc
|
33
|
RETURN '-1'
|
34
|
END
|
35
|
IF(@p_ACC_NO ='' OR @p_ACC_NO IS NULL)
|
36
|
BEGIN
|
37
|
ROLLBACK TRANSACTION
|
38
|
SELECT '-1' as Result, '' ACC_ID, N'Số tài khoản không được phép để trống' ErrorDesc
|
39
|
RETURN '-1'
|
40
|
END
|
41
|
IF(@p_ACC_NAME ='' OR @p_ACC_NAME IS NULL)
|
42
|
BEGIN
|
43
|
ROLLBACK TRANSACTION
|
44
|
SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản không được phép để trống' ErrorDesc
|
45
|
RETURN '-1'
|
46
|
END
|
47
|
IF(@p_ACC_TYPE ='ADV_PAY')
|
48
|
BEGIN
|
49
|
INSERT INTO CM_ACCOUNT_PAY (REF_ID,ACC_TYPE,ACC_NUM,ACC_NAME,FUNTION,TK_GL,CREATE_DT,MAKER_ID,EDITOR_ID,EDITOR_DT,AUTH_STATUS,CHECKER_ID,APPROVE_DT,TK_GL_NAME)
|
50
|
VALUES (@p_USER_ID,@p_ACC_TYPE,@p_ACC_NO,@p_ACC_NAME,'I',@p_TK_GL,GETDATE(),@p_MAKER_ID,NULL,NULL,'U',NULL,NULL,@p_TK_GL_NAME)
|
51
|
END
|
52
|
ELSE
|
53
|
BEGIN
|
54
|
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) VALUES (@p_ACC_NO,@p_ACC_NAME,@p_TK_GL,@p_TK_GL_NAME,@p_MAKER_ID,GETDATE(),'U',NULL,NULL,NULL,NULL)
|
55
|
END
|
56
|
COMMIT TRANSACTION
|
57
|
SELECT '0' as Result, '' ACC_ID, '' ErrorDesc
|
58
|
RETURN '0'
|
59
|
ABORT:
|
60
|
BEGIN
|
61
|
ROLLBACK TRANSACTION
|
62
|
SELECT '-1' as Result, '' ACC_ID, '' ErrorDesc
|
63
|
RETURN '-1'
|
64
|
END
|