86 lines
2.1 KiB
Transact-SQL
86 lines
2.1 KiB
Transact-SQL
|
||
|
||
CREATE proc [dbo].[GetPriceNew]
|
||
(
|
||
@FMaterID nvarchar(50) ,--物料ID
|
||
@FDATE date,--日期
|
||
@Fprice decimal(28,10) out,--单价
|
||
@FDATEO nvarchar(50) out, --备注
|
||
@FAmount decimal(28,10) out,--金额
|
||
@FQTY decimal(28,10) out,--数量
|
||
@FStockId nvarchar(1000)
|
||
)
|
||
as
|
||
begin
|
||
DECLARE @FNUMBER nvarchar(50)
|
||
DECLARE @ChildFMATERIALID nvarchar(50)
|
||
DECLARE @Fprice1 decimal(28,10)
|
||
DECLARE @FDATEO1 nvarchar(50)
|
||
DECLARE @FAmount1 decimal(28,10)
|
||
DECLARE @FQTY1 nvarchar(50)
|
||
DECLARE @F_QNV_Combo nvarchar(50)--是否水表
|
||
--数量
|
||
|
||
select @FNUMBER= FNUMBER from T_BD_MATERIAL where FMATERIALID= @FMaterID
|
||
select @F_QNV_Combo= F_QNV_Combo from T_BD_MATERIAL where FMATERIALID= @FMaterID
|
||
|
||
set @Fprice1=0
|
||
exec GetSalePriceNEW @FDATE,@FMaterID,@Fprice1 out,@FDATEO1 out ,@FAmount1 out ,@FQTY1 out,@FStockId --获取结存单价
|
||
if(@Fprice1<>0)--有结存单价
|
||
begin
|
||
set @Fprice=@Fprice1
|
||
set @FDATEO=@FDATEO1
|
||
set @FAmount=@FAmount1
|
||
set @FQTY=@FQTY1
|
||
return @Fprice
|
||
end
|
||
else --没有结存
|
||
begin
|
||
IF(@F_QNV_Combo<>1)
|
||
begin
|
||
exec GetHTPrice @FNUMBER,@Fprice1 output,@FDATEO1 out
|
||
set @Fprice=@Fprice1
|
||
if (@Fprice<>0)
|
||
begin
|
||
set @FDATEO='取合同价,合同号为:' +@FDATEO1
|
||
end
|
||
else
|
||
begin
|
||
set @FDATEO='没有找到价格'
|
||
end
|
||
set @FAmount=0
|
||
set @FQTY=0
|
||
return
|
||
end
|
||
ELSE
|
||
BEGIN
|
||
set @ChildFMATERIALID=0
|
||
|
||
IF EXISTS (SELECT 1 from T_ENG_BOM a
|
||
inner join T_ENG_BOMCHILD b on a.FID=b.FID
|
||
inner join T_BD_MATERIAL c on b.FMATERIALID=c.FMATERIALID
|
||
where a.FMATERIALID=@FMaterID AND c.F_QNV_COMBO<>1)
|
||
BEGIN
|
||
select @ChildFMATERIALID= c.FMATERIALID from T_ENG_BOM a
|
||
inner join T_ENG_BOMCHILD b on a.FID=b.FID
|
||
inner join T_BD_MATERIAL c on b.FMATERIALID=c.FMATERIALID
|
||
where a.FMATERIALID=@FMaterID
|
||
|
||
EXEC [GetPriceNew] @ChildFMATERIALID,@FDATE ,@Fprice output ,@FDATEO output , @FAmount output,@FQTY1 output,@FStockId
|
||
|
||
return
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
set @Fprice=0
|
||
set @FDATEO='物料'+@FNUMBER+'没有找到对应的BOM!'
|
||
set @FAmount=0
|
||
set @FQTY=0
|
||
return
|
||
END
|
||
END
|
||
end
|
||
end
|
||
|
||
|