销售和预测订单区间分布

–金蝶K3的销售订单和预测订单的分布情况

USE [AIS20101130170856]
GO
/****** Object:  StoredProcedure [dbo].[test1124]    Script Date: 03/29/2019 17:04:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter procedure [dbo].[sp_yx_dd]
as
declare @date1 as varchar(20)
declare @date2 as varchar(20)
declare @date3 as varchar(20)
declare @date4 as varchar(20)
declare @date5 as varchar(20)
declare @date6 as varchar(20)
declare @date7 as varchar(20)
declare @date8 as varchar(20)
declare @date9 as varchar(20)
declare @date10 as varchar(20)
declare @date11 as varchar(20)
declare @date12 as varchar(20)
set nocount on
select @date1=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate()),0),121),7)
select @date2=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+1,0),121),7)
select @date3=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+2,0),121),7)
select @date4=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+3,0),121),7)
select @date5=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+4,0),121),7)
select @date6=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+5,0),121),7)
select @date7=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+6,0),121),7)
select @date8=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+7,0),121),7)
select @date9=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+8,0),121),7)
select @date10=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+9,0),121),7)
select @date11=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+10,0),121),7)
select @date12=left(convert( varchar(20),dateadd(mm,datediff(mm,0,getdate())+11,0),121),7)

if object_id('tempdb..#test1124') is not null
        drop table #test1124

select *  into  #test1124 from 
(select   convert(varchar(100),b.FDate,21) fldate ,b.fitemid,b.FAuxQty-b.FStockQty ddqty,'销售订单' fenlei
from SEOrder a inner join SEOrderEntry b on a.FInterID=b.FInterID 
where a.FChangeMark=0 and b.FMRPClosed=0 and a.FCancellation=0  
union all
select convert(varchar(100),FNeeddate ,21) fldate,
b.fitemid ,b.fqty-b.FAuxSelQty ,'预测订单'  fenlei
from 
PPOrder  a 
inner join PPOrderEntry b on a.finterid=b.finterid
where  b.FOrderClosed=0  and (b.fqty-b.FAuxSelQty)>0 ) t
order by fldate
--
update  #test1124
set fldate=convert(varchar(100),DATEADD(mm,datediff(mm,0,getdate()),0),21)
where FlDate<DATEADD(mm,datediff(mm,0,getdate()),0)
--
if object_id('tempdb..#test1125') is not null
        drop table #test1125
 select fenlei,left(convert( varchar(20),fldate ,121),7) fldate,fitemid,ddqty into #test1125
 from #test1124    
 
 
 --
 if object_id('a_yx_dd') is not null
        drop table a_yx_dd  
select a.fenlei,b.FNumber 产品编码,b.FName 型号,b.FModel 规格,
sum(case when a.fldate=@date1 then  a.ddqty else 0 end )  as  yuefen1,
sum(case when a.fldate=@date2 then  a.ddqty else 0 end )  as  yuefen2,
sum(case when a.fldate=@date3 then  a.ddqty else 0 end )  as  yuefen3,
sum(case when a.fldate=@date4 then  a.ddqty else 0 end )  as  yuefen4,
sum(case when a.fldate=@date5 then  a.ddqty else 0 end )  as  yuefen5,
sum(case when a.fldate=@date6 then  a.ddqty else 0 end )  as  yuefen6,
sum(case when a.fldate=@date7 then  a.ddqty else 0 end )  as  yuefen7,
sum(case when a.fldate=@date8 then  a.ddqty else 0 end )  as  yuefen8,
sum(case when a.fldate=@date9 then  a.ddqty else 0 end )  as  yuefen9,
sum(case when a.fldate=@date10 then  a.ddqty else 0 end )  as  yuefen10,
sum(case when a.fldate=@date11 then  a.ddqty else 0 end )  as  yuefen11,
sum(case when a.fldate=@date12 then  a.ddqty else 0 end )  as  yuefen12,
kucqty,YXFQTY,shFQTY,wscqty  into a_yx_dd
from 
 #test1125 a
left join t_ICItem b on a.FItemID=b.FItemID
left join 
(select a.FItemID  kcFItemID,sum(FQty) kucqty from 
IcInventory  a 
left join t_Stock d on a.FStockID=d.FItemID
where d.FNumber not in ('TY05','TY22','TY23','TY12','ty18') group by a.FItemID) c on a.FItemID=c.kcFItemID
left join (
select  A.FItemID YXFItemID,FQTY  YXFQTY from 
IcInventory  a 
left join t_Stock d on a.FStockID=d.FItemID where d.FNumber='ty12')  YX on YX.YXFItemID=a.FItemID
left join (
select  A.FItemID SHFItemID,FQTY  shFQTY from 
IcInventory  a 
left join t_Stock d on a.FStockID=d.FItemID where d.FNumber='ty18')  SH on SH.SHFItemID=a.FItemID
left join 
(select a.FItemID scFItemID,sum(a.FQty-isnull(a.FAuxStockQty,0)) wscqty 
from ICMO a
left join SEOrderEntry b on  b.FInterID=a.FOrderInterID and b.FEntryID=a.FSourceEntryID and b.FItemID=a.FItemID
left join  dbo.t_Item_3004 c ON a.FHeadSelfJ0184 = c.FItemID
where a.FStatus in (0,5,1) and b.FQty is not null and a.FCancellation=0 AND c.FName NOT LIKE'%ZZB%'
group by a.FItemID) sc on sc.scFItemID=a.FItemID
group by b.FNumber,b.FName,b.FModel,a.fenlei,kucqty,YXFQTY,shFQTY,wscqty
order by  b.FNumber


exec sp_rename 'a_yx_dd.yuefen1',@date1
exec sp_rename 'a_yx_dd.yuefen2',@date2
exec sp_rename 'a_yx_dd.yuefen3',@date3
exec sp_rename 'a_yx_dd.yuefen4',@date4
exec sp_rename 'a_yx_dd.yuefen5',@date5
exec sp_rename 'a_yx_dd.yuefen6',@date6
exec sp_rename 'a_yx_dd.yuefen7',@date7
exec sp_rename 'a_yx_dd.yuefen8',@date8
exec sp_rename 'a_yx_dd.yuefen9',@date9
exec sp_rename 'a_yx_dd.yuefen10',@date10
exec sp_rename 'a_yx_dd.yuefen11',@date11
exec sp_rename 'a_yx_dd.yuefen12',@date12


--

select  * from a_yx_dd

set nocount off
--exec test1124

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值