金蝶K3采购物料交货期异常检讨报告

根据采购订单和订单关联生成的收料通知单或者外购入库单检查出要求到货和实际到货异常的单据

create proc stkd_采购_物料交货期异常检讨报告

@begdate datetime,
@enddate datetime,
@begnumber varchar(50),
@endnumber varchar(50),
@su varchar(80)

as
set nocount on

select @endnumber='zzzzzz' where @endnumber=''

create table #aa(
fitemid 
int,
fnumber 
varchar(80default(''),
fname 
varchar(80default(''),
faskdate 
datetime default(1900-0-0),
fdate 
datetime default(1900-0-0),
fdifdate 
int default(0),
fnote 
varchar(255default(''),
forderno 
varchar(30default(''),
forderid 
int default(0),
forderentry 
int default(0),
femp 
varchar(50default(''),
fsu 
varchar(80default('')
)

insert into #aa(fitemid,forderno,faskdate,forderid,fnote,forderentry,femp,fsu)
select poe.fitemid,po.fbillno,poe.FDate,po.finterid,poe.fnote,poe.fentryid,te.fname,ti.fname
from poorder po,poorderentry poe,t_emp te,t_item ti
where po.finterid=poe.finterid and po.fempid=te.fitemid and po.fsupplyid=ti.fitemid
and ti.fname like '%'+@su+'%'

update t1
set t1.fdate=t2.fdate
from #aa t1,POInStock t2,POInStockentry t3
where t2.finterid=t3.finterid and t1.fitemid=t3.fitemid and t1.forderid=t3.fsourceinterid and t1.forderentry=t3.fsourceentryid


update t1 set t1.fnumber =t2.fnumber,t1.fname=t2.fname
from #aa t1,t_icitem t2
where t1.fitemid=t2.fitemid

select fnumber as 物料编码,fname as 物料名称,faskdate as 要求到货日期,min(fdate) as 实际到货日期,0 as 迟到天数,
fnote 
as 订单备注,forderno as 订单编码,femp as 采购员,fsu as 供应商 into #aaa from #aa
where faskdate>=@begdate and faskdate<=@enddate and fnumber >= @begnumber and fnumber <= @endnumber
group by fnumber,fname,faskdate,fnote,forderno,femp,fsu
-- order by forderno
order by faskdate

update #aaa set 迟到天数=datediff(day,要求到货日期,实际到货日期) 
select * from #aaa

drop table #aa

 

 

GO
posted @ 2008-08-07 02:18  arrowolf  阅读(814)  评论(0)    收藏  举报