IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[order_169_3_newdetail_after]') AND type = 'P')
DROP PROCEDURE [dbo].[order_169_3_newdetail_after]
GO

-- 生成时间:2018-06-27 12:20:30 by ebs-core  
CREATE  procedure order_169_3_newdetail_after(
     @cmpid int,
     @branchid int,
     @userdpid int,
     @useruid int,
     @userotid int,
     @jbid bigint,
     @ordid bigint,
     @ord2tag int,
     @ord2group nvarchar(50),
     @ord2id bigint 
  ) 
as  
begin  
set nocount on  
declare @sys_recid bigint 
set @sys_recid = 0 
declare @ord2group2 nvarchar(50) 
set @ord2group2 = '' 
 declare @nonedate datetime 
set @nonedate = CONVERT(datetime,'1910-1-1')
 
 --- 以下是预处理事件中的临时表
 ---   #new 在主体中已经生成
 
exec drop_temp_table '#master' 
select * into #master from order_169 where ord_id=@ordid 
exec drop_temp_table '#detail2' 
select *,null recid into #detail2 from order_169_2 where ord2_ordid=@ordid  
update #detail2 set recid=ord2_id 

exec drop_temp_table '#detail3' 
select *,null recid into #detail3 from order_169_3 where ord2_ordid=@ordid  
update #detail3 set recid=ord2_id 

exec drop_temp_table '#detail4' 
select *,null recid into #detail4 from order_169_4 where ord2_ordid=@ordid  
update #detail4 set recid=ord2_id 

 ---- 以下是开发人员写的 after new details order 事件 --------------
 declare @jd nvarchar(100)  =''
if(@ord2tag=4)
begin
set @jd = convert(nvarchar(100),datepart(year,getdate()))+'-'+case when datepart(month,getdate()) between 1 and 3 then '01' 
                                            when  datepart(month,getdate()) between 4 and 6 then '02'
                                            when  datepart(month,getdate()) between 7 and 9 then '03'
                                            when  datepart(month,getdate()) between 10 and 12 then '04' end
/*获取预算*/     
exec mps_getaccount '#master,#detail4',@jd,'expn','dpt','ord2_qtaiid','ord_dpid'
/*将预算更新到本业务单的差旅其他费用明细中*/
update #detail4 
set ord2_ysye=(available)/100
from #account where ord2_qtaiid=fiid 
end
if(@ord2tag=2)
begin
    update #detail2
    set ord2_jtaiid = 12
end
if(@ord2tag=3)
begin
    update #detail3
    set ord2_zsaiid = 14
end
 ---- 以上是开发人员写的 after new details order 事件 --------------
 
 
