/// <summary> /// 自动完成结束节点 /// </summary> /// <param name="processInstance"></param> /// <param name="fromActivityInstance"></param> /// <param name="activityResource"></param> /// <param name="wfLinqDataContext"></param> public GatewayExecutedResult CompleteAutomaticlly(ProcessInstanceEntity processInstance, TransitionEntity fromToTransition, ActivityInstanceEntity fromActivityInstance, ActivityResource activityResource, ISession session) { GatewayExecutedResult result = null; var toActivityInstance = base.CreateActivityInstanceObject(processInstance, activityResource.LogonUser); base.InsertActivityInstance(toActivityInstance, session); base.CompleteActivityInstance(toActivityInstance.ActivityInstanceGUID, activityResource, session); //写节点转移实例数据 base.InsertTransitionInstance(processInstance, fromToTransition, fromActivityInstance, toActivityInstance, TransitionTypeEnum.Forward, activityResource.LogonUser, session); //设置流程完成 ProcessInstanceManager pim = new ProcessInstanceManager(); pim.Complete(processInstance.ProcessInstanceGUID, activityResource.LogonUser, session); return(result); }
/// <summary> /// 节点内部业务逻辑执行 /// </summary> internal override void ExecuteWorkItem() { //执行前Action列表 OnBeforeExecuteWorkItem(); //设置流程完成 ProcessInstanceManager pim = new ProcessInstanceManager(); var processInstance = pim.Complete(ActivityForwardContext.ProcessInstance.ID, ActivityForwardContext.ActivityResource.AppRunner, Session); //如果当前流程是子流程,则子流程完成,主流程流转到下一节点 if (pim.IsSubProcess(processInstance) == true) { ContinueMainProcessRunning(processInstance, this.Session); } //执行后Action列表 OnAfterExecuteWorkItem(); //调用流程结束事件 DelegateExecutor.InvokeExternalDelegate(Session, EventFireTypeEnum.OnProcessCompleted, ActivityForwardContext.ActivityResource.AppRunner.DelegateEventList, ActivityForwardContext.ProcessInstance.ID); }
/// <summary> /// 自动完成结束节点 /// </summary> /// <param name="processInstance"></param> /// <param name="fromActivityInstance"></param> /// <param name="activityResource"></param> /// <param name="wfLinqDataContext"></param> public GatewayExecutedResult CompleteAutomaticlly(ProcessInstanceEntity processInstance, string transitionGUID, ActivityInstanceEntity fromActivityInstance, ActivityResource activityResource, IDbSession session) { GatewayExecutedResult result = null; var toActivityInstance = base.CreateActivityInstanceObject(base.Linker.ToActivity, processInstance, activityResource.AppRunner); base.ActivityInstanceManager.Insert(toActivityInstance, session); base.ActivityInstanceManager.Complete(toActivityInstance.ID, activityResource.AppRunner, session); //写节点转移实例数据 base.InsertTransitionInstance(processInstance, transitionGUID, fromActivityInstance, toActivityInstance, TransitionTypeEnum.Forward, TransitionFlyingTypeEnum.NotFlying, activityResource.AppRunner, session); //设置流程完成 ProcessInstanceManager pim = new ProcessInstanceManager(); pim.Complete(processInstance.ID, activityResource.AppRunner, session); //发送流程结束消息给流程启动人 return(result); }
/// <summary> /// 节点内部业务逻辑执行 /// </summary> internal override void ExecuteWorkItem() { //设置流程完成 ProcessInstanceManager pim = new ProcessInstanceManager(); pim.Complete(ActivityForwardContext.ProcessInstance.ID, ActivityForwardContext.ActivityResource.AppRunner, Session); }
/// <summary> /// 节点内部业务逻辑执行 /// </summary> internal override void ExecuteWorkItem() { //执行Action列表 //ExecteActionList(Linker.ToActivity.ActionList, // ActivityForwardContext.ActivityResource.AppRunner.ActionMethodParameters); //设置流程完成 ProcessInstanceManager pim = new ProcessInstanceManager(_serviceProvider); pim.Complete(ActivityForwardContext.ProcessInstance.Fid, AppRunner.BillUid); }
/// <summary> /// 节点内部业务逻辑执行 /// </summary> internal override void ExecuteWorkItem() { //执行Action列表 ExecteActionList(Linker.ToActivity.ActionList, ActivityForwardContext.ActivityResource.AppRunner.ActionMethodParameters); //设置流程完成 ProcessInstanceManager pim = new ProcessInstanceManager(); pim.Complete(ActivityForwardContext.ProcessInstance.ID, ActivityForwardContext.ActivityResource.AppRunner, Session); }
/// <summary> /// 节点内部业务逻辑执行 /// </summary> internal override void ExecuteWorkItem() { //执行前Action列表 OnBeforeExecuteWorkItem(); //设置流程完成 ProcessInstanceManager pim = new ProcessInstanceManager(); var processInstance = pim.Complete(ActivityForwardContext.ProcessInstance.ID, ActivityForwardContext.ActivityResource.AppRunner, Session); //如果当前流程是子流程,则子流程完成,主流程流转到下一节点 if (pim.IsSubProcess(processInstance) == true) { ContinueMainProcessRunning(processInstance, this.Session); } //执行后Action列表 OnAfterExecuteWorkItem(); }