123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- using Mapster;
- using WMS.BZModels;
- using WMS.BZModels.Dto.UserCenterManager.SysModuleDtos;
- using WMS.BZModels.Models.UserCenterManager;
- using WMS.Info;
- using WMS.BZSqlSugar;
- using WMS.Util;
- namespace WMS.BZServices.UserCenterManager
- {
- public class SysModuleService
- {
- private readonly Repository<SysModule> _sysModuleRepository;
- public SysModuleService(Repository<SysModule> sysModuleRepository)
- {
- _sysModuleRepository = sysModuleRepository;
- }
- public List<SysModuleDto> GetList()
- {
- var lists = _sysModuleRepository.Queryable().Where(o => o.IsStop == 0).OrderBy(x => x.SortNum).ToList();
- return lists.Adapt<List<SysModuleDto>>();
- }
- /// <summary>
- /// 获取功能列表的树形数据
- /// </summary>
- /// <returns></returns>
- public List<TreeModel> GetTree()
- {
- List<SysModuleDto> modulelist = GetList();
- List<TreeModel> treeList = new List<TreeModel>();
- foreach (var item in modulelist)
- {
- TreeModel node = new TreeModel();
- node.id = item.Code;
- node.text = item.Name;
- node.value = item.Code;
- node.showcheck = false;
- node.checkstate = 0;
- node.isexpand = (item.AllowExpand == 1);
- node.icon = item.Icon;
- node.parentId = item.PNO;
- treeList.Add(node);
- }
- var listTree = treeList.ToTree();
- return listTree;
- }
- /// <summary>
- /// 获取功能列表的树形数据(只有展开项)
- /// </summary>
- /// <returns></returns>
- public List<TreeModel> GetExpendTree()
- {
- List<SysModuleDto> modulelist = GetList();
- List<TreeModel> treeList = new List<TreeModel>();
- foreach (var item in modulelist)
- {
- if (item.Target == (int)EModuleTarget.Expand)
- {
- TreeModel node = new TreeModel();
- node.id = item.Code;
- node.text = item.Name;
- node.value = item.Code;
- node.showcheck = false;
- node.checkstate = 0;
- node.isexpand = true;
- node.icon = item.Icon;
- node.parentId = item.PNO;
- treeList.Add(node);
- }
- }
- var ExpendTree = treeList.ToTree();
- return ExpendTree;
- }
- public void Delete(string ModuleNo)
- {
- if (_sysModuleRepository.Queryable().Any(o => o.PNO == ModuleNo))
- {
- throw new ArgumentException("存在子菜单没有删除");
- }
- _sysModuleRepository.Deleteable().Where(it => it.Code == ModuleNo).ExecuteCommand();
- }
- public void Save(LoginUserInfo loginUser, string keyValue, SysModule entity)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(entity.Code))
- {
- throw new ArgumentException("菜单编号为空。");
- }
- if (string.IsNullOrWhiteSpace(entity.PNO))
- {
- throw new ArgumentException("父菜单编号为空。");
- }
- if (string.IsNullOrWhiteSpace(entity.Name))
- {
- throw new ArgumentException("菜单名称为空。");
- }
- DateTime nowdt = DateTime.Now;
- if (keyValue.IsEmpty() || keyValue == "undefined")
- {
- entity.Id = IdFactory.NewId();
- entity.AddTime = DateTime.Now;
- entity.AddWho = loginUser.UserNo;
- entity.EditTime = DateTime.Now;
- entity.EditWho = loginUser.UserNo;
- _sysModuleRepository.Insert(entity);
- }
- else
- {
- entity.Id = Convert.ToInt64(keyValue);
- entity.EditTime = DateTime.Now;
- entity.EditWho = loginUser.UserNo;
- _sysModuleRepository.UpdateEntity(entity);
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- public bool ExistNo(string ModuleNo)
- {
- return _sysModuleRepository.Queryable().Any(it => it.Code == ModuleNo);
- }
- public SysModuleDto GetOpenFrmParams(string keys, string types)
- {
- SysModule entity = null;
-
- if (types == "0")
- {
- entity = _sysModuleRepository.Queryable().Single(v => v.Code == keys) ;
- if (entity == null)
- throw new Exception("未找到相关菜单");
- }
- else
- {
- string[] pno = new string[] { "Web_InM", "Web_OutM", "Web_QCM" };
- var mon = _sysModuleRepository.Queryable().Where(v => pno.Contains(v.PNO)).ToArray();
- foreach (var item in mon)
- {
- int t = item.URLAddr.Split('=').Count() > 1 ? int.Parse(item.URLAddr.Split('=')[1]) : 0;
- //if (t == sysdate.F_NUM)
- //{
- // entity = item;
- // break;
- //}
- entity = item;
- }
- //var no = mon.Where(v =>v.F_ORDERTYPE == sysdate.F_NUM).First().F_NO;
- //entity = ctx.Queryable<SYS_MODULE>().Where(v => v.F_NO == no).First();
- if (entity == null)
- throw new Exception("未找到相关菜单");
- }
- return entity.Adapt<SysModuleDto>();
- }
- }
- }
|