using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BLL { public static class MenuFlowOperateService { /// /// 根据工作流主键获取工作流信息 /// /// /// public static Model.Sys_MenuFlowOperate GetMenuFlowOperateByFlowOperateId(string flowOperateId) { return Funs.DB.Sys_MenuFlowOperate.FirstOrDefault(x=> x.FlowOperateId == flowOperateId); } /// /// 根据工作流主键获取工作流信息 /// /// /// public static List GetMenuFlowOperateListByMenuId(string menuId) { return (from x in Funs.DB.Sys_MenuFlowOperate where x.MenuId == menuId orderby x.FlowStep select x).ToList(); } /// /// 添加工作流信息 /// /// public static void AddAuditFlow(Model.Sys_MenuFlowOperate flow) { Model.Sys_MenuFlowOperate newMenuFlowOperate = new Model.Sys_MenuFlowOperate { FlowOperateId = SQLHelper.GetNewID(typeof(Model.Sys_MenuFlowOperate)), MenuId = flow.MenuId, FlowStep = flow.FlowStep, GroupNum = flow.GroupNum, OrderNum = flow.OrderNum, AuditFlowName = flow.AuditFlowName, RoleId = flow.RoleId, IsFlowEnd = flow.IsFlowEnd, IsSelfRole=flow.IsSelfRole }; Funs.DB.Sys_MenuFlowOperate.InsertOnSubmit(newMenuFlowOperate); Funs.DB.SubmitChanges(); } /// /// 修改工作流信息 /// /// public static void UpdateAuditFlow(Model.Sys_MenuFlowOperate flow) { Model.Sys_MenuFlowOperate newMenuFlow = Funs.DB.Sys_MenuFlowOperate.FirstOrDefault(e => e.FlowOperateId == flow.FlowOperateId); if (newMenuFlow != null) { newMenuFlow.MenuId = flow.MenuId; newMenuFlow.FlowStep = flow.FlowStep; newMenuFlow.GroupNum = flow.GroupNum; newMenuFlow.OrderNum = flow.OrderNum; newMenuFlow.AuditFlowName = flow.AuditFlowName; newMenuFlow.RoleId = flow.RoleId; newMenuFlow.IsFlowEnd = flow.IsFlowEnd; newMenuFlow.IsSelfRole = flow.IsSelfRole; Funs.DB.SubmitChanges(); } } /// /// 删除工作流信息 /// /// public static void DeleteAuditFlow(string FlowOperateId) { Model.Sys_MenuFlowOperate flow = Funs.DB.Sys_MenuFlowOperate.First(e => e.FlowOperateId == FlowOperateId); if (flow != null) { Funs.DB.Sys_MenuFlowOperate.DeleteOnSubmit(flow); Funs.DB.SubmitChanges(); } } /// /// 步骤更新顺序 /// public static void SetSortIndex(string menuId) { var menuFlowOperate = from x in Funs.DB.Sys_MenuFlowOperate where x.MenuId == menuId select x; if (menuFlowOperate.Count() > 0) { var maxSortIndex = menuFlowOperate.Select(x => x.FlowStep).Max(); if (menuFlowOperate.Count() < maxSortIndex) { int sortIndex = 0; foreach (var item in menuFlowOperate) { sortIndex++; item.FlowStep = sortIndex; Funs.DB.SubmitChanges(); } } } } /// /// 步骤顺序说明 /// public static string GetFlowOperateName(string menuId) { string returnValue = string.Empty; var menuFlowOperate = from x in Funs.DB.Sys_MenuFlowOperate where x.MenuId == menuId orderby x.FlowStep select x; if (menuFlowOperate.Count() > 0) { foreach (var item in menuFlowOperate) { returnValue += ("第" + item.FlowStep + "步[" + item.AuditFlowName+"]"); if(item.IsFlowEnd == false || !item.IsFlowEnd.HasValue) { returnValue += ("办理角色为{" + BLL.RoleService.getRoleNamesRoleIds(item.RoleId) + "};"); } } } if (string.IsNullOrEmpty(returnValue)) { returnValue = "未定义流程审批规则。"; } return returnValue; } /// /// 获取分公司表下拉框 /// /// /// public static void InitMenuFlowOperateDropDownList(FineUIPro.DropDownList dropName,string menuId, string thisId, bool isShowPlease) { dropName.DataValueField = "FlowOperateId"; dropName.DataTextField = "AuditFlowName"; dropName.DataSource = (from x in Funs.DB.Sys_MenuFlowOperate where x.MenuId == menuId && x.IsFlowEnd == false && x.FlowOperateId != thisId orderby x.FlowStep select x).ToList(); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } } }