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

-- 生成时间:2018-06-22 19:49:10 by ebs-core  
CREATE  procedure order_188_modify(
@cmpid int,
@branchid int,
@userdpid int,
@useruid int,
@userotid int,
@jbid bigint,
@ordid bigint,@sourcefield varchar(50)=default, 
@ord_branch nvarchar(50)=default,
@ord_cbid bigint=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_depart nvarchar(50)=default,
@ord_dpbh nvarchar(100)=default,
@ord_dpdz nvarchar(100)=default,
@ord_dpid int=default,
@ord_dplx nvarchar(100)=default,
@ord_dpmc 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_key varchar(30)=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_rbizid int=default,
@ord_rord2id bigint=default,
@ord_rord2tag int=default,
@ord_rordid bigint=default,
@ord_rtype varchar(10)=default,
@ord_security int=default,
@ord_status nvarchar(30)=default,
@ord_style int=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_xdmd nvarchar(100)=default,
@ord_dpmj decimal(18,2)=default,
@ord_dpzt nvarchar(100)=default,
@ord_jd nvarchar(100)=default,
@ord_wd nvarchar(100)=default,
@ord_bz nvarchar(100)=default,
@ord_cs nvarchar(100)=default,
@ord_ddzg nvarchar(100)=default,
@ord_dljl nvarchar(100)=default,
@ord_fmpdpbh nvarchar(100)=default,
@ord_fz nvarchar(100)=default,
@ord_htbh nvarchar(100)=default,
@ord_jmslxr nvarchar(100)=default,
@ord_jmssj nvarchar(100)=default,
@ord_jxs nvarchar(100)=default,
@ord_jxslb nvarchar(100)=default,
@ord_mpdpbh nvarchar(100)=default,
@ord_ngdpbh nvarchar(100)=default,
@ord_qx nvarchar(100)=default,
@ord_rg nvarchar(100)=default,
@ord_sf nvarchar(100)=default,
@ord_shr nvarchar(100)=default,
@ord_shrsj nvarchar(100)=default,
@ord_szjxs nvarchar(100)=default,
@ord_xsqy nvarchar(100)=default,
@ord_djj nvarchar(100)=default,
@ord_msshr nvarchar(100)=default,
@ord_sqjpp nvarchar(100)=default,
@ord_sqjshbh nvarchar(100)=default,
@ord_sqjzdbh nvarchar(100)=default,
@ord_zmsr nvarchar(100)=default,
@ord_posid int=default,
@ord_dz nvarchar(100)=default,
@ord_fzcode nvarchar(100)=default,
@ord_pqzjcode nvarchar(100)=default,
@ord_pqjlcode nvarchar(100)=default,
@ord_pqddcode nvarchar(100)=default,
@ord_pqzg nvarchar(100)=default,
@ord_dzcode nvarchar(100)=default,
@ord_pqzgcode nvarchar(100)=default,
@ord_jms nvarchar(100)=default,
@ord_jmsdh nvarchar(100)=default,
@ord_lxrdh nvarchar(100)=default,
@ord_jmsmc nvarchar(100)=default,
@ord_kdsj datetime=default,
@ord_liebie nvarchar(100)=default,
@ord_sfkhpos nvarchar(100)=default,
@ord_khjzny nvarchar(100)=default,
@ord_gdsj datetime=default,
@ord_ggsd nvarchar(100)=default,
@ord_yjkhjzny nvarchar(100)=default,
@ord_leibie nvarchar(100)=default,
@ord_sfhy nvarchar(100)=default,
@ord_jmhtbh nvarchar(100)=default,
@ord_dpfzr nvarchar(100)=default,
@ord_fzrcode nvarchar(100)=default,
@ord_jmsid int=default,
@ord_jxsid int=default,
@ord_szfgs nvarchar(100)=default,
@ord_dpfz decimal(18,2)=default,
@ord_jmsbh nvarchar(100)=default,
@ord_sjczlx nvarchar(100)=default,
@ord_lxfs1 nvarchar(100)=default,
@ord_szpqcode nvarchar(100)=default,
@ord_lcgd nvarchar(100)=default,
@ord_mmyq nvarchar(100)=default,
@ord_scyq nvarchar(100)=default,
@ord_xjqtgd nvarchar(100)=default,
@ord_mslb nvarchar(100)=default,
@ord_wd1 numeric(18,0)=default,
@ord_jd1 numeric(18,0)=default,
@ord_wd2 decimal(10,6)=default,
@ord_jd2 decimal(10,6)=default,
@ord_dqdpiddpid bigint=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_188 set 
ord_branch=case when @ord_branch is null or @ord_branch = '_none_'  then ord_branch else @ord_branch end,ord_cbid=case when @ord_cbid is null or @ord_cbid = -999999999  then ord_cbid else @ord_cbid 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_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_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_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_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_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_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_rtype=case when @ord_rtype is null or @ord_rtype = '_none_'  then ord_rtype else @ord_rtype end,ord_security=case when @ord_security is null or @ord_security = -999999999  then ord_security else @ord_security 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_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_xdmd=case when @ord_xdmd is null or @ord_xdmd = '_none_'  then ord_xdmd else @ord_xdmd end,ord_dpmj=case when @ord_dpmj is null or @ord_dpmj = -999999999  then ord_dpmj else @ord_dpmj end,ord_dpzt=case when @ord_dpzt is null or @ord_dpzt = '_none_'  then ord_dpzt else @ord_dpzt end,ord_jd=case when @ord_jd is null or @ord_jd = '_none_'  then ord_jd else @ord_jd end,ord_wd=case when @ord_wd is null or @ord_wd = '_none_'  then ord_wd else @ord_wd end,ord_bz=case when @ord_bz is null or @ord_bz = '_none_'  then ord_bz else @ord_bz end,ord_cs=case when @ord_cs is null or @ord_cs = '_none_'  then ord_cs else @ord_cs end,ord_ddzg=case when @ord_ddzg is null or @ord_ddzg = '_none_'  then ord_ddzg else @ord_ddzg end,ord_dljl=case when @ord_dljl is null or @ord_dljl = '_none_'  then ord_dljl else @ord_dljl end,ord_fmpdpbh=case when @ord_fmpdpbh is null or @ord_fmpdpbh = '_none_'  then ord_fmpdpbh else @ord_fmpdpbh end,ord_fz=case when @ord_fz is null or @ord_fz = '_none_'  then ord_fz else @ord_fz end,ord_htbh=case when @ord_htbh is null or @ord_htbh = '_none_'  then ord_htbh else @ord_htbh end,ord_jmslxr=case when @ord_jmslxr is null or @ord_jmslxr = '_none_'  then ord_jmslxr else @ord_jmslxr end,ord_jmssj=case when @ord_jmssj is null or @ord_jmssj = '_none_'  then ord_jmssj else @ord_jmssj end,ord_jxs=case when @ord_jxs is null or @ord_jxs = '_none_'  then ord_jxs else @ord_jxs end,ord_jxslb=case when @ord_jxslb is null or @ord_jxslb = '_none_'  then ord_jxslb else @ord_jxslb end,ord_mpdpbh=case when @ord_mpdpbh is null or @ord_mpdpbh = '_none_'  then ord_mpdpbh else @ord_mpdpbh end,ord_ngdpbh=case when @ord_ngdpbh is null or @ord_ngdpbh = '_none_'  then ord_ngdpbh else @ord_ngdpbh end,ord_qx=case when @ord_qx is null or @ord_qx = '_none_'  then ord_qx else @ord_qx end,ord_rg=case when @ord_rg is null or @ord_rg = '_none_'  then ord_rg else @ord_rg end,ord_sf=case when @ord_sf is null or @ord_sf = '_none_'  then ord_sf else @ord_sf end,ord_shr=case when @ord_shr is null or @ord_shr = '_none_'  then ord_shr else @ord_shr end,ord_shrsj=case when @ord_shrsj is null or @ord_shrsj = '_none_'  then ord_shrsj else @ord_shrsj end,ord_szjxs=case when @ord_szjxs is null or @ord_szjxs = '_none_'  then ord_szjxs else @ord_szjxs end,ord_xsqy=case when @ord_xsqy is null or @ord_xsqy = '_none_'  then ord_xsqy else @ord_xsqy end,ord_djj=case when @ord_djj is null or @ord_djj = '_none_'  then ord_djj else @ord_djj end,ord_msshr=case when @ord_msshr is null or @ord_msshr = '_none_'  then ord_msshr else @ord_msshr end,ord_sqjpp=case when @ord_sqjpp is null or @ord_sqjpp = '_none_'  then ord_sqjpp else @ord_sqjpp end,ord_sqjshbh=case when @ord_sqjshbh is null or @ord_sqjshbh = '_none_'  then ord_sqjshbh else @ord_sqjshbh end,ord_sqjzdbh=case when @ord_sqjzdbh is null or @ord_sqjzdbh = '_none_'  then ord_sqjzdbh else @ord_sqjzdbh end,ord_zmsr=case when @ord_zmsr is null or @ord_zmsr = '_none_'  then ord_zmsr else @ord_zmsr end,ord_posid=case when @ord_posid is null or @ord_posid = -999999999  then ord_posid else @ord_posid end,ord_dz=case when @ord_dz is null or @ord_dz = '_none_'  then ord_dz else @ord_dz end,ord_fzcode=case when @ord_fzcode is null or @ord_fzcode = '_none_'  then ord_fzcode else @ord_fzcode end,ord_pqzjcode=case when @ord_pqzjcode is null or @ord_pqzjcode = '_none_'  then ord_pqzjcode else @ord_pqzjcode end,ord_pqjlcode=case when @ord_pqjlcode is null or @ord_pqjlcode = '_none_'  then ord_pqjlcode else @ord_pqjlcode end,ord_pqddcode=case when @ord_pqddcode is null or @ord_pqddcode = '_none_'  then ord_pqddcode else @ord_pqddcode end,ord_pqzg=case when @ord_pqzg is null or @ord_pqzg = '_none_'  then ord_pqzg else @ord_pqzg end,ord_dzcode=case when @ord_dzcode is null or @ord_dzcode = '_none_'  then ord_dzcode else @ord_dzcode end,ord_pqzgcode=case when @ord_pqzgcode is null or @ord_pqzgcode = '_none_'  then ord_pqzgcode else @ord_pqzgcode end,ord_jms=case when @ord_jms is null or @ord_jms = '_none_'  then ord_jms else @ord_jms end,ord_jmsdh=case when @ord_jmsdh is null or @ord_jmsdh = '_none_'  then ord_jmsdh else @ord_jmsdh end,ord_lxrdh=case when @ord_lxrdh is null or @ord_lxrdh = '_none_'  then ord_lxrdh else @ord_lxrdh end,ord_jmsmc=case when @ord_jmsmc is null or @ord_jmsmc = '_none_'  then ord_jmsmc else @ord_jmsmc end,ord_kdsj=case when @ord_kdsj is null or @ord_kdsj = @nonedate then ord_kdsj else @ord_kdsj end,ord_liebie=case when @ord_liebie is null or @ord_liebie = '_none_'  then ord_liebie else @ord_liebie end,ord_sfkhpos=case when @ord_sfkhpos is null or @ord_sfkhpos = '_none_'  then ord_sfkhpos else @ord_sfkhpos end,ord_khjzny=case when @ord_khjzny is null or @ord_khjzny = '_none_'  then ord_khjzny else @ord_khjzny end,ord_gdsj=case when @ord_gdsj is null or @ord_gdsj = @nonedate then ord_gdsj else @ord_gdsj end,ord_ggsd=case when @ord_ggsd is null or @ord_ggsd = '_none_'  then ord_ggsd else @ord_ggsd end,ord_yjkhjzny=case when @ord_yjkhjzny is null or @ord_yjkhjzny = '_none_'  then ord_yjkhjzny else @ord_yjkhjzny end,ord_leibie=case when @ord_leibie is null or @ord_leibie = '_none_'  then ord_leibie else @ord_leibie end,ord_sfhy=case when @ord_sfhy is null or @ord_sfhy = '_none_'  then ord_sfhy else @ord_sfhy end,ord_jmhtbh=case when @ord_jmhtbh is null or @ord_jmhtbh = '_none_'  then ord_jmhtbh else @ord_jmhtbh end,ord_dpfzr=case when @ord_dpfzr is null or @ord_dpfzr = '_none_'  then ord_dpfzr else @ord_dpfzr end,ord_fzrcode=case when @ord_fzrcode is null or @ord_fzrcode = '_none_'  then ord_fzrcode else @ord_fzrcode end,ord_jmsid=case when @ord_jmsid is null or @ord_jmsid = -999999999  then ord_jmsid else @ord_jmsid end,ord_jxsid=case when @ord_jxsid is null or @ord_jxsid = -999999999  then ord_jxsid else @ord_jxsid end,ord_szfgs=case when @ord_szfgs is null or @ord_szfgs = '_none_'  then ord_szfgs else @ord_szfgs end,ord_dpfz=case when @ord_dpfz is null or @ord_dpfz = -999999999  then ord_dpfz else @ord_dpfz end,ord_jmsbh=case when @ord_jmsbh is null or @ord_jmsbh = '_none_'  then ord_jmsbh else @ord_jmsbh end,ord_sjczlx=case when @ord_sjczlx is null or @ord_sjczlx = '_none_'  then ord_sjczlx else @ord_sjczlx end,ord_lxfs1=case when @ord_lxfs1 is null or @ord_lxfs1 = '_none_'  then ord_lxfs1 else @ord_lxfs1 end,ord_szpqcode=case when @ord_szpqcode is null or @ord_szpqcode = '_none_'  then ord_szpqcode else @ord_szpqcode end,ord_lcgd=case when @ord_lcgd is null or @ord_lcgd = '_none_'  then ord_lcgd else @ord_lcgd end,ord_mmyq=case when @ord_mmyq is null or @ord_mmyq = '_none_'  then ord_mmyq else @ord_mmyq end,ord_scyq=case when @ord_scyq is null or @ord_scyq = '_none_'  then ord_scyq else @ord_scyq end,ord_xjqtgd=case when @ord_xjqtgd is null or @ord_xjqtgd = '_none_'  then ord_xjqtgd else @ord_xjqtgd end,ord_mslb=case when @ord_mslb is null or @ord_mslb = '_none_'  then ord_mslb else @ord_mslb end,ord_wd1=case when @ord_wd1 is null or @ord_wd1 = -999999999  then ord_wd1 else @ord_wd1 end,ord_jd1=case when @ord_jd1 is null or @ord_jd1 = -999999999  then ord_jd1 else @ord_jd1 end,ord_wd2=case when @ord_wd2 is null or @ord_wd2 = -999999999  then ord_wd2 else @ord_wd2 end,ord_jd2=case when @ord_jd2 is null or @ord_jd2 = -999999999  then ord_jd2 else @ord_jd2 end,ord_dqdpiddpid=case when @ord_dqdpiddpid is null or @ord_dqdpiddpid = -999999999  then ord_dqdpiddpid else @ord_dqdpiddpid 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_188_calc_relation')=0)
begin
exec order_188_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_188 where ord_id=@ordid 
if (@style=0)
begin
if (@finished>=10 or @finished<=0) 
begin
delete mps_order where ord_bizid=188 and ord_id=@ordid 
end  else 
begin
if (exists (select 1 from mps_order where ord_bizid=188 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_188 b
where a.ord_bizid=188 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_188 where ord_id=@ordid 
end 
end 
end 
set nocount off 
end