LGSLargeScreenService.cs 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. using AutoMapper;
  2. using Ropin.Inspection.Common.Accessor.Interface;
  3. using Ropin.Inspection.Model;
  4. using Ropin.Inspection.Model.Entities;
  5. using Ropin.Inspection.Model.SearchModel.LGS;
  6. using Ropin.Inspection.Model.ViewModel;
  7. using Ropin.Inspection.Model.ViewModel.LGS;
  8. using Ropin.Inspection.Repository.LGS.Interface;
  9. using Ropin.Inspection.Service.LGS.Interface;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Threading.Tasks;
  15. namespace Ropin.Inspection.Service.LGS
  16. {
  17. public class LGSLargeScreenService : ILGSLargeScreenService
  18. {
  19. private readonly ILGSLargeScreenRepository _repository;
  20. private readonly IMapper _mapper;
  21. private readonly IClaimsAccessor _claims;
  22. private readonly InspectionDbContext _sqlDBContext;
  23. public LGSLargeScreenService(IClaimsAccessor claims, InspectionDbContext sqlDBContext, ILGSLargeScreenRepository repository, IMapper mapper)
  24. {
  25. _repository = repository;
  26. _mapper = mapper;
  27. _claims = claims;
  28. _sqlDBContext = sqlDBContext;
  29. }
  30. public async Task<IEnumerable<LargeScreenViewModel>> GetConditionAsync(LargeScreenSearch searchModel)
  31. {
  32. var list = await _repository.GetConditionAsync(searchModel);
  33. return list;
  34. }
  35. public async Task CreateOneAsync(LargeScreenViewModel viewModel)
  36. {
  37. var content = _mapper.Map<TLGS_LargeScreen>(viewModel);
  38. content.C_ID = Guid.NewGuid().ToString();
  39. content.C_CreateBy = _claims.ApiUserId.ToString();
  40. content.C_Creator = _claims.ApiUserName;
  41. content.D_CreateOn = DateTime.Now;
  42. content.C_Status = "1";
  43. _repository.Create(content);
  44. var result = await _repository.SaveAsync();
  45. if (!result)
  46. {
  47. throw new Exception("创建失败");
  48. }
  49. }
  50. public async Task DeleteAsync(string id)
  51. {
  52. var content = await _repository.GetByIdAsync(id);
  53. if (content == null)
  54. {
  55. throw new Exception("数据库中没有此数据");
  56. }
  57. content.C_LastUpdatedBy = _claims.ApiUserId.ToString();
  58. content.D_LastUpdatedOn = DateTime.Now;
  59. content.C_Modifier = _claims.ApiUserName;
  60. content.C_Status = "0";
  61. _repository.Update(content);
  62. var result = await _repository.SaveAsync();
  63. if (!result)
  64. {
  65. throw new Exception("删除失败");
  66. }
  67. }
  68. public async Task<LargeScreenViewModel> GetByIdAsync(string id)
  69. {
  70. LargeScreenSearch searchModel = new LargeScreenSearch();
  71. searchModel.IsPagination = false;
  72. searchModel.C_ID = id;
  73. var list = await _repository.GetConditionAsync(searchModel);
  74. return list?.FirstOrDefault();
  75. }
  76. public async Task UpdateAsync(LargeScreenViewModel viewModel, string Id)
  77. {
  78. var content = await _repository.GetByIdAsync(Id);
  79. if (content == null)
  80. {
  81. throw new Exception("没有此数据");
  82. }
  83. _mapper.Map(viewModel, content, typeof(LargeScreenViewModel), typeof(TLGS_LargeScreen));
  84. content.C_LastUpdatedBy = _claims.Linsence == null ? _claims.ApiUserId.ToString() : "6e864cbc-5252-11ec-8681-fa163e02b3e4";
  85. content.D_LastUpdatedOn = DateTime.Now;
  86. content.C_Modifier = _claims.ApiUserName;
  87. _repository.Update(content);
  88. var result = await _repository.SaveAsync();
  89. if (!result)
  90. {
  91. throw new Exception("更新失败");
  92. }
  93. }
  94. public async Task<bool> UpdateImageAsync(string FilePath, string Id)
  95. {
  96. var content = await _repository.GetByIdAsync(Id);
  97. if (content == null)
  98. {
  99. throw new Exception("没有此数据");
  100. }
  101. content.C_ImageURL = FilePath;
  102. content.D_LastUpdatedOn = DateTime.Now;
  103. content.C_Modifier = _claims.ApiUserName;
  104. _repository.Update(content);
  105. var result = await _repository.SaveAsync();
  106. if (!result)
  107. {
  108. throw new Exception("更新失败");
  109. }
  110. return result;
  111. }
  112. #region 大屏数据接口
  113. /// <summary>
  114. /// 设备维修、维保、点检 30天统计
  115. /// </summary>
  116. /// <param name="DevStoreCode"></param>
  117. /// <returns></returns>
  118. public async Task<IEnumerable<DevOpsRepairISPDaysStatistics>> DevOpsRepairISP30DaysStatistics(string DevStoreCode)
  119. {
  120. return await _repository.DevOpsRepairISP30DaysStatistics(DevStoreCode);
  121. }
  122. /// <summary>
  123. /// 设备维修、维保、点检 7天统计
  124. /// </summary>
  125. /// <param name="DevStoreCode"></param>
  126. /// <returns></returns>
  127. public async Task<IEnumerable<DevOpsRepairISPDaysStatistics>> DevOpsRepairISP7DaysStatistics(string DevStoreCode)
  128. {
  129. return await _repository.DevOpsRepairISP7DaysStatistics(DevStoreCode);
  130. }
  131. /// <summary>
  132. /// 设备维保-天状态统计
  133. /// </summary>
  134. /// <param name="DevStoreCode"></param>
  135. /// <param name="days"></param>
  136. /// <returns></returns>
  137. public async Task<IEnumerable<DaysStatusStatistics>> DevOpsDaysStatistics(string DevStoreCode, int days)
  138. {
  139. return await _repository.DevOpsDaysStatistics(DevStoreCode,days);
  140. }
  141. /// <summary>
  142. /// 设备维修-天状态统计
  143. /// </summary>
  144. /// <returns></returns>
  145. public async Task<IEnumerable<DaysStatusStatistics>> RepairOrderDaysStatistics(string DevStoreCode, int days)
  146. {
  147. return await _repository.RepairOrderDaysStatistics(DevStoreCode, days);
  148. }
  149. /// <summary>
  150. /// 设备点检-天状态统计
  151. /// </summary>
  152. /// <returns></returns>
  153. public async Task<IEnumerable<DaysStatusStatistics>> ISPDaysStatistics(string DevStoreCode, int days)
  154. {
  155. return await _repository.ISPDaysStatistics(DevStoreCode, days);
  156. }
  157. /// <summary>
  158. /// 维保饼图状态统计
  159. /// </summary>
  160. /// <returns></returns>
  161. public async Task<RepairStatistics> GeDevOpsStatisticsMonthPieAsync(string DevStoreCode, int months)
  162. {
  163. return await _repository.GeDevOpsStatisticsMonthPieAsync(DevStoreCode, months);
  164. }
  165. /// <summary>
  166. /// 维修饼图状态统计
  167. /// </summary>
  168. /// <returns></returns>
  169. public async Task<RepairStatistics> GeRepairOrderStatisticsMonthPieAsync(string DevStoreCode, int months)
  170. {
  171. return await _repository.GeRepairOrderStatisticsMonthPieAsync(DevStoreCode, months);
  172. }
  173. #endregion
  174. public Task<bool> IsExistAsync(string id)
  175. {
  176. throw new NotImplementedException();
  177. }
  178. public Task<int> UpdateOneAsync(LargeScreenViewModel viewModel, params string[] fields)
  179. {
  180. throw new NotImplementedException();
  181. }
  182. }
  183. }