update old set 
ord_abs=case when new.ord_abs is null or new.ord_abs = '_none_'  then old.ord_abs else new.ord_abs end,ord_branch=case when new.ord_branch is null or new.ord_branch = '_none_'  then old.ord_branch else new.ord_branch end,ord_cbid=case when new.ord_cbid is null or new.ord_cbid = -999999999  then old.ord_cbid else new.ord_cbid end,ord_createbizids=case when new.ord_createbizids is null or new.ord_createbizids = '_none_'  then old.ord_createbizids else new.ord_createbizids end,ord_createcuid=case when new.ord_createcuid is null or new.ord_createcuid = -999999999  then old.ord_createcuid else new.ord_createcuid end,ord_createdepart=case when new.ord_createdepart is null or new.ord_createdepart = '_none_'  then old.ord_createdepart else new.ord_createdepart end,ord_createdpid=case when new.ord_createdpid is null or new.ord_createdpid = -999999999  then old.ord_createdpid else new.ord_createdpid end,ord_creator=case when new.ord_creator is null or new.ord_creator = '_none_'  then old.ord_creator else new.ord_creator end,ord_cuid=case when new.ord_cuid is null or new.ord_cuid = -999999999  then old.ord_cuid else new.ord_cuid end,ord_depart=case when new.ord_depart is null or new.ord_depart = '_none_'  then old.ord_depart else new.ord_depart end,ord_dpid=case when new.ord_dpid is null or new.ord_dpid = -999999999  then old.ord_dpid else new.ord_dpid end,ord_empname=case when new.ord_empname is null or new.ord_empname = '_none_'  then old.ord_empname else new.ord_empname end,ord_enddate=case when new.ord_enddate is null or new.ord_enddate = @nonedate then old.ord_enddate else new.ord_enddate end,ord_fbizid=case when new.ord_fbizid is null or new.ord_fbizid = -999999999  then old.ord_fbizid else new.ord_fbizid end,ord_fjbid=case when new.ord_fjbid is null or new.ord_fjbid = -999999999  then old.ord_fjbid else new.ord_fjbid end,ord_ford2id=case when new.ord_ford2id is null or new.ord_ford2id = -999999999  then old.ord_ford2id else new.ord_ford2id end,ord_ford2tag=case when new.ord_ford2tag is null or new.ord_ford2tag = -999999999  then old.ord_ford2tag else new.ord_ford2tag end,ord_fordid=case when new.ord_fordid is null or new.ord_fordid = -999999999  then old.ord_fordid else new.ord_fordid end,ord_ftype=case when new.ord_ftype is null or new.ord_ftype = '_none_'  then old.ord_ftype else new.ord_ftype end,ord_intro=case when new.ord_intro is null or new.ord_intro = '_none_'  then old.ord_intro else new.ord_intro end,ord_key=case when new.ord_key is null or new.ord_key = '_none_'  then old.ord_key else new.ord_key end,ord_no=case when new.ord_no is null or new.ord_no = '_none_'  then old.ord_no else new.ord_no end,ord_noi=case when new.ord_noi is null or new.ord_noi = -999999999  then old.ord_noi else new.ord_noi end,ord_rbizid=case when new.ord_rbizid is null or new.ord_rbizid = -999999999  then old.ord_rbizid else new.ord_rbizid end,ord_rord2id=case when new.ord_rord2id is null or new.ord_rord2id = -999999999  then old.ord_rord2id else new.ord_rord2id end,ord_rord2tag=case when new.ord_rord2tag is null or new.ord_rord2tag = -999999999  then old.ord_rord2tag else new.ord_rord2tag end,ord_rordid=case when new.ord_rordid is null or new.ord_rordid = -999999999  then old.ord_rordid else new.ord_rordid end,ord_rtype=case when new.ord_rtype is null or new.ord_rtype = '_none_'  then old.ord_rtype else new.ord_rtype end,ord_security=case when new.ord_security is null or new.ord_security = -999999999  then old.ord_security else new.ord_security end,ord_status=case when new.ord_status is null or new.ord_status = '_none_'  then old.ord_status else new.ord_status end,ord_style=case when new.ord_style is null or new.ord_style = -999999999  then old.ord_style else new.ord_style end,ord_template=case when new.ord_template is null or new.ord_template = '_none_'  then old.ord_template else new.ord_template end,ord_templateid=case when new.ord_templateid is null or new.ord_templateid = -999999999  then old.ord_templateid else new.ord_templateid end,ord_time=case when new.ord_time is null or new.ord_time = @nonedate then old.ord_time else new.ord_time end,ord_title=case when new.ord_title is null or new.ord_title = '_none_'  then old.ord_title else new.ord_title end,ord_type=case when new.ord_type is null or new.ord_type = '_none_'  then old.ord_type else new.ord_type end,ord_jdcz=case when new.ord_jdcz is null or new.ord_jdcz = -999999999  then old.ord_jdcz else new.ord_jdcz end,ord_jzrq=case when new.ord_jzrq is null or new.ord_jzrq = @nonedate then old.ord_jzrq else new.ord_jzrq end,ord_ywrq=case when new.ord_ywrq is null or new.ord_ywrq = @nonedate then old.ord_ywrq else new.ord_ywrq end,ord_zy=case when new.ord_zy is null or new.ord_zy = '_none_'  then old.ord_zy else new.ord_zy end,ord_jkje=case when new.ord_jkje is null or new.ord_jkje = -999999999  then old.ord_jkje else new.ord_jkje end,ord_dkje=case when new.ord_dkje is null or new.ord_dkje = -999999999  then old.ord_dkje else new.ord_dkje end,ord_bcje=case when new.ord_bcje is null or new.ord_bcje = -999999999  then old.ord_bcje else new.ord_bcje end,ord_bxje=case when new.ord_bxje is null or new.ord_bxje = -999999999  then old.ord_bxje else new.ord_bxje end,ord_bz=case when new.ord_bz is null or new.ord_bz = '_none_'  then old.ord_bz else new.ord_bz end,ord_ygtx=case when new.ord_ygtx is null or new.ord_ygtx = '_none_'  then old.ord_ygtx else new.ord_ygtx end,ord_bxrq=case when new.ord_bxrq is null or new.ord_bxrq = '_none_'  then old.ord_bxrq else new.ord_bxrq end,ord_shed=case when new.ord_shed is null or new.ord_shed = -999999999  then old.ord_shed else new.ord_shed end,ord_khxm=case when new.ord_khxm is null or new.ord_khxm = '_none_'  then old.ord_khxm else new.ord_khxm end,ord_khyx=case when new.ord_khyx is null or new.ord_khyx = '_none_'  then old.ord_khyx else new.ord_khyx end,ord_khzh=case when new.ord_khzh is null or new.ord_khzh = '_none_'  then old.ord_khzh else new.ord_khzh end,ord_zffs=case when new.ord_zffs is null or new.ord_zffs = '_none_'  then old.ord_zffs else new.ord_zffs end,ord_aiid=case when new.ord_aiid is null or new.ord_aiid = '_none_'  then old.ord_aiid else new.ord_aiid end,ord_bxdpid=case when new.ord_bxdpid is null or new.ord_bxdpid = -999999999  then old.ord_bxdpid else new.ord_bxdpid end,ord_bxrzw=case when new.ord_bxrzw is null or new.ord_bxrzw = '_none_'  then old.ord_bxrzw else new.ord_bxrzw end
from order_169 old , #master new  where old.ord_id=new.ord_id 

