CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/SysManage/MenuFlowOperateService.cs

158 lines
5.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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