internal override void ExecuteInstanceImp(ISession session) { //创建新任务节点 var workItem = (WorkItem)WorkItemNodeFactory.CreateNewNode(base.BackwardContext.BackwardToTaskActivity); workItem.CreateActivityTaskAndTransitionInstances(base.BackwardContext.ProcessInstance, base.BackwardContext.FromActivityInstance, base.BackwardContext.BackwardToTargetTransition, TransitionTypeEnum.Withdrawed, base.ActivityResource, session); //更新当前办理节点的状态(从准备或运行状态更新为退回状态) var aim = new ActivityInstanceManager(); aim.Reject(base.BackwardContext.FromActivityInstance.ActivityInstanceGUID, base.ActivityResource.LogonUser, session); //构造回调函数需要的数据 base.WfExecutedResult = WfExecutedResult.Success(); }