/// <summary>
        /// 将工作流实例设置为错误状态
        /// </summary>
        /// <param name="InstanceID"></param>
        /// <param name="ErrorMessage">错误状态信息</param>
        public static string SetInstanceError(string InstanceID, string ErrorMessage)
        {
            try
            {
                //设置审批状态为无效
                string UpdateInstanceApprovalStatusResult = CApprovalManager.UpdateInstanceApprovalStatus(InstanceID, EApprovalStatus.Invalid);
                if (UpdateInstanceApprovalStatusResult != WFGlobal.success)
                {
                    return(UpdateInstanceApprovalStatusResult);
                }

                //设置实例状态为错误
                string UpdateInstanceStatusResult = UpdateInstanceStatus(InstanceID, EInstanceStatus.Error);
                if (UpdateInstanceStatusResult != WFGlobal.success)
                {
                    return(UpdateInstanceStatusResult);
                }

                //记录出错信息
                return(UpdateInstanceMessage(InstanceID, ErrorMessage));
            }
            catch (Exception ex)
            {
                WFGlobal.ErrInfo = CLog.PutDownErrInfo("设置工作流实例的错误状态操作异常,工作流实例ID:" + InstanceID + ",异常信息:" + ex.Message.ToString());
                return(WFGlobal.ErrInfo);
            }
        }
 /// <summary>
 /// 将工作流实例的状态设置为Complete
 /// </summary>
 /// <param name="InstanceID"></param>
 public static string SetInstanceComplete(string InstanceID)
 {
     try
     {
         string UpdateInstanceApprovalStatusResult = CApprovalManager.UpdateInstanceApprovalStatus(InstanceID, EApprovalStatus.Complete);
         if (UpdateInstanceApprovalStatusResult != WFGlobal.success)
         {
             return(UpdateInstanceApprovalStatusResult);
         }
         return(UpdateInstanceStatus(InstanceID, EInstanceStatus.Complete));
     }
     catch (Exception ex)
     {
         WFGlobal.ErrInfo = CLog.PutDownErrInfo("设置实例为结束状态的操作异常,实例ID:" + InstanceID + ",异常信息:" + ex.Message.ToString());
         return(WFGlobal.ErrInfo);
     }
 }
예제 #3
0
        /// <summary>
        /// 将工作流流转到开始节点
        /// </summary>
        /// <param name="InstanceID"></param>
        /// <param name="CurrentNodeID">当前节点ID</param>
        public static string ReturnToStart(string InstanceID, string CurrentNodeID, string StartNodeID)
        {
            try
            {
                //将当前所有节点的审批状态设置为完成状态
                string UpdateInstanceApprovalStatusResult = CApprovalManager.UpdateInstanceApprovalStatus(InstanceID, EApprovalStatus.Complete);
                if (UpdateInstanceApprovalStatusResult != WFGlobal.success)
                {
                    return(UpdateInstanceApprovalStatusResult);
                }

                //流程流转到开始节点
                return(CNodeManager.NodeTransfer(InstanceID, CurrentNodeID, StartNodeID));
            }
            catch (Exception ex)
            {
                WFGlobal.ErrInfo = CLog.PutDownErrInfo("返回到开始节点操作异常。实例ID:" + InstanceID + ",当前节点ID:" + CurrentNodeID + ",异常信息:" + ex.Message.ToString());
                return(WFGlobal.ErrInfo);
            }
        }