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);
 | 
						||
            }
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 |