USE [ChangHongWMS612]
GO

/****** Object: StoredProcedure [dbo].[st_WMS_RptMaterialInOutDaily] Script Date: 05/12/2015 17:24:27 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
/*create by :zhuss

Date:2014-12-19
Remark:原料投入产出报表
原存储过程名称:WMS_RptMaterialInOutDaily
*/
ALTER Proc [dbo].[st_WMS_RptMaterialInOutDaily](
@StartDate varchar(10)= '',
@EndDate varchar(10)='',
@MaterialNO varchar(50) = ''
)
as
if @EndDate='' select @EndDate=CONVERT(varchar(10),getdate(),121)
select @StartDate = CONVERT(varchar(10),convert(datetime,@StartDate),121)
select @EndDate = CONVERT(varchar(10),convert(datetime,@EndDate),121)

exec st_WMS_JobReDoMaterialInOut 'RptMaterialInOutDaily'

select t1.* ,
BillAges = datediff(day,
(select top 1 m.CreateTime
from KIT_MaterialStockIn m
where m.MQty>0 and m.RawNO = t1.MaterialNO
and m.SupplyNO = t1.SupplyNO
order by m.CreateTime desc)
,getdate())

from WMS_RptMaterialInOutDaily t1
where CurrDate between @StartDate and @EndDate
and (@MaterialNO = '' or (MaterialNO like '%' +@MaterialNO+'%' or MaterialName like '%' +@MaterialNO+'%'))
order by CurrDate,MaterialNO

GO

---------------------------------------

USE [ChangHongWMS612]
GO

/****** Object: StoredProcedure [dbo].[st_WMS_JobReDoMaterialInOut] Script Date: 05/12/2015 17:33:05 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

/*
create by :hz
create time:2014-12-19
Remark:执行原料出入库
原存储过程名:JOB_ReDoMaterialInOut
*/
ALTER proc [dbo].[st_WMS_JobReDoMaterialInOut]
(
--WMS_RptMaterialInOutDaily
@JobName varchar(50) = 'RptMaterialInOutDaily'--@r_DoJob varchar(50) = ''
)
as

declare @CurrDate varchar(10), @UpdateDate datetime, @Feeding_Time varchar(19), @CurrTime varchar(19)
declare CursorD cursor local
For
select distinct convert(varchar(10),FeedTime,121), ApprovedDate = CONVERT(varchar(14),CreateTime,121)+'00:00',convert(varchar(19),FeedTime,121)
from KIT_FeedSupply
where CreateTime>= CONVERT(varchar(10),GETDATE(),121)
union
select ChgDate = convert(varchar(10),HopperTime,121), ApprovedDate = CONVERT(varchar(14),CreateTime,121)+'00:00',convert(varchar(19),HopperTime,121)
from KIT_HopperRecord

Open CursorD
Fetch next From CursorD Into @CurrDate, @UpdateDate, @Feeding_Time
While(@@Fetch_Status = 0)
Begin
if(@JobName = '' or @JobName = 'RptMaterialInOutDaily')
begin
if(exists(select * from WMS_JobDoRpt
where JobName = 'RptMaterialInOutDaily' and CurrDate = @CurrDate and UpdateTime<=@UpdateDate)
or not exists(select * from WMS_JobDoRpt
where JobName = 'RptMaterialInOutDaily' and CurrDate = @CurrDate))
begin
select @CurrTime = @CurrDate + ' 23:59:59'

exec [dbo].[st_WMS_JobGenRptMaterialInOut] @CurrTime
end
end

Fetch next From CursorD Into @CurrDate, @UpdateDate, @Feeding_Time
End
Close CursorD
Deallocate CursorD

GO

------------------------------------------------

USE [ChangHongWMS612]
GO

