ChengDa_English/SGGL/BLL/SysManage/MenuFlowOperateService.cs

160 lines
5.9 KiB
C#
Raw Normal View History

2022-03-15 17:36:38 +08:00
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);
}
}
}
}