AclUserdeptService.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. using SqlSugar;
  2. using WMS.BZModels;
  3. using WMS.BZModels.Models.UserCenterManager;
  4. using WMS.Info;
  5. using WMS.BZSqlSugar;
  6. using WMS.BZModels.Dto.UserCenterManager.UserDeptDtos;
  7. using WMS.Util;
  8. using Mapster;
  9. namespace WMS.BZServices.UserCenterManager
  10. {
  11. public class AclUserDeptService
  12. {
  13. private readonly Repository<AclUserdept> _acluserdeptRepository;
  14. public AclUserDeptService(Repository<AclUserdept> acluserdeptRepository)
  15. {
  16. _acluserdeptRepository = acluserdeptRepository;
  17. }
  18. /// <summary>
  19. /// 获取列表数据
  20. /// <summary>
  21. /// <returns></returns>
  22. public IList<AclUserdeptDto> GetList(string keyword)
  23. {
  24. var predicate = Expressionable.Create<AclUserdept>();
  25. predicate = predicate.And(m => m.IsStop == 0);
  26. predicate = predicate.AndIF(!string.IsNullOrEmpty(keyword), m => m.Code.Contains(keyword) || m.Name.Contains(keyword));
  27. var list = _acluserdeptRepository.Queryable().Where(predicate.ToExpression()).ToList();
  28. return list.Adapt<List<AclUserdeptDto>>();
  29. }
  30. public Dictionary<string, AclUserdeptDto> GetMap()
  31. {
  32. try
  33. {
  34. Dictionary<string, AclUserdeptDto> dics = new Dictionary<string, AclUserdeptDto>();
  35. _acluserdeptRepository.Queryable().Where(o=>o.IsStop==0).ToList().ForEach(it => dics.Add(it.Id.ToString(), it.Adapt <AclUserdeptDto>()));
  36. return dics;
  37. }
  38. catch (Exception ex)
  39. {
  40. throw ex;
  41. }
  42. }
  43. public PagedInfo<AclUserdeptDto> GetPageList(Pagination pagination, AclUserdeptListQueryDto billDocsinfoQueryDto)
  44. {
  45. var predicate = Expressionable.Create<AclUserdept>();
  46. predicate = predicate.AndIF(billDocsinfoQueryDto != null && !string.IsNullOrEmpty(billDocsinfoQueryDto?.KeyWord), m => m.Code.Contains(billDocsinfoQueryDto.KeyWord) || m.Name.Contains(billDocsinfoQueryDto.KeyWord));
  47. var list = _acluserdeptRepository.Queryable().Where(predicate.ToExpression())
  48. .ToPage<AclUserdept, AclUserdeptDto>(pagination);
  49. return list;
  50. }
  51. /// <summary>
  52. /// 获取实体数据
  53. /// <param name="keyValue">主键</param>
  54. /// <summary>
  55. /// <returns></returns>
  56. public AclUserdept GetEntityByCode(string keyValue)
  57. {
  58. try
  59. {
  60. return _acluserdeptRepository.Queryable().Where(it => it.Code == keyValue).First();
  61. }
  62. catch (Exception ex)
  63. {
  64. throw ex;
  65. }
  66. }
  67. public AclUserdept GetEntityById(long Id)
  68. {
  69. try
  70. {
  71. return _acluserdeptRepository.Queryable().Where(it => it.Id == Id).First();
  72. }
  73. catch (Exception ex)
  74. {
  75. throw ex;
  76. }
  77. }
  78. public void Save(LoginUserInfo loginUser, string keyValue, AclUserdept entity)
  79. {
  80. try
  81. {
  82. if (string.IsNullOrWhiteSpace(entity.Code))
  83. {
  84. throw new ArgumentException("部门编号不能为空");
  85. }
  86. if (keyValue.IsEmpty() || keyValue == "undefined")
  87. {
  88. var mat = _acluserdeptRepository.GetSingle(p => p.Code == entity.Code);
  89. if (mat != null)
  90. {
  91. throw new ArgumentException("部门编码已存在");
  92. }
  93. entity.Id = IdFactory.NewId();
  94. entity.AddTime = DateTime.Now;
  95. entity.AddWho = loginUser.UserNo;
  96. entity.EditTime = DateTime.Now;
  97. entity.EditWho = loginUser.UserNo;
  98. _acluserdeptRepository.Insert(entity);
  99. }
  100. else
  101. {
  102. entity.Id = Convert.ToInt64(keyValue);
  103. entity.EditTime = DateTime.Now;
  104. entity.EditWho = loginUser.UserNo;
  105. _acluserdeptRepository.UpdateEntity(entity);
  106. }
  107. }
  108. catch (Exception ex)
  109. {
  110. throw ex;
  111. }
  112. }
  113. public void Delete(string Id)
  114. {
  115. try
  116. {
  117. if (string.IsNullOrWhiteSpace(Id) || long.TryParse(Id, out var result))
  118. {
  119. throw new ArgumentException("用户组Id错误");
  120. }
  121. var entity = GetEntityById(result);
  122. if (entity != null)
  123. {
  124. _acluserdeptRepository.Delete(entity);
  125. //_acluserdeptRepository.Deleteable().Where(it => it.Id == result).ExecuteCommand();
  126. }
  127. }
  128. catch (Exception ex)
  129. {
  130. throw ex;
  131. }
  132. }
  133. }
  134. }