我现在要给很多人(1000以上),发待办事宜(流程结束前发个通知)。
现在用的是这个,感觉太慢了。
static procedure TZYJ.NotifyFlowTask(ATask:TTask;AFuncURL,ASubject,ATakeDept,
ATakePosition,ATakePerson,ASenderDept,ASenderPosition,ASenderPerson:string);
var
lOrgURL : TOrgURL;
lTask : TTask;
lTaskBizData : TTaskBizData;
lTaskBizDataRec : TTaskBizDataRec;
begin
lTask := TTask.Create;
{任务接受者}
lOrgURl := TOrgURL.Create(ATakeDept, ATakePosition, ATakePerson);
lTask.FlowGUID:=ATask.FlowGUID;
lTask.ProcURL:=ATask.ProcURL;
lTask.ProcUnitID:=ATask.ProcUnitID;
{任务业务关联数据定义}
lTask.BizDatas.Assign(ATask.BizDatas);
try
{任务信息的定义}
lTask.Subject := ASubject;
lTask.Kind:= 'ftkNotify';
lTask.ExecuteMode:=TTaskExecuteMode.emSimultaneous;
lTask.TaskType:=ATask.TaskType;
lTask.TaskTypeName:=ATask.TaskTypeName;
lTask.FuncURL := AFuncURL;
lTask.SenderDeptID := ASenderDept;
lTask.SenderPositionID := ASenderPosition;
lTask.SenderID := ASenderPerson;
lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0,
False);
{保存任务}
Flow.FlowEngine.SaveTask(lTask);
finally
lTask .Free;
lOrgURL.Free;
end;
end;
有没有快速的方法? |