• 金蝶k3wise数据开发,VMI仓库当前领用情况


    查询当前企业VMI仓库期初数据,入库多少、领用多少和结存多少

    declare @FTime date set @FTime='2019-10-01'
    declare @TTime date set @TTime='2019-10-10'
    declare @FSuppNumber varchar(30)
    
    set @FSuppNumber='C塑胶.04.1134'
    
    
    select FDate,b.FItemID,FStockID,b.FQty into #inQty 
    from ICVMIInStock a inner join ICVMIInStockEntry b on a.FID=b.FID
    inner join t_Supplier c on a.FSupplyID=c.FItemID 
    where c.FNumber=@FSuppNumber
    
    
    
    select FItemID,FStockID,sum(FQty) as FQty into #endQty 
    from ICInventory  where FStockID in (select distinct FStockID from #inQty ) group by FItemID,FStockID
    
    select z.* into #OutQty from (
    select a.FDate,b.FItemID,case when b.FSCStockID=0 then b.FDCStockID else b.FSCStockID end as FStockID,b.FQty 
    from ICStockBill a inner join ICStockBillEntry b on a.FInterID=b.FInterID where a.FCancellation=0 
    and  a.FTranType in (21,24,28,29,43) and b.FQty<>0 and  case when b.FSCStockID=0 then b.FDCStockID else b.FSCStockID end = (select FVMIStockID from t_Supplier where FNumber=@FSuppNumber)
    union all
    select a.FDate,b.FItemID,case when b.FSCStockID=0 then b.FDCStockID else b.FSCStockID end as FStockID,FQty 
    from ICStockBill a inner join ICStockBillEntry b on a.FInterID=b.FInterID where a.FCancellation=0 
    and  a.FTranType in (41) and b.FQty<>0 and  case when b.FSCStockID=0 then b.FDCStockID else b.FSCStockID end = (select FVMIStockID from t_Supplier where FNumber=@FSuppNumber)
    ) z where FStockID in (select distinct FStockID from #inQty )
    
    
    
    
    select a.FItemID,b.FNumber,b.FName,b.FModel,c.FName as FUnitName,a.FBeginQty,a.FInQty,a.FOutQty,(a.FBeginQty+a.FInQty-a.FOutQty) as FEndQty into #ztab from (
    select isnull(x.FItemID,y.FItemID) as FItemID,isnull(x.FBeginQty,0) as FBeginQty,isnull(y.FInQty,0) as FInQty,isnull(y.FOutQty,0) as FOutQty from (
    select isnull(a.FItemID,b.FItemID) as FItemID,isnull(a.FBeginQty,0)-isnull(b.FOutQty,0) as FBeginQty from (
    select FItemID, sum(FQty) as FBeginQty from #inQty where FDate<@FTime group by FItemID ) a full join 
    (select FItemID, sum(FQty) as FOutQty from #OutQty where FDate<@FTime group by FItemID) b on a.FItemID=b.FItemID
    ) x full join (
    select isnull(a.FItemID,b.FItemID) as FItemID,isnull(a.FBeginQty,0) as FInQty,isnull(b.FOutQty,0) as FOutQty from (
    select FItemID, sum(FQty) as FBeginQty from #inQty where FDate>=@FTime and FDate<=@TTime group by FItemID ) a full join 
    (select FItemID, sum(FQty) as FOutQty from #OutQty where FDate>=@FTime and FDate<=@TTime group by FItemID) b on a.FItemID=b.FItemID) y on x.FItemID=y.FItemID
    ) a inner join t_ICItem b on a.FItemID=b.FItemID
    inner join t_MeasureUnit c on b.FUnitID=c.FItemID
    
    
    select cast(FItemID AS varchar(20)) as FItemID,FNumber,FName,FModel,FUnitName,FBeginQty as FBegQty,FInQty,FOutQty,FEndQty from #ztab
    union all 
    select '','合计','','','',sum(FBeginQty),sum(FInQty),sum(FOutQty),sum(FEndQty) from #ztab 
    
    drop table #endQty
    drop table #OutQty
    drop table #inQty
    drop table #ztab

  • 相关阅读:
    SQL Server数据库读写分离提高并发性
    静态方法与实例化方法区别
    消息队列MQ对比
    【Python】socket模块应用
    【Matplotlib】利用Python进行绘图
    【Git】简单使用
    【HTTPS】自签CA证书 && nginx配置https服务
    【HTTP】 认证和单点登录 【瞎写的…】
    【Linux】防火墙与CentOS中的iptables
    【Ansible】的python api
  • 原文地址:https://www.cnblogs.com/erph/p/11654934.html
Copyright © 2020-2023  润新知