/// <summary> /// 提交审批(步骤流) /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="categoryCode">单据类型代码</param> /// <param name="categoryFullName">单据类型名称</param> /// <param name="objectIds">单据主键组</param> /// <param name="objectFullName">单据名称</param> /// <param name="workFlowCode">工作流编号</param> /// <param name="auditIdea">审批意见</param> /// <param name="statusCode">返回码</param> /// <param name="dtWorkFlowActivity">步骤列表</param> /// <returns></returns> public string AuditStatr(BaseUserInfo userInfo, string categoryCode, string categoryFullName, string[] objectIds, string objectFullName, string workFlowCode, string auditIdea, out string statusCode, DataTable dtWorkFlowActivity = null) { string result = string.Empty; string returnCode = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDbWithTransaction(userInfo, parameter, (dbHelper) => { // 默认的都按报表来处理,特殊的直接调用,明确指定 IWorkFlowManager userReportManager = new UserReportManager(userInfo); var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); for (int i = 0; i < objectIds.Length; i++) { result = workFlowCurrentManager.AutoStatr(userReportManager, objectIds[i], objectFullName, categoryCode, categoryFullName, workFlowCode, auditIdea, dtWorkFlowActivity); } if (!string.IsNullOrEmpty(result)) { returnCode = Status.OK.ToString(); } // BaseLogManager.Instance.Add(result, this.serviceName, MethodBase.GetCurrentMethod()); }); statusCode = returnCode; 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) { 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="id">当前主键</param> /// <param name="sendToUserId">用户主键</param> /// <param name="auditIdea">审核意见</param> /// <returns>数据权限</returns> public int AuditTransmit(BaseUserInfo userInfo, string[] ids, string workFlowCategory, string sendToUserId, 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.AuditTransmit(ids, workFlowCategory, sendToUserId, auditIdea); }); return(result); }
/// <summary> /// 自由工作流审核通过 /// </summary> /// <param name="result"></param> /// <param name="workFlowAuditInfo"></param> /// <returns></returns> public int FreeAuditPass(BaseUserInfo userInfo, BaseWorkFlowAuditInfo workFlowAuditInfo) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDbWithTransaction(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); IWorkFlowManager workFlowManager = workFlowCurrentManager.GetWorkFlowManager(workFlowAuditInfo.Id); result = workFlowCurrentManager.FreeAuditPass(workFlowManager, workFlowAuditInfo); }); return(result); }
/// <summary> /// 最终审核通过 /// </summary> /// <param name="userInfo">当前用户</param> /// <param name="ids">主键数组</param> /// <param name="auditIdea">审核意见</param> /// <returns>影响行数</returns> public int AuditComplete(BaseUserInfo userInfo, string[] ids, string auditIdea) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDbWithTransaction(userInfo, parameter, (dbHelper) => { //IWorkFlowManager userReportManager = new UserReportManager(result); var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); result += workFlowCurrentManager.AuditComplete(ids, auditIdea); }); return(result); }
//---------------------------------------------------------------------------- // 自由流 //---------------------------------------------------------------------------- #region public string FreeAudit(BaseUserInfo userInfo, BaseWorkFlowAuditInfo workFlowAuditInfo) /// <summary> /// 提交审批(自由流) /// </summary> /// <param name="result"></param> /// <param name="workFlowAuditInfo"></param> /// <returns></returns> public string FreeAudit(BaseUserInfo userInfo, BaseWorkFlowAuditInfo workFlowAuditInfo) { string result = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDbWithTransaction(userInfo, parameter, (dbHelper) => { // 默认的都按单据来处理,特殊的直接调用,明确指定 IWorkFlowManager workFlowManager = new BaseUserBillManager(userInfo); var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); result = workFlowCurrentManager.FreeAudit(workFlowManager, workFlowAuditInfo); }); return(result); }