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

-- 生成时间:2018-05-03 16:37:31 by ebs-core  
CREATE  procedure order_108_modify(
@cmpid int,
@branchid int,
@userdpid int,
@useruid int,
@userotid int,
@jbid bigint,
@ordid bigint, 
@ord_createcuid int,@ord_createdpid int,@ord_cuid int,@ord_dpid int,@ord_fbizid int,@ord_ford2tag int,@ord_noi int,@ord_rbizid int,@ord_rord2tag int,@ord_security int,@ord_style int,@ord_templateid int,@ord_enddate datetime,@ord_kysj datetime,@ord_cbid bigint,@ord_fjbid bigint,@ord_ford2id bigint,@ord_fordid bigint,@ord_rord2id bigint,@ord_rordid bigint,@ord_ddcuid bigint,@ord_ddid bigint,@ord_ftype varchar(10),@ord_key varchar(30),@ord_no varchar(50),@ord_rtype varchar(10),@ord_branch nvarchar(50),@ord_bz nvarchar(100),@ord_bz1 nvarchar(100),@ord_createbizids nvarchar(200),@ord_createdepart nvarchar(50),@ord_creator nvarchar(50),@ord_zw nvarchar(100),@ord_ywlx nvarchar(100),@ord_wz03 nvarchar(100),@ord_wz04 nvarchar(100),@ord_wz05 nvarchar(100),@ord_zj nvarchar(100),@ord_ddry nvarchar(100),@ord_lxfs1 nvarchar(100),@ord_syryms nvarchar(100),@ord_template nvarchar(50),@ord_title nvarchar(100),@ord_type nvarchar(50),@ord_wz01 nvarchar(100),@ord_wz02 nvarchar(100),@ord_ky15 nvarchar(100),@ord_ky16 nvarchar(100),@ord_ky17 nvarchar(100),@ord_ky18 nvarchar(100),@ord_lxdh nvarchar(100),@ord_status nvarchar(30),@ord_ky09 nvarchar(100),@ord_ky10 nvarchar(100),@ord_ky11 nvarchar(100),@ord_ky12 nvarchar(100),@ord_ky13 nvarchar(100),@ord_ky14 nvarchar(100),@ord_ky03 nvarchar(100),@ord_ky04 nvarchar(100),@ord_ky05 nvarchar(100),@ord_ky06 nvarchar(100),@ord_ky07 nvarchar(100),@ord_ky08 nvarchar(100),@ord_jc03 nvarchar(100),@ord_jc04 nvarchar(100),@ord_jc05 nvarchar(100),@ord_jyfk nvarchar(100),@ord_ky01 nvarchar(100),@ord_ky02 nvarchar(100),@ord_empname nvarchar(50),@ord_hg01 nvarchar(100),@ord_hg02 nvarchar(100),@ord_hg03 nvarchar(100),@ord_jc01 nvarchar(100),@ord_jc02 nvarchar(100),@ord_depart nvarchar(50),@ord_dpbh nvarchar(100),@ord_dpdz nvarchar(100),@ord_dpfzr nvarchar(100),@ord_dplx nvarchar(100),@ord_dpmc nvarchar(100) ) 
as  
begin  
set nocount on  
declare @nonedate datetime 
set @nonedate = CONVERT(datetime,'1910-1-1')
 declare @operation varchar(50)
declare @errorinfo nvarchar(4000) 
 set @operation = 'continue' 
set @errorinfo = '' 
 --- 以下是预处理事件中的临时表
 update order_108 set 
