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

-- 生成时间:2018-11-30 14:40:53 by ebs-core  
CREATE  procedure order_265_newbiz_after(
     @cmpid int,
     @branchid int,
     @userdpid int,
     @useruid int,
     @userotid int,
     @jbid bigint,
     @ordid bigint,
     @stype varchar(20),
     @sbizid int,
     @sord2tag int,
     @sord2id bigint,
     @sordidstr varchar(max),
     @extparam1 nvarchar(1000),
     @extparam2 nvarchar(1000),
     @extparam3 nvarchar(1000) 
  ) 
as  
begin  
set nocount on  
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
  if ((@extparam1 is null) or (@extparam1='_none_'))  set @extparam1 = '' 
  if ((@extparam2 is null) or (@extparam2='_none_'))  set @extparam2 = '' 
  if ((@extparam3 is null) or (@extparam3='_none_'))  set @extparam3 = '' 
  
  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 
declare @newordid bigint  
declare @sordids table(ordid bigint)  
 set @newordid = @ordid  
 declare @i int , @curInd int , @strlen int , @ordid_s varchar ( 20 )  
 declare @sordid bigint  
 set @sordid = 0  
 if ( charindex ( ',' ,@sordidstr ) = 0 and @sordidstr > '' )  
 begin  
 set @sordid = convert ( bigint ,@sordidstr )  
 insert into @sordids ( ordid ) values ( @sordid )  
 end   
 else 
 begin  
 select @curInd = 1 , @strlen = LEN ( @sordidstr )  
 while ( @curInd <= @strlen )  
 begin  
 select @i = charindex ( ',' ,@sordidstr , @curInd )  
 if ( @i > 0 )  
 begin  
 select @ordid_s = SUBSTRING ( @sordidstr , @curInd , @i  - @curInd )  
 insert into @sordids ( ordid ) values ( convert ( bigint , @ordid_s ) )  
 set @curInd = @i  + 1  
 end  
 else if ( @curInd <= @strlen )  
 begin  
 select @ordid_s = SUBSTRING ( @sordidstr , @curInd , @strlen  - @curInd  + 1 )  
 insert into @sordids ( ordid ) values ( convert ( bigint , @ordid_s ) )  
 break  
 end  
 end  
 end 
  
 --- 以下是预处理事件中的临时表
 
exec drop_temp_table '#new' 
select * into #new from order_265 with(nolock) where ord_id=@newordid 
 ---- 以下是开发人员写的 after new order 事件 --------------
 /*更新业务状态*/
update #new set ord_status = '待门店发货装箱'

