|
|
发表于 2012/6/29 21:44:55
|
显示全部楼层
我写了个存储过程,是查询OVAR关订单后,哪些料没领的结果。
ALTER Proc [dbo].[SP_REP_MO_PICK]
(@DATE1 AS DATETIME,
@DATE2 AS DATETIME)
AS
--DECLARE @DATE datetime
--set @DATE='2012/5/22'
--插入PICK--
Select OrderNumber,LineNumber,ComponentItemNumber,
sum(Case When IssueType='I' Then IssuedQuantity Else -1*IssuedQuantity End) As PICKQTY Into #PICK1
From dbo.FS_HistoryPick
Where OrderType='M' And IssuedQuantity>0 And ComponentItemNumber Not Like 'WC%' AND RTRIM(OrderNumber)+'-'+Convert(char(3),LineNumber) IN
(Select OrderNumber+'-'+Convert(char(3),OrderLineNumber) From dbo.FS_ClosedOrderLineVariance a
inner join dbo.FS_ClosedOrderAnalysisRun b on a.ClosedOrderAnalysisRunKey=b.ClosedOrderAnalysisRunKey
where OrderType='M' AND dateadd(day,datediff(day,0,StartDateTime),0) between @DATE1 and @DATE2)
Group by OrderNumber,LineNumber,ComponentItemNumber
Order by OrderNumber,LineNumber,ComponentItemNumber
--插入BK-FL--
Insert Into #PICK1(OrderNumber,LineNumber,ComponentItemNumber,PICKQTY)
Select OrderNumber,LineNumber,ComponentItemNumber,
sum(Case When IssueType='I' Then IssuedQuantity Else -1*IssuedQuantity End) As PICKQTY
From dbo.FS_HistoryBackflush Where OrderType='M' And IssuedQuantity>0 And ComponentItemNumber Not Like 'WC%' AND RTRIM(OrderNumber)+'-'+Convert(char(3),LineNumber) IN
(Select OrderNumber+'-'+Convert(char(3),OrderLineNumber) From dbo.FS_ClosedOrderLineVariance a
inner join dbo.FS_ClosedOrderAnalysisRun b on a.ClosedOrderAnalysisRunKey=b.ClosedOrderAnalysisRunKey
where OrderType='M' AND dateadd(day,datediff(day,0,StartDateTime),0) between @DATE1 and @DATE2)
Group by OrderNumber,LineNumber,ParentItemNumber,ComponentItemNumber
Order by OrderNumber,LineNumber,ComponentItemNumber
--入库数--
select b.MONumber,a.MOLineNumber,c.ItemNumber,c.ItemDescription,ReceiptQuantity,ComponentItemNumber,d.ItemDescription as ItemDe,sum(PICKQTY) As QTY from dbo.FS_MOLine a
inner join dbo.FS_MOHeader b on a.MOHeaderKey=b.MOHeaderKey
inner join dbo.FS_Item c on a.ItemKey=c.ItemKey
left join (Select a.*,b.ItemDescription from #PICK1 a inner join FS_Item b on a.ComponentItemNumber=b.ItemNumber) d on b.MONumber=d.OrderNumber and a.MOLineNumber=d.LineNumber
where RTRIM(b.MONumber)+'-'+Convert(char(3),a.MOLineNumber) in (Select OrderNumber+'-'+Convert(char(3),OrderLineNumber) From dbo.FS_ClosedOrderLineVariance a
inner join dbo.FS_ClosedOrderAnalysisRun b on a.ClosedOrderAnalysisRunKey=b.ClosedOrderAnalysisRunKey
where OrderType='M' AND dateadd(day,datediff(day,0,StartDateTime),0)between @DATE1 and @DATE2)
Group by b.MONumber,a.MOLineNumber,c.ItemNumber,c.ItemDescription,ReceiptQuantity,ComponentItemNumber,d.ItemDescription
Order by b.MONumber,a.MOLineNumber |
|