ord_createcuid=case when @ord_createcuid is null or @ord_createcuid = -999999999  then ord_createcuid else @ord_createcuid end,ord_createdpid=case when @ord_createdpid is null or @ord_createdpid = -999999999  then ord_createdpid else @ord_createdpid end,ord_cuid=case when @ord_cuid is null or @ord_cuid = -999999999  then ord_cuid else @ord_cuid end,ord_dpid=case when @ord_dpid is null or @ord_dpid = -999999999  then ord_dpid else @ord_dpid end,ord_fbizid=case when @ord_fbizid is null or @ord_fbizid = -999999999  then ord_fbizid else @ord_fbizid end,ord_ford2tag=case when @ord_ford2tag is null or @ord_ford2tag = -999999999  then ord_ford2tag else @ord_ford2tag end,ord_noi=case when @ord_noi is null or @ord_noi = -999999999  then ord_noi else @ord_noi end,ord_rbizid=case when @ord_rbizid is null or @ord_rbizid = -999999999  then ord_rbizid else @ord_rbizid end,ord_rord2tag=case when @ord_rord2tag is null or @ord_rord2tag = -999999999  then ord_rord2tag else @ord_rord2tag end,ord_security=case when @ord_security is null or @ord_security = -999999999  then ord_security else @ord_security end,ord_style=case when @ord_style is null or @ord_style = -999999999  then ord_style else @ord_style end,ord_templateid=case when @ord_templateid is null or @ord_templateid = -999999999  then ord_templateid else @ord_templateid end,ord_enddate=case when @ord_enddate is null or @ord_enddate = @nonedate then ord_enddate else @ord_enddate end,ord_kysj=case when @ord_kysj is null or @ord_kysj = @nonedate then ord_kysj else @ord_kysj end,ord_cbid=case when @ord_cbid is null or @ord_cbid = -999999999  then ord_cbid else @ord_cbid end,ord_fjbid=case when @ord_fjbid is null or @ord_fjbid = -999999999  then ord_fjbid else @ord_fjbid end,ord_ford2id=case when @ord_ford2id is null or @ord_ford2id = -999999999  then ord_ford2id else @ord_ford2id end,ord_fordid=case when @ord_fordid is null or @ord_fordid = -999999999  then ord_fordid else @ord_fordid end,ord_rord2id=case when @ord_rord2id is null or @ord_rord2id = -999999999  then ord_rord2id else @ord_rord2id end,ord_rordid=case when @ord_rordid is null or @ord_rordid = -999999999  then ord_rordid else @ord_rordid end,ord_ddcuid=case when @ord_ddcuid is null or @ord_ddcuid = -999999999  then ord_ddcuid else @ord_ddcuid end,ord_ddid=case when @ord_ddid is null or @ord_ddid = -999999999  then ord_ddid else @ord_ddid end,ord_ftype=case when @ord_ftype is null or @ord_ftype = '_none_'  then ord_ftype else @ord_ftype end,ord_key=case when @ord_key is null or @ord_key = '_none_'  then ord_key else @ord_key end,ord_no=case when @ord_no is null or @ord_no = '_none_'  then ord_no else @ord_no end,ord_rtype=case when @ord_rtype is null or @ord_rtype = '_none_'  then ord_rtype else @ord_rtype end,ord_branch=case when @ord_branch is null or @ord_branch = '_none_'  then ord_branch else @ord_branch end,ord_bz=case when @ord_bz is null or @ord_bz = '_none_'  then ord_bz else @ord_bz end,ord_bz1=case when @ord_bz1 is null or @ord_bz1 = '_none_'  then ord_bz1 else @ord_bz1 end,ord_createbizids=case when @ord_createbizids is null or @ord_createbizids = '_none_'  then ord_createbizids else @ord_createbizids end,ord_createdepart=case when @ord_createdepart is null or @ord_createdepart = '_none_'  then ord_createdepart else @ord_createdepart end,ord_creator=case when @ord_creator is null or @ord_creator = '_none_'  then ord_creator else @ord_creator end,ord_zw=case when @ord_zw is null or @ord_zw = '_none_'  then ord_zw else @ord_zw end,ord_ywlx=case when @ord_ywlx is null or @ord_ywlx = '_none_'  then ord_ywlx else @ord_ywlx end,ord_wz03=case when @ord_wz03 is null or @ord_wz03 = '_none_'  then ord_wz03 else @ord_wz03 end,ord_wz04=case when @ord_wz04 is null or @ord_wz04 = '_none_'  then ord_wz04 else @ord_wz04 end,ord_wz05=case when @ord_wz05 is null or @ord_wz05 = '_none_'  then ord_wz05 else @ord_wz05 end,ord_zj=case when @ord_zj is null or @ord_zj = '_none_'  then ord_zj else @ord_zj end,ord_ddry=case when @ord_ddry is null or @ord_ddry = '_none_'  then ord_ddry else @ord_ddry end,ord_lxfs1=case when @ord_lxfs1 is null or @ord_lxfs1 = '_none_'  then ord_lxfs1 else @ord_lxfs1 end,ord_syryms=case when @ord_syryms is null or @ord_syryms = '_none_'  then ord_syryms else @ord_syryms end,ord_template=case when @ord_template is null or @ord_template = '_none_'  then ord_template else @ord_template end,ord_title=case when @ord_title is null or @ord_title = '_none_'  then ord_title else @ord_title end,ord_type=case when @ord_type is null or @ord_type = '_none_'  then ord_type else @ord_type end,ord_wz01=case when @ord_wz01 is null or @ord_wz01 = '_none_'  then ord_wz01 else @ord_wz01 end,ord_wz02=case when @ord_wz02 is null or @ord_wz02 = '_none_'  then ord_wz02 else @ord_wz02 end,ord_ky15=case when @ord_ky15 is null or @ord_ky15 = '_none_'  then ord_ky15 else @ord_ky15 end,ord_ky16=case when @ord_ky16 is null or @ord_ky16 = '_none_'  then ord_ky16 else @ord_ky16 end,ord_ky17=case when @ord_ky17 is null or @ord_ky17 = '_none_'  then ord_ky17 else @ord_ky17 end,ord_ky18=case when @ord_ky18 is null or @ord_ky18 = '_none_'  then ord_ky18 else @ord_ky18 end,ord_lxdh=case when @ord_lxdh is null or @ord_lxdh = '_none_'  then ord_lxdh else @ord_lxdh end,ord_status=case when @ord_status is null or @ord_status = '_none_'  then ord_status else @ord_status end,ord_ky09=case when @ord_ky09 is null or @ord_ky09 = '_none_'  then ord_ky09 else @ord_ky09 end,ord_ky10=case when @ord_ky10 is null or @ord_ky10 = '_none_'  then ord_ky10 else @ord_ky10 end,ord_ky11=case when @ord_ky11 is null or @ord_ky11 = '_none_'  then ord_ky11 else @ord_ky11 end,ord_ky12=case when @ord_ky12 is null or @ord_ky12 = '_none_'  then ord_ky12 else @ord_ky12 end,ord_ky13=case when @ord_ky13 is null or @ord_ky13 = '_none_'  then ord_ky13 else @ord_ky13 end,ord_ky14=case when @ord_ky14 is null or @ord_ky14 = '_none_'  then ord_ky14 else @ord_ky14 end,ord_ky03=case when @ord_ky03 is null or @ord_ky03 = '_none_'  then ord_ky03 else @ord_ky03 end,ord_ky04=case when @ord_ky04 is null or @ord_ky04 = '_none_'  then ord_ky04 else @ord_ky04 end,ord_ky05=case when @ord_ky05 is null or @ord_ky05 = '_none_'  then ord_ky05 else @ord_ky05 end,ord_ky06=case when @ord_ky06 is null or @ord_ky06 = '_none_'  then ord_ky06 else @ord_ky06 end,ord_ky07=case when @ord_ky07 is null or @ord_ky07 = '_none_'  then ord_ky07 else @ord_ky07 end,ord_ky08=case when @ord_ky08 is null or @ord_ky08 = '_none_'  then ord_ky08 else @ord_ky08 end,ord_jc03=case when @ord_jc03 is null or @ord_jc03 = '_none_'  then ord_jc03 else @ord_jc03 end,ord_jc04=case when @ord_jc04 is null or @ord_jc04 = '_none_'  then ord_jc04 else @ord_jc04 end,ord_jc05=case when @ord_jc05 is null or @ord_jc05 = '_none_'  then ord_jc05 else @ord_jc05 end,ord_jyfk=case when @ord_jyfk is null or @ord_jyfk = '_none_'  then ord_jyfk else @ord_jyfk end,ord_ky01=case when @ord_ky01 is null or @ord_ky01 = '_none_'  then ord_ky01 else @ord_ky01 end,ord_ky02=case when @ord_ky02 is null or @ord_ky02 = '_none_'  then ord_ky02 else @ord_ky02 end,ord_empname=case when @ord_empname is null or @ord_empname = '_none_'  then ord_empname else @ord_empname end,ord_hg01=case when @ord_hg01 is null or @ord_hg01 = '_none_'  then ord_hg01 else @ord_hg01 end,ord_hg02=case when @ord_hg02 is null or @ord_hg02 = '_none_'  then ord_hg02 else @ord_hg02 end,ord_hg03=case when @ord_hg03 is null or @ord_hg03 = '_none_'  then ord_hg03 else @ord_hg03 end,ord_jc01=case when @ord_jc01 is null or @ord_jc01 = '_none_'  then ord_jc01 else @ord_jc01 end,ord_jc02=case when @ord_jc02 is null or @ord_jc02 = '_none_'  then ord_jc02 else @ord_jc02 end,ord_depart=case when @ord_depart is null or @ord_depart = '_none_'  then ord_depart else @ord_depart end,ord_dpbh=case when @ord_dpbh is null or @ord_dpbh = '_none_'  then ord_dpbh else @ord_dpbh end,ord_dpdz=case when @ord_dpdz is null or @ord_dpdz = '_none_'  then ord_dpdz else @ord_dpdz end,ord_dpfzr=case when @ord_dpfzr is null or @ord_dpfzr = '_none_'  then ord_dpfzr else @ord_dpfzr end,ord_dplx=case when @ord_dplx is null or @ord_dplx = '_none_'  then ord_dplx else @ord_dplx end,ord_dpmc=case when @ord_dpmc is null or @ord_dpmc = '_none_'  then ord_dpmc else @ord_dpmc end,
ord_finished=case when ord_finished=0 then 1 else ord_finished end ,
ord_updated=getdate() 
where ord_id=@ordid 
 if (@operation='continue') 
 begin
 set @nonedate = @nonedate 
 
 if (@ord_fordid>0) -- 说明有可能在修改上级关系
