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

-- 生成时间:2018-06-27 14:12:36 by ebs-core  
CREATE  procedure order_153_1451_wrknew_start(
     @cmpid int, 
     @useruid int, 
     @bizid int, 
     @ordid bigint, 
     @wrkid int, 
     @jbid bigint, 
     @operation varchar(50) output, 
     @errorinfo nvarchar(4000) output
  ) 
as  
begin  
set nocount on  
declare @nonedate datetime 
set @nonedate = CONVERT(datetime,'1910-1-1')
declare @ord2group2 nvarchar(50) 
set @ord2group2 = '' 
declare @sys_recid bigint 
set @sys_recid = 0 
 set @operation = 'continue'
 set @errorinfo = '' 
 --- 以下是预处理事件中的临时表
 
exec drop_temp_table '#master' 
select * into #master from order_153 where ord_id=@ordid 
exec drop_temp_table '#detail102' 
select *,null recid into #detail102 from order_153_102 where ord2_ordid=@ordid  
update #detail102 set recid=ord2_id 

 ---- 以下是开发人员写的 before start job 事件 --------------
 /*超过报名时间自动删除任务并且更新未报名的报名状态为'否'*/
declare @ismoreend datetime
select @ismoreend = ord_bmjssj from #master
if(getdate()>@ismoreend)
begin
    /*更新未报名的报名状态为否*/
    update #detail102
    set ord2_sfbm  = '否'
    where isnull(ord2_sfbm,'') = ''
    /*设置流程允许执行*/
    set @operation = 'continue'
end
else
begin
    /*设置流程禁止执行*/
    set @operation ='abort'
    set @errorinfo ='未到报名截止时间'
end

 ---- 以上是开发人员写的 before start job 事件 --------------
 
 if (@operation='continue') 
 begin
 set @nonedate= @nonedate  -- here useless 
 
update old set 
ord_bmqx=case when new.ord_bmqx is null or new.ord_bmqx = -999999999  then old.ord_bmqx else new.ord_bmqx 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_bz=case when new.ord_bz is null or new.ord_bz = '_none_'  then old.ord_bz else new.ord_bz 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_jssj=case when new.ord_jssj is null or new.ord_jssj = @nonedate then old.ord_jssj else new.ord_jssj 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_ksdate=case when new.ord_ksdate is null or new.ord_ksdate = @nonedate then old.ord_ksdate else new.ord_ksdate end,ord_kyfzr=case when new.ord_kyfzr is null or new.ord_kyfzr = '_none_'  then old.ord_kyfzr else new.ord_kyfzr end,ord_kyxzr=case when new.ord_kyxzr is null or new.ord_kyxzr = '_none_'  then old.ord_kyxzr else new.ord_kyxzr 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_qdknr=case when new.ord_qdknr is null or new.ord_qdknr = '_none_'  then old.ord_qdknr else new.ord_qdknr 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_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_zt=case when new.ord_zt is null or new.ord_zt = '_none_'  then old.ord_zt else new.ord_zt end,ord_syrcuid=case when new.ord_syrcuid is null or new.ord_syrcuid = -999999999  then old.ord_syrcuid else new.ord_syrcuid end,ord_bc_allcuid=case when new.ord_bc_allcuid is null or new.ord_bc_allcuid = -999999999  then old.ord_bc_allcuid else new.ord_bc_allcuid end,ord_所有人1cuid=case when new.ord_所有人1cuid is null or new.ord_所有人1cuid = -999999999  then old.ord_所有人1cuid else new.ord_所有人1cuid end,ord_bmjssj=case when new.ord_bmjssj is null or new.ord_bmjssj = @nonedate then old.ord_bmjssj else new.ord_bmjssj end,ord_bmkssj=case when new.ord_bmkssj is null or new.ord_bmkssj = @nonedate then old.ord_bmkssj else new.ord_bmkssj end,ord_tsdx=case when new.ord_tsdx is null or new.ord_tsdx = '_none_'  then old.ord_tsdx else new.ord_tsdx end,ord_qdxx=case when new.ord_qdxx is null or new.ord_qdxx = '_none_'  then old.ord_qdxx else new.ord_qdxx end,ord_glpxkc=case when new.ord_glpxkc is null or new.ord_glpxkc = '_none_'  then old.ord_glpxkc else new.ord_glpxkc end,ord_pxordid=case when new.ord_pxordid is null or new.ord_pxordid = -999999999  then old.ord_pxordid else new.ord_pxordid end,ord_oneofallbccuidcuid=case when new.ord_oneofallbccuidcuid is null or new.ord_oneofallbccuidcuid = -999999999  then old.ord_oneofallbccuidcuid else new.ord_oneofallbccuidcuid end,ord_yqd=case when new.ord_yqd is null or new.ord_yqd = '_none_'  then old.ord_yqd else new.ord_yqd end
from order_153 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_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_gh=case when new.ord2_gh is null or new.ord2_gh = '_none_'  then old.ord2_gh else new.ord2_gh 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_qdcs=case when new.ord2_qdcs is null or new.ord2_qdcs = -999999999  then old.ord2_qdcs else new.ord2_qdcs 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_sfbm=case when new.ord2_sfbm is null or new.ord2_sfbm = '_none_'  then old.ord2_sfbm else new.ord2_sfbm end,ord2_sfch=case when new.ord2_sfch is null or new.ord2_sfch = '_none_'  then old.ord2_sfch else new.ord2_sfch end,ord2_sfzh=case when new.ord2_sfzh is null or new.ord2_sfzh = '_none_'  then old.ord2_sfzh else new.ord2_sfzh end,ord2_sfzs=case when new.ord2_sfzs is null or new.ord2_sfzs = '_none_'  then old.ord2_sfzs else new.ord2_sfzs end,ord2_sjh=case when new.ord2_sjh is null or new.ord2_sjh = '_none_'  then old.ord2_sjh else new.ord2_sjh 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_szdp=case when new.ord2_szdp is null or new.ord2_szdp = '_none_'  then old.ord2_szdp else new.ord2_szdp 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_xm=case when new.ord2_xm is null or new.ord2_xm = '_none_'  then old.ord2_xm else new.ord2_xm end,ord2_tsrcuid=case when new.ord2_tsrcuid is null or new.ord2_tsrcuid = -999999999  then old.ord2_tsrcuid else new.ord2_tsrcuid end,ord2_dksj=case when new.ord2_dksj is null or new.ord2_dksj = @nonedate then old.ord2_dksj else new.ord2_dksj end
from order_153_102 old , #detail102 new  
where old.ord2_id=new.ord2_id and (new.recid is not null)   

end 
--- 清除临时表 
exec drop_temp_table '#master' 
exec drop_temp_table '#detail102'

set nocount off 
end