update old set 
ord2_caption=case when new.ord2_caption is null or new.ord2_caption = '_none_'  then old.ord2_caption else new.ord2_caption end,ord2_code=case when new.ord2_code is null or new.ord2_code = '_none_'  then old.ord2_code else new.ord2_code end,ord2_datetime=case when new.ord2_datetime is null or new.ord2_datetime = @nonedate then old.ord2_datetime else new.ord2_datetime end,ord2_daycount=case when new.ord2_daycount is null or new.ord2_daycount = '_none_'  then old.ord2_daycount else new.ord2_daycount end,ord2_end=case when new.ord2_end is null or new.ord2_end = '_none_'  then old.ord2_end else new.ord2_end end,ord2_endtime=case when new.ord2_endtime is null or new.ord2_endtime = @nonedate then old.ord2_endtime else new.ord2_endtime end,ord2_fatherord2id=case when new.ord2_fatherord2id is null or new.ord2_fatherord2id = -999999999  then old.ord2_fatherord2id else new.ord2_fatherord2id end,ord2_fbizid=case when new.ord2_fbizid is null or new.ord2_fbizid = -999999999  then old.ord2_fbizid else new.ord2_fbizid end,ord2_ford2id=case when new.ord2_ford2id is null or new.ord2_ford2id = -999999999  then old.ord2_ford2id else new.ord2_ford2id end,ord2_ford2tag=case when new.ord2_ford2tag is null or new.ord2_ford2tag = -999999999  then old.ord2_ford2tag else new.ord2_ford2tag end,ord2_fordid=case when new.ord2_fordid is null or new.ord2_fordid = -999999999  then old.ord2_fordid else new.ord2_fordid end,ord2_ftype=case when new.ord2_ftype is null or new.ord2_ftype = '_none_'  then old.ord2_ftype else new.ord2_ftype end,ord2_group=case when new.ord2_group is null or new.ord2_group = '_none_'  then old.ord2_group else new.ord2_group end,ord2_key=case when new.ord2_key is null or new.ord2_key = '_none_'  then old.ord2_key else new.ord2_key end,ord2_money=case when new.ord2_money is null or new.ord2_money = -999999999  then old.ord2_money else new.ord2_money end,ord2_order=case when new.ord2_order is null or new.ord2_order = -999999999  then old.ord2_order else new.ord2_order end,ord2_rbizid=case when new.ord2_rbizid is null or new.ord2_rbizid = -999999999  then old.ord2_rbizid else new.ord2_rbizid end,ord2_rord2id=case when new.ord2_rord2id is null or new.ord2_rord2id = -999999999  then old.ord2_rord2id else new.ord2_rord2id end,ord2_rord2tag=case when new.ord2_rord2tag is null or new.ord2_rord2tag = -999999999  then old.ord2_rord2tag else new.ord2_rord2tag end,ord2_rordid=case when new.ord2_rordid is null or new.ord2_rordid = -999999999  then old.ord2_rordid else new.ord2_rordid end,ord2_rtype=case when new.ord2_rtype is null or new.ord2_rtype = '_none_'  then old.ord2_rtype else new.ord2_rtype end,ord2_start=case when new.ord2_start is null or new.ord2_start = '_none_'  then old.ord2_start else new.ord2_start end,ord2_status=case when new.ord2_status is null or new.ord2_status = '_none_'  then old.ord2_status else new.ord2_status end,ord2_tags=case when new.ord2_tags is null or new.ord2_tags = '_none_'  then old.ord2_tags else new.ord2_tags end,ord2_ddrq=case when new.ord2_ddrq is null or new.ord2_ddrq = @nonedate then old.ord2_ddrq else new.ord2_ddrq end,ord2_qsrq=case when new.ord2_qsrq is null or new.ord2_qsrq = @nonedate then old.ord2_qsrq else new.ord2_qsrq end,ord2_bz=case when new.ord2_bz is null or new.ord2_bz = '_none_'  then old.ord2_bz else new.ord2_bz end,ord2_jtaiid=case when new.ord2_jtaiid is null or new.ord2_jtaiid = -999999999  then old.ord2_jtaiid else new.ord2_jtaiid end,ord2_bxje=case when new.ord2_bxje is null or new.ord2_bxje = -999999999  then old.ord2_bxje else new.ord2_bxje end,ord2_dj=case when new.ord2_dj is null or new.ord2_dj = -999999999  then old.ord2_dj else new.ord2_dj end,ord2_fph=case when new.ord2_fph is null or new.ord2_fph = '_none_'  then old.ord2_fph else new.ord2_fph end,ord2_fpsh=case when new.ord2_fpsh is null or new.ord2_fpsh = '_none_'  then old.ord2_fpsh else new.ord2_fpsh end,ord2_fymc=case when new.ord2_fymc is null or new.ord2_fymc = '_none_'  then old.ord2_fymc else new.ord2_fymc end,ord2_jsrq=case when new.ord2_jsrq is null or new.ord2_jsrq = @nonedate then old.ord2_jsrq else new.ord2_jsrq end,ord2_ksrq=case when new.ord2_ksrq is null or new.ord2_ksrq = @nonedate then old.ord2_ksrq else new.ord2_ksrq end,ord2_ysye=case when new.ord2_ysye is null or new.ord2_ysye = -999999999  then old.ord2_ysye else new.ord2_ysye end,ord2_zsaiid=case when new.ord2_zsaiid is null or new.ord2_zsaiid = -999999999  then old.ord2_zsaiid else new.ord2_zsaiid end,ord2_zsd=case when new.ord2_zsd is null or new.ord2_zsd = '_none_'  then old.ord2_zsd else new.ord2_zsd end
from order_169_2 old , #detail2 new  
where old.ord2_id=new.ord2_id and (new.recid is not null)   

