SysConService.cs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using WMS.BZModels.Dto.CP.TaskDtos;
  8. using WMS.BZModels;
  9. using WMS.Info;
  10. using wms.sqlsugar.model.cp;
  11. using WMS.BZSqlSugar;
  12. using WMS.BZModels.Dto.CP.SysConDtos;
  13. namespace WMS.BZServices.CP
  14. {
  15. public class SysConService
  16. {
  17. private readonly Repository<SysConfig> _sysconrepository;
  18. public SysConService(Repository<SysConfig> sysconrepository)
  19. {
  20. _sysconrepository = sysconrepository;
  21. }
  22. public PagedInfo<SysConDto> GetPageList(Pagination pagination, SysConQueryDto sysconQueryDto)
  23. {
  24. var predicate = Expressionable.Create<SysConfig>();
  25. predicate = predicate.AndIF(!string.IsNullOrEmpty(sysconQueryDto?.KeyWord), m => m.Code.Contains(sysconQueryDto.KeyWord) || m.Name.Contains(sysconQueryDto.KeyWord) || m.SContent.Contains(sysconQueryDto.KeyWord)
  26. || m.SType.Contains(sysconQueryDto.KeyWord));
  27. predicate = predicate.AndIF(!string.IsNullOrEmpty(sysconQueryDto?.Code), m => m.Code.Contains(sysconQueryDto.Code));
  28. predicate = predicate.AndIF(!string.IsNullOrEmpty(sysconQueryDto?.Name), m => m.Name.Contains(sysconQueryDto.Name));
  29. predicate = predicate.And(m => m.SType != "PalletizingType");
  30. //predicate = predicate.And(m => m.Default2 != "TunnelType");
  31. var list = _sysconrepository.Queryable().Where(predicate.ToExpression())
  32. .ToPage<SysConfig, SysConDto>(pagination);
  33. return list;
  34. }
  35. public PagedInfo<TunnelDto> GetTunnelList(Pagination pagination, TunnelQueryDto tunnelQueryDto)
  36. {
  37. var predicate = Expressionable.Create<SysConfig>();
  38. predicate = predicate.AndIF(!string.IsNullOrEmpty(tunnelQueryDto?.KeyWord), m => m.Default1.Contains(tunnelQueryDto.KeyWord) || m.Default1.Contains(tunnelQueryDto.KeyWord));
  39. predicate = predicate.AndIF(!string.IsNullOrEmpty(tunnelQueryDto?.Tunnel), m => m.Default1.Contains(tunnelQueryDto.Tunnel));
  40. predicate = predicate.And(m => m.Default2 == "TunnelType");
  41. var list = _sysconrepository.Queryable().Where(predicate.ToExpression())
  42. .Select(m => new TunnelDto()
  43. {
  44. Id = m.Id.ToString(),
  45. WareHouseName = "成品库",
  46. Code = m.Code,
  47. Name = m.Name,
  48. Tunnel = m.Default1,
  49. Statu = string.IsNullOrEmpty(m.SContent) ? "0" : "1",
  50. StatuName = string.IsNullOrEmpty(m.SContent) ? "启用" : "禁用",
  51. SType = m.SType,
  52. Memo = m.Memo,
  53. AddTime = m.AddTime,
  54. EditTime = m.EditTime,
  55. }).MergeTable()
  56. .ToPage(pagination);
  57. return list;
  58. }
  59. public PagedInfo<OutInPationDto> GetOutInPationList(Pagination pagination, OutInPationQueryDto pationQueryDto)
  60. {
  61. var predicate = Expressionable.Create<SysConfig>();
  62. predicate = predicate.AndIF(!string.IsNullOrEmpty(pationQueryDto?.KeyWord), m => m.Code.Contains(pationQueryDto.KeyWord) || m.Default2.Contains(pationQueryDto.KeyWord)
  63. || m.Name.Contains(pationQueryDto.KeyWord));
  64. predicate = predicate.AndIF(!string.IsNullOrEmpty(pationQueryDto?.Pation), m => m.Code.Contains(pationQueryDto.Pation));
  65. predicate = predicate.And(m => m.Default2 == "PationType");
  66. var list = _sysconrepository.Queryable().Where(predicate.ToExpression())
  67. .Select(m => new OutInPationDto()
  68. {
  69. Id = m.Id.ToString(),
  70. WareHouseName = "成品库",
  71. Code = m.Code,
  72. Name = m.Name,
  73. Statu = string.IsNullOrEmpty(m.SContent) ? "0" : "1",
  74. StatuName = string.IsNullOrEmpty(m.SContent) ? "启用" : "禁用",
  75. SType = m.SType,
  76. Memo = m.Memo,
  77. AddTime = m.AddTime,
  78. EditTime = m.EditTime,
  79. }).MergeTable()
  80. .ToPage(pagination);
  81. return list;
  82. }
  83. public bool UpdatePationState(List<string> tunnels, string Scontent, string userId)
  84. {
  85. if (!tunnels.Any())
  86. {
  87. throw new ArgumentException("没有选择站台!");
  88. }
  89. var list = _sysconrepository.Queryable().Where(o => tunnels.Contains(o.Id.ToString())).ToList();
  90. if (!list.Any())
  91. {
  92. throw new ArgumentException("没有找到该站台!");
  93. }
  94. list.ForEach(o =>
  95. {
  96. o.SContent = Scontent;
  97. o.EditWho = userId;
  98. o.EditTime = DateTime.Now;
  99. });
  100. var result = _sysconrepository.UpdateRange(list.ToArray());
  101. return result;
  102. }
  103. public bool UpdateTunnelState(List<string> tunnels, string Scontent, string userId, string remark)
  104. {
  105. if (!tunnels.Any())
  106. {
  107. throw new ArgumentException("没有选择巷道!");
  108. }
  109. var list = _sysconrepository.Queryable().Where(o => tunnels.Contains(o.Id.ToString())).ToList();
  110. if (!list.Any())
  111. {
  112. throw new ArgumentException("没有找到该巷道!");
  113. }
  114. list.ForEach(o =>
  115. {
  116. o.SContent = Scontent;
  117. o.EditWho = userId;
  118. o.EditTime = DateTime.Now;
  119. o.Memo = remark;
  120. });
  121. var result = _sysconrepository.UpdateRange(list.ToArray());
  122. return result;
  123. }
  124. public void Save(LoginUserInfo loginUser, string keyValue, SysConfig entity)
  125. {
  126. try
  127. {
  128. if (string.IsNullOrWhiteSpace(entity.Code))
  129. {
  130. throw new ArgumentException("配置编码不能为空");
  131. }
  132. if (keyValue.IsEmpty() || keyValue == "undefined")
  133. {
  134. var mat = _sysconrepository.GetSingle(p => p.Code == entity.Code);
  135. if (mat != null)
  136. {
  137. throw new ArgumentException("编码已存在");
  138. }
  139. SysConfig item = new SysConfig()
  140. {
  141. AddWho = loginUser.UserNo,
  142. Code = entity.Code,
  143. EditWho = loginUser.UserNo,
  144. Name = entity.Name,
  145. SContent = entity.SContent,
  146. SType = entity.SType,
  147. Default1 = entity.Default1,
  148. Default2 = entity.Default2,
  149. Default3 = entity.Default3,
  150. Memo = entity.Memo
  151. };
  152. _sysconrepository.Insert(item);
  153. }
  154. else
  155. {
  156. entity.EditTime = DateTime.Now;
  157. entity.EditWho = loginUser.UserNo;
  158. _sysconrepository.AsUpdateable(entity).IgnoreColumns(it => it.AddTime).IgnoreColumns(it => it.AddWho).Where(it => it.Code == keyValue).ExecuteCommand();
  159. }
  160. }
  161. catch (Exception ex)
  162. {
  163. throw ex;
  164. }
  165. }
  166. public void Delete(string ModuleNo)
  167. {
  168. try
  169. {
  170. _sysconrepository.Deleteable().Where(it => it.Code == ModuleNo).ExecuteCommand();
  171. }
  172. catch (Exception ex)
  173. {
  174. throw ex;
  175. }
  176. }
  177. }
  178. }