set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


ALTER PROCEDURE [dbo].[STPCreateGood]

    @Title  nvarchar(1000)='',
    @Code   nvarchar(1000)='' ,
    @BarCode   nvarchar(1000)='' ,
    @Type  int,
    @FstUnit   nvarchar(1000)='',
    @SecUnit   nvarchar(1000)='',
    @UnitRate  real,
    @OrderPoint  real,
    @SalePrice1  money,
    @SalePrice2  money,
    @SalePrice3  money,
    @SalePrice4  money,
    @SalePrice5  money,
    @VisitorPer  real,
    @Comment  nvarchar(1000)='',
    @DiscountPer  real,
    @UserPrice  money,
    @GroupId1  Integer,
    @Groupid2  Integer,
    @SerialNo  bit,
	@weight real,
	 @term nvarchar(1000)=''
AS

declare 		@Identity int ,@duplicate bit;

if @groupid1=0 set @groupid1=null
if @groupid2=0 set @groupid2=null
if @UnitRate=0  set @UnitRate=1
--begin try
--	begin TRANSACTION   

	if @Code='' set @code=null
	if @BarCode='' set @Barcode=null

if not @code is null	if exists(select goodsyscode from stocktbl where code=@code  ) 			raiserror (50401,16,1)   -- Duplicate code
if not @Barcode is null	if exists(select goodsyscode from stocktbl where  Barcode=@Barcode) 			raiserror (50401,16,1)   -- Duplicate code

	INSERT INTO StockTbl
		(Title, Type, FstUnit, SecUnit, UnitRate, OrderPoint, SalePrice1, SalePrice2, SalePrice3, SalePrice4, SalePrice5, VisitorPer, 
		Comment, DiscontPer, UserPrice, GroupID1, GroupID2, SerialNo, Weight, Term, code, barcode)
		VALUES     (@Title,@Type,@FstUnit,@SecUnit,@UnitRate,@OrderPoint,@SalePrice1,@SalePrice2,@SalePrice3,@SalePrice4,@SalePrice5,@VisitorPer,@Comment,@DiscountPer,@UserPrice,@GroupID1,@GroupID2,@SerialNo,@weight,@term,@code,@barcode)
	set @Identity=@@IDENTITY
return @Identity
--end try
--begin catch
--	rollback  
--
--    DECLARE @ErrorMessage NVARCHAR(4000);
--    DECLARE @ErrorSeverity INT,@Err int;
--
--set @err=error_number()
--if @err>50000 
--	begin
--		raiserror (@err,16,1)
--	end
--else
--	begin
--		SELECT 
--			@ErrorMessage = ERROR_MESSAGE(),
--			@ErrorSeverity = ERROR_SEVERITY();
--
--		RAISERROR (@ErrorMessage, -- Message text.
--				   @ErrorSeverity, -- Severity.
--				   1 -- State.
--				   );
--	end
--return -1
--end catch