示例#1
0
        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();
        }