|
|
--日结插件入口
|
|
|
if exists (select name from sysobjects where name='p_sys_day_over_plugin' and xtype='p')
|
|
|
drop procedure p_sys_day_over_plugin
|
|
|
go
|
|
|
create procedure p_sys_day_over_plugin
|
|
|
(
|
|
|
@orgcode varchar(10),
|
|
|
@accdate varchar(10),
|
|
|
@acctimes int,
|
|
|
@usercode varchar(10),
|
|
|
@vipdbname varchar(20),
|
|
|
@message varchar(200) out
|
|
|
)
|
|
|
as
|
|
|
declare @psmsg varchar(200)
|
|
|
begin
|
|
|
declare @curedition varchar(1)
|
|
|
declare @finaltype varchar(1)
|
|
|
declare @irtnresult int
|
|
|
declare @srtnmsg varchar(200)
|
|
|
declare @sautopdaccount varchar(1)
|
|
|
declare @ssql varchar(2000)
|
|
|
set @sautopdaccount = isnull(@sautopdaccount,'0')
|
|
|
set @finaltype = null
|
|
|
|
|
|
--销售明细
|
|
|
exec @irtnresult = p_int_gen_flow_item @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--销售成本
|
|
|
exec @irtnresult = p_int_gen_flow_chg @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--支付方式
|
|
|
exec @irtnresult = p_int_gen_flow_pay @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--现金缴存
|
|
|
exec @irtnresult = p_int_gen_flow_pay_cash @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--非油采购验收
|
|
|
exec @irtnresult = p_int_gen_accept @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--非油采购退货
|
|
|
exec @irtnresult = p_int_gen_return @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--历史进价调整
|
|
|
exec @irtnresult = p_int_gen_buy_price_his @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--现存进价调整
|
|
|
exec @irtnresult = p_int_gen_buy_price_now @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--领用
|
|
|
exec @irtnresult = p_int_gen_draw @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--自然报损
|
|
|
exec @irtnresult = p_int_gen_scrap @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--非自然报损
|
|
|
exec @irtnresult = p_int_gen_damage @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--盘点
|
|
|
exec @irtnresult = p_int_gen_differ @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--配送
|
|
|
exec @irtnresult = p_int_gen_dist @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--配退
|
|
|
exec @irtnresult = p_int_gen_dist_return @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--配送销售
|
|
|
exec @irtnresult = p_int_gen_dist_sale @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--配送成本
|
|
|
exec @irtnresult = p_int_gen_dist_chg @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--调拨
|
|
|
exec @irtnresult = p_int_gen_out_trans @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--批发销售
|
|
|
exec @irtnresult = p_int_gen_wh_sale @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
--批发成本
|
|
|
exec @irtnresult = p_int_gen_wh_chg @orgcode, @accdate, @srtnmsg out
|
|
|
if @irtnresult <> 1
|
|
|
begin
|
|
|
insert into t_over_error (orgcode, overdate, overtime, errreason)
|
|
|
values (@orgcode, @accdate, convert(varchar(10), getdate(), 24), @srtnmsg)
|
|
|
end
|
|
|
|
|
|
set @message = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
--非油销售收入
|
|
|
if exists (select name from sysobjects where name='p_int_gen_flow_item' and xtype='p')
|
|
|
drop procedure p_int_gen_flow_item
|
|
|
go
|
|
|
create procedure p_int_gen_flow_item
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @tablename varchar(40)
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @tablename = 't_plusale_'+substring(@psaccdate,1,4)+substring(@psaccdate,6,2)
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if not exists(select * from sysobjects where name=@tablename)
|
|
|
begin
|
|
|
set @psmsg = '不存在表'+@tablename
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and sale.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
set @sql = 'insert into t_int_sap_drysalesinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,ZYWDAT,ZTYPE,ZCXLX,ZJYFS,' +
|
|
|
' VVTYP,MATNR,MENGE,MEINS,PRICE,SKTAK,SKTBT,TMWSTS,GTTAX,WAERS,ZTOLAMT,' +
|
|
|
' ZTSDAT,ZGZDAT,ZFNAME,ZUNFLG,ZYZLX,MWSKZ)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''F01'' as IFTYPE,FinaCode as BUKRS,OrgCode as WERKS,''1'' as ZSIGN,''P''+FinaCode+''1''+OrgCode as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F01'' as ZTYPE,''Z30'' as ZCXLX,''Z01'' as ZJYFS,' +
|
|
|
' '''' as VVTYP,ClsCode as MATNR,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,Total as PRICE,Total as SKTAK,0 as SKTBT,round(Total-Total/(1+STaxRate/100.00),2) as TMWSTS,0 as GTTAX,''CNY'' as WAERS,0 as ZTOLAMT,' +
|
|
|
' ''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,'''' as ZFNAME,case when Counts < 0 then ''Y'' else '''' end as ZUNFLG,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,' +
|
|
|
' case STaxRate when 0 then ''X0'' when 17 then ''X1'' when 13 then ''X2'' when 2 then ''X3'' when 6 then ''X4'' when 11 then ''X5'' when 16 then ''X7'' when 10 then ''X8'' when 9 then ''X9'' end as MWSKZ' +
|
|
|
' from (' +
|
|
|
' select AccDate,FinaCode,OrgCode,ClsCode,STaxRate,OrgType,sum(Total) as Total,sum(Amount) as Amount,sum(Counts) as Counts' +
|
|
|
' from (' +
|
|
|
' select sale.AccDate,shop.FinaCode,sale.OrgCode,class.UpperCode1 as ClsCode,sale.STaxRate,' +
|
|
|
' isnull((select JyMode from t_supplier where SupCode = sale.SupCode),''0'') as JyMode,' +
|
|
|
' sale.Counts,sale.Total,sale.Amount,shop.OrgType' +
|
|
|
' from ' + @tablename + ' sale, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where sale.OrgCode = shop.OrgCode' +
|
|
|
' and sale.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and sale.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' ) b' +
|
|
|
' where JyMode = ''0''' +
|
|
|
' group by AccDate,FinaCode,OrgCode,ClsCode,STaxRate,OrgType' +
|
|
|
' ) a' +
|
|
|
' where Amount <> 0 or Counts <> 0'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
set @sql = 'insert into t_int_sap_drysalesinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,ZYWDAT,ZTYPE,ZCXLX,ZJYFS,' +
|
|
|
' VVTYP,MATNR,MENGE,MEINS,PRICE,SKTAK,SKTBT,TMWSTS,GTTAX,WAERS,ZTOLAMT,' +
|
|
|
' ZTSDAT,ZGZDAT,ZFNAME,ZUNFLG,ZYZLX,MWSKZ)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''F01'' as IFTYPE,FinaCode as BUKRS,OrgCode as WERKS,''1'' as ZSIGN,''P''+FinaCode+''1''+OrgCode as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F01'' as ZTYPE,''Z30'' as ZCXLX,''Z03'' as ZJYFS,' +
|
|
|
' '''' as VVTYP,ClsCode as MATNR,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,Amount as PRICE,Total as SKTAK,DkTotal as SKTBT,round(DkTotal-DkTotal/(1+STaxRate/100.00),2) as TMWSTS,0 as GTTAX,''CNY'' as WAERS,0 as ZTOLAMT,' +
|
|
|
' ''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,'''' as ZFNAME,case when Counts < 0 then ''Y'' else '''' end as ZUNFLG,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,' +
|
|
|
' case STaxRate when 0 then ''X0'' when 17 then ''X1'' when 13 then ''X2'' when 2 then ''X3'' when 6 then ''X4'' when 11 then ''X5'' when 16 then ''X7'' when 10 then ''X8'' when 9 then ''X9'' end as MWSKZ' +
|
|
|
' from (' +
|
|
|
' select AccDate,FinaCode,OrgCode,ClsCode,STaxRate,OrgType,sum(Total) as Total,sum(Amount) as Amount,sum(Total-Cost) as DkTotal,sum(Counts) as Counts' +
|
|
|
' from (' +
|
|
|
' select sale.AccDate,shop.FinaCode,sale.OrgCode,class.UpperCode1 as ClsCode,sale.STaxRate,' +
|
|
|
' isnull((select JyMode from t_supplier where SupCode = sale.SupCode),''0'') as JyMode,' +
|
|
|
' sale.Counts,sale.Cost,sale.Total,sale.Amount,shop.OrgType' +
|
|
|
' from ' + @tablename + ' sale, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where sale.OrgCode = shop.OrgCode' +
|
|
|
' and sale.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and sale.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' ) b' +
|
|
|
' where JyMode = ''2''' +
|
|
|
' group by AccDate,FinaCode,OrgCode,ClsCode,STaxRate,OrgType' +
|
|
|
' ) a' +
|
|
|
' where Amount <> 0 or Counts <> 0'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总销售明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drysalesinfo
|
|
|
set DOCNO = 'XSD' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F01' and ZJYFS in ('Z01','Z03') and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
--非油库存成本
|
|
|
if exists (select name from sysobjects where name='p_int_gen_flow_chg' and xtype='p')
|
|
|
drop procedure p_int_gen_flow_chg
|
|
|
go
|
|
|
create procedure p_int_gen_flow_chg
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @tablename varchar(40)
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(2000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @tablename = 't_plusale_'+substring(@psaccdate,1,4)+substring(@psaccdate,6,2)
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if not exists(select * from sysobjects where name=@tablename)
|
|
|
begin
|
|
|
set @psmsg = '不存在表'+@tablename
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and sale.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
set @sql = 'insert into t_int_sap_inventorychginfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,WERKS,PRCTR,ZYWDAT,ZTYPE,MATNR,ZJYFS,' +
|
|
|
' SLTWR,WEARS,MENGE,DWERT,MEINS,ZTSDAT,ZGZDAT,ZCSBS,ZYZLX,UNFLG)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''F11'' as IFTYPE,FinaCode as BUKRS,''1'' as ZSIGN,OrgCode as WERKS,''P''+FinaCode+''1''+OrgCode as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F11'' as ZTYPE,ClsCode as MATNR,case JyMode when ''0'' then ''Z01'' else ''Z03'' end as ZJYFS,' +
|
|
|
' NetCost as SLTWR,''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,''X'' as ZCSBS,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,case when Counts < 0 then ''Y'' else '''' end as UNFLG' +
|
|
|
' from (' +
|
|
|
' select AccDate,FinaCode,OrgCode,ClsCode,JyMode,OrgType,sum(NetCost+NetAdjustProfit) as NetCost,sum(Counts) as Counts' +
|
|
|
' from (' +
|
|
|
' select sale.AccDate,shop.FinaCode,sale.OrgCode,class.UpperCode1 as ClsCode,' +
|
|
|
' isnull((select JyMode from t_supplier where SupCode = sale.SupCode),''0'') as JyMode,' +
|
|
|
' sale.NetCost,sale.NetAdjustProfit,sale.Counts,shop.OrgType' +
|
|
|
' from ' + @tablename + ' sale, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where sale.OrgCode = shop.OrgCode' +
|
|
|
' and sale.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and sale.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' ) b' +
|
|
|
' where JyMode = ''0''' +
|
|
|
' group by AccDate,FinaCode,OrgCode,ClsCode,OrgType,JyMode' +
|
|
|
' ) a' +
|
|
|
' where NetCost <> 0 or Counts <> 0'
|
|
|
|
|
|
exec(@sql)
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总销售成本失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_inventorychginfo
|
|
|
set DOCNO = 'XSC' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F11' and ZJYFS in ('Z01','Z03') and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
--非油支付
|
|
|
if exists (select name from sysobjects where name='p_int_gen_flow_pay' and xtype='p')
|
|
|
drop procedure p_int_gen_flow_pay
|
|
|
go
|
|
|
create procedure p_int_gen_flow_pay
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @tablename varchar(40)
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(2000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @tablename = 't_int_flow_pay_deily_'+substring(@psaccdate,1,4)+substring(@psaccdate,6,2)
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if not exists(select * from sysobjects where name=@tablename)
|
|
|
begin
|
|
|
set @psmsg = '不存在表'+@tablename
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and shop.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
set @sql = 'insert into t_int_sap_paymentreportinfo' +
|
|
|
' (CREATEDATE,IFTYPE,ZSIGN,ZTSDAT,BUKRS,PRCTR,KUNNR,' +
|
|
|
' SKART,ZYYDAT,WRBTR,WEARS,ZCXBS)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''Z01'' as IFTYPE,''1'' as ZSIGN,''' + @tsdat + ''' as ZTSDAT,FinaCode as BUKRS,''P''+FinaCode+''1''+OrgCode as PRCTR,OrgCode as KUNNR,' +
|
|
|
' PayCode,replace(AccDate,''-'','''') as ZYYDAT,Amount as WRBTR,''CNY'' as WEARS,case when Amount < 0 then ''Y'' else '''' end as ZCXBS' +
|
|
|
' from (' +
|
|
|
' select pay.BUSINESS_DATE as AccDate,shop.FinaCode,pay.WERKS as OrgCode,pay.MOP_ID as PayCode,sum(pay.AMOUNT) as Amount' +
|
|
|
' from ' + @tablename + ' pay, t_shop shop' +
|
|
|
' where pay.WERKS = shop.OrgCode' +
|
|
|
' and pay.ITEM_ID like ''20%''' + -- 只传非油品
|
|
|
' and pay.BUSINESS_DATE > ''2023-09-15''' +
|
|
|
' and pay.BUSINESS_DATE = ''' + @psaccdate + '''' + @where +
|
|
|
' group by pay.BUSINESS_DATE,shop.FinaCode,pay.WERKS,pay.MOP_ID' +
|
|
|
' ) a' +
|
|
|
' where Amount <> 0'
|
|
|
|
|
|
exec(@sql)
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总销售支付方式失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_paymentreportinfo
|
|
|
set DOCNO = 'ZFD' + ZTSDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'Z01' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
--非油现金
|
|
|
if exists (select name from sysobjects where name='p_int_gen_flow_pay_cash' and xtype='p')
|
|
|
drop procedure p_int_gen_flow_pay_cash
|
|
|
go
|
|
|
create procedure p_int_gen_flow_pay_cash
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @tablename varchar(40)
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(2000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @tablename = 't_int_flow_pay_deily_'+substring(@psaccdate,1,4)+substring(@psaccdate,6,2)
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if not exists(select * from sysobjects where name=@tablename)
|
|
|
begin
|
|
|
set @psmsg = '不存在表'+@tablename
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and shop.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
set @sql = 'insert into t_int_sap_cashpaymentinfo' +
|
|
|
' (CREATEDATE,IFTYPE,ZSIGN,ZTSDAT,BUKRS,PRCTR,KUNNR,SKART,' +
|
|
|
' ZYRDAT,JCRQ,WRBTR,JCYYK,SYBTR,CDYSK,JKDOC,ZGZDAT,WAERS,ZCXBS)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''Z02'' as IFTYPE,''1'' as ZSIGN,''' + @tsdat + ''' as ZTSDAT,FinaCode as BUKRS,''P''+FinaCode+''1''+OrgCode as PRCTR,OrgCode as KUNNR,''1000001'' as SKART,' +
|
|
|
' replace(AccDate,''-'','''') as ZYRDAT,replace(AccDate,''-'','''') as JCRQ,Amount as WRBTR,Amount as JCYYK,0 as SYBTR,0 as CDYSK,'''' as JKDOC,replace(AccDate,''-'','''') as ZGZDAT,''CNY'' as WAERS,case when Amount < 0 then ''Y'' else '''' end as ZCXBS' +
|
|
|
' from (' +
|
|
|
' select pay.BUSINESS_DATE as AccDate,shop.FinaCode,pay.WERKS as OrgCode,sum(pay.AMOUNT) as Amount' +
|
|
|
' from ' + @tablename + ' pay, t_shop shop' +
|
|
|
' where pay.WERKS = shop.OrgCode' +
|
|
|
' and pay.MOP_ID = ''40''' + -- 40-现金,该支付方式编码由BOS系统直接下发
|
|
|
' and pay.ITEM_ID like ''20%''' + -- 只传非油品
|
|
|
' and pay.BUSINESS_DATE > ''2023-09-15''' +
|
|
|
' and pay.BUSINESS_DATE = ''' + @psaccdate + '''' + @where +
|
|
|
' group by pay.BUSINESS_DATE,shop.FinaCode,pay.WERKS' +
|
|
|
' ) a' +
|
|
|
' where Amount <> 0'
|
|
|
|
|
|
exec(@sql)
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总现金支付失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_cashpaymentinfo
|
|
|
set DOCNO = 'ZFX' + ZTSDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'Z02' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_accept' and xtype='p')
|
|
|
drop procedure p_int_gen_accept
|
|
|
go
|
|
|
create procedure p_int_gen_accept
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--采购单汇总
|
|
|
set @sql = 'insert into t_int_sap_drypurchaseinfo ' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,MATNR,LIFNR,ZJYFS,' +
|
|
|
' ZYWDAT,ZTYPE,WAERS,SLTWR,DWERT,MENGE,MEINS,ZTSDAT,ZGZDAT,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''F02'' as IFTYPE,FinaCode as BUKRS,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS, ''1'' as ZSIGN,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,ClsCode as MATNR,SupCode as LIFNR,case JyMode when ''0'' then ''Z01'' else ''Z03'' end as ZJYFS,' +
|
|
|
' replace(AccDate,''-'','''') as ZYWDAT,''F02'' as ZTYPE,''CNY'' as WAERS,NetCost as SLTWR,0 as DWERT,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,class.UpperCode1 as ClsCode,head.SupCode,sup.JyMode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.Counts) as Counts' +
|
|
|
' from t_accept_head head, t_accept_body body, t_shop shop, t_plu plu, t_gclass class, t_supplier sup, t_financial_body fina' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and head.SupCode = sup.SupCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and shop.FinaCode = fina.FinaCode' +
|
|
|
' and head.BillType in (''1'',''2'')' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and fina.FinaType = ''0''' +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,class.UpperCode1,head.SupCode,sup.JyMode,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
--子公司配送单汇总
|
|
|
set @sql = 'insert into t_int_sap_drypurchaseinfo ' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,MATNR,LIFNR,ZJYFS,' +
|
|
|
' ZYWDAT,ZTYPE,WAERS,SLTWR,DWERT,MENGE,MEINS,ZTSDAT,ZGZDAT,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''F02'' as IFTYPE,FinaCode as BUKRS,ShopCode as WERKS, ''1'' as ZSIGN,''P''+FinaCode+''1''+ShopCode as PRCTR,ClsCode as MATNR,SupCode as LIFNR,''Z02'' as ZJYFS,' +
|
|
|
' replace(AccDate,''-'','''') as ZYWDAT,''F02'' as ZTYPE,''CNY'' as WAERS,NetCost as SLTWR,0 as DWERT,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.ZpCount) as Counts,shop.OrgType,fina.SupCode' +
|
|
|
' from t_dist_head head, t_dist_body body, t_shop shop, t_plu plu, t_gclass class, t_financial_body fina' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.ShopCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and shop.FinaCode = fina.FinaCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.ZpCount > 0' +
|
|
|
' and fina.FinaType = ''1''' +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1,shop.OrgType,fina.SupCode' +
|
|
|
' ) a';
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总验收明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drypurchaseinfo
|
|
|
set DOCNO = 'JHD' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F02' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_return' and xtype='p')
|
|
|
drop procedure p_int_gen_return
|
|
|
go
|
|
|
create procedure p_int_gen_return
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--退货单汇总
|
|
|
set @sql = 'insert into t_int_sap_drypurchaseinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,MATNR,LIFNR,ZJYFS,' +
|
|
|
' ZYWDAT,ZTYPE,WAERS,SLTWR,DWERT,MENGE,MEINS,ZTSDAT,ZGZDAT,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''F03'' as IFTYPE,FinaCode as BUKRS,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS, ''1'' as ZSIGN,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,ClsCode as MATNR,SupCode as LIFNR,case JyMode when ''0'' then ''Z01'' else ''Z03'' end as ZJYFS,' +
|
|
|
' replace(AccDate,''-'','''') as ZYWDAT,''F03'' as ZTYPE,''CNY'' as WAERS,NetCost as SLTWR,0 as DWERT,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,class.UpperCode1 as ClsCode,head.SupCode,sup.JyMode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.Counts) as Counts' +
|
|
|
' from t_return_head head, t_return_body body, t_shop shop, t_plu plu, t_gclass class, t_supplier sup, t_financial_body fina' +
|
|
|
' where head.BillNo = body.BillNo ' +
|
|
|
' and head.OrgCode = shop.OrgCode ' +
|
|
|
' and head.SupCode = sup.SupCode' +
|
|
|
' and body.PluCode = plu.PluCode ' +
|
|
|
' and plu.ClsCode = class.ClsCode ' +
|
|
|
' and shop.FinaCode = fina.FinaCode ' +
|
|
|
' and head.BillType in (''0'',''2'') ' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and fina.FinaType = ''0''' +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,class.UpperCode1,head.SupCode,sup.JyMode,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
--子公司配送退货单汇总
|
|
|
set @sql = 'insert into t_int_sap_drypurchaseinfo ' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,MATNR,LIFNR,ZJYFS,' +
|
|
|
' ZYWDAT,ZTYPE,WAERS,SLTWR,DWERT,MENGE,MEINS,ZTSDAT,ZGZDAT,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CREATEDATE,''F03'' as IFTYPE,FinaCode as BUKRS,ShopCode as WERKS, ''1'' as ZSIGN,''P''+FinaCode+''1''+ShopCode as PRCTR,ClsCode as MATNR,SupCode as LIFNR,''Z02'' as ZJYFS,' +
|
|
|
' replace(AccDate,''-'','''') as ZYWDAT,''F03'' as ZTYPE,''CNY'' as WAERS,NetCost as SLTWR,0 as DWERT,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(-body.NetCost) as NetCost,sum(-body.ZpCount) as Counts,shop.OrgType,fina.SupCode' +
|
|
|
' from t_dist_head head, t_dist_body body, t_shop shop, t_plu plu, t_gclass class, t_financial_body fina' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.ShopCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and shop.FinaCode = fina.FinaCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.ZpCount < 0' +
|
|
|
' and fina.FinaType = ''1''' +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1,shop.OrgType,fina.SupCode' +
|
|
|
' ) a';
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总退货明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drypurchaseinfo
|
|
|
set DOCNO = 'THD' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F03' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_buy_price_his' and xtype='p')
|
|
|
drop procedure p_int_gen_buy_price_his
|
|
|
go
|
|
|
create procedure p_int_gen_buy_price_his
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--历史进价调整汇总
|
|
|
set @sql = 'insert into t_int_sap_drypurchaseinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,MATNR,LIFNR,ZJYFS,' +
|
|
|
' ZYWDAT,ZTYPE,WAERS,SLTWR,DWERT,MENGE,MEINS,ZTSDAT,ZGZDAT,ZUNFLG,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F14'' as IFTYPE,FinaCode as BUKRS,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS, ''1'' as ZSIGN,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,ClsCode as MATNR,SupCode as LIFNR,case JyMode when ''0'' then ''Z01'' else ''Z03'' end as ZJYFS,' +
|
|
|
' replace(AccDate,''-'','''') as ZYWDAT,''F14'' as ZTYPE,''CNY'' as WAERS,NetCost as SLTWR,0 as DWERT,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case when NetCost < 0 then ''Y'' else '''' end as ZUNFLG,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,class.UpperCode1 as ClsCode, head.SupCode,sup.JyMode,' +
|
|
|
' sum(body.NetCjCost) as NetCost,sum(body.TzCount) as Counts' +
|
|
|
' from t_adjbuyprice_head head, t_adjbuyprice_body body, t_shop shop, t_plu plu, t_gclass class, t_supplier sup' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and head.SupCode = sup.SupCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.TzType = ''0''' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,class.UpperCode1,head.SupCode,sup.JyMode,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总历史进价调整失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drypurchaseinfo
|
|
|
set DOCNO = 'TJS' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F14' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_buy_price_now' and xtype='p')
|
|
|
drop procedure p_int_gen_buy_price_now
|
|
|
go
|
|
|
create procedure p_int_gen_buy_price_now
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--现存进价调整汇总
|
|
|
set @sql = 'insert into t_int_sap_drypurchaseinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,MATNR,LIFNR,ZJYFS,' +
|
|
|
' ZYWDAT,ZTYPE,WAERS,SLTWR,DWERT,MENGE,MEINS,ZTSDAT,ZGZDAT,ZUNFLG,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F15'' as IFTYPE,FinaCode as BUKRS,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS, ''1'' as ZSIGN,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,ClsCode as MATNR,SupCode as LIFNR,case JyMode when ''0'' then ''Z01'' else ''Z03'' end as ZJYFS,' +
|
|
|
' replace(AccDate,''-'','''') as ZYWDAT,''F15'' as ZTYPE,''CNY'' as WAERS,NetCost as SLTWR,0 as DWERT,Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case when NetCost < 0 then ''Y'' else '''' end as ZUNFLG,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,class.UpperCode1 as ClsCode, head.SupCode,sup.JyMode,' +
|
|
|
' sum(body.NetCjCost) as NetCost,sum(body.TzCount) as Counts' +
|
|
|
' from t_adjbuyprice_head head, t_adjbuyprice_body body, t_shop shop, t_plu plu, t_gclass class, t_supplier sup' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and head.SupCode = sup.SupCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.TzType = ''1''' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,class.UpperCode1,head.SupCode,sup.JyMode,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总现存进价调整失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drypurchaseinfo
|
|
|
set DOCNO = 'TJC' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F15' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_draw' and xtype='p')
|
|
|
drop procedure p_int_gen_draw
|
|
|
go
|
|
|
create procedure p_int_gen_draw
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--领用单汇总
|
|
|
set @sql = 'insert into t_int_sap_stockconsumer' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZHQBS,KOSTL,PRCTR,ZLYLB,' +
|
|
|
' ZTYPE,BLDAT,MATNR,SLTWR,ZXSZJ,MENGE,WAERS,MEINS,' +
|
|
|
' MWSKZ,TSDAT,BUDAT,UNFLG,SGTXT,ZPLXH)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F13'' as IFTYPE,FinaCode as BUKRS,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS, ''1'' as ZHQBS,CostCenter as KOSTL,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,LyType as ZLYLB,' +
|
|
|
' ''F13'' as ZTYPE,replace(AccDate,''-'','''') as BLDAT,ClsCode as MATNR,NetCost as SLTWR,Total as ZXSZJ,Counts as MENGE,''CNY'' as WAERS,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,' +
|
|
|
' case left(LyType,2) when ''A1'' then case JTaxRate when 0 then ''J0'' when 17 then ''J1'' when 13 then ''J2'' when 11 then ''J3'' when 6 then ''J4'' when 4 then ''J5'' when 3 then ''J6'' when 5 then ''J7'' when 16 then ''J8'' when ''10'' then ''J9'' when 9 then ''JA'' when 1 then ''JB'' end' +
|
|
|
' when ''A2'' then case STaxRate when 0 then ''X0'' when 17 then ''X1'' when 13 then ''X2'' when 2 then ''X3'' when 6 then ''X4'' when 11 then ''X5'' when 16 then ''X7'' when 10 then ''X8'' when 9 then ''X9'' end' +
|
|
|
' else ''X0'' end as MWSKZ,''' + @tsdat + ''' as TSDAT,replace(AccDate,''-'','''') as BUDAT,'''' as UNFLG,PurPose as SGTXT,'''' as ZPLXH' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,head.LyType,head.CostCenter,head.PurPose,class.UpperCode1 as ClsCode,body.JTaxRate,plu.STaxRate,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.Total) as Total,sum(body.Counts) as Counts' +
|
|
|
' from t_draw_head head, t_draw_body body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.billno = body.billno ' +
|
|
|
' and head.OrgCode = shop.OrgCode ' +
|
|
|
' and body.PluCode = plu.PluCode ' +
|
|
|
' and plu.ClsCode = class.ClsCode ' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,head.LyType,head.CostCenter,head.PurPose,class.UpperCode1,shop.OrgType,body.JTaxRate,plu.STaxRate' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总领用明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_stockconsumer
|
|
|
set DOCNO = 'LYD' + BLDAT + convert(varchar(10),SERIALNO), DOCNO1 = 'LYD'+BLDAT+convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F13' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_scrap' and xtype='p')
|
|
|
drop procedure p_int_gen_scrap
|
|
|
go
|
|
|
create procedure p_int_gen_scrap
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--报损单汇总
|
|
|
set @sql = 'insert into t_int_sap_inventorychginfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,WERKS,PRCTR,ZYWDAT,ZTYPE,MATNR,ZJYFS,SLTWR,' +
|
|
|
' WEARS,MENGE,DWERT,MEINS,MWSKZ,TMWSTS,ZTSDAT,ZGZDAT,ZCSBS,ZYZLX,UNFLG)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F08'' as IFTYPE,FinaCode as BUKRS, ''1'' as ZSIGN,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F08'' as ZTYPE,ClsCode as MATNR,''Z01'' as ZJYFS,NetCost as SLTWR,' +
|
|
|
' ''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''JB'' as MWSKZ,TaxTotal as TMWSTS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,''X'' as ZCSBS,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,'''' as UNFLG' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.Counts) as Counts,sum(body.Cost-body.NetCost) as TaxTotal' +
|
|
|
' from t_scrap_head head, t_scrap_body body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.BsType = ''01''' +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总自然报损失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_inventorychginfo
|
|
|
set DOCNO = 'BSZ' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F08' and ZJYFS = 'Z01' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_damage' and xtype='p')
|
|
|
drop procedure p_int_gen_damage
|
|
|
go
|
|
|
create procedure p_int_gen_damage
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--报损单汇总
|
|
|
set @sql = 'insert into t_int_sap_inventorychginfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,WERKS,PRCTR,ZYWDAT,ZTYPE,MATNR,ZJYFS,SLTWR,' +
|
|
|
' WEARS,MENGE,DWERT,MEINS,MWSKZ,TMWSTS,ZTSDAT,ZGZDAT,ZCSBS,ZYZLX,UNFLG)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F09'' as IFTYPE,FinaCode as BUKRS, ''1'' as ZSIGN,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F09'' as ZTYPE,ClsCode as MATNR,''Z01'' as ZJYFS,NetCost as SLTWR,' +
|
|
|
' ''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''JB'' as MWSKZ,TaxTotal as TMWSTS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,''X'' as ZCSBS,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,'''' as UNFLG' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.Counts) as Counts,sum(body.Cost-body.NetCost) as TaxTotal' +
|
|
|
' from t_scrap_head head, t_scrap_body body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.BsType = ''02''' +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总非自然报损失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_inventorychginfo
|
|
|
set DOCNO = 'BSF' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F09' and ZJYFS = 'Z01' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_differ' and xtype='p')
|
|
|
drop procedure p_int_gen_differ
|
|
|
go
|
|
|
create procedure p_int_gen_differ
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--盈亏单汇总
|
|
|
set @sql = 'insert into t_int_sap_inventorychginfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,WERKS,PRCTR,ZYWDAT,ZTYPE,MATNR,' +
|
|
|
' ZJYFS,SLTWR,WEARS,MENGE,DWERT,MEINS,ZTSDAT,ZGZDAT,ZCSBS,ZYZLX,UNFLG)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F10'' as IFTYPE,FinaCode as BUKRS, ''1'' as ZSIGN,case OrgType when ''2'' then ''2Y00'' else OrgCode end as WERKS,''P''+FinaCode+''1''+case OrgType when ''2'' then ''2Y00'' else OrgCode end as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F10'' as ZTYPE,ClsCode as MATNR,' +
|
|
|
' ''Z01'' as ZJYFS,NetCost as SLTWR,''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,''X'' as ZCSBS,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,case when Counts < 0 then ''Y'' else '''' end as UNFLG' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,shop.OrgType,head.OrgCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.YkNetCost) as NetCost,sum(body.YkCount) as Counts' +
|
|
|
' from t_differ_head head, t_differ_body body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.BillType in (''0'',''1'',''3'')' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OrgCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a' +
|
|
|
' where NetCost <> 0 or Counts <> 0'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总盈亏明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_inventorychginfo
|
|
|
set DOCNO = 'PKD' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F10' and ZJYFS = 'Z01' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_dist' and xtype='p')
|
|
|
drop procedure p_int_gen_dist
|
|
|
go
|
|
|
create procedure p_int_gen_dist
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--配送单汇总
|
|
|
set @sql = 'insert into t_int_sap_drydeliveryinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,SDWRK,SPRCTR,WERKS,PRCTR,ZYWDAT,ZTYPE,' +
|
|
|
' MATNR,ZJYFS,DMBTR,WAERS,MENGE,DWERT,MEINS,ZTSDAT,ZGZDAT,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F04'' as IFTYPE,FinaCode as BUKRS,''1'' as ZSIGN,ShopCode as SDWRK,''P''+FinaCode+''1''+ShopCode as SPRCTR,''2Y00'' as WERKS,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F04'' as ZTYPE,' +
|
|
|
' ClsCode as MATNR,''Z01'' as ZJYFS,NetCost as DMBTR,''CNY'' as WAERS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.ZpCount) as Counts,shop.OrgType' +
|
|
|
' from t_dist_head head, t_dist_body body, t_shop shop, t_plu plu, t_gclass class, t_financial_body fina' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.ShopCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and shop.FinaCode = fina.FinaCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.ZpCount > 0' +
|
|
|
' and fina.FinaType = ''0''' +
|
|
|
' group by head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总配送明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drydeliveryinfo
|
|
|
set DOCNO = 'PSD' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F04' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_dist_return' and xtype='p')
|
|
|
drop procedure p_int_gen_dist_return
|
|
|
go
|
|
|
create procedure p_int_gen_dist_return
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--配送退货单汇总
|
|
|
set @sql = 'insert into t_int_sap_drydeliveryinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,SDWRK,SPRCTR,WERKS,PRCTR,ZYWDAT,ZTYPE,' +
|
|
|
' MATNR,ZJYFS,DMBTR,WAERS,MENGE,DWERT,MEINS,ZTSDAT,ZGZDAT,ZYZLX)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F05'' as IFTYPE,FinaCode as BUKRS,''1'' as ZSIGN,ShopCode as SDWRK,''P''+FinaCode+''1''+ShopCode as SPRCTR,''2Y00'' as WERKS,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F05'' as ZTYPE,' +
|
|
|
' ClsCode as MATNR,''Z01'' as ZJYFS,NetCost as DMBTR,''CNY'' as WAERS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(-body.NetCost) as NetCost,sum(-body.ZpCount) as Counts,shop.OrgType' +
|
|
|
' from t_dist_head head, t_dist_body body, t_shop shop, t_plu plu, t_gclass class, t_financial_body fina' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.ShopCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and shop.FinaCode = fina.FinaCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.ZpCount < 0' +
|
|
|
' and fina.FinaType = ''0''' +
|
|
|
' group by head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总配送退货明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drydeliveryinfo
|
|
|
set DOCNO = 'PST' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F05' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_dist_sale' and xtype='p')
|
|
|
drop procedure p_int_gen_dist_sale
|
|
|
go
|
|
|
create procedure p_int_gen_dist_sale
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--配送单汇总
|
|
|
set @sql = 'insert into t_int_sap_drysalesinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,ZYWDAT,ZTYPE,ZCXLX,ZJYFS,VVTYP,MATNR,' +
|
|
|
' MENGE,MEINS,PRICE,SKTAK,SKTBT,TMWSTS,GTTAX,WAERS,ZTOLAMT,ZTSDAT,ZGZDAT,ZYZLX,' +
|
|
|
' ZFNAME,ZUNFLG,VBELN,KUNNR,KUNWE,MWSKZ)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F01'' as IFTYPE,FinaCode as BUKRS,''2Y00'' as WERKS,''1'' as ZSIGN,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F01'' as ZTYPE,''Z30'' as ZCXLX,''Z20'' as ZJYFS,'''' as VVTYP,ClsCode as MATNR,' +
|
|
|
' Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,ZpAmount as PRICE,ZpAmount as SKTAK,0 as SKTBT,TaxAmount as TMWSTS,0 as GTTAX,''CNY'' as WAERS,0 as ZTOLAMT,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,' +
|
|
|
' '''' as ZFNAME,case when Counts < 0 then ''Y'' else '''' end as ZUNFLG,BillNo as VBELN,ShopCode as KUNNR,ShopCode as KUNWE,case JTaxRate when 0 then ''X0'' when 17 then ''X1'' when 13 then ''X2'' when 2 then ''X3'' when 6 then ''X4'' when 11 then ''X5'' when 16 then ''X7'' when 10 then ''X8'' when 9 then ''X9'' end as MWSKZ' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1 as ClsCode,body.JTaxRate,' +
|
|
|
' sum(body.ZpAmount) as ZpAmount,sum(body.ZpAmount-body.ZpNetAmount) as TaxAmount,sum(body.ZpCount) as Counts,shop.OrgType' +
|
|
|
' from t_dist_head head, t_dist_body body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate is not null and head.AccDate <> ''''' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.ZpCount <> 0' +
|
|
|
' and exists (select OrgCode from t_shop a, t_financial_body b where a.FinaCode = b.FinaCode and a.OrgCode = head.ShopCode and b.FinaType = ''1'')' +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1,shop.OrgType,body.JTaxRate' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总配送销售失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drysalesinfo
|
|
|
set DOCNO = 'PSX' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F01' and ZJYFS = 'Z20' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_dist_chg' and xtype='p')
|
|
|
drop procedure p_int_gen_dist_chg
|
|
|
go
|
|
|
create procedure p_int_gen_dist_chg
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--配送单汇总
|
|
|
set @sql = 'insert into t_int_sap_inventorychginfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,WERKS,PRCTR,ZYWDAT,ZTYPE,MATNR,ZJYFS,SLTWR,' +
|
|
|
' WEARS,MENGE,DWERT,MEINS,ZTSDAT,ZGZDAT,ZCSBS,ZYZLX,VBELN,KUNNR,KUNWE,UNFLG)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F11'' as IFTYPE,FinaCode as BUKRS,''1'' as ZSIGN,''2Y00'' as WERKS,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F11'' as ZTYPE,ClsCode as MATNR,''Z20'' as ZJYFS,NetCost as SLTWR,' +
|
|
|
' ''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,''X'' as ZCSBS,' +
|
|
|
' case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,BillNo as VBELN,ShopCode as KUNNR,ShopCode as KUNWE,case when Counts < 0 then ''Y'' else '''' end as UNFLG' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.ZpCount) as Counts,shop.OrgType' +
|
|
|
' from t_dist_head head, t_dist_body body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' and body.ZpCount <> 0' +
|
|
|
' and exists (select OrgCode from t_shop a, t_financial_body b where a.FinaCode = b.FinaCode and a.OrgCode = head.ShopCode and b.FinaType = ''1'')' +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.ShopCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总配送成本失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_inventorychginfo
|
|
|
set DOCNO = 'PSC' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F11' and ZJYFS = 'Z20' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_out_trans' and xtype='p')
|
|
|
drop procedure p_int_gen_out_trans
|
|
|
go
|
|
|
create procedure p_int_gen_out_trans
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--调拨单汇总
|
|
|
set @sql = 'insert into t_int_sap_drytransferinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,SDWRK,SPRCTR,WERKS,PRCTR,ZYWDAT,' +
|
|
|
' ZTYPE,MATNR,ZJYFS,SLTWR,WEARS,MENGE,DWERT,MEINS,ZTSDAT,ZYZLX,UNFLG)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F06'' as IFTYPE,FinaCode as BUKRS, ''1'' as ZSIGN,OutOrgCode as SDWRK,''P''+FinaCode+''1''+OutOrgCode as SPRCTR,InOrgCode as WERKS,''P''+FinaCode+''1''+InOrgCode as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,' +
|
|
|
' ''F06'' as ZTYPE,ClsCode as MATNR,''Z01'' as ZJYFS,NetCost as SLTWR,''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,'''' as UNFLG' +
|
|
|
' from (' +
|
|
|
' select head.AccDate,shop.FinaCode,head.OutOrgCode,head.InOrgCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.Counts) as Counts,shop.OrgType' +
|
|
|
' from t_outtrans_head head, t_outtrans_body body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OutOrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.BillType = ''1''' +
|
|
|
' and head.IsOut = ''1''' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.AccDate,shop.FinaCode,head.OutOrgCode,head.InOrgCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总调拨明细失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drytransferinfo
|
|
|
set DOCNO = 'DBD' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F06' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_wh_sale' and xtype='p')
|
|
|
drop procedure p_int_gen_wh_sale
|
|
|
go
|
|
|
create procedure p_int_gen_wh_sale
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--批发销售单汇总
|
|
|
set @sql = 'insert into t_int_sap_drysalesinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,ZYWDAT,ZTYPE,ZCXLX,ZJYFS,VVTYP,MATNR,' +
|
|
|
' MENGE,MEINS,PRICE,SKTAK,SKTBT,TMWSTS,GTTAX,WAERS,ZTOLAMT,ZTSDAT,ZGZDAT,ZYZLX,' +
|
|
|
' ZFNAME,ZUNFLG,VBELN,KUNNR,KUNWE,MWSKZ)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F01'' as IFTYPE,FinaCode as BUKRS,''2Y00'' as WERKS,''1'' as ZSIGN,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F01'' as ZTYPE,''Z30'' as ZCXLX,''Z21'' as ZJYFS,'''' as VVTYP,ClsCode as MATNR,' +
|
|
|
' Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,PfTotal as PRICE,PfTotal as SKTAK,0 as SKTBT,TaxAmount as TMWSTS,0 as GTTAX,''CNY'' as WAERS,0 as ZTOLAMT,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,' +
|
|
|
' '''' as ZFNAME,'''' as ZUNFLG,BillNo as VBELN,CustCode as KUNNR,CustCode as KUNWE,case STaxRate when 0 then ''X0'' when 17 then ''X1'' when 13 then ''X2'' when 2 then ''X3'' when 6 then ''X4'' when 11 then ''X5'' when 16 then ''X7'' when 10 then ''X8'' when 9 then ''X9'' end as MWSKZ' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1 as ClsCode,plu.STaxRate,' +
|
|
|
' sum(body.PfTotal) as PfTotal,sum(body.PfTotal - body.NetPfTotal) as TaxAmount,sum(body.Counts) as Counts,shop.OrgType' +
|
|
|
' from t_whsale_head head, t_whsale_body2 body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1,shop.OrgType,plu.STaxRate' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
--批发退货单汇总
|
|
|
set @sql = 'insert into t_int_sap_drysalesinfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,WERKS,ZSIGN,PRCTR,ZYWDAT,ZTYPE,ZCXLX,ZJYFS,MATNR,' +
|
|
|
' MENGE,MEINS,PRICE,SKTAK,SKTBT,TMWSTS,GTTAX,WAERS,ZTOLAMT,ZTSDAT,ZGZDAT,ZYZLX,' +
|
|
|
' ZFNAME,ZUNFLG,VBELN,KUNNR,KUNWE,MWSKZ)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F01'' as IFTYPE,FinaCode as BUKRS,''2Y00'' as WERKS,''1'' as ZSIGN,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F01'' as ZTYPE,''Z30'' as ZCXLX,''Z21'' as ZJYFS,ClsCode as MATNR,' +
|
|
|
' Counts as MENGE,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,PfTotal as PRICE,PfTotal as SKTAK,0 as SKTBT,TaxAmount as TMWSTS,0 as GTTAX,''CNY'' as WAERS,0 as ZTOLAMT,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,' +
|
|
|
' '''' as ZFNAME,''Y'' as ZUNFLG,BillNo as VBELN,CustCode as KUNNR,CustCode as KUNWE,case STaxRate when 0 then ''X0'' when 17 then ''X1'' when 13 then ''X2'' when 2 then ''X3'' when 6 then ''X4'' when 11 then ''X5'' when 16 then ''X7'' when 10 then ''X8'' when 9 then ''X9'' end as MWSKZ' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1 as ClsCode,plu.STaxRate,' +
|
|
|
' sum(-body.PfTotal) as PfTotal,sum(body.NetPfTotal - body.PfTotal) as TaxAmount,sum(body.ZrTotal-body.PfTotal) as SsTotal,sum(-body.Counts) as Counts,shop.OrgType' +
|
|
|
' from t_whreturn_head head, t_whreturn_body2 body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate is not null and head.AccDate <> ''''' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1,shop.OrgType,plu.STaxRate' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总批发销售失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_drysalesinfo
|
|
|
set DOCNO = 'PFX' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F01' and ZJYFS = 'Z21' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go
|
|
|
|
|
|
if exists (select name from sysobjects where name='p_int_gen_wh_chg' and xtype='p')
|
|
|
drop procedure p_int_gen_wh_chg
|
|
|
go
|
|
|
create procedure p_int_gen_wh_chg
|
|
|
(
|
|
|
@psorgcode varchar(10),
|
|
|
@psaccdate varchar(10),
|
|
|
@psmsg varchar(2000) out
|
|
|
)
|
|
|
as
|
|
|
begin
|
|
|
declare @where varchar(2000)
|
|
|
declare @sql varchar(5000)
|
|
|
declare @createdate varchar(20)
|
|
|
declare @tsdat varchar(10)
|
|
|
|
|
|
set @where = ''
|
|
|
set @createdate = convert(varchar(20),getdate(),120)
|
|
|
set @tsdat = convert(varchar(8),getdate(),112)
|
|
|
|
|
|
if @psorgcode <> '' and @psorgcode is not null and @psorgcode <> '*'
|
|
|
begin
|
|
|
set @where = ' and head.OrgCode = ''' + @psorgcode + ''''
|
|
|
end
|
|
|
|
|
|
--批发销售单汇总
|
|
|
set @sql = 'insert into t_int_sap_inventorychginfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,WERKS,PRCTR,ZYWDAT,ZTYPE,MATNR,ZJYFS,SLTWR,' +
|
|
|
' WEARS,MENGE,DWERT,MEINS,ZTSDAT,ZGZDAT,ZCSBS,ZYZLX,UNFLG,VBELN,KUNNR,KUNWE)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F11'' as IFTYPE,FinaCode as BUKRS,''1'' as ZSIGN,''2Y00'' as WERKS,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F11'' as ZTYPE,ClsCode as MATNR,''Z21'' as ZJYFS,NetCost as SLTWR,' +
|
|
|
' ''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,''X'' as ZCSBS,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,'''' as UNFLG,BillNo as VBELN,CustCode as KUNNR,CustCode as KUNWE' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(body.NetCost) as NetCost,sum(body.Counts) as Counts,shop.OrgType' +
|
|
|
' from t_whsale_head head, t_whsale_body2 body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
--批发退货单汇总
|
|
|
set @sql = 'insert into t_int_sap_inventorychginfo' +
|
|
|
' (CREATEDATE,IFTYPE,BUKRS,ZSIGN,WERKS,PRCTR,ZYWDAT,ZTYPE,MATNR,ZJYFS,SLTWR,' +
|
|
|
' WEARS,MENGE,DWERT,MEINS,ZTSDAT,ZGZDAT,ZCSBS,ZYZLX,UNFLG,VBELN,KUNNR,KUNWE)' +
|
|
|
'select ''' + @createdate + ''' as CreateDate,''F11'' as IFTYPE,FinaCode as BUKRS,''1'' as ZSIGN,''2Y00'' as WERKS,''P''+FinaCode+''1''+''2Y00'' as PRCTR,replace(AccDate,''-'','''') as ZYWDAT,''F11'' as ZTYPE,ClsCode as MATNR,''Z21'' as ZJYFS,NetCost as SLTWR,' +
|
|
|
' ''CNY'' as WEARS,Counts as MENGE,0 as DWERT,case ClsCode when ''2018'' then ''L'' else ''EA'' end as MEINS,''' + @tsdat + ''' as ZTSDAT,replace(AccDate,''-'','''') as ZGZDAT,''X'' as ZCSBS,case OrgType when ''1'' then ''DO'' else ''COCO'' end as ZYZLX,'''' as UNFLG,BillNo as VBELN,CustCode as KUNNR,CustCode as KUNWE' +
|
|
|
' from (' +
|
|
|
' select head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1 as ClsCode,' +
|
|
|
' sum(-body.NetCost) as NetCost,sum(-body.Counts) as Counts,shop.OrgType' +
|
|
|
' from t_whreturn_head head, t_whreturn_body2 body, t_shop shop, t_plu plu, t_gclass class' +
|
|
|
' where head.BillNo = body.BillNo' +
|
|
|
' and head.OrgCode = shop.OrgCode' +
|
|
|
' and body.PluCode = plu.PluCode' +
|
|
|
' and plu.ClsCode = class.ClsCode' +
|
|
|
' and head.AccDate = ''' + @psaccdate + '''' + @where +
|
|
|
' group by head.BillNo,head.AccDate,shop.FinaCode,head.OrgCode,head.CustCode,class.UpperCode1,shop.OrgType' +
|
|
|
' ) a'
|
|
|
|
|
|
exec(@sql)
|
|
|
|
|
|
|
|
|
if @@error <>0
|
|
|
begin
|
|
|
set @psmsg = '汇总批发成本失败'
|
|
|
return(-1)
|
|
|
end
|
|
|
|
|
|
--更新零管单号(3位业务前缀+6位日期+6流水号,物理记录)
|
|
|
update t_int_sap_inventorychginfo
|
|
|
set DOCNO = 'PFC' + ZYWDAT + convert(varchar(10),SERIALNO)
|
|
|
where IFTYPE = 'F11' and ZJYFS = 'Z21' and DOCNO is null
|
|
|
|
|
|
set @psmsg = ''
|
|
|
return (1)
|
|
|
end
|
|
|
go |