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

-- 生成时间:2018-06-27 14:47:57 by ebs-core  
CREATE  procedure order_243_3625_wrklink_after(
     @cmpid int, 
     @useruid int,
     @bizid int, 
     @ordid bigint, 
     @wrkid int, 
     @jbid bigint, 
     @wsid int, 
     @wsstatus nvarchar(50) 
  ) 
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 
  
 --- 以下是预处理事件中的临时表
 
exec drop_temp_table '#master' 
select * into #master from order_243 where ord_id=@ordid 
 ---- 以下是开发人员写的 before link job 事件 --------------
 update r 
set r.ord_zzzk='离职',
    r.ord_lzfs = n.ord_lzfs,
    r.ord_lzyylx = n.ord_lzyylx,
    r.ord_lzyy = n.ord_lzyy,
    r.ord_lzsj = n.ord_sjlzrq,
    r.ord_updated = getdate()
from #master n,order_40 r
where r.ord_gh=n.ord_gh

/*更新pos员工状态离职,*/
declare @sql varchar(max) = '',
      @ord_gh varchar(100) = '',
      @ord_lzfs varchar(100)= '',
      @lzyylx varchar(200)= '',
      @lzyy varchar(255) = '',
      @hpzkk varchar(255) = '',
      @creator varchar(255) = '',
      @executor varchar(255) = '',
      @enddate datetime = '1900-01-01'

select @ord_gh = ord_gh ,
      @ord_lzfs = ord_lzfs,
      @lzyylx = ord_lzyylx,
      @lzyy  = ord_lzyy,
      @hpzkk  = convert(varchar(21),ord_hpzkk),
      @creator  = ord_creator,
      @executor  = ord_lzspr,
      @enddate = ord_sjlzrq
from #master with(nolock) where ord_id = @ordid

insert into ebs2java.dbo.mps_test(text,datetime,cuid)
values(@executor,getdate(),1)

if(@ord_gh>'')
begin    
   set @sql = 'update openquery(posformal,''select * from hr_EMPLOYEE  where NO =''''' 
   set @sql = @sql+@ord_gh+''''' '') '+CHAR(10)+'set '+CHAR(10)
   set @sql = @sql+'INCUMBENCY_STS = ''D'' ,'+CHAR(10)
   set @sql = @sql+'END_DATE = '''+convert(varchar(10),@enddate,112)+''' ,'+CHAR(10)
   set @sql = @sql+'DIMISSIONTYPE = '+case when @ord_lzfs =  '正常离职' then '1' when @ord_lzfs =  '自动离职' then '2' when @ord_lzfs =  '考核未通过' then '3' else '0' end  +' ,'+CHAR(10)
   set @sql = @sql+'SUGTYPE = '+case when @lzyylx = '个人身体健康因素' then '1'
                                       when @lzyylx = '个人能力与岗位不匹配' then '2'
                                       when @lzyylx = '工作时间' then '3'
                                       when @lzyylx = '工作压力' then '4'
                                       when @lzyylx = '工作内容' then '5'
                                       when @lzyylx = '工作地点' then '6'
                                       when @lzyylx = '工作环境' then '7'
                                       when @lzyylx = '管理方式' then '8'
                                       when @lzyylx = '公司制度' then '9'
                                       when @lzyylx = '家庭原因' then '10'
                                       when @lzyylx = '回校深造' then '11'
                                       when @lzyylx = '发展空间' then '12'
                                       when @lzyylx = '薪资低' then '13'
                                       when @lzyylx = '福利待遇' then '14'
                                       when @lzyylx = '开加盟店' then '15'
                                       when @lzyylx = '自己经营生意' then '16'
                                       when @lzyylx = '调动' then '17'
                                       when @lzyylx = '转行或转业' then '18'
                                       when @lzyylx = '辞退' then '19'
                                       when @lzyylx = '与领导关系不和' then '20'
                                       when @lzyylx = '考核未通过' then '21'
                                       when @lzyylx = '原因不明' then '22'
                                       when @lzyylx = '劳动关系转移' then '24'
                                       else '0' end +' ,'+CHAR(10)
   set @sql = @sql+'DIMISSIONREASON = '''+substring(isnull(@lzyy,''),1,255)+''' ,'+CHAR(10)
   set @sql = @sql+'CHARGEBACK = '+@hpzkk+' ,'+CHAR(10)
   set @sql = @sql+'DIMISSIONCREATER = '''+convert(varchar(20),@creator)+''' ,'+CHAR(10)
   set @sql = @sql+'DIMISSIONAUTHOR = '''+convert(varchar(20),@executor)+''' '+CHAR(10)
   insert into ebs2java.dbo.mps_test(text,datetime,cuid)
    values(@sql,getdate(),1)
end

 ---- 以上是开发人员写的 before libk job 事件 --------------
 
  
 
update old set 
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_gh=case when new.ord_gh is null or new.ord_gh = '_none_'  then old.ord_gh else new.ord_gh 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_lzdp=case when new.ord_lzdp is null or new.ord_lzdp = '_none_'  then old.ord_lzdp else new.ord_lzdp end,ord_lzfs=case when new.ord_lzfs is null or new.ord_lzfs = '_none_'  then old.ord_lzfs else new.ord_lzfs end,ord_lzyy=case when new.ord_lzyy is null or new.ord_lzyy = '_none_'  then old.ord_lzyy else new.ord_lzyy end,ord_lzyylx=case when new.ord_lzyylx is null or new.ord_lzyylx = '_none_'  then old.ord_lzyylx else new.ord_lzyylx 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_sjlzrq=case when new.ord_sjlzrq is null or new.ord_sjlzrq = @nonedate then old.ord_sjlzrq else new.ord_sjlzrq 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_ygxm=case when new.ord_ygxm is null or new.ord_ygxm = '_none_'  then old.ord_ygxm else new.ord_ygxm end,ord_ylzrq=case when new.ord_ylzrq is null or new.ord_ylzrq = @nonedate then old.ord_ylzrq else new.ord_ylzrq end,ord_zj=case when new.ord_zj is null or new.ord_zj = '_none_'  then old.ord_zj else new.ord_zj end,ord_lzcuid=case when new.ord_lzcuid is null or new.ord_lzcuid = -999999999  then old.ord_lzcuid else new.ord_lzcuid end,ord_lzsqsh=case when new.ord_lzsqsh is null or new.ord_lzsqsh = '_none_'  then old.ord_lzsqsh else new.ord_lzsqsh end,ord_lzordid=case when new.ord_lzordid is null or new.ord_lzordid = -999999999  then old.ord_lzordid else new.ord_lzordid end,ord_hpzkk=case when new.ord_hpzkk is null or new.ord_hpzkk = -999999999  then old.ord_hpzkk else new.ord_hpzkk end,ord_lzspr=case when new.ord_lzspr is null or new.ord_lzspr = '_none_'  then old.ord_lzspr else new.ord_lzspr end
from order_243 old , #master new  where old.ord_id=new.ord_id 

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

set nocount off 
end