update old set 
ord2_bz=case when new.ord2_bz is null or new.ord2_bz = '_none_'  then old.ord2_bz else new.ord2_bz end,ord2_caption=case when new.ord2_caption is null or new.ord2_caption = '_none_'  then old.ord2_caption else new.ord2_caption end,ord2_code=case when new.ord2_code is null or new.ord2_code = '_none_'  then old.ord2_code else new.ord2_code end,ord2_daycount=case when new.ord2_daycount is null or new.ord2_daycount = '_none_'  then old.ord2_daycount else new.ord2_daycount end,ord2_dj=case when new.ord2_dj is null or new.ord2_dj = -999999999  then old.ord2_dj else new.ord2_dj end,ord2_fatherord2id=case when new.ord2_fatherord2id is null or new.ord2_fatherord2id = -999999999  then old.ord2_fatherord2id else new.ord2_fatherord2id end,ord2_fbizid=case when new.ord2_fbizid is null or new.ord2_fbizid = -999999999  then old.ord2_fbizid else new.ord2_fbizid end,ord2_ford2id=case when new.ord2_ford2id is null or new.ord2_ford2id = -999999999  then old.ord2_ford2id else new.ord2_ford2id end,ord2_ford2tag=case when new.ord2_ford2tag is null or new.ord2_ford2tag = -999999999  then old.ord2_ford2tag else new.ord2_ford2tag end,ord2_fordid=case when new.ord2_fordid is null or new.ord2_fordid = -999999999  then old.ord2_fordid else new.ord2_fordid end,ord2_fph=case when new.ord2_fph is null or new.ord2_fph = '_none_'  then old.ord2_fph else new.ord2_fph end,ord2_ftype=case when new.ord2_ftype is null or new.ord2_ftype = '_none_'  then old.ord2_ftype else new.ord2_ftype end,ord2_group=case when new.ord2_group is null or new.ord2_group = '_none_'  then old.ord2_group else new.ord2_group end,ord2_jsrq=case when new.ord2_jsrq is null or new.ord2_jsrq = @nonedate then old.ord2_jsrq else new.ord2_jsrq end,ord2_key=case when new.ord2_key is null or new.ord2_key = '_none_'  then old.ord2_key else new.ord2_key end,ord2_ksrq=case when new.ord2_ksrq is null or new.ord2_ksrq = @nonedate then old.ord2_ksrq else new.ord2_ksrq end,ord2_livemoney=case when new.ord2_livemoney is null or new.ord2_livemoney = -999999999  then old.ord2_livemoney else new.ord2_livemoney end,ord2_money=case when new.ord2_money is null or new.ord2_money = -999999999  then old.ord2_money else new.ord2_money end,ord2_money2=case when new.ord2_money2 is null or new.ord2_money2 = -999999999  then old.ord2_money2 else new.ord2_money2 end,ord2_order=case when new.ord2_order is null or new.ord2_order = -999999999  then old.ord2_order else new.ord2_order end,ord2_rbizid=case when new.ord2_rbizid is null or new.ord2_rbizid = -999999999  then old.ord2_rbizid else new.ord2_rbizid end,ord2_rord2id=case when new.ord2_rord2id is null or new.ord2_rord2id = -999999999  then old.ord2_rord2id else new.ord2_rord2id end,ord2_rord2tag=case when new.ord2_rord2tag is null or new.ord2_rord2tag = -999999999  then old.ord2_rord2tag else new.ord2_rord2tag end,ord2_rordid=case when new.ord2_rordid is null or new.ord2_rordid = -999999999  then old.ord2_rordid else new.ord2_rordid end,ord2_rtype=case when new.ord2_rtype is null or new.ord2_rtype = '_none_'  then old.ord2_rtype else new.ord2_rtype end,ord2_status=case when new.ord2_status is null or new.ord2_status = '_none_'  then old.ord2_status else new.ord2_status end,ord2_tags=case when new.ord2_tags is null or new.ord2_tags = '_none_'  then old.ord2_tags else new.ord2_tags end,ord2_zsaiid=case when new.ord2_zsaiid is null or new.ord2_zsaiid = -999999999  then old.ord2_zsaiid else new.ord2_zsaiid end,ord2_zsd=case when new.ord2_zsd is null or new.ord2_zsd = '_none_'  then old.ord2_zsd else new.ord2_zsd end
from order_169_3 old , #detail3 new  
where old.ord2_id=new.ord2_id and (new.recid is not null)   

