158 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Linq;
 | ||
| using System.Text;
 | ||
| 
 | ||
| namespace BLL
 | ||
| {
 | ||
|    public static class MenuFlowOperateService
 | ||
|    {        
 | ||
|        /// <summary>
 | ||
|        ///  根据工作流主键获取工作流信息
 | ||
|        /// </summary>
 | ||
|        /// <param name="flowOperateId"></param>
 | ||
|        /// <returns></returns>
 | ||
|        public static Model.Sys_MenuFlowOperate GetMenuFlowOperateByFlowOperateId(string flowOperateId)
 | ||
|        {
 | ||
|            return  Funs.DB.Sys_MenuFlowOperate.FirstOrDefault(x=> x.FlowOperateId == flowOperateId);
 | ||
|        }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  根据工作流主键获取工作流信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="menuId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Sys_MenuFlowOperate> GetMenuFlowOperateListByMenuId(string menuId)
 | ||
|         {
 | ||
|             return (from x in Funs.DB.Sys_MenuFlowOperate where x.MenuId == menuId
 | ||
|                     orderby x.FlowStep select x).ToList();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 添加工作流信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="flow"></param>
 | ||
|         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,                
 | ||
|             };
 | ||
|             Funs.DB.Sys_MenuFlowOperate.InsertOnSubmit(newMenuFlowOperate);
 | ||
|             Funs.DB.SubmitChanges();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 修改工作流信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="flow"></param>
 | ||
|         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;
 | ||
|                 Funs.DB.SubmitChanges();
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|        /// <summary>
 | ||
|        /// 删除工作流信息
 | ||
|        /// </summary>
 | ||
|        /// <param name="FlowOperateId"></param>
 | ||
|        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();
 | ||
|            }
 | ||
|        }
 | ||
|        
 | ||
|        /// <summary>
 | ||
|        ///  步骤更新顺序
 | ||
|        /// </summary>
 | ||
|        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();
 | ||
|                    }
 | ||
|                }
 | ||
|            }
 | ||
|        }
 | ||
| 
 | ||
|        /// <summary>
 | ||
|        ///  步骤顺序说明
 | ||
|        /// </summary>
 | ||
|        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;
 | ||
|        }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取分公司表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName"></param>
 | ||
|         /// <param name="isShowPlease"></param>
 | ||
|         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);
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| }
 |