/****** Object: StoredProcedure [dbo].[st_WMS_JobGenRptMaterialInOut] Script Date: 05/12/2015 17:42:39 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

/*
Create by:hz
Create time:2014-12-18
Remark:原料投入产出日报表
原存储过程名:Job_GenRptMaterialInOut
--2014-12-18 hz ChiefMESNew 修改为ChangHong_612
exec st_WMS_JobGenRptMaterialInOut '2015-01-27 08:30:00'
*/
ALTER Proc [dbo].[st_WMS_JobGenRptMaterialInOut](
@CurrDate varchar(19) = '2014-11-30 08:30:00'--@r_Date varchar(19) = '2014-11-30 08:30:00'
)
as

declare @Date varchar(10), @NextDate varchar(10)
declare @BeginDate varchar(19), @EndDate varchar(19)
if(@CurrDate = '')
begin
set @Date = convert(varchar(10),dateadd(day,-1,GETDATE()),121)
end
else
begin
select @Date=convert(varchar(10), @CurrDate,120)
end

select @NextDate = CONVERT(varchar(10),dateadd(day,1,@Date),121)

declare @MonthFrom varchar(10)
select @MonthFrom = convert(varchar(10),DATEADD(day,-DATEPART(day, @CurrDate)+1,@CurrDate ),121) --月初

select @BeginDate=@Date+' 08:30:00', @EndDate=@NextDate+' 08:30:00'

delete from WMS_RptMaterialInOutDaily where CurrDate = @Date
if object_id('tempdb..#t_RptMaterialInOutDaily') is not null drop table #t_RptMaterialInOutDaily
select * into #t_RptMaterialInOutDaily from WMS_RptMaterialInOutDaily where 1 = 0
create table #t_Material(MaterialNO varchar(50),MaterialName varchar(100), SupplyCode varchar(50), FeedGrade varchar(50), MaterialClass varchar(100), Unit varchar(50))

insert into #t_Material(MaterialNO,MaterialName, SupplyCode,FeedGrade,MaterialClass, Unit)
select distinct MaterialNO, MaterialName, SupNO, FeedGrade, MaterialsClassification, Units
from ChangHong_612.dbo.MES_MaterialPacket

insert into #t_RptMaterialInOutDaily(CurrDate, MaterialNO, MaterialName, SupplyNO,MaterialClass, FeedGrade, Unit, Process, CostCenter)
select @Date, MaterialNO, MaterialName, SupplyCode,MaterialClass, FeedGrade, Unit, '612','8002107'
from #t_Material

