468 lines
16 KiB
C#
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}
|
|
};
|
|
}
|
|
}
|
|
} |