01.集成项目号信息进入金蝶K3

CREATE PROCEDURE [dbo].[sp_addProjectNumber]	
	@FNumber varchar(80),
	@FName varchar(255)
AS
BEGIN
	SET NOCOUNT ON;

	declare @Result int;
	set @Result = -1;

	declare @FUserName varchar(100);
	set @FUserName = 'Administrator';

	declare @FUserId int;
	select @FUserId = FUserID from t_Base_User where FName = @FUserName;

    -- Insert statements for procedure here
	if not exists(select FItemID from dbo.t_Item where FNumber =  @FNumber)

	begin

	begin transaction Tran_Project_Number

		declare @MaxObjID int;
		declare @tran_error int;
		set @tran_error = 0;

		begin try

			select @MaxObjID = FNext from t_identity where FName='t_Item'  


			INSERT INTO dbo.t_Item
			(
			FItemID,FItemClassID,FExternID,FNumber,FParentID,FLevel,FDetail,FName,FUnUsed,FBrNo,FFullNumber,FDiff,FDeleted,FShortNumber,FFullName,FGRCommonID,FSystemType,FUseSign,FChkUserID,FAccessory,FGrControl,FHavePicture
			)
			VALUES
				(

					@MaxObjID,'3003','-1',@FNumber,'0','1','1',@FName,'0','0',@FNumber,'0','0',@FNumber,@FName,'-1','1','0',@FUserId,0,'-1',0
			);

			INSERT INTO t_Item_3003(
				FitemID,
				FNumber,
				FName,
					F_105,
					F_106
			)
			VALUES
				(
						@MaxObjID,
					@FNumber,
					@FName,
							null,
							0
				);

			Insert Into t_BaseProperty(FTypeID, FItemID, FCreateDate, FCreateUser, FLastModDate, FLastModUser, FDeleteDate, FDeleteUser)
			Values(3, @MaxObjID, GETDATE(), @FUserName, Null, Null, Null, Null) 

		end try

		BEGIN CATCH
		set @tran_error=@tran_error+1; 
		END CATCH

		if ( @tran_error > 0 )
			begin
				--执行出错,回滚事务
				rollback tran;				
				print 'Failed to insert prject number!';
			end;
		else
			begin
				--没有异常,提交事务
				commit tran;
				set @Result = @MaxObjID;
				print 'Succeed to insert prject number!';
			end;

	end
	else 
	begin
		select @Result = FItemID from dbo.t_Item where FNumber =  @FNumber
	end 

	return @Result;
END
GO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值