--仓库本日领入
update t1 set TodayLinInQty =(select SUM(m.MQty)
from KIT_MaterialStockIn m
where m.MQty>0 and charindex('转入',isnull(m.StateDesc,''))=0
and isnull(m.CheckTime,m.CreateTime) between @BeginDate and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--仓库月累计领入
update t1 set MonthLinInQty =(select SUM(m.MQty)
from KIT_MaterialStockIn m
where m.MQty>0 and charindex('转入',isnull(m.StateDesc,''))=0
and isnull(m.CheckTime,m.CreateTime) between @MonthFrom and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--仓库本日转入
update t1 set TodayZhuanInQty =(select SUM(m.MQty)
from KIT_MaterialStockIn m
where m.MQty>0 and charindex('转入',isnull(m.StateDesc,''))>0
and isnull(m.CheckTime,m.CreateTime) between @BeginDate and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--仓库月累计转入
update t1 set MonthZhuanInQty =(select SUM(m.MQty)
from KIT_MaterialStockIn m
where m.MQty>0 and charindex('转入',isnull(m.StateDesc,''))>0
and isnull(m.CheckTime,m.CreateTime) between @MonthFrom and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--转入单位
update t1 set ZhunInUnit =(select max(Unit)
from KIT_MaterialStockIn m
where m.MQty>0 and charindex('转入',isnull(m.StateDesc,''))>0
and isnull(m.CheckTime,m.CreateTime) between @BeginDate and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1
--select * from WMS_RptMaterialInOutDaily where CurrDate = '2014-11-19'
--select * from KIT_MaterialStockIn
--select * from WMS_RptMaterialInOutDaily where isnull(TodayZhuanOutQty,0)<>isnull(BZTodayLinIn,0) and CurrDate='2014-11-20'
--select * from KIT_MaterialStockIn where MATERIAL='810498396' and C_DATE>='2014-11-20'
--仓库本日发出

update t1 set TodayOutQty =(select SUM(isnull(m.GQty,0)-ISNULL(m.RQty,0))
from KIT_MaterialStockIn m
where (m.GQty>0 or m.RQty>0) and charindex('转移',isnull(m.StateDesc,''))=0
and isnull(m.CheckTime,m.CreateTime) between @BeginDate and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--仓库月累计发出
update t1 set MonthOutQty =(select SUM(isnull(m.GQty,0)-ISNULL(m.RQty,0))
from KIT_MaterialStockIn m
where (m.GQty>0 or m.RQty>0) and charindex('转移',isnull(m.StateDesc,''))=0
and isnull(m.CheckTime,m.CreateTime) between @MonthFrom and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--仓库本日转出
update t1 set TodayZhuanOutQty =(select SUM(m.GQty)
from KIT_MaterialStockIn m
where m.GQty>0 and charindex('转移',isnull(m.StateDesc,''))>0
and isnull(m.CheckTime,m.CreateTime) between @BeginDate and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--仓库月累计转出
update t1 set MonthZhuanOutQty =(select SUM(m.GQty)
from KIT_MaterialStockIn m
where m.GQty>0 and charindex('转移',isnull(m.StateDesc,''))>0
and isnull(m.CheckTime,m.CreateTime) between @MonthFrom and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--转出单位
update t1 set ZhunOutUnit =(select max(m.Unit)
from KIT_MaterialStockIn m
where m.GQty>0 and charindex('转移',isnull(m.StateDesc,''))>0
and isnull(m.CheckTime,m.CreateTime) between @BeginDate and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--昨日结存
declare @LastDate varchar(10), @LastBeginDate varchar(19), @LastEndDate varchar(19)
select @LastDate = CONVERT(varchar(10),dateadd(day,-1,convert(datetime,@date)),121)
select @LastBeginDate = @LastDate+' 08:30:00', @LastEndDate = @Date+' 08:30:00'

update t set LastStockQty =(
select top 1 r.MQty
from KIT_StockBatchCheck r
where State =5 and isnull(r.CheckTime,r.CreateTime) between @LastBeginDate and @LastEndDate
and r.RawNo = t.MaterialNO
and r.SupplyNo = t.SupplyNO
order by r.CreateTime desc)
from #t_RptMaterialInOutDaily t

update t set LastStockQty =(select top 1 TodayStockQty from WMS_RptMaterialInOutDaily r where r.SupplyNO = t.SupplyNO and r.MaterialNO = t.MaterialNO and r.CurrDate = @LastDate)
from #t_RptMaterialInOutDaily t
where t.LastStockQty is null

--班组本日领入
update t1 set BZTodayLinIn =(select SUM(isnull(m.MQty,0)-ISNULL(m.RQty,0))
from KIT_StockDetail m
where (m.MQty>0 or m.RQty>0)
and isnull(m.CheckTime,m.CreateTime) between @BeginDate and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--班组月累计领入
update t1 set BZMonthLinIn =(select SUM(isnull(m.MQty,0)-ISNULL(m.RQty,0))
from KIT_StockDetail m
where (m.MQty>0 or m.RQty>0)
and isnull(m.CheckTime,m.CreateTime)between @MonthFrom and @EndDate
and m.RawNO = t1.MaterialNO and m.SupplyNO = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--班组本日加料
update t1 set BZTodayPutQty =(select SUM(m.feedingQty)
from ChangHong_612.dbo.MES_Material m
where m.feedingTime between @BeginDate and @EndDate
and m.MaterialNO = t1.MaterialNO and m.supplier = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--班组月累计加料
update t1 set BZMonthPutQty =(select SUM(m.feedingQty)
from ChangHong_612.dbo.MES_Material m
where m.feedingTime between @MonthFrom and @EndDate
and m.MaterialNO = t1.MaterialNO and m.supplier = t1.SupplyNO
)
from #t_RptMaterialInOutDaily t1

--班组昨日结存
update t1 set BZLastStockQty =(select top 1 MQty
from KIT_StockCheck r
where State =6 and isnull(r.CheckTime,r.CreateTime) between @LastBeginDate and @LastEndDate
and r.RawNo = t1.MaterialNO
and r.SupplyNo = t1.SupplyNO
order by r.CreateTime desc)
from #t_RptMaterialInOutDaily t1

update t set BZLastStockQty =(select top 1 BZTodayStock from WMS_RptMaterialInOutDaily r where r.SupplyNO = t.SupplyNO and r.MaterialNO = t.MaterialNO and r.CurrDate = @LastDate)
from #t_RptMaterialInOutDaily t
where BZLastStockQty is null

--班组本日结存
update t set BZTodayStock = isnull(BZLastStockQty,0)+ISNULL(BZTodayLinIn,0)-ISNULL(BZTodayPutQty,0)
from #t_RptMaterialInOutDaily t

--料斗期初余料
update t1 set HopperTermBeginQty =isnull((select top 1 HopperTermEndQty from WMS_RptMaterialInOutDaily r where r.SupplyNO = t1.SupplyNO and r.MaterialNO = t1.MaterialNO and r.CurrDate = @LastDate
),0)
from #t_RptMaterialInOutDaily t1

--料斗本日加料
update t1 set HopperTodayPutQty = BZTodayPutQty
from #t_RptMaterialInOutDaily t1

--仓库本日结存:仓库昨日结存+仓库本日领入+仓库本日转入-仓库本日发出-仓库本日转出
update t set TodayStockQty =isnull(LastStockQty,0)+isnull(TodayLinInQty,0)+isnull(TodayZhuanInQty,0)-isnull(TodayOutQty,0)-isnull(TodayZhuanOutQty,0)
from #t_RptMaterialInOutDaily t

--update t1 set HopperMonthPutQty =(select SUM(m.T_NUM)
-- from Kitting.dbo.kitting_h_p_no_num m
-- where m.C_DATE between @MonthFrom and @EndDate
-- and m.HH_GNO = t1.MaterialNO and m.SUP_NO = t1.SupplyNO
-- )
--from #t_RptMaterialInOutDaily t1

--本日消耗
update t1 set TodayConsumQty =isnull(TodayConsumQty,0)+ isnull((select SUM(r.ActualQty*(MaterialQty1/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.MaterialNo1 = t1.MaterialNO
and r.SupplyCode = t1.SupplyNO and r.MaterialSumQty>0
),0)
from #t_RptMaterialInOutDaily t1

update t1 set TodayConsumQty =isnull(TodayConsumQty,0)+ isnull((select SUM(r.ActualQty*(MaterialQty2/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.MaterialNo2 = t1.MaterialNO
and r.SupplyCode2 = t1.SupplyNO and r.MaterialSumQty>0
),0)
from #t_RptMaterialInOutDaily t1

update t1 set TodayConsumQty =isnull(TodayConsumQty,0)+ isnull((select SUM(r.ActualQty*(MaterialQty3/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.MaterialNo3 = t1.MaterialNO
and r.SupplyCode3 = t1.SupplyNO and r.MaterialSumQty>0
),0)
from #t_RptMaterialInOutDaily t1

update t1 set TodayConsumQty = isnull(TodayConsumQty,0)+isnull((select SUM(r.ActualQty*(r.SheMuQty/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.SheMuCode = t1.MaterialNO
and r.SheMuSupply = t1.SupplyNO and r.MaterialSumQty>0
),0)
from #t_RptMaterialInOutDaily t1

update t1 set TodayConsumQty = isnull(TodayConsumQty,0)+isnull((select SUM(r.ActualQty*(r.SheMuQty1/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.SheMuCode1 = t1.MaterialNO
and r.SheMu1Supply = t1.SupplyNO and r.MaterialSumQty>0
),0)
from #t_RptMaterialInOutDaily t1

update t1 set TodayConsumQty = isnull(TodayConsumQty,0)+isnull((select SUM(r.ActualQty*(r.CycleQty1/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.CycleNo1 = t1.MaterialNO
and r.Cycle1Supply = t1.SupplyNO and r.MaterialSumQty>0
),0)
from #t_RptMaterialInOutDaily t1

update t1 set TodayConsumQty = isnull(TodayConsumQty,0)+isnull((select SUM(r.ActualQty*(r.CycleQty2/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.CycleNo2 = t1.MaterialNO
and r.Cycle2Supply = t1.SupplyNO
),0)
from #t_RptMaterialInOutDaily t1

update t1 set TodayConsumQty = isnull(TodayConsumQty,0)+isnull((select SUM(r.ActualQty*(r.CycleQty3/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.CycleNo3 = t1.MaterialNO
and r.Cycle3Supply = t1.SupplyNO and r.MaterialSumQty>0
),0)
from #t_RptMaterialInOutDaily t1

--料斗期末余料:取当日投料报表班组余料
update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.MaterialQty1/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.MaterialNo1 = t1.MaterialNO and r.MaterialSumQty>0
and r.SupplyCode = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.MaterialQty2/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.MaterialNo2 = t1.MaterialNO and r.MaterialSumQty>0
and r.SupplyCode2 = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.MaterialQty3/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.MaterialNo3 = t1.MaterialNO and r.MaterialSumQty>0
and r.SupplyCode3 = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.SheMuQty/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.SheMuCode = t1.MaterialNO and r.MaterialSumQty>0
and r.SheMuSupply = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.SheMuQty1/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.SheMuCode1 = t1.MaterialNO and r.MaterialSumQty>0
and r.SheMu1Supply = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.CycleQty1/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.CycleNo1 = t1.MaterialNO and r.MaterialSumQty>0
and r.Cycle1Supply = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.CycleQty2/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.CycleNo1 = t1.MaterialNO and r.MaterialSumQty>0
and r.Cycle2Supply = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

update t1 set HopperTermEndQty = isnull(HopperTermEndQty,0)+ isnull((select SUM(r.JiaoPlusQty*(r.CycleQty3/r.MaterialSumQty))
from WMS_RptMaterialPutDaily r
where r.CurrDate = t1.CurrDate and r.CycleNo1 = t1.MaterialNO and r.MaterialSumQty>0
and r.Cycle3Supply = t1.SupplyNO),0)
from #t_RptMaterialInOutDaily t1

--混料结存(暂存)

update t1 set TodayMixQty =
(select SUM(r.OverQty)
from KIT_MixOver r
where r.RawNO = t1.MaterialNO and STATE = 0
and r.SupplyNO = t1.SupplyNO
and r.MixTime <=@EndDate
)
from #t_RptMaterialInOutDaily t1

--合计库存:仓库本日结存+班组本日结存+料斗本日结存+暂存库存
update t1 set SumStockQty = isnull(TodayStockQty,0)+isnull(BZTodayStock,0)+isnull(HopperTermEndQty,0)+ISNULL(TodayMixQty,0)
from #t_RptMaterialInOutDaily t1

--合计期初库存
update t1 set SumTermBeginQty = (select top 1 SumStockQty from WMS_RptMaterialInOutDaily r where r.SupplyNO = t1.SupplyNO and r.MaterialNO = t1.MaterialNO and r.CurrDate <@MonthFrom)
from #t_RptMaterialInOutDaily t1

--期初库存
update t1 set TermBeginQty = (select top 1 TodayStockQty from WMS_RptMaterialInOutDaily r where r.SupplyNO = t1.SupplyNO and r.MaterialNO = t1.MaterialNO and r.CurrDate <@MonthFrom)
from #t_RptMaterialInOutDaily t1

delete from #t_RptMaterialInOutDaily where isnull(TodayStockQty,0) = 0 and isnull(TodayOutQty,0) = 0
and isnull(LastStockQty,0) = 0 and isnull(ZhunInUnit,0)= 0
and ISNULL(SumStockQty,0) = 0 and isnull(BZTodayStock,0) = 0 and ISNULL(TodayZhuanInQty,0)=0
and ISNULL(TodayZhuanOutQty,0)= 0 and ISNULL(BZTodayLinIn,0)=0 and ISNULL(HopperTodayPutQty,0) = 0
and ISNULL(BZTodayPutQty,0)=0

declare @TodayAffactRows int

insert into WMS_RptMaterialInOutDaily([CurrDate],[SupplyNO]
,[MaterialNO],[MaterialName],[MaterialClass]
,[FeedGrade],[Unit],[SumStockQty],[SumTermBeginQty]
,[TermBeginQty],[LastStockQty],[MonthLinInQty]
,[TodayZhuanInQty],[MonthZhuanInQty],[ZhunInUnit]
,[TodayOutQty],[MonthOutQty],[TodayZhuanOutQty]
,[MonthZhuanOutQty],[ZhunOutUnit],[TodayStockQty]
,[BZSumStockQty],[BZLastStockQty]
,[BZTodayLinIn],[BZMonthLinIn]
,[BZTodayPutQty],[BZMonthPutQty]
,[BZTodayStock],[HopperTermBeginQty]
,[HopperTodayPutQty],[HopperMonthPutQty],[TodayConsumQty]
,[HopperTermEndQty],[AdjustQty]
,[Remark],[Process],[CostCenter],[TodayLinInQty],TodayMixQty
)
select [CurrDate],[SupplyNO]
,[MaterialNO],[MaterialName],[MaterialClass]
,[FeedGrade],[Unit],[SumStockQty],[SumTermBeginQty]
,[TermBeginQty],[LastStockQty],[MonthLinInQty]
,[TodayZhuanInQty],[MonthZhuanInQty],[ZhunInUnit]
,[TodayOutQty],[MonthOutQty],[TodayZhuanOutQty]
,[MonthZhuanOutQty],[ZhunOutUnit],[TodayStockQty]
,[BZSumStockQty],[BZLastStockQty]
,[BZTodayLinIn],[BZMonthLinIn]
,[BZTodayPutQty],[BZMonthPutQty]
,[BZTodayStock],[HopperTermBeginQty]
,[HopperTodayPutQty],[HopperMonthPutQty],[TodayConsumQty]
,[HopperTermEndQty],[AdjustQty]
,[Remark],[Process],[CostCenter],[TodayLinInQty],TodayMixQty
from #t_RptMaterialInOutDaily

select @TodayAffactRows = @@ROWCOUNT
if(@CurrDate = '') set @CurrDate =@CurrDate
if(not exists(select * from WMS_JobDoRpt where JobName = 'RptMaterialInOutDaily' and CurrDate = @CurrDate))
begin
insert into WMS_JobDoRpt(JobName,CurrDate,UpdateTime)
select 'RptMaterialInOutDaily',@CurrDate ,GETDATE()
end
else
begin
update WMS_JobDoRpt set Updatetime = getdate() ,LastAffactRows =@TodayAffactRows
where JobName = 'RptMaterialInOutDaily' and CurrDate = @CurrDate
end
-- select * from RptMaterialInOutDaily
drop table #t_RptMaterialInOutDaily

GO

Erp:原料投入产出报表的更多相关文章

  1. 不要拿ERP的报表忽悠领导!——一个报表引发的企业经营反思

    文 | 帆软数据应用研究院船长 本文出自:知乎专栏<帆软数据应用研究院>——数据干货&资讯集中地 领导的经营决策能只依赖于ERP报表吗? 不能! 1. ERP报表个性化不足:企业经 ...

  2. 联想ERP项目实施案例分析(10):回到最初再反思IT价值

    联想ERP项目实施案例分析(10):回到最初再反思IT价值 投入上千万(未来每年的维护费也非常高),投入一年实施时间,高级副总裁亲自挂帅,各级业务部门管理者亲自负责.骨干业务人员充当区域IT实施者/推 ...

  3. 应用ERP系统与企业的关系

      随着ERP系统的深入发展,越来越多的企业开始实施ERP,ERP实施是借用一种新的管理模式来改造原企业旧的管理模式,是先进的.行之有效的管理思想和方法.ERP软件在实际的推广应用中,其应用深度和广度 ...

  4. ORACLE ERP各模块会计分录

      ORACLE ERP各模块会计分录   第一章 采购模块 一.资产采购(科目来源:库存组织) 1.物料接收 借  材料采购     接收数量*采购单价 贷 应计暂估     接收数量*采购单价 2 ...

  5. ERP系统

    ERP系统是企业资源计划(Enterprise Resource Planning )的简称,是指建立在信息技术基础上,集信息技术与先进管理思想于一身,以系统化的管理思想,为企业员工及决策层提供决策手 ...

  6. FineReport实现java报表统计图表的效果图

    Java报表-ERP图表联动 Java报表-多维坐标轴图 Java报表-静态图表 Java报表-时间坐标轴 Java报表-图表报表动态交互 Java报表-图表热点链接 Java报表-图表缩放 Java ...

  7. 吉特仓储管理系统-ERP或WMS系统中常见术语

    MPS---主生产计划(Master Production schedules) MTO---订货生产(Make-to-Order) BOM---物料清单或产品结构表(Bill of material ...

  8. 国际制造执行系统(MES)应用与发展

    某些专家认为,当今制造业的生存三要素是信息技术(IT).供应链管理(SCM)和成批制造技术.使用信息技术就是由依赖人工的作业方式转变为作业的快速化.高效化,大量减少人工介入,降低生产经营成本:供应链管 ...

  9. 易普优APS与国外知名高级计划排程系统对比

    众所周知软件执行效率受制于硬件性能,市面上的APS产品多为单机版本,企业要应用好APS,保证紧急插单.计划下发全程无忧,用户电脑硬件性能是不容忽视的一大瓶颈.APS的直接用户是车间管理人员.计划员,而 ...

随机推荐

  1. 对象不支持“attachEvent”属性或方法的解决办法

    有些脚本在IE11下执行会报错误: 对象不支持“attachEvent”属性或方法 解决办法 解决办法:把attachEvent改为addEventListener即可

  2. Material Design 设计--阴影的重要性

    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_cont ...

  3. 利用nginx+lua+memcache实现灰度发布

    一.灰度发布原理说明 灰度发布在百度百科中解释: 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什 ...

  4. LeetCode: Unique Paths I & II & Minimum Path Sum

    Title: https://leetcode.com/problems/unique-paths/ A robot is located at the top-left corner of a m  ...

  5. linux 安装oracle 11g

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  6. Ruby 文件处理

    #r read, #w write, #a append, #r+ 读写方式 从文件的头位置开始读取或写入, #w+ 读写方式,如果文件已存在清空该文件,不存在就创建一个新的文件, #a+ 如果文件存 ...

  7. mysql优化小技巧

    对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平 ...

  8. C#的switch与二维数组.....

    今天由于工作上的需要, 改了几行C#  的代码, 发现有一些细微的语法区别,与C++, 像switch语句那样, 我一般不会在default后面加上break,语句, 可是发现如果不加上的话,就会报下 ...

  9. .Net刷新页面的小结

    现在给大家讲讲在.Net中书信页面的几种方式: 第一: private void Button1_Click( object sender, System.EventArgs e ) { Respon ...

  10. 【LeetCode 230】Kth Smallest Element in a BST

    Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...