Browse Source

疾病风险

master
wxd 1 year ago
parent
commit
001390fea1
  1. 16
      src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/CreateDiseaseRiskDto.cs
  2. 23
      src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskDto.cs
  3. 11
      src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskIdInputDto.cs
  4. 20
      src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/UpdateDiseaseRiskDto.cs
  5. 104
      src/Shentun.WebPeis.Application/DiseaseRisks/DiseaseRiskAppService.cs
  6. 6
      src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs
  7. 123
      src/Shentun.WebPeis.Domain/DiseaseRisks/DiseaseRiskManager.cs
  8. 20
      src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortDragDto.cs
  9. 18
      src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortTopOrBottomInputDto.cs

16
src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/CreateDiseaseRiskDto.cs

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.DiseaseRisks
{
public class CreateDiseaseRiskDto
{
/// <summary>
/// 名称
/// </summary>
public string DiseaseRiskName { get; set; } = null!;
}
}

23
src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskDto.cs

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.DiseaseRisks
{
public class DiseaseRiskDto : AuditedEntityDtoName
{
/// <summary>
/// 主键
/// </summary>
public Guid DiseaseRiskId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string DiseaseRiskName { get; set; } = null!;
public string SimpleCode { get; set; } = null!;
public int DisplayOrder { get; set; }
}
}

11
src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskIdInputDto.cs

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

20
src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/UpdateDiseaseRiskDto.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.DiseaseRisks
{
public class UpdateDiseaseRiskDto
{
/// <summary>
/// 主键
/// </summary>
public Guid DiseaseRiskId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string DiseaseRiskName { get; set; } = null!;
}
}

104
src/Shentun.WebPeis.Application/DiseaseRisks/DiseaseRiskAppService.cs

@ -0,0 +1,104 @@
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.DiseaseRisks
{
/// <summary>
/// 疾病风险
/// </summary>
[ApiExplorerSettings(GroupName = "Work")]
[Authorize]
public class DiseaseRiskAppService : ApplicationService
{
private readonly IRepository<DiseaseRisk> _diseaseRiskRepository;
private readonly DiseaseRiskManager _diseaseRiskManager;
private readonly CacheService _cacheService;
public DiseaseRiskAppService(
IRepository<DiseaseRisk> diseaseRiskRepository,
DiseaseRiskManager diseaseRiskManager,
CacheService cacheService)
{
_diseaseRiskRepository = diseaseRiskRepository;
_diseaseRiskManager = diseaseRiskManager;
_cacheService = cacheService;
}
/// <summary>
/// 创建
/// </summary>
/// <returns></returns>
[HttpPost("api/app/DiseaseRisk/Create")]
public async Task<DiseaseRiskDto> CreateAsync(CreateDiseaseRiskDto input)
{
var createEntity = ObjectMapper.Map<CreateDiseaseRiskDto, DiseaseRisk>(input);
createEntity.DiseaseRiskId = GuidGenerator.Create();
var entity = await _diseaseRiskManager.CreateAsync(createEntity);
entity = await _diseaseRiskRepository.InsertAsync(entity);
var dto = ObjectMapper.Map<DiseaseRisk, DiseaseRiskDto>(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/DiseaseRisk/Update")]
public async Task<DiseaseRiskDto> UpdateAsync(UpdateDiseaseRiskDto input)
{
var entity = await _diseaseRiskRepository.GetAsync(f => f.DiseaseRiskId == input.DiseaseRiskId);
var sourceEntity = ObjectMapper.Map<UpdateDiseaseRiskDto, DiseaseRisk>(input);
_diseaseRiskManager.UpdateAsync(sourceEntity, entity);
entity = await _diseaseRiskRepository.UpdateAsync(entity);
var dto = ObjectMapper.Map<DiseaseRisk, DiseaseRiskDto>(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/DiseaseRisk/Delete")]
public async Task DeleteAsync(DiseaseRiskIdInputDto input)
{
await _diseaseRiskManager.CheckAndDeleteAsync(input.DiseaseRiskId);
}
/// <summary>
/// 修改排序 置顶,置底
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/DiseaseRisk/UpdateSortTopOrBottom")]
public async Task UpdateSortTopOrBottomAsync(UpdateDiseaseRiskSortTopOrBottomInputDto input)
{
await _diseaseRiskManager.UpdateSortTopOrBottomAsync(input.DiseaseRiskId, input.SortType);
}
/// <summary>
/// 修改排序 拖拽
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/DiseaseRisk/UpdateSortDragAsync")]
public async Task UpdateSortDragAsync(UpdateDiseaseRiskSortDragDto input)
{
await _diseaseRiskManager.UpdateSortDragAsync(input);
}
}
}

6
src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs

@ -5,6 +5,7 @@ using Shentun.Peis.MaritalStatuss;
using Shentun.WebPeis.AppointPatientRegisters; using Shentun.WebPeis.AppointPatientRegisters;
using Shentun.WebPeis.AppointRegisterAsbitems; using Shentun.WebPeis.AppointRegisterAsbitems;
using Shentun.WebPeis.AppointScheduleTemplates; using Shentun.WebPeis.AppointScheduleTemplates;
using Shentun.WebPeis.DiseaseRisks;
using Shentun.WebPeis.Kinships; using Shentun.WebPeis.Kinships;
using Shentun.WebPeis.MaritalStatuss; using Shentun.WebPeis.MaritalStatuss;
using Shentun.WebPeis.MedicalPackages; using Shentun.WebPeis.MedicalPackages;
@ -99,5 +100,10 @@ public class WebPeisApplicationAutoMapperProfile : Profile
CreateMap<QuestionAnswer, QuestionAnswerDto>(); CreateMap<QuestionAnswer, QuestionAnswerDto>();
CreateMap<CreateQuestionAnswerDto, QuestionAnswer>(); CreateMap<CreateQuestionAnswerDto, QuestionAnswer>();
CreateMap<UpdateQuestionAnswerDto, QuestionAnswer>(); CreateMap<UpdateQuestionAnswerDto, QuestionAnswer>();
CreateMap<DiseaseRisk, DiseaseRiskDto>();
CreateMap<CreateDiseaseRiskDto, DiseaseRisk>();
CreateMap<UpdateDiseaseRiskDto, DiseaseRisk>();
} }
} }

