TaicAIBoxTemplateService.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. using AutoMapper;
  2. using LinqKit;
  3. using Ropin.Inspection.Common.Accessor.Interface;
  4. using Ropin.Inspection.Model;
  5. using Ropin.Inspection.Model.Entities;
  6. using Ropin.Inspection.Model.ViewModel;
  7. using Ropin.Inspection.Repository.TAIC;
  8. using Ropin.Inspection.Repository.TAIC.Interface;
  9. using Ropin.Inspection.Service.TAIC.Interface;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Diagnostics.SymbolStore;
  13. using System.Threading.Tasks;
  14. namespace Ropin.Inspection.Service.TAIC
  15. {
  16. public class TaicAIBoxTemplateService : ITaicAIBoxTemplateService
  17. {
  18. private readonly ITaicAIBoxTemplateRepository _taicAIBoxTemplateRepository;
  19. private readonly ITaicAIBoxRepository _taicAIBoxRepository;
  20. private readonly IMapper _mapper;
  21. private readonly IClaimsAccessor _claims;
  22. public TaicAIBoxTemplateService(ITaicAIBoxTemplateRepository taicAIBoxTemplateRepository,IMapper mapper , IClaimsAccessor claims, ITaicAIBoxRepository taicAIBoxRepository)
  23. {
  24. _taicAIBoxTemplateRepository = taicAIBoxTemplateRepository;
  25. _mapper = mapper;
  26. _claims = claims;
  27. _taicAIBoxRepository = taicAIBoxRepository;
  28. }
  29. #region 盒子模板维护
  30. public async Task<List<TaicTemplateModel>> GetTemplatePage(TaicTemplateSearchModel searchModel)
  31. {
  32. var predicate = PredicateBuilder.New<TaicAiboxTemplate>(true);//查询条件,推荐后台使用这种方式灵活筛选
  33. #region 添加条件查询
  34. if (!string.IsNullOrEmpty(searchModel.Name))
  35. {
  36. predicate = predicate.And(i => i.CName.Contains(searchModel.Name));
  37. }
  38. #endregion
  39. var pageData = await _taicAIBoxTemplateRepository.GetPageAsync(predicate, "I_Sort", true, searchModel.PageIndex, searchModel.PageSize);
  40. searchModel.TotalCount = pageData.Totals;
  41. var result = _mapper.Map<List<TaicAiboxTemplate>, List<TaicTemplateModel>>(pageData.Rows);
  42. return result;
  43. }
  44. public async Task<TaicTemplateModel> GetTemplate(string id )
  45. {
  46. var template = await _taicAIBoxTemplateRepository.GetByIdAsync(id);
  47. var result = _mapper.Map<TaicTemplateModel>(template);
  48. return result;
  49. }
  50. public async Task<bool> CreateOneAsync(TaicTemplateModel viewModel)
  51. {
  52. var aiboxTemplate = _mapper.Map<TaicAiboxTemplate>(viewModel);
  53. aiboxTemplate.CId = Guid.NewGuid().ToString();
  54. aiboxTemplate.CCreateBy = _claims.ApiUserId.ToString();
  55. _taicAIBoxTemplateRepository.Create(aiboxTemplate);
  56. var result = await _taicAIBoxTemplateRepository.SaveAsync();
  57. if (!result)
  58. {
  59. throw new Exception("创建失败");
  60. }
  61. return result;
  62. }
  63. public Task<int> UpdateOneAsync(TaicTemplateModel viewModel, params string[] fields)
  64. {
  65. throw new NotImplementedException();
  66. }
  67. public Task<TaicTemplateModel> GetByIdAsync(string id)
  68. {
  69. throw new NotImplementedException();
  70. }
  71. public Task<bool> IsExistAsync(string id)
  72. {
  73. throw new NotImplementedException();
  74. }
  75. public async Task<bool> DeleteAsync(string id)
  76. {
  77. var aiboxTemplate = await _taicAIBoxTemplateRepository.GetByIdAsync(id);
  78. if (aiboxTemplate == null)
  79. {
  80. throw new Exception("数据库中没有此数据");
  81. }
  82. aiboxTemplate.CStatus = 0;
  83. aiboxTemplate.DLastUpdatedOn = DateTime.Now;
  84. aiboxTemplate.CLastUpdatedBy = _claims.ApiUserId.ToString();
  85. _taicAIBoxTemplateRepository.Update(aiboxTemplate);
  86. var result = await _taicAIBoxTemplateRepository.SaveAsync();
  87. if (!result)
  88. {
  89. throw new Exception("删除失败");
  90. }
  91. return result;
  92. }
  93. public async Task<bool> UpdateTemplate(string id, TaicTemplateModel templateModel)
  94. {
  95. var aiboxTemplate = await _taicAIBoxTemplateRepository.GetByIdAsync(id);
  96. if (aiboxTemplate == null)
  97. {
  98. throw new Exception("数据库中没有此数据");
  99. }
  100. _mapper.Map(templateModel, aiboxTemplate, typeof(TaicTemplateModel), typeof(TaicAiboxTemplate));
  101. _taicAIBoxTemplateRepository.Update(aiboxTemplate);
  102. var result = await _taicAIBoxTemplateRepository.SaveAsync();
  103. if (!result)
  104. {
  105. throw new Exception("更新失败");
  106. }
  107. return result;
  108. }
  109. #endregion
  110. #region ai盒子维护
  111. public async Task<List<AiBoxModel>> GetAiBoxPage(AiBoxSearchModel searchModel)
  112. {
  113. var predicate = PredicateBuilder.New<TaicAibox>(true);//查询条件,推荐后台使用这种方式灵活筛选
  114. #region 添加条件查询
  115. if (!string.IsNullOrEmpty(searchModel.Name))
  116. {
  117. predicate = predicate.And(i => i.CName.Contains(searchModel.Name));
  118. }
  119. #endregion
  120. var pageData = await _taicAIBoxRepository.GetPageAsync(predicate, "I_Sort", true, searchModel.PageIndex, searchModel.PageSize);
  121. searchModel.TotalCount = pageData.Totals;
  122. var result = _mapper.Map<List<TaicAibox>, List<AiBoxModel>>(pageData.Rows);
  123. return result;
  124. }
  125. public async Task<AiBoxModel> GetAiBox(string id)
  126. {
  127. var aibox =await _taicAIBoxRepository.GetByIdAsync(id);
  128. var result = _mapper.Map<AiBoxModel>(aibox);
  129. return result;
  130. }
  131. public async Task<bool> AddAiBox(AiBoxModel aiBoxModel)
  132. {
  133. var taicAibox = _mapper.Map<TaicAibox>(aiBoxModel);
  134. taicAibox.CId = Guid.NewGuid().ToString();
  135. taicAibox.CCreateBy = _claims.ApiUserId.ToString();
  136. _taicAIBoxRepository.Create(taicAibox);
  137. var result = await _taicAIBoxRepository.SaveAsync();
  138. if (!result)
  139. {
  140. throw new Exception("创建失败");
  141. }
  142. return result;
  143. }
  144. public async Task<bool> DelAiBox(string id)
  145. {
  146. var taicAibox = await _taicAIBoxRepository.GetByIdAsync(id);
  147. if (taicAibox == null)
  148. {
  149. throw new Exception("数据库中没有此数据");
  150. }
  151. taicAibox.CStatus = 0;
  152. taicAibox.DLastUpdatedOn = DateTime.Now;
  153. taicAibox.CLastUpdatedBy = _claims.ApiUserId.ToString();
  154. _taicAIBoxRepository.Update(taicAibox);
  155. var result = await _taicAIBoxRepository.SaveAsync();
  156. if (!result)
  157. {
  158. throw new Exception("删除失败");
  159. }
  160. return result;
  161. }
  162. public async Task<bool> UpdateAiBox(string id, AiBoxModel aiBoxModel)
  163. {
  164. var taicAibox = await _taicAIBoxRepository.GetByIdAsync(id);
  165. if (taicAibox == null)
  166. {
  167. throw new Exception("数据库中没有此数据");
  168. }
  169. _mapper.Map(aiBoxModel, taicAibox, typeof(AiBoxModel), typeof(TaicAibox));
  170. _taicAIBoxRepository.Update(taicAibox);
  171. var result = await _taicAIBoxRepository.SaveAsync();
  172. if (!result)
  173. {
  174. throw new Exception("更新失败");
  175. }
  176. return result;
  177. }
  178. public async Task<bool> AddDevAIBox(DevAiboxModel devAiboxModel)
  179. {
  180. List<TaicDevAibox> devAiboxes = new ();
  181. devAiboxModel.CCameraCode.ForEach(x =>
  182. {
  183. devAiboxes.Add(new TaicDevAibox
  184. {
  185. CId = Guid.NewGuid().ToString(),
  186. CAiboxCode = devAiboxModel.CAiboxCode,
  187. CCameraCode = x,
  188. CCreateBy = _claims.ApiUserId.ToString(),
  189. CCreator = _claims.ApiUserName,
  190. DCreateOn = DateTime.Now,
  191. });
  192. });
  193. await _taicAIBoxRepository.DbContext.TaicDevAiboxes.AddRangeAsync(devAiboxes);
  194. var row =await _taicAIBoxRepository.SaveAsync();
  195. return row;
  196. }
  197. #endregion
  198. }
  199. }