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