/// <summary> /// 撤消审批流程中的单据 /// </summary> /// <param name="userInfo">用户</param> /// <param name="currentWorkFlowId">当前工作流主键</param> /// <param name="auditIdea">撤销意见</param> /// <returns>影响行数</returns> public int AuditQuash(BaseUserInfo userInfo, string[] currentWorkFlowIds, string auditIdea) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDbWithTransaction(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); result = workFlowCurrentManager.AuditQuash(currentWorkFlowIds, auditIdea); }); return(result); }
/// <summary> /// 撤消审批流程中的单据 /// </summary> /// <param name="userInfo">用户</param> /// <param name="currentWorkFlowId">当前工作流主键</param> /// <param name="auditIdea">撤销意见</param> /// <returns>影响行数</returns> public int AuditQuash(BaseUserInfo userInfo, string[] currentWorkFlowIds, string auditIdea) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.WorkFlowDbType)) { try { dbHelper.Open(WorkFlowDbConnection); BaseWorkFlowCurrentManager workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); dbHelper.BeginTransaction(); returnValue = workFlowCurrentManager.AuditQuash(currentWorkFlowIds, auditIdea); dbHelper.CommitTransaction(); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, MethodBase.GetCurrentMethod()); } catch (Exception ex) { dbHelper.RollbackTransaction(); BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
/// <summary> /// 废弃单据 /// (发出单据时)当废弃审批流时需要做的事情 /// </summary> /// <param name="id">主键</param> /// <param name="auditIdea">批示</param> /// <returns>影响行数</returns> public int AuditQuash(string id, string auditIdea) { int returnValeu = 0; // 只有还在审核中的才可以废弃 string auditStatus = this.GetProperty(id, BaseBusinessLogic.FieldAuditStatus); if (!string.IsNullOrEmpty(auditStatus)) { if (!(auditStatus.Equals(AuditStatus.StartAudit.ToString()) || auditStatus.Equals(AuditStatus.WaitForAudit.ToString()))) { return(returnValeu); } } // 若能撤销流程中的单据,才可以撤销本地的单据 BaseWorkFlowCurrentManager workFlowCurrentManager = new BaseWorkFlowCurrentManager(this.UserInfo); // 工作流里会进行撤销的工作 return(workFlowCurrentManager.AuditQuash(this, this.CurrentTableName, id, auditIdea)); }