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

-- 生成时间:2018-11-22 18:21:21 by ebs-core  
CREATE  procedure order_241_2955_wrklink_after(
     @cmpid int, 
     @useruid int,
     @bizid int, 
     @ordid bigint, 
     @wrkid int, 
     @jbid bigint, 
     @wsid int, 
     @wsstatus nvarchar(50) 
  ) 
as  
begin  
set nocount on  
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
declare @autoapplycode varchar(50) 
  set @autoapplycode =  ''
declare @nonedate datetime 
set @nonedate = CONVERT(datetime,'1910-1-1')
declare @ord2group2 nvarchar(50) 
set @ord2group2 = '' 
declare @sys_recid bigint 
set @sys_recid = 0 
  
 --- 以下是预处理事件中的临时表
 
exec drop_temp_table '#master' 
select * into #master from order_241 with(nolock) where ord_id=@ordid 
exec drop_temp_table '#detail2' 
select *,null recid into #detail2 from order_241_2 with(nolock) where ord2_ordid=@ordid  
update #detail2 set recid=ord2_id 
declare @detail2_old  table (ord2_id bigint) 
insert  into @detail2_old (ord2_id) select ord2_id from #detail2

 ---- 以下是开发人员写的 before link job 事件 --------------
 --删除敏感用户数据
delete from #detail2 where exists (select cc_mobile from mps_customer where cc_tag = 0 and cc_ctid = 5 and ord2_hm = cc_mobile)
--计算总数
update #master set ord_hmcount = (select count(*)  from #detail2 where ord_id = @ordid)
 ---- 以上是开发人员写的 before libk job 事件 --------------
 
  
 

 declare @authority_old varchar(32)=''
