阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 1506|回复: 0

[原创] 按订单跟踪物料的采购情况

[复制链接]
  • TA的每日心情
    难过
    2017-10-30 09:22
  • 签到天数: 57 天

    [LV.5]常住居民I

    发表于 2008-12-16 22:58:37 | 显示全部楼层 |阅读模式
    版本:k3 v10.4
    前提:MRP计算的时候只能分录合并,不可以整单合并,在相应的单据上增加销售订单号、产品代码、产品名称
    create trigger tr_update on icmrpresult
    for insert,update
    as
              declare @fstatus int
              select @fstatus=fstatus from inserted
              if @fstatus=3
              begin
                update t1 set t1.fentryselfp0126=t4.fnumber,t1.fentryselfp0127=t4.fname
                from porequestentry t1
                    inner join icmrpresult t2 on t1.fplanorderinterid=t2.fplanorderinterid
                    inner join seorderentry t3 on t3.finterid=t2.forgsaleinterid and t3.fentryid=t2.forgentyrid
                    inner join t_icitem t4 on t3.fitemid=t4.fitemid
               
       end


    CREATE PROCEDURE PR_SALES
    @FOrderBillNo varchar(20)
    AS
    CREATE TABLE #SalesCount(
    FOrderBillno varchar(10),
    FNumber varchar(20),
    FName varchar(20),
    FCNumber varchar(20),
    FCName varchar(20),
    FXQty decimal(28,13),
    FSQty decimal(28,13),
    FCQty decimal(28,13),
    FTQty decimal(28,13),
    FInQty decimal(28,13),
    FOutQty decimal(28,13)

    )
    --插入投料单需求数量
    Insert into #Salescount(FOrderBillNo,FNumber,FName,FCNumber,FCName,FXQty,FOutQty)
    Select t1.FOrderBillno,t3.FNumber,t3.Fname,t4.FNumber,t4.FName,t2.FAuxQtyPick,t2.FQty
    From PPBom t1
    Inner Join PPBomEntry t2 on t1.FInterID=t2.FInterID
    Inner Join t_ICItem t3 on t3.FItemID=t1.FItemID
    Inner Join t_ICItem t4 on t4.FItemID=t2.FItemID
    Where t1.FOrderBillno like [email=]'%'+@FOrderBillNo+'%'[/email]

    --插入采购申请单数量
    Insert into #Salescount(FOrderBillNo,FNumber,FName,FCNumber,FCName,FSQty)
    Select t2.FSourceBillNo,t2.FEntrySelfP0128,t2.FEntrySelfP0129,t3.FNumber,t3.FName,t2.FQty
    From PORequest t1
    Inner Join PORequestEntry t2 on t1.FInterID=t2.FInterID
    Inner Join t_ICItem t3 on t2.FItemID=t3.FItemID
    where t2.FSourceBillNo [email=like]like'%'+@FOrderBillNo+'%'[/email]
    --插入采购订单数量
    Insert into #Salescount(FOrderBillNo,FNumber,FName,FCNumber,FCName,FCQty)
    Select t2.FEntrySelfP0247,t2.FEntrySelfP0248,t2.FEntrySelfP0249,t3.FNumber,t3.FName,t2.FQty
    From POOrder t1
    Inner Join POOrderEntry t2 on t1.FInterID=t2.FInterID
    Inner Join t_ICItem t3 on t3.FItemID=t2.FItemID

    where t2.FEntrySelfP0247 [email=like]like'%'+@FOrderBillNo+'%'[/email]
    --插入收料通知单数量
    Insert into #Salescount(FOrderBillNo,FNumber,FName,FCNumber,FCName,FTQty)
    Select t2.FEntrySelfP0338,t2.FEntrySelfP0339,t2.FEntrySelfP0340,t3.FNumber,t3.FName,t2.FQty
    From POInStock t1
    Inner Join POInStockEntry t2 on t1.FInterID=t2.FInterID
    Inner Join t_ICItem t3 on t2.FItemID=t2.FItemID
    where t2.FEntrySelfP0338 [email=like]like'%'+@FOrderBillNo+'%'[/email]
    --插入外购入库单数量
    Insert into #Salescount(FOrderBillNo,FNumber,FName,FCNumber,FCName,FInQty)
    Select t2.FEntrySelfA0155,t2.FEntrySelfA0156,t2.FEntrySelfA0157,t3.FNumber,t3.FName,t2.FQty
    From ICStockbill t1
    Inner Join ICStockbillEntry t2 on t1.FInterID=t2.FInterID
    Inner Join t_ICItem t3 on t2.FItemID=t2.FItemID
    where t1.FTranType=1 and t2.FEntrySelfA0155 [email=like]like'%'+@FOrderBillNo+'%'[/email]
    --数据汇总
    Select FOrderBillNo,FNumber,FName,FCNumber,FCName,sum(FXQty) as FXQty,sum(FSQty) as FSQty,sum(FCQty) as FCQty,sum(FTQty) as FTQty,
    sum(FInQty) as FInQty,sum(FOutQty) as FOutQty
    From #salescount
    Group By FOrderBillNo,FNumber,FName,FCNumber,FCName
    Drop Table #SalesCount

    评分

    参与人数 1阳光币 +1 收起 理由
    M700 + 1 使用经验分享

    查看全部评分

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表