160 lines
5.9 KiB
C#
160 lines
5.9 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,
|
|||
|
IsSelfRole=flow.IsSelfRole
|
|||
|
};
|
|||
|
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;
|
|||
|
newMenuFlow.IsSelfRole = flow.IsSelfRole;
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|