Browse Source

诊断建议、诊断模板、诊断模板明细

bjmzak
wxd 2 years ago
parent
commit
26c3f0468a
  1. 32
      src/Shentun.Peis.Application/DiagnosisTemplateDetails/DiagnosisTemplateDetailAppService.cs
  2. 5
      src/Shentun.Peis.Application/DiagnosisTemplates/DiagnosisTemplateAppService.cs
  3. 30
      src/Shentun.Peis.Application/Suggestions/SuggestionAppService.cs
  4. 50
      src/Shentun.Peis.Domain/DiagnosisTemplateDetails/DiagnosisTemplateDetailManager.cs
  5. 31
      src/Shentun.Peis.Domain/DiagnosisTemplates/DiagnosisTemplateManager.cs
  6. 33
      src/Shentun.Peis.Domain/Suggestions/SuggestionManager.cs

32
src/Shentun.Peis.Application/DiagnosisTemplateDetails/DiagnosisTemplateDetailAppService.cs

@ -31,11 +31,17 @@ namespace Shentun.Peis.DiagnosisTemplateDetails
{ {
private readonly IRepository<DiagnosisTemplateDetail> _repository; private readonly IRepository<DiagnosisTemplateDetail> _repository;
private readonly IRepository<IdentityUser, Guid> _userRepository; private readonly IRepository<IdentityUser, Guid> _userRepository;
private readonly DiagnosisTemplateDetailManager _manager;
public DiagnosisTemplateDetailAppService(IRepository<DiagnosisTemplateDetail> repository, IRepository<IdentityUser, Guid> userRepository)
public DiagnosisTemplateDetailAppService(
IRepository<DiagnosisTemplateDetail> repository,
IRepository<IdentityUser, Guid> userRepository,
DiagnosisTemplateDetailManager manager
)
{ {
this._repository = repository; this._repository = repository;
this._userRepository = userRepository; this._userRepository = userRepository;
this._manager = manager;
} }
@ -49,13 +55,27 @@ namespace Shentun.Peis.DiagnosisTemplateDetails
[HttpPost("api/app/diagnosistemplatedetail/creatediagnosistemplatedetailmany")] [HttpPost("api/app/diagnosistemplatedetail/creatediagnosistemplatedetailmany")]
public async Task CreateDiagnosisTemplateDetailManyAsync(CreateDiagnosisTemplateDetailDto input) public async Task CreateDiagnosisTemplateDetailManyAsync(CreateDiagnosisTemplateDetailDto input)
{ {
await _repository.DeleteAsync(d => d.DiagnosisTemplateId == input.DiagnosisTemplateId);
//按诊断模板ID删除诊断模板包含的诊断明细
await _manager.CheckAndDeleteInDiagnosisTemplateIdAsync(input.DiagnosisTemplateId);
if (input.Details.Any()) if (input.Details.Any())
{ {
var createEntity = ObjectMapper.Map<List<CreateDiagnosisTemplateDetail_Detail>, List<DiagnosisTemplateDetail>>(input.Details);
await _repository.InsertManyAsync(createEntity);
List<DiagnosisTemplateDetail> diagnosisTemplateDetails = new List<DiagnosisTemplateDetail>();
foreach (var details in input.Details)
{
var entity = new DiagnosisTemplateDetail
{
DiagnosisId = details.DiagnosisId,
DiagnosisTemplateId = input.DiagnosisTemplateId
};
diagnosisTemplateDetails.Add(_manager.CreateAsbitemAsync(entity));
}
if (diagnosisTemplateDetails.Count > 0)
{
await _repository.InsertManyAsync(diagnosisTemplateDetails);
}
} }
} }
@ -72,7 +92,7 @@ namespace Shentun.Peis.DiagnosisTemplateDetails
{ {
var entlist =(await _repository.GetDbSetAsync()).Include(c => c.Diagnosis)
var entlist = (await _repository.GetDbSetAsync()).Include(c => c.Diagnosis)
.Where(m => m.DiagnosisTemplateId == input.DiagnosisTemplateId).ToList(); .Where(m => m.DiagnosisTemplateId == input.DiagnosisTemplateId).ToList();
var userList = await _userRepository.GetListAsync(); var userList = await _userRepository.GetListAsync();

5
src/Shentun.Peis.Application/DiagnosisTemplates/DiagnosisTemplateAppService.cs

@ -63,6 +63,7 @@ namespace Shentun.Peis.DiagnosisTemplates
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
[RemoteService(false)]
public override async Task<PagedResultDto<DiagnosisTemplateDto>> GetListAsync(PagedAndSortedResultRequestDto input) public override async Task<PagedResultDto<DiagnosisTemplateDto>> GetListAsync(PagedAndSortedResultRequestDto input)
{ {
return await base.GetListAsync(input); return await base.GetListAsync(input);
@ -135,6 +136,7 @@ namespace Shentun.Peis.DiagnosisTemplates
entity = await Repository.UpdateAsync(entity); entity = await Repository.UpdateAsync(entity);
return ObjectMapper.Map<DiagnosisTemplate, DiagnosisTemplateDto>(entity); return ObjectMapper.Map<DiagnosisTemplate, DiagnosisTemplateDto>(entity);
} }
/// <summary> /// <summary>
/// 删除 /// 删除
/// </summary> /// </summary>
@ -146,9 +148,6 @@ namespace Shentun.Peis.DiagnosisTemplates
} }
/// <summary> /// <summary>
/// 修改排序 置顶,置底 /// 修改排序 置顶,置底
/// </summary> /// </summary>

30
src/Shentun.Peis.Application/Suggestions/SuggestionAppService.cs

@ -7,6 +7,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using TencentCloud.Ame.V20190916.Models;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
@ -20,12 +21,15 @@ namespace Shentun.Peis.Suggestions
public class SuggestionAppService : ApplicationService public class SuggestionAppService : ApplicationService
{ {
private readonly IRepository<Suggestion, Guid> _suggestionRepository; private readonly IRepository<Suggestion, Guid> _suggestionRepository;
private readonly SuggestionManager _manager;
public SuggestionAppService( public SuggestionAppService(
IRepository<Suggestion, Guid> suggestionRepository
IRepository<Suggestion, Guid> suggestionRepository,
SuggestionManager manager
) )
{ {
this._suggestionRepository = suggestionRepository; this._suggestionRepository = suggestionRepository;
this._manager = manager;
} }
/// <summary> /// <summary>
@ -36,29 +40,31 @@ namespace Shentun.Peis.Suggestions
[HttpPost("api/app/suggestion/createsuggestionmany")] [HttpPost("api/app/suggestion/createsuggestionmany")]
public async Task CreateSuggestionManyAsync(CreateSuggestionManyDto input) public async Task CreateSuggestionManyAsync(CreateSuggestionManyDto input)
{ {
await _suggestionRepository.DeleteAsync(d => d.DiagnosisId == input.DiagnosisId);
//先按诊断ID删除所有建议
await _manager.CheckAndDeleteInDiagnosisIdAsync(input.DiagnosisId);
if (input.Details.Any()) if (input.Details.Any())
{ {
List<Suggestion> suggestionList = new List<Suggestion>();
List<Suggestion> suggestions = new List<Suggestion>();
foreach (var item in input.Details) foreach (var item in input.Details)
{ {
var suggestionEntity = new Suggestion
var entity = new Suggestion
{ {
DiagnosisId = item.DiagnosisId,
SuggestionContent = item.SuggestionContent,
DisplayOrder = input.Details.IndexOf(item) + 1
DiagnosisId = input.DiagnosisId,
DisplayOrder = input.Details.IndexOf(item) + 1,
SuggestionContent = item.SuggestionContent
}; };
suggestionList.Add(suggestionEntity);
suggestions.Add(_manager.CreateAsbitemAsync(entity));
}
if (suggestions.Count > 0)
{
await _suggestionRepository.InsertManyAsync(suggestions);
} }
await _suggestionRepository.InsertManyAsync(suggestionList);
} }
} }

50
src/Shentun.Peis.Domain/DiagnosisTemplateDetails/DiagnosisTemplateDetailManager.cs

@ -1,12 +1,58 @@
using System;
using Shentun.Peis.Models;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
namespace Shentun.Peis.DiagnosisTemplateDetails namespace Shentun.Peis.DiagnosisTemplateDetails
{ {
public class DiagnosisTemplateDetailManager
public class DiagnosisTemplateDetailManager : DomainService
{ {
private readonly IRepository<DiagnosisTemplateDetail> _repository;
public DiagnosisTemplateDetailManager(
IRepository<DiagnosisTemplateDetail> repository
)
{
_repository = repository;
}
/// <summary>
/// 创建
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public DiagnosisTemplateDetail CreateAsbitemAsync(DiagnosisTemplateDetail entity)
{
DataHelper.CheckGuidIsDefaultValue(entity.DiagnosisTemplateId, "诊断模板编号");
DataHelper.CheckGuidIsDefaultValue(entity.DiagnosisId, "诊断编号");
return entity;
}
/// <summary>
/// 删除诊断模板包含的明细 按诊断模板ID
/// </summary>
/// <param name="AsbitemId">诊断模板ID</param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteInDiagnosisTemplateIdAsync(Guid DiagnosisTemplateId)
{
var diagnosisTemplateDetailList = await _repository.GetListAsync(m => m.DiagnosisTemplateId == DiagnosisTemplateId);
if (diagnosisTemplateDetailList.Any())
{
//删除诊断模板包含的明细
await _repository.DeleteManyAsync(diagnosisTemplateDetailList);
}
}
} }
} }

31
src/Shentun.Peis.Domain/DiagnosisTemplates/DiagnosisTemplateManager.cs

@ -9,6 +9,7 @@ using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services; using Volo.Abp.Domain.Services;
using Volo.Abp; using Volo.Abp;
using Shentun.Peis.Enums;
namespace Shentun.Peis.DiagnosisTemplates namespace Shentun.Peis.DiagnosisTemplates
{ {
@ -36,13 +37,8 @@ namespace Shentun.Peis.DiagnosisTemplates
DiagnosisTemplate entity DiagnosisTemplate entity
) )
{ {
DataHelper.CheckStringIsNull(entity.DisplayName, "名称");
Verify(entity);
await EntityHelper.CheckSameName<DiagnosisTemplate, Guid>(_repository, entity.DisplayName); await EntityHelper.CheckSameName<DiagnosisTemplate, Guid>(_repository, entity.DisplayName);
//if (entity.DisplayName.Length > 1)
//{
// throw new UserFriendlyException($"DisplayName:'{entity.DisplayName}'字符超出长度");
//}
return new DiagnosisTemplate return new DiagnosisTemplate
{ {
DisplayName = entity.DisplayName, DisplayName = entity.DisplayName,
@ -61,27 +57,30 @@ namespace Shentun.Peis.DiagnosisTemplates
DiagnosisTemplate targetEntity DiagnosisTemplate targetEntity
) )
{ {
DataHelper.CheckStringIsNull(sourceEntity.DisplayName, "名称");
//if (sourceEntity.DisplayName.Length > 1)
//{
// throw new UserFriendlyException($"DisplayName:'{sourceEntity.DisplayName}'字符超出长度");
//}
DataHelper.CheckEntityIsNull(targetEntity);
Verify(sourceEntity);
if (sourceEntity.DisplayName != targetEntity.DisplayName) if (sourceEntity.DisplayName != targetEntity.DisplayName)
{ {
await EntityHelper.CheckSameName<DiagnosisTemplate, Guid>(_repository, sourceEntity.DisplayName, targetEntity); await EntityHelper.CheckSameName<DiagnosisTemplate, Guid>(_repository, sourceEntity.DisplayName, targetEntity);
targetEntity.DisplayName = sourceEntity.DisplayName; targetEntity.DisplayName = sourceEntity.DisplayName;
targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName); targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName);
} }
}
/// <summary>
/// 验证新增、修改字段
/// </summary>
/// <param name="entity"></param>
/// <exception cref="ArgumentException"></exception>
private void Verify(DiagnosisTemplate entity)
{
DataHelper.CheckEntityIsNull(entity);
DataHelper.CheckStringIsNull(entity.DisplayName, "名称");
} }
/// <summary> /// <summary>
/// 修改排序 置顶,置底 /// 修改排序 置顶,置底
/// </summary> /// </summary>

33
src/Shentun.Peis.Domain/Suggestions/SuggestionManager.cs

@ -24,6 +24,39 @@ namespace Shentun.Peis.Suggestions
} }
/// <summary>
/// 创建
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public Suggestion CreateAsbitemAsync(Suggestion entity)
{
DataHelper.CheckGuidIsDefaultValue(entity.DiagnosisId, "诊断ID");
DataHelper.CheckStringIsNull(entity.SuggestionContent, "建议内容");
return entity;
}
/// <summary>
/// 按诊断删除建议
/// </summary>
/// <param name="DiagnosisId">诊断ID</param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteInDiagnosisIdAsync(Guid DiagnosisId)
{
var suggestionList = await _repository.GetListAsync(m => m.DiagnosisId == DiagnosisId);
if (suggestionList.Any())
{
//删除删除建议
await _repository.DeleteManyAsync(suggestionList);
}
}
/// <summary> /// <summary>
///删除 ///删除
/// </summary> /// </summary>

Loading…
Cancel
Save