[MSSQL]创建工作流任务
来源:互联网 发布:red flag linux 下载 编辑:程序博客网 时间:2024/05/16 18:04
--=======================创建新任务===========================--作者:龚德辉--用途:创建工作流的任务--日期: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)asdeclare @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 endend