update old set 
ord2_bxje=case when new.ord2_bxje is null or new.ord2_bxje = -999999999  then old.ord2_bxje else new.ord2_bxje end,ord2_bz=case when new.ord2_bz is null or new.ord2_bz = '_none_'  then old.ord2_bz else new.ord2_bz end,ord2_caption=case when new.ord2_caption is null or new.ord2_caption = '_none_'  then old.ord2_caption else new.ord2_caption end,ord2_code=case when new.ord2_code is null or new.ord2_code = '_none_'  then old.ord2_code else new.ord2_code end,ord2_fatherord2id=case when new.ord2_fatherord2id is null or new.ord2_fatherord2id = -999999999  then old.ord2_fatherord2id else new.ord2_fatherord2id end,ord2_fbizid=case when new.ord2_fbizid is null or new.ord2_fbizid = -999999999  then old.ord2_fbizid else new.ord2_fbizid end,ord2_ford2id=case when new.ord2_ford2id is null or new.ord2_ford2id = -999999999  then old.ord2_ford2id else new.ord2_ford2id end,ord2_ford2tag=case when new.ord2_ford2tag is null or new.ord2_ford2tag = -999999999  then old.ord2_ford2tag else new.ord2_ford2tag end,ord2_fordid=case when new.ord2_fordid is null or new.ord2_fordid = -999999999  then old.ord2_fordid else new.ord2_fordid end,ord2_fpsh=case when new.ord2_fpsh is null or new.ord2_fpsh = '_none_'  then old.ord2_fpsh else new.ord2_fpsh end,ord2_ftype=case when new.ord2_ftype is null or new.ord2_ftype = '_none_'  then old.ord2_ftype else new.ord2_ftype end,ord2_fymc=case when new.ord2_fymc is null or new.ord2_fymc = '_none_'  then old.ord2_fymc else new.ord2_fymc end,ord2_group=case when new.ord2_group is null or new.ord2_group = '_none_'  then old.ord2_group else new.ord2_group end,ord2_key=case when new.ord2_key is null or new.ord2_key = '_none_'  then old.ord2_key else new.ord2_key end,ord2_order=case when new.ord2_order is null or new.ord2_order = -999999999  then old.ord2_order else new.ord2_order end,ord2_rbizid=case when new.ord2_rbizid is null or new.ord2_rbizid = -999999999  then old.ord2_rbizid else new.ord2_rbizid end,ord2_rord2id=case when new.ord2_rord2id is null or new.ord2_rord2id = -999999999  then old.ord2_rord2id else new.ord2_rord2id end,ord2_rord2tag=case when new.ord2_rord2tag is null or new.ord2_rord2tag = -999999999  then old.ord2_rord2tag else new.ord2_rord2tag end,ord2_rordid=case when new.ord2_rordid is null or new.ord2_rordid = -999999999  then old.ord2_rordid else new.ord2_rordid end,ord2_rtype=case when new.ord2_rtype is null or new.ord2_rtype = '_none_'  then old.ord2_rtype else new.ord2_rtype end,ord2_status=case when new.ord2_status is null or new.ord2_status = '_none_'  then old.ord2_status else new.ord2_status end,ord2_tags=case when new.ord2_tags is null or new.ord2_tags = '_none_'  then old.ord2_tags else new.ord2_tags end,ord2_ysye=case when new.ord2_ysye is null or new.ord2_ysye = -999999999  then old.ord2_ysye else new.ord2_ysye end,ord2_qtaiid=case when new.ord2_qtaiid is null or new.ord2_qtaiid = -999999999  then old.ord2_qtaiid else new.ord2_qtaiid end
from order_169_4 old , #detail4 new  
where old.ord2_id=new.ord2_id and (new.recid is not null)   

--- 清除临时表 
exec drop_temp_table '#master' 
exec drop_temp_table '#detail2' 
exec drop_temp_table '#detail3' 
exec drop_temp_table '#detail4' 

set nocount off 
end