123
src/Shentun.WebPeis.Domain/DiseaseRisks/DiseaseRiskManager.cs

@ -0,0 +1,123 @@
using Shentun.Utilities;
using Shentun.WebPeis.Models;
using Shentun.WebPeis.Questions;
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;
namespace Shentun.WebPeis.DiseaseRisks
{
public class DiseaseRiskManager
{
private readonly IRepository<DiseaseRisk> _diseaseRiskRepository;
public DiseaseRiskManager(
IRepository<DiseaseRisk> diseaseRiskRepository
)
{
_diseaseRiskRepository = diseaseRiskRepository;
}
/// <summary>
/// 创建
/// </summary>
/// <returns></returns>
public async Task<DiseaseRisk> CreateAsync(DiseaseRisk entity)
{
DataHelper.CheckEntityIsNull(entity);
//DataHelper.CheckStringIsNull(entity.QuestionTypeName, "名称");
return new DiseaseRisk
{
DiseaseRiskId = entity.DiseaseRiskId,
DiseaseRiskName = entity.DiseaseRiskName,
SimpleCode = LanguageConverter.GetPYSimpleCode(entity.DiseaseRiskName),
DisplayOrder = await EntityHelper.CreateMaxDisplayOrder<DiseaseRisk>(_diseaseRiskRepository)
};
}
/// <summary>
/// 更新
/// </summary>
/// <param name="sourceEntity"></param>
/// <param name="targetEntity"></param>
/// <returns></returns>
public void UpdateAsync(
DiseaseRisk sourceEntity,
DiseaseRisk targetEntity
)
{
DataHelper.CheckEntityIsNull(sourceEntity);
DataHelper.CheckEntityIsNull(targetEntity);
//DataHelper.CheckStringIsNull(sourceEntity.QuestionTypeName, "名称");
targetEntity.DiseaseRiskName = sourceEntity.DiseaseRiskName;
targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(sourceEntity.DiseaseRiskName);
}
/// <summary>
/// 删除
/// </summary>
/// <param name="DiseaseRiskId"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteAsync(Guid DiseaseRiskId)
{
//var questionEnt = await _questionRepository.FirstOrDefaultAsync(m => m.QuestionTypeId == QuestionTypeId);
//if (questionEnt != null)
//{
// throw new UserFriendlyException($"问卷类别已被使用,不能删除");
//}
await _diseaseRiskRepository.DeleteAsync(d => d.DiseaseRiskId == DiseaseRiskId);
}
/// <summary>
/// 修改排序 置顶,置底
/// </summary>
/// <param name="id">需要修改的ID</param>
/// <param name="SortType">修改方式:1 置顶 2 置底</param>
/// <returns></returns>
public async Task UpdateSortTopOrBottomAsync(Guid DiseaseRiskId, int SortType)
{
var entity = await _diseaseRiskRepository.GetAsync(f => f.DiseaseRiskId == DiseaseRiskId);
await EntityHelper.UpdateSortTopOrBottomAsync(_diseaseRiskRepository, entity, SortType);
}
/// <summary>
/// 修改排序 拖拽
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <param name="repository"></param>
/// <param name="input"></param>
/// <returns></returns>
public async Task UpdateSortDragAsync(UpdateDiseaseRiskSortDragDto input)
{
var entitylist = await _diseaseRiskRepository.GetListAsync(o => input.ItemList.Select(s => s.DiseaseRiskId).Contains(o.DiseaseRiskId));
foreach (var entity in entitylist)
{
foreach (var item in input.ItemList)
{
if (item.DiseaseRiskId == entity.DiseaseRiskId)
entity.DisplayOrder = item.DisplayOrder;
}
}
await _diseaseRiskRepository.UpdateManyAsync(entitylist);
}
}
}

20
src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortDragDto.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shentun.WebPeis.DiseaseRisks
{
public class UpdateDiseaseRiskSortDragDto
{
public List<UpdateDiseaseRiskSortDragDetail> ItemList { get; set; }
}
public class UpdateDiseaseRiskSortDragDetail
{
public Guid DiseaseRiskId { get; set; }
public int DisplayOrder { get; set; }
}
}

18
src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortTopOrBottomInputDto.cs

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