begin
if (dbo.checkprocedure('order_108_calc_relation')=0)
begin
exec order_108_calc_relation @cmpid , @ordid 
end
end 
 select 'ok' operation, '' errorinfo 
end  else 
begin
select @operation operation, @errorinfo errorinfo  
end


-- 对项目进行处理
declare @style int 
declare @finished int 
select @style=ord_style , @finished=ord_finished from order_108 where ord_id=@ordid 
if (@style=0)
begin
if (@finished>=10 or @finished<=0) 
begin
delete mps_order where ord_bizid=108 and ord_id=@ordid 
end  else 
begin
if (exists (select 1 from mps_order where ord_bizid=108 and ord_id=@ordid)) 
begin
update a set 
a.ord_bcid=b.ord_bcid ,
a.ord_branch=b.ord_branch,
a.ord_createdpid=b.ord_createdpid,
a.ord_createdepart=b.ord_createdepart,
a.ord_dpid=b.ord_dpid,
a.ord_depart=b.ord_depart,
a.ord_createcuid=b.ord_createcuid,
a.ord_creator=b.ord_creator,
a.ord_cuid=b.ord_cuid,
a.ord_empname=b.ord_empname,
a.ord_date=b.ord_date,
a.ord_enddate=b.ord_enddate,
a.ord_finished=b.ord_finished,
a.ord_no=b.ord_no,
a.ord_title=b.ord_title,
a.ord_status=b.ord_status,
a.ord_type =b.ord_type
from mps_order a , order_108 b
where a.ord_bizid=108 and a.ord_id=b.ord_id and b.ord_id=@ordid 
end else
begin
insert into mps_order(
ord_bizid,
ord_id,
ord_cmpid,
ord_bcid,
ord_branch,
ord_createdpid,
ord_createdepart,
ord_dpid,
ord_depart,
ord_createcuid,
ord_creator,
ord_cuid,
ord_empname,
ord_date,
ord_enddate,
ord_finished,
ord_no,
ord_title,
ord_status,
ord_type )
select 
ord_bizid,
ord_id,
ord_cmpid,
ord_bcid,
ord_branch,
ord_createdpid,
ord_createdepart,
ord_dpid,
ord_depart,
ord_createcuid,
ord_creator,
ord_cuid,
ord_empname,
ord_date,
ord_enddate,
ord_finished,
ord_no,
ord_title,
ord_status,
ord_type
from order_108 where ord_id=@ordid 
end 
end 
end 
set nocount off 
end