34,837
社区成员




set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[Order_Already]
(
@OID int,@ProductAllMoney decimal(10,2),@MID int,@OrderNo varchar(200),@OrderCheck int,
@OrderItemsCount int,
@MA_ID int,@MA_RealName varchar(50),@C_Info text,@C_Addtime datetime,
@C_IntoMemb varchar(255),@C_Type int,@C_Result int,@LC_ID int
)
as
declare @MembMoney decimal(10,2),@HaveCount int
set @MembMoney = (select MembMoney from Member_Tbl where MID=@MID)
set @HaveCount = (select count(1) from OrderItems_Tbl o inner join Inventory_Tbl i on o.PIID=i.PIID where OrderNo=@OrderNo and InveQty>=OIQuantity)
if(@MembMoney>=@ProductAllMoney)
begin
if(@HaveCount=@OrderItemsCount)
begin
begin Transaction T
update Member_Tbl set MembMoney=MembMoney-@ProductAllMoney,MembXFMoney=MembXFMoney+@ProductAllMoney
where MID=@MID
update a set InveQty=InveQty-b.OIQuantity,SellQty=SellQty+b.OIQuantity
from Inventory_Tbl a,(select PIID,OIQuantity from OrderItems_Tbl where OrderNO=@OrderNo) b
where a.PIID=b.PIID
update Orders_Tbl set OrderOutime=getdate(),OrderCheck=@OrderCheck where OID=@OID
insert into LogControls_Tbl(MA_ID,MA_RealName,C_Info,C_Addtime,C_IntoMemb,C_Type,C_Result,LC_ID)
values(@MA_ID,@MA_RealName,@C_Info,@C_Addtime,@C_intoMemb,@C_Type,@C_Result,@LC_ID)
if @@error<>0
begin
rollback transaction T
return 0
end
else
begin
commit transaction T
return 1
end
end
else
return -2
end
else
begin
return -1
end