declare @authority_new varchar(32)='' 
select top 1 @authority_old=substring(sys.fn_sqlvarbasetostr(HashBytes('MD5', convert(varchar(100),ord_createcuid) )),3,32) from order_241 with(nolock) where ord_id=@ordid 
set @authority_old = isnull(@authority_old,'') 
select top 1 @authority_new=substring(sys.fn_sqlvarbasetostr(HashBytes('MD5', convert(varchar(100),ord_createcuid) )),3,32) from #master 
set @authority_new = isnull(@authority_new,'') 
update old set 
ord_bchml=case when new.ord_bchml is null or new.ord_bchml = -999999999  then old.ord_bchml else new.ord_bchml 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_fbsm=case when new.ord_fbsm is null or new.ord_fbsm = '_none_'  then old.ord_fbsm else new.ord_fbsm 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_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_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_hdsm_bak=case when new.ord_hdsm_bak is null or new.ord_hdsm_bak = '_none_'  then old.ord_hdsm_bak else new.ord_hdsm_bak end,ord_yxhd_bak=case when new.ord_yxhd_bak is null or new.ord_yxhd_bak = '_none_'  then old.ord_yxhd_bak else new.ord_yxhd_bak end,ord_kzsl=case when new.ord_kzsl is null or new.ord_kzsl = -999999999  then old.ord_kzsl else new.ord_kzsl end,ord_ext01=case when new.ord_ext01 is null or new.ord_ext01 = '_none_'  then old.ord_ext01 else new.ord_ext01 end,ord_ext02=case when new.ord_ext02 is null or new.ord_ext02 = '_none_'  then old.ord_ext02 else new.ord_ext02 end,ord_ext03=case when new.ord_ext03 is null or new.ord_ext03 = '_none_'  then old.ord_ext03 else new.ord_ext03 end,ord_ext04=case when new.ord_ext04 is null or new.ord_ext04 = '_none_'  then old.ord_ext04 else new.ord_ext04 end,ord_ext05=case when new.ord_ext05 is null or new.ord_ext05 = '_none_'  then old.ord_ext05 else new.ord_ext05 end,ord_ext06=case when new.ord_ext06 is null or new.ord_ext06 = '_none_'  then old.ord_ext06 else new.ord_ext06 end,ord_ext07=case when new.ord_ext07 is null or new.ord_ext07 = '_none_'  then old.ord_ext07 else new.ord_ext07 end,ord_ext08=case when new.ord_ext08 is null or new.ord_ext08 = '_none_'  then old.ord_ext08 else new.ord_ext08 end,ord_ext09=case when new.ord_ext09 is null or new.ord_ext09 = '_none_'  then old.ord_ext09 else new.ord_ext09 end,ord_ext10=case when new.ord_ext10 is null or new.ord_ext10 = '_none_'  then old.ord_ext10 else new.ord_ext10 end,ord_ext12=case when new.ord_ext12 is null or new.ord_ext12 = '_none_'  then old.ord_ext12 else new.ord_ext12 end,ord_ext13=case when new.ord_ext13 is null or new.ord_ext13 = '_none_'  then old.ord_ext13 else new.ord_ext13 end,ord_ext14=case when new.ord_ext14 is null or new.ord_ext14 = '_none_'  then old.ord_ext14 else new.ord_ext14 end,ord_ext15=case when new.ord_ext15 is null or new.ord_ext15 = '_none_'  then old.ord_ext15 else new.ord_ext15 end,ord_ext16=case when new.ord_ext16 is null or new.ord_ext16 = '_none_'  then old.ord_ext16 else new.ord_ext16 end,ord_ext17=case when new.ord_ext17 is null or new.ord_ext17 = '_none_'  then old.ord_ext17 else new.ord_ext17 end,ord_ext18=case when new.ord_ext18 is null or new.ord_ext18 = '_none_'  then old.ord_ext18 else new.ord_ext18 end,ord_ext19=case when new.ord_ext19 is null or new.ord_ext19 = '_none_'  then old.ord_ext19 else new.ord_ext19 end,ord_ext20=case when new.ord_ext20 is null or new.ord_ext20 = '_none_'  then old.ord_ext20 else new.ord_ext20 end,ord_ext11=case when new.ord_ext11 is null or new.ord_ext11 = '_none_'  then old.ord_ext11 else new.ord_ext11 end,ord_whlx=case when new.ord_whlx is null or new.ord_whlx = '_none_'  then old.ord_whlx else new.ord_whlx end,ord_hmcount=case when new.ord_hmcount is null or new.ord_hmcount = -999999999  then old.ord_hmcount else new.ord_hmcount end,ord_hdlx=case when new.ord_hdlx is null or new.ord_hdlx = '_none_'  then old.ord_hdlx else new.ord_hdlx end,ord_sobjid=case when new.ord_sobjid is null or new.ord_sobjid = -999999999  then old.ord_sobjid else new.ord_sobjid end,ord_hdmc=case when new.ord_hdmc is null or new.ord_hdmc = '_none_'  then old.ord_hdmc else new.ord_hdmc end,ord_hdsm_bak_20181107164244047=case when new.ord_hdsm_bak_20181107164244047 is null or new.ord_hdsm_bak_20181107164244047 = '_none_'  then old.ord_hdsm_bak_20181107164244047 else new.ord_hdsm_bak_20181107164244047 end,ord_yxhd_bak_20181107164244047=case when new.ord_yxhd_bak_20181107164244047 is null or new.ord_yxhd_bak_20181107164244047 = '_none_'  then old.ord_yxhd_bak_20181107164244047 else new.ord_yxhd_bak_20181107164244047 end,ord_authority_factor=case when new.ord_authority_factor is null or new.ord_authority_factor = -999999999  then old.ord_authority_factor else new.ord_authority_factor end,ord_hdsm=case when new.ord_hdsm is null or new.ord_hdsm = '_none_'  then old.ord_hdsm else new.ord_hdsm end,ord_yxhd=case when new.ord_yxhd is null or new.ord_yxhd = '_none_'  then old.ord_yxhd else new.ord_yxhd end

from order_241 old with(rowlock), #master new  where old.ord_id=new.ord_id 

