Browse Source

疾病风险级别

master
wxd 1 year ago
parent
commit
4b68438e21
  1. 33
      src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs
  2. 41
      src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs
  3. 11
      src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs
  4. 39
      src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs
  5. 106
      src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs
  6. 133
      src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs
  7. 21
      src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs
  8. 18
      src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs

33
src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
public class CreateDiseaseRiskLevelDto
{
/// <summary>
/// 风险级别名称
/// </summary>
public string DiseaseRiskLevelName { get; set; }
/// <summary>
/// 风险级别ID
/// </summary>
public Guid DiseaseRiskId { get; set; }
/// <summary>
/// 解释
/// </summary>
public string? Explain { get; set; }
/// <summary>
/// 建议
/// </summary>
public string? Suggestion { get; set; }
/// <summary>
/// 函数
/// </summary>
public string DiagnosisFunction { get; set; }
}
}

41
src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
public class DiseaseRiskLevelDto:AuditedEntityDtoName
{
/// <summary>
/// 风险级别ID
/// </summary>
public Guid DiseaseRiskLevelId { get; set; }
/// <summary>
/// 风险级别名称
/// </summary>
public string DiseaseRiskLevelName { get; set; }
/// <summary>
/// 风险级别ID
/// </summary>
public Guid DiseaseRiskId { get; set; }
/// <summary>
/// 解释
/// </summary>
public string? Explain { get; set; }
/// <summary>
/// 建议
/// </summary>
public string? Suggestion { get; set; }
/// <summary>
/// 函数
/// </summary>
public string DiagnosisFunction { get; set; }
public string SimpleCode { get; set; }
public int DisplayOrder { get; set; }
}
}

11
src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
public class DiseaseRiskLevelIdInputDto
{
public Guid DiseaseRiskLevelId { get; set; }
}
}

39
src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
public class UpdateDiseaseRiskLevelDto
{
/// <summary>
/// 风险级别ID
/// </summary>
public Guid DiseaseRiskLevelId { get; set; }
/// <summary>
/// 风险级别名称
/// </summary>
public string DiseaseRiskLevelName { get; set; }
/// <summary>
/// 风险级别ID
/// </summary>
public Guid DiseaseRiskId { get; set; }
/// <summary>
/// 解释
/// </summary>
public string? Explain { get; set; }
/// <summary>
/// 建议
/// </summary>
public string? Suggestion { get; set; }
/// <summary>
/// 函数
/// </summary>
public string DiagnosisFunction { get; set; }
}
}

106
src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs

@ -0,0 +1,106 @@
using AutoMapper.Internal.Mappers;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shentun.WebPeis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
/// <summary>
/// 疾病风险级别
/// </summary>
[ApiExplorerSettings(GroupName = "Work")]
[Authorize]
public class DiseaseRiskLevelAppService:ApplicationService
{
private readonly IRepository<DiseaseRiskLevel> _diseaseRiskLevelRepository;
private readonly DiseaseRiskLevelManager _diseaseRiskLevelManager;
private readonly CacheService _cacheService;
public DiseaseRiskLevelAppService(
IRepository<DiseaseRiskLevel> diseaseRiskLevelRepository,
DiseaseRiskLevelManager diseaseRiskLevelManager,
CacheService cacheService)
{
_diseaseRiskLevelRepository = diseaseRiskLevelRepository;
_diseaseRiskLevelManager = diseaseRiskLevelManager;
_cacheService = cacheService;
}
/// <summary>
/// 创建
/// </summary>
/// <returns></returns>
[HttpPost("api/app/DiseaseRiskLevel/Create")]
public async Task<DiseaseRiskLevelDto> CreateAsync(CreateDiseaseRiskLevelDto input)
{
var createEntity = ObjectMapper.Map<CreateDiseaseRiskLevelDto, DiseaseRiskLevel>(input);
createEntity.DiseaseRiskId = GuidGenerator.Create();
var entity = await _diseaseRiskLevelManager.CreateAsync(createEntity);
entity = await _diseaseRiskLevelRepository.InsertAsync(entity);
var dto = ObjectMapper.Map<DiseaseRiskLevel, DiseaseRiskLevelDto>(entity);
dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId);
dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId);
return dto;
}
/// <summary>
/// 更新
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/DiseaseRiskLevel/Update")]
public async Task<DiseaseRiskLevelDto> UpdateAsync(UpdateDiseaseRiskLevelDto input)
{
var entity = await _diseaseRiskLevelRepository.GetAsync(f => f.DiseaseRiskLevelId == input.DiseaseRiskLevelId);
var sourceEntity = ObjectMapper.Map<UpdateDiseaseRiskLevelDto, DiseaseRiskLevel>(input);
_diseaseRiskLevelManager.UpdateAsync(sourceEntity, entity);
entity = await _diseaseRiskLevelRepository.UpdateAsync(entity);
var dto = ObjectMapper.Map<DiseaseRiskLevel, DiseaseRiskLevelDto>(entity);
dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId);
dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId);
return dto;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/DiseaseRiskLevel/Delete")]
public async Task DeleteAsync(DiseaseRiskLevelIdInputDto input)
{
await _diseaseRiskLevelManager.CheckAndDeleteAsync(input.DiseaseRiskLevelId);
}
/// <summary>
/// 修改排序 置顶,置底
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/DiseaseRiskLevel/UpdateSortTopOrBottom")]
public async Task UpdateSortTopOrBottomAsync(UpdateDiseaseRiskLevelSortTopOrBottomInputDto input)
{
await _diseaseRiskLevelManager.UpdateSortTopOrBottomAsync(input.DiseaseRiskLevelId, input.SortType);
}
/// <summary>
/// 修改排序 拖拽
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/DiseaseRiskLevel/UpdateSortDragAsync")]
public async Task UpdateSortDragAsync(UpdateDiseaseRiskLevelSortDragDto input)
{
await _diseaseRiskLevelManager.UpdateSortDragAsync(input);
}
}
}

