Files
GateDge2023_ljy/02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/GetPriceNew.sql
PastSaid e1e6cba475 a
2024-04-22 09:39:19 +08:00

86 lines
2.2 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
SELECT ChildFMATERIALID = ISNULL(c.FMATERIALID, 0) 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
IF ChildFMATERIALID != 0
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