if (@authority_new<>@authority_old) 
begin
if (not exists (select 1 from order_241_authority_factor with(nolock) where ordaf_value=@authority_new)) 
begin
insert into order_241_authority_factor(ordaf_done,ordaf_ordid,ordaf_value) values(0,@ordid,@authority_new)
end 
end

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_group=case when new.ord2_group is null or new.ord2_group = '_none_'  then old.ord2_group else new.ord2_group end,ord2_hm=case when new.ord2_hm is null or new.ord2_hm = '_none_'  then old.ord2_hm else new.ord2_hm 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_xm=case when new.ord2_xm is null or new.ord2_xm = '_none_'  then old.ord2_xm else new.ord2_xm end,ord2_zzftc=case when new.ord2_zzftc is null or new.ord2_zzftc = '_none_'  then old.ord2_zzftc else new.ord2_zzftc end,ord2_ext01=case when new.ord2_ext01 is null or new.ord2_ext01 = '_none_'  then old.ord2_ext01 else new.ord2_ext01 end,ord2_ext02=case when new.ord2_ext02 is null or new.ord2_ext02 = '_none_'  then old.ord2_ext02 else new.ord2_ext02 end,ord2_ext03=case when new.ord2_ext03 is null or new.ord2_ext03 = '_none_'  then old.ord2_ext03 else new.ord2_ext03 end,ord2_ext04=case when new.ord2_ext04 is null or new.ord2_ext04 = '_none_'  then old.ord2_ext04 else new.ord2_ext04 end,ord2_ext05=case when new.ord2_ext05 is null or new.ord2_ext05 = '_none_'  then old.ord2_ext05 else new.ord2_ext05 end,ord2_ext06=case when new.ord2_ext06 is null or new.ord2_ext06 = '_none_'  then old.ord2_ext06 else new.ord2_ext06 end,ord2_ext07=case when new.ord2_ext07 is null or new.ord2_ext07 = '_none_'  then old.ord2_ext07 else new.ord2_ext07 end,ord2_ext08=case when new.ord2_ext08 is null or new.ord2_ext08 = '_none_'  then old.ord2_ext08 else new.ord2_ext08 end,ord2_ext09=case when new.ord2_ext09 is null or new.ord2_ext09 = '_none_'  then old.ord2_ext09 else new.ord2_ext09 end,ord2_ext10=case when new.ord2_ext10 is null or new.ord2_ext10 = '_none_'  then old.ord2_ext10 else new.ord2_ext10 end,ord2_ext11=case when new.ord2_ext11 is null or new.ord2_ext11 = '_none_'  then old.ord2_ext11 else new.ord2_ext11 end,ord2_ext12=case when new.ord2_ext12 is null or new.ord2_ext12 = '_none_'  then old.ord2_ext12 else new.ord2_ext12 end,ord2_ext13=case when new.ord2_ext13 is null or new.ord2_ext13 = '_none_'  then old.ord2_ext13 else new.ord2_ext13 end,ord2_ext14=case when new.ord2_ext14 is null or new.ord2_ext14 = '_none_'  then old.ord2_ext14 else new.ord2_ext14 end,ord2_ext15=case when new.ord2_ext15 is null or new.ord2_ext15 = '_none_'  then old.ord2_ext15 else new.ord2_ext15 end,ord2_ext16=case when new.ord2_ext16 is null or new.ord2_ext16 = '_none_'  then old.ord2_ext16 else new.ord2_ext16 end,ord2_ext17=case when new.ord2_ext17 is null or new.ord2_ext17 = '_none_'  then old.ord2_ext17 else new.ord2_ext17 end,ord2_ext18=case when new.ord2_ext18 is null or new.ord2_ext18 = '_none_'  then old.ord2_ext18 else new.ord2_ext18 end,ord2_ext19=case when new.ord2_ext19 is null or new.ord2_ext19 = '_none_'  then old.ord2_ext19 else new.ord2_ext19 end,ord2_ext20=case when new.ord2_ext20 is null or new.ord2_ext20 = '_none_'  then old.ord2_ext20 else new.ord2_ext20 end,ord2_mdbh=case when new.ord2_mdbh is null or new.ord2_mdbh = '_none_'  then old.ord2_mdbh else new.ord2_mdbh end,ord2_sfbd=case when new.ord2_sfbd is null or new.ord2_sfbd = '_none_'  then old.ord2_sfbd else new.ord2_sfbd end,ord2_whordid=case when new.ord2_whordid is null or new.ord2_whordid = -999999999  then old.ord2_whordid else new.ord2_whordid end,ord2_whstatus=case when new.ord2_whstatus is null or new.ord2_whstatus = '_none_'  then old.ord2_whstatus else new.ord2_whstatus end,ord2_cuid=case when new.ord2_cuid is null or new.ord2_cuid = -999999999  then old.ord2_cuid else new.ord2_cuid end,ord2_creator=case when new.ord2_creator is null or new.ord2_creator = '_none_'  then old.ord2_creator else new.ord2_creator end
from order_241_2 old with(rowlock) , #detail2 new  
where old.ord2_id=new.ord2_id and (new.recid is not null)   

delete order_241_2 with(rowlock) 
from  (select ord2_id from @detail2_old  where ord2_id not in ( 
select recid from #detail2)) a where order_241_2.ord2_id=a.ord2_id 

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

set nocount off 
end