/*更新【故障】字段*/
update n set ord_gz = (select m.ord_gzfl1j+'/'+m.ord_gzfl2j from  #new n,order_260 m  where  m.ord_id = n.ord_fordid) from #new n

/*如果当前业务单是由【门店工单】自动新建的，则更新当前业务单中的某些字段*/
update n
set n.ord_ch = m.ord_imei,
    n.ord_fhzd = m.ord_branch,
    n.ord_gcs = m.ord_wxgcs2,
    n.ord_gsh = m.ord_no,
    n.ord_createdepart = m.ord_createdepart,
    n.ord_khxm = m.ord_xm,
    n.ord_mdbm = m.ord_mdbh,
    n.ord_mdmc = m.ord_createdepart,
    n.ord_pp = m.ord_zdpp,
    n.ord_sjh = m.ord_sjh,
    n.ord_xh = m.ord_zdxh,
    n.ord_zdxj = '1'
from #new n ,order_260 m
where n.ord_fbizid = 260 and n.ord_fordid = m.ord_id and m.ord_cjjj = '是'


set @autoapplycode=dbo.applycurrentflow(0,0,0)


 ---- 以上是开发人员写的 after new order 事件 --------------
 
 
update old set 
ord_bcid=case when new.ord_bcid is null or new.ord_bcid = -999999999  then old.ord_bcid else new.ord_bcid 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_finished=case when new.ord_finished is null or new.ord_finished = -999999999  then old.ord_finished else new.ord_finished 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_khxm=case when new.ord_khxm is null or new.ord_khxm = '_none_'  then old.ord_khxm else new.ord_khxm 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_sjh=case when new.ord_sjh is null or new.ord_sjh = '_none_'  then old.ord_sjh else new.ord_sjh 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_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_bmje=case when new.ord_bmje is null or new.ord_bmje = -999999999  then old.ord_bmje else new.ord_bmje end,ord_bmsj=case when new.ord_bmsj is null or new.ord_bmsj <= @nonedate then old.ord_bmsj else new.ord_bmsj 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_ch=case when new.ord_ch is null or new.ord_ch = '_none_'  then old.ord_ch else new.ord_ch end,ord_fhsj=case when new.ord_fhsj is null or new.ord_fhsj <= @nonedate then old.ord_fhsj else new.ord_fhsj end,ord_fhzd=case when new.ord_fhzd is null or new.ord_fhzd = '_none_'  then old.ord_fhzd else new.ord_fhzd end,ord_gcs=case when new.ord_gcs is null or new.ord_gcs = '_none_'  then old.ord_gcs else new.ord_gcs end,ord_gsh=case when new.ord_gsh is null or new.ord_gsh = '_none_'  then old.ord_gsh else new.ord_gsh end,ord_gz=case when new.ord_gz is null or new.ord_gz = '_none_'  then old.ord_gz else new.ord_gz end,ord_hhbm=case when new.ord_hhbm is null or new.ord_hhbm = '_none_'  then old.ord_hhbm else new.ord_hhbm end,ord_mdbm=case when new.ord_mdbm is null or new.ord_mdbm = '_none_'  then old.ord_mdbm else new.ord_mdbm end,ord_mdmc=case when new.ord_mdmc is null or new.ord_mdmc = '_none_'  then old.ord_mdmc else new.ord_mdmc end,ord_pjzt=case when new.ord_pjzt is null or new.ord_pjzt = '_none_'  then old.ord_pjzt else new.ord_pjzt end,ord_pp=case when new.ord_pp is null or new.ord_pp = '_none_'  then old.ord_pp else new.ord_pp end,ord_shsj=case when new.ord_shsj is null or new.ord_shsj <= @nonedate then old.ord_shsj else new.ord_shsj end,ord_xh=case when new.ord_xh is null or new.ord_xh = '_none_'  then old.ord_xh else new.ord_xh end,ord_ywxs=case when new.ord_ywxs is null or new.ord_ywxs = '_none_'  then old.ord_ywxs else new.ord_ywxs end,ord_zdxj=case when new.ord_zdxj is null or new.ord_zdxj = '_none_'  then old.ord_zdxj else new.ord_zdxj end,ord_mdypid=case when new.ord_mdypid is null or new.ord_mdypid = -999999999  then old.ord_mdypid else new.ord_mdypid 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_jbexecutor=case when new.ord_jbexecutor is null or new.ord_jbexecutor = '_none_'  then old.ord_jbexecutor else new.ord_jbexecutor end,ord_jbtitle=case when new.ord_jbtitle is null or new.ord_jbtitle = '_none_'  then old.ord_jbtitle else new.ord_jbtitle end,ord_jjzt=case when new.ord_jjzt is null or new.ord_jjzt = '_none_'  then old.ord_jjzt else new.ord_jjzt end,ord_wrkid=case when new.ord_wrkid is null or new.ord_wrkid = -999999999  then old.ord_wrkid else new.ord_wrkid end
from order_265 old with(rowlock) , #new new  where old.ord_id=new.ord_id 

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

--以下代码是自动执行工作步骤 
if (@autoapplycode<>'') 
begin 
exec mps_do_execute_job_auto2  
@cmpid  , 
@branchid , 
@userdpid , 
@useruid , 
@userotid , 
@autoapplycode , 265,
@newordid  
end 

set nocount off 
end