Project

General

Profile

NCC_ins.txt

Luc Tran Van, 04/25/2023 10:54 AM

 
1
ALTER PROCEDURE dbo.CM_SUPPLIER_Ins
2
@p_SUP_CODE	varchar(15)  = NULL,
3
@p_SUP_NAME	NVARCHAR(300)  = NULL,
4
@p_SUP_TYPE_ID	varchar(15)  = NULL,
5
@p_REGION_ID	varchar(15)  = NULL,
6
@p_ADDR	nvarchar(200)  = NULL,
7
@p_EMAIL	varchar(50)  = NULL,
8
@p_TAX_NO	varchar(20)  = NULL,
9
@p_TEL	varchar(20)  = NULL,
10
@p_CONTACT_PERSON	nvarchar(200)  = NULL,
11
@p_DISCIPLINES VARCHAR(15) = NULL,
12
@p_NOTES	nvarchar(1000)  = NULL,
13
@p_RECORD_STATUS	varchar(1)  = NULL,
14
@p_MAKER_ID	varchar(100)  = NULL,
15
@p_CREATE_DT	VARCHAR(20) = NULL,
16
@p_AUTH_STATUS	varchar(50)  = NULL,
17
@p_CHECKER_ID	varchar(100)  = NULL,
18
@p_APPROVE_DT	VARCHAR(20) = NULL,
19
@p_ACC_NUM VARCHAR(100) = NULL,
20
@p_ACC_NAME VARCHAR(100) = NULL,
21
@p_BANK_NAME NVARCHAR(200) = NULL,
22
@p_ACC_NUM_OUT VARCHAR(100) = NULL,
23
@p_ACC_NAME_OUT VARCHAR(100) = NULL,
24
@p_BANK_NAME_OUT NVARCHAR(200) = NULL
25
AS
26
BEGIN TRANSACTION
27
--Validation is here
28
IF EXISTS(SELECT * FROM CM_SUPPLIER WHERE SUP_NAME = @p_SUP_NAME)
29
BEGIN
30
		ROLLBACK TRANSACTION
31
		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
32
		RETURN '-1'
33
END
34
DECLARE @ERRORSYS NVARCHAR(15) = '' 
35
  IF ( EXISTS ( SELECT * FROM CM_SUPPLIER WHERE TAX_NO=@p_TAX_NO))
36
	 SET @ERRORSYS = 'SUP-0001'
37
IF @ERRORSYS <> '' 
38
BEGIN
39
	ROLLBACK TRANSACTION
40
			SELECT '-1' as Result, N'Mã số thuế của nhà cung cấp đã tồn tại.' ErrorDesc
41
			RETURN '-1'
42
	RETURN '0'
43
END 
44
IF (select case when @p_TAX_NO not like '%[^0-9]%' then 0 else 1 end) <> 0
45
		BEGIN
46
			ROLLBACK TRANSACTION
47
			SELECT '-1' as Result, N' Mã số thuế chỉ được phép nhập số' ErrorDesc
48
			RETURN '-1'
49
		END
50
DECLARE @l_SUP_ID VARCHAR(15)
51
		
52

    
53
		EXEC SYS_CodeMasters_Gen 'CM_SUPPLIER', @l_SUP_ID out
54
		IF @l_SUP_ID='' OR @l_SUP_ID IS NULL GOTO ABORT
55
		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])
56
		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)
57
		IF @@Error <> 0 GOTO ABORT
58
COMMIT TRANSACTION
59
SELECT 0 as Result, @l_SUP_ID  SUP_ID, '' ErrorDesc, @l_SUP_ID id
60
RETURN 0
61
ABORT:
62
BEGIN
63
		ROLLBACK TRANSACTION
64
		SELECT -1 as Result, '' SUP_ID, '' ErrorDesc
65
		RETURN -1
66
End