/// <summary> /// 获取数据 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>数据表</returns> public DataTable GetDataTable(BaseUserInfo userInfo, string id = null) { var dt = new DataTable(BaseWorkFlowProcessEntity.TableName); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowManager = new BaseWorkFlowProcessManager(dbHelper, userInfo); if (string.IsNullOrEmpty(id)) { dt = workFlowManager.GetDataTable(new KeyValuePair <string, object>(BaseWorkFlowProcessEntity.FieldDeletionStateCode, 0), BaseWorkFlowProcessEntity.FieldSortCode); } else { //dt = workFlowManager.GetDataTableById(id); List <KeyValuePair <string, object> > parametersList = new List <KeyValuePair <string, object> >(); parametersList.Add(new KeyValuePair <string, object>(BaseWorkFlowProcessEntity.FieldDeletionStateCode, 0)); parametersList.Add(new KeyValuePair <string, object>(BaseWorkFlowProcessEntity.FieldId, id)); dt = workFlowManager.GetDataTable(parametersList, BaseWorkFlowProcessEntity.FieldSortCode); } //result = workFlowManager.GetDataTable(); dt.TableName = BaseWorkFlowProcessEntity.TableName; }); return(dt); }
/// <summary> /// 添加工作流 /// </summary> /// <param name="userInfo">当前用户</param> /// <param name="entity">工作流定义实体</param> /// <returns>主键</returns> public string Add(BaseUserInfo userInfo, BaseWorkFlowActivityEntity entity) { string result = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowActivityManager = new BaseWorkFlowActivityManager(dbHelper, userInfo); result = workFlowActivityManager.Add(entity); }); return(result); }
/// <summary> /// 查询 /// </summary> /// <param name="result"></param> /// <param name="userId"></param> /// <param name="categoryCode"></param> /// <param name="searchValue"></param> /// <param name="enabled"></param> /// <param name="deletionStateCode"></param> /// <returns></returns> public DataTable Search(BaseUserInfo userInfo, string userId, string categoryCode, string searchValue, bool?enabled, bool?deletionStateCode) { var dt = new DataTable(BaseWorkFlowBillTemplateEntity.TableName); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var templateManager = new BaseWorkFlowBillTemplateManager(dbHelper, userInfo); dt = templateManager.Search(userId, categoryCode, searchValue, enabled, deletionStateCode); }); return(dt); }
/// <summary> /// 获取具体的审批流程 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="workFlowCode">工作流程编号</param> /// <returns>流程</returns> public string GetProcessId(BaseUserInfo userInfo, string workFlowCode) { string result = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowManager = new BaseWorkFlowProcessManager(dbHelper, userInfo); result = workFlowManager.GetProcessId(userInfo, workFlowCode); }); return(result); }
/// <summary> /// 获取表单模板类型 /// </summary> /// <param name="result"></param> /// <returns></returns> public DataTable GetBillTemplateDT(BaseUserInfo userInfo) { var dt = new DataTable(BaseWorkFlowBillTemplateEntity.TableName); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var templateManager = new BaseWorkFlowBillTemplateManager(dbHelper, userInfo); dt = templateManager.GetDataTable(new KeyValuePair <string, object>(BaseWorkFlowBillTemplateEntity.FieldDeletionStateCode, 0), BaseWorkFlowBillTemplateEntity.FieldSortCode); }); return(dt); }
/// <summary> /// 批量打删除标志 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int SetDeleted(BaseUserInfo userInfo, string[] ids) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowManager = new BaseWorkFlowProcessManager(dbHelper, userInfo); result = workFlowManager.SetDeleted(ids); }); return(result); }
/// <summary> /// 替换工作审核者 /// </summary> /// <param name="userInfo">用户</param> /// <param name="oldCode">原来的工号</param> /// <param name="newCode">新的工号</param> /// <returns>影响行数</returns> public int Replace(BaseUserInfo userInfo, string oldCode, string newCode) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); result = workFlowCurrentManager.ReplaceUser(oldCode, newCode); }); return(result); }
/// <summary> /// 批量删除 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">选种的数组</param> /// <returns>数据权限</returns> public int BatchDelete(BaseUserInfo userInfo, string[] ids) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var WorkFlowActivity = new BaseWorkFlowActivityManager(dbHelper, userInfo); result = WorkFlowActivity.Delete(ids); }); return(result); }
/// <summary> /// 启动工作流(步骤流转) /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="workFlowManager">审批流程管理器</param> /// <param name="objectId">单据主键</param> /// <param name="objectFullName">单据名称</param> /// <param name="categoryCode">单据分类</param> /// <param name="categoryFullName">单据分类名称</param> /// <param name="workFlowCode">工作流程</param> /// <param name="auditIdea">审批意见</param> /// <param name="dtWorkFlowActivity">需要走的流程</param> /// <returns>主键</returns> public string AutoStatr(BaseUserInfo userInfo, IWorkFlowManager workFlowManager, string objectId, string objectFullName, string categoryCode, string categoryFullName = null, string workFlowCode = null, string auditIdea = null, DataTable dtWorkFlowActivity = null) { string result = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); result = workFlowCurrentManager.AutoStatr(workFlowManager, objectId, objectFullName, categoryCode, categoryFullName, workFlowCode, auditIdea, dtWorkFlowActivity); }); return(result); }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="id">主键</param> /// <returns>实体</returns> public BaseWorkFlowCurrentEntity GetObject(BaseUserInfo userInfo, string id) { BaseWorkFlowCurrentEntity result = null; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); result = workFlowCurrentManager.GetObject(id); }); return(result); }
public BaseWorkFlowProcessEntity GetObject(BaseUserInfo userInfo, string id) { BaseWorkFlowProcessEntity entity = new BaseWorkFlowProcessEntity(); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { // 创建实现类 var workFlowManager = new BaseWorkFlowProcessManager(dbHelper, userInfo); entity = workFlowManager.GetObject(id); }); return(entity); }
/// <summary> /// /// </summary> /// <param name="result"></param> /// <param name="parameters"></param> /// <param name="id"></param> /// <returns></returns> public bool Exists(BaseUserInfo userInfo, List <KeyValuePair <string, object> > parameters, object id = null) { bool result = false; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowProcessManager = new BaseWorkFlowProcessManager(dbHelper, userInfo); result = workFlowProcessManager.Exists(parameters, id); }); return(result); }
/// <summary> /// 批量保存 /// </summary> /// <param name="userInfo">用户</param> /// <param name="result">数据表</param> /// <returns>影响行数</returns> public int BatchSave(BaseUserInfo userInfo, DataTable dt) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowActivityManager = new BaseWorkFlowActivityManager(dbHelper, userInfo); result = workFlowActivityManager.BatchSave(dt); // result = Role.GetDataTableByOrganize(organizeId); }); return(result); }
/// <summary> /// 获取已审核流程列表 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="categoryCode">单据类型</param> /// <param name="categorybillFullName">流程</param> /// <param name="searchValue">关键字</param> /// <returns></returns> public DataTable GetAuditRecord(BaseUserInfo userInfo, string categoryCode, string categorybillFullName = null, string searchValue = null) { DataTable dt = null; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); dt = workFlowCurrentManager.GetAuditRecord(categoryCode, categorybillFullName, searchValue); dt.TableName = BaseWorkFlowCurrentEntity.TableName; }); return(dt); }
/// <summary> /// 获取工作流主键 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="categoryCode">类型编号</param> /// <param name="objectId">单据主键</param> /// <returns></returns> public string GetCurrentId(BaseUserInfo userInfo, string categoryCode, string objectId) { string currentId = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); currentId = workFlowCurrentManager.GetCurrentId(categoryCode, objectId); // BaseWorkFlowCurrentEntity workFlowCurrentEntity = workFlowCurrentManager.GetObject(currentId); // workFlowCurrentEntity.ActivityId; // workFlowCurrentEntity.ActivityFullName; }); return(currentId); }
/// <summary> /// 批量保存权限 /// </summary> /// <param name="userInfo">用户</param> /// <param name="result">数据表</param> /// <returns>数据表</returns> public int BatchSave(BaseUserInfo userInfo, DataTable dt) { int result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowManager = new BaseWorkFlowProcessManager(dbHelper, userInfo); result = workFlowManager.BatchSave(dt); // this.StatusMessage = workFlowManager.StatusMessage; // this.StatusCode = workFlowManager.StatusCode; // ReturnDataTable = workFlowManager.GetDataTable(); }); return(result); }
/// <summary> /// 获取审核历史明细 /// </summary> /// <param name="userInfo">用户</param> /// <param name="categoryId">单据分类主键</param> /// <param name="objectId">单据主键</param> /// <returns>数据权限</returns> public DataTable GetAuditDetailDT(BaseUserInfo userInfo, string categoryId, string objectId) { DataTable dt = null; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); string[] ids = workFlowCurrentManager.GetIds(new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldCategoryCode, categoryId), new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldObjectId, objectId)); var workFlowHistoryManager = new BaseWorkFlowHistoryManager(dbHelper, userInfo); dt = workFlowHistoryManager.GetDataTable(BaseWorkFlowHistoryEntity.FieldCurrentFlowId, ids, BaseWorkFlowHistoryEntity.FieldCreateOn); dt.TableName = BaseWorkFlowCurrentEntity.TableName; }); return(dt); }
/// <summary> /// 按分页获取监控列表 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="pageSize">每页记录数</param> /// <param name="pageIndex">第几页</param> /// <param name="recordCount">总记录数</param> /// <param name="categoryCode">类型</param> /// <param name="searchValue">查找内容</param> /// <returns></returns> public DataTable GetMonitorDTByPage(BaseUserInfo userInfo, int pageSize, int pageIndex, out int recordCount, string categoryCode = null, string searchValue = null, bool unfinishedOnly = true) { DataTable dt = null; int myrecordCount = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); dt = workFlowCurrentManager.GetMonitorDTByPage(pageSize, pageIndex, out myrecordCount, categoryCode, searchValue, unfinishedOnly); dt.TableName = BaseWorkFlowCurrentEntity.TableName; }); recordCount = myrecordCount; return(dt); }
/// <summary> /// 获取流程当前步骤列表 /// </summary> /// <param name="userInfo">用户</param> /// <returns>数据表</returns> public DataTable GetDataTable(BaseUserInfo userInfo) { var dt = new DataTable(BaseWorkFlowCurrentEntity.TableName); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldEnabled, 1)); parameters.Add(new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldDeletionStateCode, 0)); dt = workFlowCurrentManager.GetDataTable(parameters, BaseWorkFlowCurrentEntity.FieldSendDate); dt.TableName = BaseWorkFlowCurrentEntity.TableName; }); return(dt); }
/// <summary> /// 添加工作流 /// </summary> /// <param name="userInfo">当前用户</param> /// <param name="entity">工作流定义实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>主键</returns> public string Add(BaseUserInfo userInfo, BaseWorkFlowProcessEntity entity, out string statusCode, out string statusMessage) { string returnCode = string.Empty; string returnMessage = string.Empty; string result = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowManager = new BaseWorkFlowProcessManager(dbHelper, userInfo); result = workFlowManager.Add(entity, out returnCode); // 获得状态消息 returnMessage = workFlowManager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(result); }
/// <summary> /// 获取监控列表 /// </summary> /// <param name="userInfo">用户信息</param> /// <returns></returns> public DataTable GetMonitorDT(BaseUserInfo userInfo) { DataTable dt = null; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessWorkFlowDb(userInfo, parameter, (dbHelper) => { var workFlowCurrentManager = new BaseWorkFlowCurrentManager(dbHelper, userInfo); if (userInfo.IsAdministrator) { dt = workFlowCurrentManager.GetDataTable(new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldDeletionStateCode, 0), BaseWorkFlowCurrentEntity.FieldSendDate); } else { dt = workFlowCurrentManager.GetMonitorDT(); } dt.TableName = BaseWorkFlowCurrentEntity.TableName; }); return(dt); }