133
src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs

@ -0,0 +1,133 @@
using Shentun.Utilities;
using Shentun.WebPeis.DiseaseRisks;
using Shentun.WebPeis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
public class DiseaseRiskLevelManager : DomainService
{
private readonly IRepository<DiseaseRiskLevel> _diseaseRiskLevelRepository;
public DiseaseRiskLevelManager(
IRepository<DiseaseRiskLevel> diseaseRiskLevelRepository
)
{
_diseaseRiskLevelRepository = diseaseRiskLevelRepository;
}
/// <summary>
/// 创建
/// </summary>
/// <returns></returns>
public async Task<DiseaseRiskLevel> CreateAsync(DiseaseRiskLevel entity)
{
DataHelper.CheckEntityIsNull(entity);
//DataHelper.CheckStringIsNull(entity.QuestionTypeName, "名称");
return new DiseaseRiskLevel
{
DiseaseRiskId = entity.DiseaseRiskId,
DiagnosisFunction = entity.DiagnosisFunction,
DiseaseRiskLevelId = entity.DiseaseRiskLevelId,
DiseaseRiskLevelName = entity.DiseaseRiskLevelName,
Explain = entity.Explain,
Suggestion = entity.Suggestion,
SimpleCode = LanguageConverter.GetPYSimpleCode(entity.DiseaseRiskLevelName),
DisplayOrder = await EntityHelper.CreateMaxDisplayOrder<DiseaseRiskLevel>(_diseaseRiskLevelRepository)
};
}
/// <summary>
/// 更新
/// </summary>
/// <param name="sourceEntity"></param>
/// <param name="targetEntity"></param>
/// <returns></returns>
public void UpdateAsync(
DiseaseRiskLevel sourceEntity,
DiseaseRiskLevel targetEntity
)
{
DataHelper.CheckEntityIsNull(sourceEntity);
DataHelper.CheckEntityIsNull(targetEntity);
//DataHelper.CheckStringIsNull(sourceEntity.QuestionTypeName, "名称");
targetEntity.DiseaseRiskId = sourceEntity.DiseaseRiskId;
targetEntity.DiagnosisFunction = sourceEntity.DiagnosisFunction;
targetEntity.DiseaseRiskLevelId = sourceEntity.DiseaseRiskLevelId;
targetEntity.DiseaseRiskLevelName = sourceEntity.DiseaseRiskLevelName;
targetEntity.Explain = sourceEntity.Explain;
targetEntity.Suggestion = sourceEntity.Suggestion;
targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(sourceEntity.DiseaseRiskLevelName);
}
/// <summary>
/// 删除
/// </summary>
/// <param name="DiseaseRiskLevelId"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteAsync(Guid DiseaseRiskLevelId)
{
//var questionEnt = await _questionRepository.FirstOrDefaultAsync(m => m.QuestionTypeId == QuestionTypeId);
//if (questionEnt != null)
//{
// throw new UserFriendlyException($"问卷类别已被使用,不能删除");
//}
await _diseaseRiskLevelRepository.DeleteAsync(d => d.DiseaseRiskLevelId == DiseaseRiskLevelId);
}
/// <summary>
/// 修改排序 置顶,置底
/// </summary>
/// <param name="id">需要修改的ID</param>
/// <param name="SortType">修改方式:1 置顶 2 置底</param>
/// <returns></returns>
public async Task UpdateSortTopOrBottomAsync(Guid DiseaseRiskLevelId, int SortType)
{
var entity = await _diseaseRiskLevelRepository.GetAsync(f => f.DiseaseRiskLevelId == DiseaseRiskLevelId);
await EntityHelper.UpdateSortTopOrBottomAsync(_diseaseRiskLevelRepository, entity, SortType);
}
/// <summary>
/// 修改排序 拖拽
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <param name="repository"></param>
/// <param name="input"></param>
/// <returns></returns>
public async Task UpdateSortDragAsync(UpdateDiseaseRiskLevelSortDragDto input)
{
var entitylist = await _diseaseRiskLevelRepository.GetListAsync(o => input.ItemList.Select(s => s.DiseaseRiskLevelId).Contains(o.DiseaseRiskLevelId));
foreach (var entity in entitylist)
{
foreach (var item in input.ItemList)
{
if (item.DiseaseRiskLevelId == entity.DiseaseRiskLevelId)
entity.DisplayOrder = item.DisplayOrder;
}
}
await _diseaseRiskLevelRepository.UpdateManyAsync(entitylist);
}
}
}

21
src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
public class UpdateDiseaseRiskLevelSortDragDto
{
public List<UpdateDiseaseRiskLevelSortDragDetail> ItemList { get; set; }
}
public class UpdateDiseaseRiskLevelSortDragDetail
{
public Guid DiseaseRiskLevelId { get; set; }
public int DisplayOrder { get; set; }
}
}

18
src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shentun.WebPeis.DiseaseRiskLevels
{
public class UpdateDiseaseRiskLevelSortTopOrBottomInputDto
{
public Guid DiseaseRiskLevelId { get; set; }
/// <summary>
/// 修改方式:1 置顶 2 置底
/// </summary>
public int SortType { get; set; }
}
}
Loading…
Cancel
Save