Files
zszq-trs/YLErpWeb/Common/GlobalData.cs
T

468 lines
16 KiB
C#

using System.Text;
using YLErp.Enums;
using YLErp.Model.Enum;
using YLErp.Modules.StructureModule;
namespace YLErp.Web
{
public class GlobalData
{
/// <summary>
/// 获取所有角色是交易员的
/// </summary>
public static List<SelectListItem> GetAllTrader()
{
var traders = UserBLL.GetUsersByPosition();
return GetListUserItem(traders);
}
/// <summary>
/// 获取所有角色是交易员的名称
/// </summary>
public static List<SelectListItem> GetAllTraderForName()
{
var traders = UserBLL.GetUsersByPosition();
return traders.Select(s => new SelectListItem { Text = s.Name, Value = s.LoginName }).ToList(); ;
}
public static List<SelectListItem> GetAllRole(UserInfo user, string roleName)
{
var roles = GetAllRoles(roleName);
if (user.Roles.Any(r => r.Name == "权限管理员"))
{
return roles.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).ToList();
}
return roles.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).Where(m => m.Text != "权限管理员").ToList();
}
public static List<Role> GetAllRoles(string roleName)
{
var Roles = new List<Role>();
var cacheKey = string.Format("GetAllRoles_{0}", roleName);
var model = Providers.MemoryCacheProvider.Default.Get<List<Role>>(cacheKey);
if (model != null) { return model; }
using (var cdb = new ErpBaseContext())
{
Roles = cdb.Roles.Where(r => r.Name.Contains(roleName)).ToList();
Providers.MemoryCacheProvider.Default.Set(cacheKey, Roles, DateTime.Now.AddMinutes(5));
}
return Roles;
}
public static List<SelectListItem> GetAccountPosts()
{
List<SelectListItem> selectListItems = new List<SelectListItem>();
selectListItems.Add(new SelectListItem
{
Text = string.Empty,
Value = "0"
});
foreach (var item in Enum.GetValues(typeof(AccountPostEnum)))
{
selectListItems.Add(new SelectListItem
{
Text = Enum.GetName(typeof(AccountPostEnum), item),
Value = ((int)((AccountPostEnum)Enum.Parse(typeof(AccountPostEnum), item.ToString()))).ToString()
});
}
return selectListItems;
}
public static List<SelectListItem> GetListUserItem(List<SystemUser> sysUsers)
{
return sysUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).ToList();
}
public static List<SelectListItem> GetAllUser()
{
using (var cdb = new ErpBaseContext())
{
return cdb.SystemUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Id + "" }).ToList();
}
}
public static List<SelectListItem> GetAllUser(int id)
{
var selectListItem = new List<SelectListItem>() { new SelectListItem {
Text = "", Value = null
} };
using (var cdb = new ErpBaseContext())
{
if (id != 0)
{
var systemUserAll = UserBLL.GetNotChildrenSystemUsers(id);
selectListItem.AddRange(systemUserAll.Select(s => new SelectListItem { Text = s.Name, Value = s.Id + "" }).ToList());
}
else
{
selectListItem.AddRange(cdb.SystemUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Id + "" }).ToList());
}
}
return selectListItem;
}
public static List<SelectListItem> GetAllUserName()
{
using (var cdb = new ErpBaseContext())
{
return cdb.SystemUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Name }).ToList();
}
}
/// <summary>
/// 获取通用
/// </summary>
public static List<SelectListItem> GetSelectItems(IEnumerable<string> items, string defaultVal = "")
{
if (items is null)
{
throw new ArgumentNullException(nameof(items));
}
var vals = (defaultVal ?? string.Empty).Split(',');
return items.Select(r => new SelectListItem { Text = r, Value = r, Selected = vals.Contains(r) }).ToList();
}
/// <summary>
/// 获取结构类型
/// </summary>
public static List<SelectItem> GetTradeTypes(IEnumerable<string> items, bool includeCustomTypes = false, string defaultVal = "")
{
if (items is null)
{
throw new ArgumentNullException(nameof(items));
}
var vals = (defaultVal ?? string.Empty).Split(',');
var list = items.Select(r => new SelectItem { Text = r, Value = r, Selected = vals.Contains(r) }).ToList();
if (includeCustomTypes)
{
var service = new StructureService(OptUserInfo.SystemUser);
var dicItems =
service.QueryStructureInfo(StructureRangeEnum.BALCK_TRADE).Concat(
service.QueryStructureInfo(StructureRangeEnum.CUSTOM_TRADE))
.GroupBy(O => O.StructureName)
.Select(O => new SelectItem()
{
Text = O.Key,
Value = O.Key
})
.ToList();
if (dicItems != null && dicItems.Any())
{
list.AddRange(dicItems);
}
}
return list;
}
public static List<SelectListItem> GetSelectItems(Dictionary<string, string> items)
{
if (items is null)
{
throw new ArgumentNullException(nameof(items));
}
return items.Select(r => new SelectListItem { Text = r.Key, Value = r.Value }).ToList();
}
/// <summary>
/// 获取optionhtml
/// </summary>
public static string GetOptions(IEnumerable<string> data, bool isAddEmpty = false)
{
var sb = new StringBuilder();
if (isAddEmpty)
{
sb.AppendFormat("<option value=''>--</option>");
}
foreach (var d in data)
{
sb.AppendFormat("<option>{0}</option>", d);
}
return sb.ToString();
}
public static string GetOptions(IEnumerable<SelectListItem> data)
{
var sb = new StringBuilder();
foreach (var d in data)
{
sb.AppendFormat("<option value='{1}'{2}>{0}</option>", d.Text, d.Value, d.Selected ? " selected" : "");
}
return sb.ToString();
}
public static string GetOptions(IEnumerable<SelectItem> items)
{
if (items is null)
{
throw new ArgumentNullException(nameof(items));
}
return string.Join(string.Empty, items.Select(n => $"<option value='{n.Value}'>{n.Text}</option>"));
}
public static string GetOptions(IEnumerable<KeyValuePair<string, string>> items)
{
if (items is null)
{
throw new ArgumentNullException(nameof(items));
}
return string.Join(string.Empty, items.Select(n => $"<option value='{n.Value}'>{n.Key}</option>"));
}
public static string GetOptionsWithSelect(IEnumerable<string> items, IEnumerable<string> selectedItems)
{
var strBuilder = new StringBuilder();
foreach (var item in items)
{
if (selectedItems != null && selectedItems.Contains(item))
{
strBuilder.AppendFormat("<option selected>{0}</option>", item);
}
else
{
strBuilder.AppendFormat("<option>{0}</option>", item);
}
}
return strBuilder.ToString();
}
public static IList<SelectListItem> QiYongTypes()
{
return new List<SelectListItem>
{
new SelectListItem {Text = "启用", Value = "1"} ,
new SelectListItem {Text = "未用", Value = "0"}
};
}
public static IList<SelectListItem> DeparttypeListItems()
{
return new List<SelectListItem>
{
new SelectListItem {Text = "全部", Value = "", Selected = false},
new SelectListItem {Text = "部门", Value = "部门", Selected = false},
new SelectListItem {Text = "项目", Value = "项目", Selected = false},
};
}
public static IList<SelectListItem> GetAllDepartements()
{
using (var con = new ErpBaseContext())
{
var departementList = con.Departments.ToList();
return departementList.Select(d => new SelectListItem { Text = d.Name, Value = d.Id.ToString() }).ToList();
}
}
public static IList<SelectListItem> GetConfirmBookMode()
{
return new List<SelectListItem>
{
new SelectListItem { Value = "-1", Text = "全部" ,Selected=true},
new SelectListItem { Value = "单章版", Text = "单章版" },
new SelectListItem { Value = "双章版", Text = "双章版" }
};
}
public static IList<SelectListItem> GetYesList(bool defaultYes = true)
{
if (defaultYes)
{
return new List<SelectListItem>
{
new SelectListItem { Value = "1", Text = "是"},
new SelectListItem { Value = "0", Text = "否" }
};
}
else
{
return new List<SelectListItem>
{
new SelectListItem { Value = "1", Text = "是"},
new SelectListItem { Value = "0", Text = "否", Selected = true}
};
}
}
public static IList<SelectListItem> GetBoolList(bool defaultYes = true, bool noSelect = false)
{
if (noSelect)
{
return new List<SelectListItem>
{
new SelectListItem { Value = "True", Text = "是" },
new SelectListItem { Value = "False", Text = "否" }
};
}
if (defaultYes)
{
return new List<SelectListItem>
{
new SelectListItem { Value = "True", Text = "是", Selected = true },
new SelectListItem { Value = "False", Text = "否" }
};
}
else
{
return new List<SelectListItem>
{
new SelectListItem { Value = "True", Text = "是"},
new SelectListItem { Value = "False", Text = "否", Selected = true }
};
}
}
public static IList<SelectListItem> TradeStatusAfterConfirm()
{
var list= new List<SelectListItem>()
{
new SelectListItem {Value = ConsTrade.确认成交, Text = ConsTrade.确认成交 },
new SelectListItem {Value = ConsTrade.已到期, Text = ConsTrade.已到期 },
new SelectListItem {Value = ConsTrade.已执行, Text = ConsTrade.已执行 },
new SelectListItem {Value = ConsTrade.已平仓, Text = ConsTrade.已平仓 },
new SelectListItem { Value= ConsTrade.审批中, Text = ConsTrade.审批中 }
};
return list;
}
public static IList<SelectListItem> AllCreditProcessStatus()
{
return new List<SelectListItem>()
{
new SelectListItem()
{
Text = "全部",
Value = "全部"
},
new SelectListItem()
{
Text = "未审批",
Value = "未审批"
},
new SelectListItem()
{
Text = "审批中",
Value = "审批中"
},
new SelectListItem()
{
Text = "已审批",
Value = "已审批"
},
new SelectListItem()
{
Text = "已拒绝",
Value = "已拒绝"
}
};
}
public static IList<SelectListItem> AllTimeUnits()
{
return new List<SelectListItem>()
{
new SelectListItem()
{
Text = "天",
Value = "D"
},
new SelectListItem()
{
Text = "周",
Value = "W"
},
new SelectListItem()
{
Text = "月",
Value = "M"
},
new SelectListItem()
{
Text = "年",
Value = "Y"
}
};
}
/// <summary>
/// 自定义报送结构类型
/// </summary>
/// <returns></returns>
public static IList<SelectListItem> GetCustomStructureTypeSm()
{
var list = new List<SelectListItem>();
var customStructureType = PS.Config.CustomStructureTypeSm;
if (!string.IsNullOrWhiteSpace(customStructureType))
{
var arrCustomStructureType = customStructureType.Split(';');
foreach (var arr in arrCustomStructureType)
{
var item = new SelectListItem();
var arrCustomStructureType2 = arr.Split(':');
if (arrCustomStructureType2.Length == 2)
{
item.Value = arrCustomStructureType2[0];
item.Text = arrCustomStructureType2[1];
}
list.Add(item);
}
}
return list;
}
public static IList<SelectListItem> GetQuoteSectionList(bool defaultYes = true)
{
if (defaultYes)
{
return new List<SelectListItem>
{
new SelectListItem { Value = "个股", Text = "个股"}
};
}
else
{
return new List<SelectListItem>
{
new SelectListItem { Value = "个股", Text = "个股", Selected = true}
};
}
}
public static IList<SelectListItem> GetEntryExitDerictionList(bool defaultYes = true)
{
if (defaultYes)
{
return new List<SelectListItem>
{
new SelectListItem { Value = "出金", Text = "出金"}
};
}
else
{
return new List<SelectListItem>
{
new SelectListItem { Value = "出金", Text = "出金", Selected = true}
};
}
}
public static IList<SelectListItem> GetSealResultItems()
{
return new List<SelectListItem>
{
new SelectListItem {Text = "成功", Value = "0", Selected = false},
new SelectListItem {Text = "失败", Value = "1", Selected = false},
new SelectListItem {Text = "尚未用印", Value = "2", Selected = false},
new SelectListItem {Text = "用印等待中", Value = "3", Selected = false}
};
}
}
}