--=======================创建新任务===========================
--作者:龚德辉
--用途:创建工作流的任务
--日期:2008-4-20
--=========================================================
ALTER Procedure [dbo].[CreateNewTask](
@TaskCode as nvarchar(11)=null
,@FlowCode as nvarchar(10)=null
,@Confident as nchar(1)=null
,@Priority as nchar(1)=null
,@Important as nchar(1)=null
,@CreateBy as int=null
)
as
declare @Stat as nvarchar(1),@Progress nvarchar(10),@Location as nvarchar(10),@CreateDate as datetime,@Flowid as int
set @Stat='P'
set @Progress='撰写'
set @Location='撰写'
set @CreateDate=getdate()
--取得流ID
select @Flowid=f.ID from Flow f left join FlowLine fl on f.FlowCode=fl.FlowCode where f.FlowCode=@FlowCode
begin
if not exists(select TaskCode from Task where TaskCode=@TaskCode)
begin
--新增事务头
insert Task(TaskCode,Description,FlowID,Stat,Progress,Location,Confident,Priority,Important,CreateDate,CreateBy)
values(@TaskCode,null,@Flowid,@Stat,@Progress,@Location,@Confident,@Priority,@Important,@CreateDate,@CreateBy)
--批量CopyFlowline 到TaskLine
insert TaskLine(TaskCode,TaskLine,UserID,TranType,FlowLevel,EndLevel)select T.TaskCode,FL.FlowLine,FL.UserID,FL.TranType,FL.FlowLevel,FL.EndLevel from Task T left join Flow F on T.FlowID=F.ID left join FlowLine FL on FL.FlowCode=F.FlowCode where T.TaskCode=@TaskCode order by FL.FlowLine DESC
--初始化
update TaskLine set Result='N',TurnTo=1,ReceiptDate=@CreateDate,StartDate=@CreateDate where TaskCode=@TaskCode and TaskLine=1
end
end