123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- using WMS.BZModels.Models.UserCenterManager;
- using WMS.BZSqlSugar;
- using SqlSugar;
- using Mapster;
- using WMS.BZModels.Dto.UserCenterManager.SysDictionaryDtos;
- using WMS.BZModels;
- using WMS.Info;
- namespace WMS.BZServices.UserCenterManager
- {
- public class SysDictionaryService
- {
- private readonly Repository<SysDictionary> _sysDictionaryRepository;
- public SysDictionaryService(Repository<SysDictionary> sysDictionaryRepository)
- {
- _sysDictionaryRepository = sysDictionaryRepository;
- }
- public PagedInfo<SysDictionaryDto> GetPageList(Pagination pagination, SysDictionaryQueryDto sysDictionaryQueryDto)
- {
- var predicate = Expressionable.Create<SysDictionary>();
- predicate = predicate.AndIF(sysDictionaryQueryDto != null && !string.IsNullOrEmpty(sysDictionaryQueryDto?.KeyWord), m => m.Code.Contains(sysDictionaryQueryDto.KeyWord) || m.Name.Contains(sysDictionaryQueryDto.KeyWord));
- var list = _sysDictionaryRepository.Queryable().Where(predicate.ToExpression())
- .ToPage<SysDictionary, SysDictionaryDto>(pagination);
- return list;
- }
- public List<SysDictionaryDto> GetList(string keyword)
- {
- var predicate = Expressionable.Create<SysDictionary>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(keyword), m => m.Code.Contains(keyword) || m.Name.Contains(keyword));
- var list = _sysDictionaryRepository.Queryable().Where(predicate.ToExpression()).ToList();
- return list.Adapt<List<SysDictionaryDto>>();
- }
- public List<SysDictionary> GetList()
- {
- var list = _sysDictionaryRepository.Queryable().OrderBy(o => o.Num).ToList();
- return list;
- }
- public Dictionary<string, Dictionary<string, SysDictionary>> GetModelMap()
- {
- Dictionary<string, Dictionary<string, SysDictionary>> dic = new Dictionary<string, Dictionary<string, SysDictionary>>();
- List<SysDictionary> list = GetList();
- var plist = list.FindAll(it => it.IsStop == 0 && it.PNo == "0");
- foreach (var p in plist)
- {
- var dtllist = list.FindAll(a => a.PNo == p.No);
- dic.Add(p.No, dtllist.ToDictionary(v => v.No, v => v));
- }
- return dic;
- }
- /// <summary>
- /// 获取实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public SysDictionary GetEntityById(long keyValue)
- {
- return _sysDictionaryRepository.Queryable().Single(it => it.Id == keyValue);
- }
- /// <summary>
- /// 获取实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public SysDictionary GetEntityByCode(string keyValue)
- {
- return _sysDictionaryRepository.Queryable().Single(it => it.Code == keyValue);
- }
- public void Save(LoginUserInfo loginUser, string keyValue, SysDictionary entity)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(entity.Code))
- {
- throw new ArgumentException("编号不能为空");
- }
- if (keyValue.IsEmpty() || keyValue == "undefined")
- {
- var mat = _sysDictionaryRepository.GetSingle(p => p.Code == entity.Code);
- if (mat != null)
- {
- throw new ArgumentException("编码已存在");
- }
- entity.Id = IdFactory.NewId();
- entity.AddTime = DateTime.Now;
- entity.AddWho = loginUser.UserNo;
- entity.EditTime = DateTime.Now;
- entity.EditWho = loginUser.UserNo;
- _sysDictionaryRepository.Insert(entity);
- }
- else
- {
- entity.Id = Convert.ToInt64(keyValue);
- entity.EditTime = DateTime.Now;
- entity.EditWho = loginUser.UserNo;
- _sysDictionaryRepository.UpdateEntity(entity);
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- public void Delete(string Id)
- {
- if (string.IsNullOrWhiteSpace(Id) || long.TryParse(Id, out var result))
- {
- throw new ArgumentException("Id错误");
- }
- var entity = GetEntityById(result);
- if (entity != null)
- {
- _sysDictionaryRepository.Delete(entity);
- }
- }
- }
- }
|