ALTER Procedure [dbo].[TaskSend](
@SendUserID int
,@TaskCode varchar(11)
)
AS
declare @temp nvarchar(15),
@Progress varchar(200),
@FlowLevel int,
@TaskLine int,
@UserID int,
@FlowCode varchar(15)
--更新制单人层级信息
update TaskLine set Result='Y',Ref='已送签' where TaskCode=@TaskCode and TaskLine=1 and TranType='W'
--取得下一层级
select @FlowLevel=min(FlowLevel) from TaskLine where TaskCode=@TaskCode and TranType<>'W'
Declare CurSend CURSOR
local static FOR
--select rtrim(U.[name]) as [name],U.[id]
--from TaskLine L left join users U on FL.UserID=U.[id]
--WHERE FL.FlowLevel=@FlowLevel and FL.FlowCode=@FlowCode and FL.TranType='A'
select rtrim(U.[name]) as [name],U.[id]
from TaskLine TL left join users U on TL.UserID=U.[id]
WHERE TL.FlowLevel=@FlowLevel and TL.TranType='A' AND TaskCode=@TaskCode
Open CurSend
while 1=1
begin
fetch CurSend into
@temp
,@UserID
if @@fetch_status<>0
break
begin
set @Progress=rtrim(ISNULL(@Progress,'')+isnull(@temp,''))
update TaskLine
set TurnTo='1',StartDate=getdate()
where TaskCode=@TaskCode and UserID=@UserID
end
end
if @Progress is null
set @Progress=@Progress
else
set @Progress=rtrim(' 待'+@Progress+'审批')
close CurSend
deallocate CurSend
update Task
set Progress=Progress+'->'+@Progress,Location=@Progress,Stat='S',SendUserID=@SendUserID,SendDate=getdate()
where TaskCode=@TaskCode