You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

159 lines
5.4 KiB

3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
  1. using AutoMapper.Internal.Mappers;
  2. using Microsoft.AspNetCore.Authorization;
  3. using Microsoft.AspNetCore.Mvc;
  4. using Shentun.Peis.DiagnosisLevels;
  5. using Shentun.Peis.HelperDto;
  6. using Shentun.Peis.Models;
  7. using SqlSugar;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using Volo.Abp;
  14. using Volo.Abp.Application.Dtos;
  15. using Volo.Abp.Application.Services;
  16. using Volo.Abp.Domain.Repositories;
  17. using Volo.Abp.Identity;
  18. namespace Shentun.Peis.DiagnosisLevels
  19. {
  20. /// <summary>
  21. /// 诊断级别
  22. /// </summary>
  23. [ApiExplorerSettings(GroupName = "Work")]
  24. [Authorize]
  25. public class DiagnosisLevelAppService : CrudAppService<
  26. DiagnosisLevel, //The Book entity
  27. DiagnosisLevelDto, //Used to show books
  28. short, //Primary key of the book entity
  29. PagedAndSortedResultRequestDto, //Used for paging/sorting
  30. CreateDiagnosisLevelDto,
  31. UpdateDiagnosisLevelDto>
  32. {
  33. private readonly IRepository<IdentityUser, Guid> _userRepository;
  34. private readonly DiagnosisLevelManager _manager;
  35. private readonly CacheService _cacheService;
  36. public DiagnosisLevelAppService(
  37. IRepository<DiagnosisLevel, short> repository,
  38. IRepository<IdentityUser, Guid> userRepository,
  39. DiagnosisLevelManager manager,
  40. CacheService cacheService)
  41. : base(repository)
  42. {
  43. _userRepository = userRepository;
  44. _manager = manager;
  45. _cacheService = cacheService;
  46. }
  47. /// <summary>
  48. /// 获取通过主键
  49. /// </summary>
  50. /// <param name="id"></param>
  51. /// <returns></returns>
  52. public override async Task<DiagnosisLevelDto> GetAsync(short id)
  53. {
  54. return await base.GetAsync(id);
  55. }
  56. /// <summary>
  57. /// 获取列表 诊断级别
  58. /// </summary>
  59. /// <param name="input"></param>
  60. /// <returns></returns>
  61. [RemoteService(false)]
  62. public override async Task<PagedResultDto<DiagnosisLevelDto>> GetListAsync(PagedAndSortedResultRequestDto input)
  63. {
  64. return await base.GetListAsync(input);
  65. }
  66. /// <summary>
  67. /// 获取列表 诊断级别 带搜索
  68. /// </summary>
  69. /// <param name="input"></param>
  70. /// <returns></returns>
  71. public async Task<List<DiagnosisLevelDto>> GetListInFilterAsync(GetListInFilterDto input)
  72. {
  73. var entlist = await Repository.GetQueryableAsync();
  74. if (!string.IsNullOrEmpty(input.Filter))
  75. entlist = entlist.Where(m => m.DisplayName.Contains(input.Filter));
  76. var entdto = entlist.Select(s => new DiagnosisLevelDto
  77. {
  78. CreationTime = s.CreationTime,
  79. CreatorId = s.CreatorId,
  80. DisplayName = s.DisplayName,
  81. DisplayOrder = s.DisplayOrder,
  82. Id = s.Id,
  83. LastModificationTime = s.LastModificationTime,
  84. LastModifierId = s.LastModifierId,
  85. CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
  86. LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result
  87. }).OrderBy(o => o.DisplayOrder).ToList();
  88. return entdto;
  89. }
  90. /// <summary>
  91. /// 创建
  92. /// </summary>
  93. /// <param name="input"></param>
  94. /// <returns></returns>
  95. [RemoteService(false)]
  96. public override async Task<DiagnosisLevelDto> CreateAsync(CreateDiagnosisLevelDto input)
  97. {
  98. return await base.CreateAsync(input);
  99. }
  100. /// <summary>
  101. /// 更新
  102. /// </summary>
  103. /// <param name="id"></param>
  104. /// <param name="input"></param>
  105. /// <returns></returns>
  106. public override async Task<DiagnosisLevelDto> UpdateAsync(short id, UpdateDiagnosisLevelDto input)
  107. {
  108. var entity = await Repository.GetAsync(id);
  109. var sourceEntity = ObjectMapper.Map<UpdateDiagnosisLevelDto, DiagnosisLevel>(input);
  110. await _manager.UpdateAsync(sourceEntity, entity);
  111. entity = await Repository.UpdateAsync(entity);
  112. return ObjectMapper.Map<DiagnosisLevel, DiagnosisLevelDto>(entity);
  113. }
  114. /// <summary>
  115. /// 删除
  116. /// </summary>
  117. /// <param name="id"></param>
  118. /// <returns></returns>
  119. public override Task DeleteAsync(short id)
  120. {
  121. return base.DeleteAsync(id);
  122. }
  123. /// <summary>
  124. /// 修改排序 置顶,置底
  125. /// </summary>
  126. /// <param name="id">需要修改的ID</param>
  127. /// <param name="SortType">修改方式:1 置顶 2 置底</param>
  128. /// <returns></returns>
  129. [HttpPut("api/app/diagnosislevel/updatemanysort")]
  130. public async Task UpdateManySortAsync(short id, int SortType)
  131. {
  132. await _manager.UpdateManySortAsync(id, SortType);
  133. }
  134. /// <summary>
  135. /// 修改排序 拖拽
  136. /// </summary>
  137. /// <param name="input"></param>
  138. /// <returns></returns>
  139. [HttpPut("api/app/diagnosislevel/updatesortmany")]
  140. public async Task UpdateSortManyAsync(UpdateSortManyShortDto input)
  141. {
  142. await _manager.UpdateSortManyAsync(input);
  143. }
  144. }
  145. }