SysDictionaryService.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. using WMS.BZModels.Models.UserCenterManager;
  2. using WMS.BZSqlSugar;
  3. using SqlSugar;
  4. using Mapster;
  5. using WMS.BZModels.Dto.UserCenterManager.SysDictionaryDtos;
  6. using WMS.BZModels;
  7. using WMS.Info;
  8. namespace WMS.BZServices.UserCenterManager
  9. {
  10. public class SysDictionaryService
  11. {
  12. private readonly Repository<SysDictionary> _sysDictionaryRepository;
  13. public SysDictionaryService(Repository<SysDictionary> sysDictionaryRepository)
  14. {
  15. _sysDictionaryRepository = sysDictionaryRepository;
  16. }
  17. public PagedInfo<SysDictionaryDto> GetPageList(Pagination pagination, SysDictionaryQueryDto sysDictionaryQueryDto)
  18. {
  19. var predicate = Expressionable.Create<SysDictionary>();
  20. predicate = predicate.AndIF(sysDictionaryQueryDto != null && !string.IsNullOrEmpty(sysDictionaryQueryDto?.KeyWord), m => m.Code.Contains(sysDictionaryQueryDto.KeyWord) || m.Name.Contains(sysDictionaryQueryDto.KeyWord));
  21. var list = _sysDictionaryRepository.Queryable().Where(predicate.ToExpression())
  22. .ToPage<SysDictionary, SysDictionaryDto>(pagination);
  23. return list;
  24. }
  25. public List<SysDictionaryDto> GetList(string keyword)
  26. {
  27. var predicate = Expressionable.Create<SysDictionary>();
  28. predicate = predicate.AndIF(!string.IsNullOrEmpty(keyword), m => m.Code.Contains(keyword) || m.Name.Contains(keyword));
  29. var list = _sysDictionaryRepository.Queryable().Where(predicate.ToExpression()).ToList();
  30. return list.Adapt<List<SysDictionaryDto>>();
  31. }
  32. public List<SysDictionary> GetList()
  33. {
  34. var list = _sysDictionaryRepository.Queryable().OrderBy(o => o.Num).ToList();
  35. return list;
  36. }
  37. public Dictionary<string, Dictionary<string, SysDictionary>> GetModelMap()
  38. {
  39. Dictionary<string, Dictionary<string, SysDictionary>> dic = new Dictionary<string, Dictionary<string, SysDictionary>>();
  40. List<SysDictionary> list = GetList();
  41. var plist = list.FindAll(it => it.IsStop == 0 && it.PNo == "0");
  42. foreach (var p in plist)
  43. {
  44. var dtllist = list.FindAll(a => a.PNo == p.No);
  45. dic.Add(p.No, dtllist.ToDictionary(v => v.No, v => v));
  46. }
  47. return dic;
  48. }
  49. /// <summary>
  50. /// 获取实体数据
  51. /// <param name="keyValue">主键</param>
  52. /// <summary>
  53. /// <returns></returns>
  54. public SysDictionary GetEntityById(long keyValue)
  55. {
  56. return _sysDictionaryRepository.Queryable().Single(it => it.Id == keyValue);
  57. }
  58. /// <summary>
  59. /// 获取实体数据
  60. /// <param name="keyValue">主键</param>
  61. /// <summary>
  62. /// <returns></returns>
  63. public SysDictionary GetEntityByCode(string keyValue)
  64. {
  65. return _sysDictionaryRepository.Queryable().Single(it => it.Code == keyValue);
  66. }
  67. public void Save(LoginUserInfo loginUser, string keyValue, SysDictionary entity)
  68. {
  69. try
  70. {
  71. if (string.IsNullOrWhiteSpace(entity.Code))
  72. {
  73. throw new ArgumentException("编号不能为空");
  74. }
  75. if (keyValue.IsEmpty() || keyValue == "undefined")
  76. {
  77. var mat = _sysDictionaryRepository.GetSingle(p => p.Code == entity.Code);
  78. if (mat != null)
  79. {
  80. throw new ArgumentException("编码已存在");
  81. }
  82. entity.Id = IdFactory.NewId();
  83. entity.AddTime = DateTime.Now;
  84. entity.AddWho = loginUser.UserNo;
  85. entity.EditTime = DateTime.Now;
  86. entity.EditWho = loginUser.UserNo;
  87. _sysDictionaryRepository.Insert(entity);
  88. }
  89. else
  90. {
  91. entity.Id = Convert.ToInt64(keyValue);
  92. entity.EditTime = DateTime.Now;
  93. entity.EditWho = loginUser.UserNo;
  94. _sysDictionaryRepository.UpdateEntity(entity);
  95. }
  96. }
  97. catch (Exception ex)
  98. {
  99. throw ex;
  100. }
  101. }
  102. public void Delete(string Id)
  103. {
  104. if (string.IsNullOrWhiteSpace(Id) || long.TryParse(Id, out var result))
  105. {
  106. throw new ArgumentException("Id错误");
  107. }
  108. var entity = GetEntityById(result);
  109. if (entity != null)
  110. {
  111. _sysDictionaryRepository.Delete(entity);
  112. }
  113. }
  114. }
  115. }