1
|
|
2
|
ALTER PROCEDURE dbo.CM_SUPPLIER_Ins
|
3
|
@p_SUP_CODE varchar(15) = NULL,
|
4
|
@p_SUP_NAME NVARCHAR(300) = NULL,
|
5
|
@p_SUP_TYPE_ID varchar(15) = NULL,
|
6
|
@p_REGION_ID varchar(15) = NULL,
|
7
|
@p_ADDR nvarchar(200) = NULL,
|
8
|
@p_EMAIL varchar(50) = NULL,
|
9
|
@p_TAX_NO varchar(20) = NULL,
|
10
|
@p_TEL varchar(20) = NULL,
|
11
|
@p_CONTACT_PERSON nvarchar(200) = NULL,
|
12
|
@p_DISCIPLINES VARCHAR(15) = NULL,
|
13
|
@p_NOTES nvarchar(1000) = NULL,
|
14
|
@p_RECORD_STATUS varchar(1) = NULL,
|
15
|
@p_MAKER_ID varchar(20) = NULL,
|
16
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
17
|
@p_AUTH_STATUS varchar(50) = NULL,
|
18
|
@p_CHECKER_ID varchar(20) = NULL,
|
19
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
20
|
@p_ACC_NUM VARCHAR(100) = NULL,
|
21
|
@p_ACC_NAME VARCHAR(100) = NULL,
|
22
|
@p_BANK_NAME VARCHAR(200) = NULL,
|
23
|
@p_ACC_NUM_OUT VARCHAR(100) = NULL,
|
24
|
@p_ACC_NAME_OUT VARCHAR(100) = NULL,
|
25
|
@p_BANK_NAME_OUT VARCHAR(200) = NULL
|
26
|
AS
|
27
|
BEGIN TRANSACTION
|
28
|
--Validation is here
|
29
|
IF EXISTS(SELECT * FROM CM_SUPPLIER WHERE SUP_NAME = @p_SUP_NAME)
|
30
|
BEGIN
|
31
|
ROLLBACK TRANSACTION
|
32
|
SELECT '-1' as Result, '' SUP_ID, N'Thêm mới nhà cung cấp thất bại, tên nhà cung cấp đã tồn tại trong hệ thống' ErrorDesc
|
33
|
RETURN '-1'
|
34
|
END
|
35
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
36
|
IF ( EXISTS ( SELECT * FROM CM_SUPPLIER WHERE TAX_NO=@p_TAX_NO))
|
37
|
SET @ERRORSYS = 'SUP-0001'
|
38
|
IF @ERRORSYS <> ''
|
39
|
BEGIN
|
40
|
ROLLBACK TRANSACTION
|
41
|
SELECT '-1' as Result, N'Mã số thuế của nhà cung cấp đã tồn tại.' ErrorDesc
|
42
|
RETURN '-1'
|
43
|
RETURN '0'
|
44
|
END
|
45
|
--IF (select case when @p_TAX_NO not like '%[^0-9]%' then 0 else 1 end) <> 0
|
46
|
-- BEGIN
|
47
|
-- ROLLBACK TRANSACTION
|
48
|
-- SELECT '-1' as Result, N' Mã số thuế chỉ được phép nhập số' ErrorDesc
|
49
|
-- RETURN '-1'
|
50
|
-- END
|
51
|
DECLARE @l_SUP_ID VARCHAR(15)
|
52
|
|
53
|
|
54
|
EXEC SYS_CodeMasters_Gen 'CM_SUPPLIER', @l_SUP_ID out
|
55
|
IF @l_SUP_ID='' OR @l_SUP_ID IS NULL GOTO ABORT
|
56
|
INSERT INTO CM_SUPPLIER([DISCIPLINES],[SUP_ID],[SUP_CODE],[SUP_NAME],[SUP_TYPE_ID],[REGION_ID],[ADDR],[EMAIL],[TAX_NO],[TEL],[CONTACT_PERSON],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[ACC_NUM],[ACC_NAME],[BANK_NAME],[ACC_NUM_OUT],[ACC_NAME_OUT],[BANK_NAME_OUT])
|
57
|
VALUES(@p_DISCIPLINES, @l_SUP_ID ,@l_SUP_ID ,@p_SUP_NAME ,@p_SUP_TYPE_ID ,@p_REGION_ID ,@p_ADDR ,@p_EMAIL ,@p_TAX_NO ,@p_TEL ,@p_CONTACT_PERSON ,@p_NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_ACC_NUM,@p_ACC_NAME,@p_BANK_NAME,@p_ACC_NUM_OUT,@p_ACC_NAME_OUT,@p_BANK_NAME_OUT)
|
58
|
IF @@Error <> 0 GOTO ABORT
|
59
|
COMMIT TRANSACTION
|
60
|
SELECT 0 as Result, @l_SUP_ID SUP_ID, '' ErrorDesc
|
61
|
RETURN 0
|
62
|
ABORT:
|
63
|
BEGIN
|
64
|
ROLLBACK TRANSACTION
|
65
|
SELECT -1 as Result, '' SUP_ID, '' ErrorDesc
|
66
|
RETURN -1
|
67
|
End
|