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

-- 生成时间:2018-06-25 11:20:32 by ebs-core  
CREATE  procedure order_196_modify(
@cmpid int,
@branchid int,
@userdpid int,
@useruid int,
@userotid int,
@jbid bigint,
@ordid bigint,@sourcefield varchar(50)=default, 
@ord_bqyjzb nvarchar(100)=default,
@ord_branch nvarchar(50)=default,
@ord_byj nvarchar(100)=default,
@ord_bz nvarchar(100)=default,
@ord_cbid bigint=default,
@ord_cpcl nvarchar(100)=default,
@ord_cpjc nvarchar(100)=default,
@ord_createbizids nvarchar(200)=default,
@ord_createcuid int=default,
@ord_createdepart nvarchar(50)=default,
@ord_createdpid int=default,
@ord_creator nvarchar(50)=default,
@ord_cuid int=default,
@ord_czhfje decimal(18,2)=default,
@ord_czyjzb nvarchar(100)=default,
@ord_depart nvarchar(50)=default,
@ord_dpbh nvarchar(100)=default,
@ord_dpid int=default,
@ord_dplx nvarchar(100)=default,
@ord_dpmc nvarchar(100)=default,
@ord_dsbf nvarchar(100)=default,
@ord_empname nvarchar(50)=default,
@ord_enddate datetime=default,
@ord_fbizid int=default,
@ord_fjbid bigint=default,
@ord_ford2id bigint=default,
@ord_ford2tag int=default,
@ord_fordid bigint=default,
@ord_ftype varchar(10)=default,
@ord_fwsfzb nvarchar(100)=default,
@ord_gjsj datetime=default,
@ord_gjws nvarchar(100)=default,
@ord_gkda nvarchar(100)=default,
@ord_grxx nvarchar(100)=default,
@ord_hfkcje decimal(18,2)=default,
@ord_hfyjzb nvarchar(100)=default,
@ord_hpgl nvarchar(100)=default,
@ord_hzgks decimal(18,2)=default,
@ord_key varchar(30)=default,
@ord_lgks decimal(18,2)=default,
@ord_lgqcp nvarchar(100)=default,
@ord_mrgks nvarchar(100)=default,
@ord_no varchar(50)=default,
@ord_noi int=default,
@ord_pqdd nvarchar(100)=default,
@ord_pqjl nvarchar(100)=default,
@ord_pqzj nvarchar(100)=default,
@ord_pyyj decimal(18,2)=default,
@ord_rbizid int=default,
@ord_rord2id bigint=default,
@ord_rord2tag int=default,
@ord_rordid bigint=default,
@ord_rsxt nvarchar(100)=default,
@ord_rtype varchar(10)=default,
@ord_rypy nvarchar(100)=default,
@ord_security int=default,
@ord_spkcje decimal(18,2)=default,
@ord_spxs nvarchar(100)=default,
@ord_spyjzb nvarchar(100)=default,
@ord_ss nvarchar(100)=default,
@ord_status nvarchar(30)=default,
@ord_style int=default,
@ord_syz nvarchar(100)=default,
@ord_szgs nvarchar(100)=default,
@ord_szpq nvarchar(100)=default,
@ord_template nvarchar(50)=default,
@ord_templateid int=default,
@ord_title nvarchar(100)=default,
@ord_type nvarchar(50)=default,
@ord_wpbf nvarchar(100)=default,
@ord_xdmd nvarchar(100)=default,
@ord_xdzj nvarchar(100)=default,
@ord_xgks nvarchar(100)=default,
@ord_xgsy nvarchar(100)=default,
@ord_zdgzzx nvarchar(100)=default,
@ord_ztxx nvarchar(100)=default,
@ord_zwk nvarchar(100)=default,
@ord_photos nvarchar(200)=default,
@ord_xdord2id bigint=default,
@ord_mddaordid bigint=default,
@ord_gtxdr nvarchar(100)=default,
@ord_xdjlbid bigint=default,
@ord_gtxdrgh nvarchar(100)=default ) 
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_196 set 
ord_bqyjzb=case when @ord_bqyjzb is null or @ord_bqyjzb = '_none_'  then ord_bqyjzb else @ord_bqyjzb end,ord_branch=case when @ord_branch is null or @ord_branch = '_none_'  then ord_branch else @ord_branch end,ord_byj=case when @ord_byj is null or @ord_byj = '_none_'  then ord_byj else @ord_byj end,ord_bz=case when @ord_bz is null or @ord_bz = '_none_'  then ord_bz else @ord_bz end,ord_cbid=case when @ord_cbid is null or @ord_cbid = -999999999  then ord_cbid else @ord_cbid end,ord_cpcl=case when @ord_cpcl is null or @ord_cpcl = '_none_'  then ord_cpcl else @ord_cpcl end,ord_cpjc=case when @ord_cpjc is null or @ord_cpjc = '_none_'  then ord_cpjc else @ord_cpjc end,ord_createbizids=case when @ord_createbizids is null or @ord_createbizids = '_none_'  then ord_createbizids else @ord_createbizids end,ord_createcuid=case when @ord_createcuid is null or @ord_createcuid = -999999999  then ord_createcuid else @ord_createcuid end,ord_createdepart=case when @ord_createdepart is null or @ord_createdepart = '_none_'  then ord_createdepart else @ord_createdepart end,ord_createdpid=case when @ord_createdpid is null or @ord_createdpid = -999999999  then ord_createdpid else @ord_createdpid end,ord_creator=case when @ord_creator is null or @ord_creator = '_none_'  then ord_creator else @ord_creator end,ord_cuid=case when @ord_cuid is null or @ord_cuid = -999999999  then ord_cuid else @ord_cuid end,ord_czhfje=case when @ord_czhfje is null or @ord_czhfje = -999999999  then ord_czhfje else @ord_czhfje end,ord_czyjzb=case when @ord_czyjzb is null or @ord_czyjzb = '_none_'  then ord_czyjzb else @ord_czyjzb 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_dpid=case when @ord_dpid is null or @ord_dpid = -999999999  then ord_dpid else @ord_dpid 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_dsbf=case when @ord_dsbf is null or @ord_dsbf = '_none_'  then ord_dsbf else @ord_dsbf end,ord_empname=case when @ord_empname is null or @ord_empname = '_none_'  then ord_empname else @ord_empname end,ord_enddate=case when @ord_enddate is null or @ord_enddate = @nonedate then ord_enddate else @ord_enddate end,ord_fbizid=case when @ord_fbizid is null or @ord_fbizid = -999999999  then ord_fbizid else @ord_fbizid 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_ford2tag=case when @ord_ford2tag is null or @ord_ford2tag = -999999999  then ord_ford2tag else @ord_ford2tag end,ord_fordid=case when @ord_fordid is null or @ord_fordid = -999999999  then ord_fordid else @ord_fordid end,ord_ftype=case when @ord_ftype is null or @ord_ftype = '_none_'  then ord_ftype else @ord_ftype end,ord_fwsfzb=case when @ord_fwsfzb is null or @ord_fwsfzb = '_none_'  then ord_fwsfzb else @ord_fwsfzb end,ord_gjsj=case when @ord_gjsj is null or @ord_gjsj = @nonedate then ord_gjsj else @ord_gjsj end,ord_gjws=case when @ord_gjws is null or @ord_gjws = '_none_'  then ord_gjws else @ord_gjws end,ord_gkda=case when @ord_gkda is null or @ord_gkda = '_none_'  then ord_gkda else @ord_gkda end,ord_grxx=case when @ord_grxx is null or @ord_grxx = '_none_'  then ord_grxx else @ord_grxx end,ord_hfkcje=case when @ord_hfkcje is null or @ord_hfkcje = -999999999  then ord_hfkcje else @ord_hfkcje end,ord_hfyjzb=case when @ord_hfyjzb is null or @ord_hfyjzb = '_none_'  then ord_hfyjzb else @ord_hfyjzb end,ord_hpgl=case when @ord_hpgl is null or @ord_hpgl = '_none_'  then ord_hpgl else @ord_hpgl end,ord_hzgks=case when @ord_hzgks is null or @ord_hzgks = -999999999  then ord_hzgks else @ord_hzgks end,ord_key=case when @ord_key is null or @ord_key = '_none_'  then ord_key else @ord_key end,ord_lgks=case when @ord_lgks is null or @ord_lgks = -999999999  then ord_lgks else @ord_lgks end,ord_lgqcp=case when @ord_lgqcp is null or @ord_lgqcp = '_none_'  then ord_lgqcp else @ord_lgqcp end,ord_mrgks=case when @ord_mrgks is null or @ord_mrgks = '_none_'  then ord_mrgks else @ord_mrgks end,ord_no=case when @ord_no is null or @ord_no = '_none_'  then ord_no else @ord_no end,ord_noi=case when @ord_noi is null or @ord_noi = -999999999  then ord_noi else @ord_noi end,ord_pqdd=case when @ord_pqdd is null or @ord_pqdd = '_none_'  then ord_pqdd else @ord_pqdd end,ord_pqjl=case when @ord_pqjl is null or @ord_pqjl = '_none_'  then ord_pqjl else @ord_pqjl end,ord_pqzj=case when @ord_pqzj is null or @ord_pqzj = '_none_'  then ord_pqzj else @ord_pqzj end,ord_pyyj=case when @ord_pyyj is null or @ord_pyyj = -999999999  then ord_pyyj else @ord_pyyj end,ord_rbizid=case when @ord_rbizid is null or @ord_rbizid = -999999999  then ord_rbizid else @ord_rbizid end,ord_rord2id=case when @ord_rord2id is null or @ord_rord2id = -999999999  then ord_rord2id else @ord_rord2id end,ord_rord2tag=case when @ord_rord2tag is null or @ord_rord2tag = -999999999  then ord_rord2tag else @ord_rord2tag end,ord_rordid=case when @ord_rordid is null or @ord_rordid = -999999999  then ord_rordid else @ord_rordid end,ord_rsxt=case when @ord_rsxt is null or @ord_rsxt = '_none_'  then ord_rsxt else @ord_rsxt end,ord_rtype=case when @ord_rtype is null or @ord_rtype = '_none_'  then ord_rtype else @ord_rtype end,ord_rypy=case when @ord_rypy is null or @ord_rypy = '_none_'  then ord_rypy else @ord_rypy end,ord_security=case when @ord_security is null or @ord_security = -999999999  then ord_security else @ord_security end,ord_spkcje=case when @ord_spkcje is null or @ord_spkcje = -999999999  then ord_spkcje else @ord_spkcje end,ord_spxs=case when @ord_spxs is null or @ord_spxs = '_none_'  then ord_spxs else @ord_spxs end,ord_spyjzb=case when @ord_spyjzb is null or @ord_spyjzb = '_none_'  then ord_spyjzb else @ord_spyjzb end,ord_ss=case when @ord_ss is null or @ord_ss = '_none_'  then ord_ss else @ord_ss end,ord_status=case when @ord_status is null or @ord_status = '_none_'  then ord_status else @ord_status end,ord_style=case when @ord_style is null or @ord_style = -999999999  then ord_style else @ord_style end,ord_syz=case when @ord_syz is null or @ord_syz = '_none_'  then ord_syz else @ord_syz end,ord_szgs=case when @ord_szgs is null or @ord_szgs = '_none_'  then ord_szgs else @ord_szgs end,ord_szpq=case when @ord_szpq is null or @ord_szpq = '_none_'  then ord_szpq else @ord_szpq end,ord_template=case when @ord_template is null or @ord_template = '_none_'  then ord_template else @ord_template end,ord_templateid=case when @ord_templateid is null or @ord_templateid = -999999999  then ord_templateid else @ord_templateid 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_wpbf=case when @ord_wpbf is null or @ord_wpbf = '_none_'  then ord_wpbf else @ord_wpbf end,ord_xdmd=case when @ord_xdmd is null or @ord_xdmd = '_none_'  then ord_xdmd else @ord_xdmd end,ord_xdzj=case when @ord_xdzj is null or @ord_xdzj = '_none_'  then ord_xdzj else @ord_xdzj end,ord_xgks=case when @ord_xgks is null or @ord_xgks = '_none_'  then ord_xgks else @ord_xgks end,ord_xgsy=case when @ord_xgsy is null or @ord_xgsy = '_none_'  then ord_xgsy else @ord_xgsy end,ord_zdgzzx=case when @ord_zdgzzx is null or @ord_zdgzzx = '_none_'  then ord_zdgzzx else @ord_zdgzzx end,ord_ztxx=case when @ord_ztxx is null or @ord_ztxx = '_none_'  then ord_ztxx else @ord_ztxx end,ord_zwk=case when @ord_zwk is null or @ord_zwk = '_none_'  then ord_zwk else @ord_zwk end,ord_photos=case when @ord_photos is null or @ord_photos = '_none_'  then ord_photos else @ord_photos end,ord_xdord2id=case when @ord_xdord2id is null or @ord_xdord2id = -999999999  then ord_xdord2id else @ord_xdord2id end,ord_mddaordid=case when @ord_mddaordid is null or @ord_mddaordid = -999999999  then ord_mddaordid else @ord_mddaordid end,ord_gtxdr=case when @ord_gtxdr is null or @ord_gtxdr = '_none_'  then ord_gtxdr else @ord_gtxdr end,ord_xdjlbid=case when @ord_xdjlbid is null or @ord_xdjlbid = -999999999  then ord_xdjlbid else @ord_xdjlbid end,ord_gtxdrgh=case when @ord_gtxdrgh is null or @ord_gtxdrgh = '_none_'  then ord_gtxdrgh else @ord_gtxdrgh 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_196_calc_relation')=0)
begin
exec order_196_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_196 where ord_id=@ordid 
if (@style=0)
begin
if (@finished>=10 or @finished<=0) 
begin
delete mps_order where ord_bizid=196 and ord_id=@ordid 
end  else 
begin
if (exists (select 1 from mps_order where ord_bizid=196 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_196 b
where a.ord_bizid=196 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_196 where ord_id=@ordid 
end 
end 
end 
set nocount off 
end