diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs new file mode 100644 index 0000000..1f65354 --- /dev/null +++ b/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 + { + /// + /// 风险级别名称 + /// + public string DiseaseRiskLevelName { get; set; } + /// + /// 风险级别ID + /// + public Guid DiseaseRiskId { get; set; } + + + /// + /// 解释 + /// + public string? Explain { get; set; } + /// + /// 建议 + /// + public string? Suggestion { get; set; } + + /// + /// 函数 + /// + public string DiagnosisFunction { get; set; } + } +} diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs new file mode 100644 index 0000000..80ff1b6 --- /dev/null +++ b/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 + { + /// + /// 风险级别ID + /// + public Guid DiseaseRiskLevelId { get; set; } + /// + /// 风险级别名称 + /// + public string DiseaseRiskLevelName { get; set; } + /// + /// 风险级别ID + /// + public Guid DiseaseRiskId { get; set; } + + + /// + /// 解释 + /// + public string? Explain { get; set; } + /// + /// 建议 + /// + public string? Suggestion { get; set; } + + /// + /// 函数 + /// + public string DiagnosisFunction { get; set; } + + public string SimpleCode { get; set; } + + public int DisplayOrder { get; set; } + } +} diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs new file mode 100644 index 0000000..24dc804 --- /dev/null +++ b/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; } + } +} diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs new file mode 100644 index 0000000..684efc6 --- /dev/null +++ b/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 + { + /// + /// 风险级别ID + /// + public Guid DiseaseRiskLevelId { get; set; } + /// + /// 风险级别名称 + /// + public string DiseaseRiskLevelName { get; set; } + /// + /// 风险级别ID + /// + public Guid DiseaseRiskId { get; set; } + + + /// + /// 解释 + /// + public string? Explain { get; set; } + /// + /// 建议 + /// + public string? Suggestion { get; set; } + + /// + /// 函数 + /// + public string DiagnosisFunction { get; set; } + + + } +} diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/CreateDiseaseRiskDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/CreateDiseaseRiskDto.cs new file mode 100644 index 0000000..af4a0b2 --- /dev/null +++ b/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 + { + + /// + /// 名称 + /// + public string DiseaseRiskName { get; set; } = null!; + + } +} diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskDto.cs new file mode 100644 index 0000000..edb24be --- /dev/null +++ b/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 + { + /// + /// 主键 + /// + public Guid DiseaseRiskId { get; set; } + /// + /// 名称 + /// + + public string DiseaseRiskName { get; set; } = null!; + + public string SimpleCode { get; set; } = null!; + + public int DisplayOrder { get; set; } + } +} diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskIdInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskIdInputDto.cs new file mode 100644 index 0000000..ff0b361 --- /dev/null +++ b/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; } + } +} diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/UpdateDiseaseRiskDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/UpdateDiseaseRiskDto.cs new file mode 100644 index 0000000..f0f424e --- /dev/null +++ b/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 + { + /// + /// 主键 + /// + public Guid DiseaseRiskId { get; set; } + /// + /// 名称 + /// + + public string DiseaseRiskName { get; set; } = null!; + + } +} diff --git a/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs b/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs new file mode 100644 index 0000000..4ce6720 --- /dev/null +++ b/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 +{ + /// + /// 疾病风险级别 + /// + [ApiExplorerSettings(GroupName = "Work")] + [Authorize] + public class DiseaseRiskLevelAppService:ApplicationService + { + + private readonly IRepository _diseaseRiskLevelRepository; + private readonly DiseaseRiskLevelManager _diseaseRiskLevelManager; + private readonly CacheService _cacheService; + + public DiseaseRiskLevelAppService( + IRepository diseaseRiskLevelRepository, + DiseaseRiskLevelManager diseaseRiskLevelManager, + CacheService cacheService) + { + _diseaseRiskLevelRepository = diseaseRiskLevelRepository; + _diseaseRiskLevelManager = diseaseRiskLevelManager; + _cacheService = cacheService; + } + + + /// + /// 创建 + /// + /// + [HttpPost("api/app/DiseaseRiskLevel/Create")] + public async Task CreateAsync(CreateDiseaseRiskLevelDto input) + { + var createEntity = ObjectMapper.Map(input); + createEntity.DiseaseRiskId = GuidGenerator.Create(); + var entity = await _diseaseRiskLevelManager.CreateAsync(createEntity); + entity = await _diseaseRiskLevelRepository.InsertAsync(entity); + var dto = ObjectMapper.Map(entity); + dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId); + dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId); + return dto; + } + + /// + /// 更新 + /// + /// + /// + [HttpPost("api/app/DiseaseRiskLevel/Update")] + public async Task UpdateAsync(UpdateDiseaseRiskLevelDto input) + { + var entity = await _diseaseRiskLevelRepository.GetAsync(f => f.DiseaseRiskLevelId == input.DiseaseRiskLevelId); + var sourceEntity = ObjectMapper.Map(input); + _diseaseRiskLevelManager.UpdateAsync(sourceEntity, entity); + entity = await _diseaseRiskLevelRepository.UpdateAsync(entity); + var dto = ObjectMapper.Map(entity); + dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId); + dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId); + return dto; + } + + /// + /// 删除 + /// + /// + /// + [HttpPost("api/app/DiseaseRiskLevel/Delete")] + public async Task DeleteAsync(DiseaseRiskLevelIdInputDto input) + { + await _diseaseRiskLevelManager.CheckAndDeleteAsync(input.DiseaseRiskLevelId); + } + + /// + /// 修改排序 置顶,置底 + /// + /// + /// + [HttpPost("api/app/DiseaseRiskLevel/UpdateSortTopOrBottom")] + public async Task UpdateSortTopOrBottomAsync(UpdateDiseaseRiskLevelSortTopOrBottomInputDto input) + { + await _diseaseRiskLevelManager.UpdateSortTopOrBottomAsync(input.DiseaseRiskLevelId, input.SortType); + } + + /// + /// 修改排序 拖拽 + /// + /// + /// + [HttpPost("api/app/DiseaseRiskLevel/UpdateSortDragAsync")] + public async Task UpdateSortDragAsync(UpdateDiseaseRiskLevelSortDragDto input) + { + await _diseaseRiskLevelManager.UpdateSortDragAsync(input); + } + } +} diff --git a/src/Shentun.WebPeis.Application/DiseaseRisks/DiseaseRiskAppService.cs b/src/Shentun.WebPeis.Application/DiseaseRisks/DiseaseRiskAppService.cs new file mode 100644 index 0000000..485f66f --- /dev/null +++ b/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 +{ + /// + /// 疾病风险 + /// + [ApiExplorerSettings(GroupName = "Work")] + [Authorize] + public class DiseaseRiskAppService : ApplicationService + { + private readonly IRepository _diseaseRiskRepository; + private readonly DiseaseRiskManager _diseaseRiskManager; + private readonly CacheService _cacheService; + + public DiseaseRiskAppService( + IRepository diseaseRiskRepository, + DiseaseRiskManager diseaseRiskManager, + CacheService cacheService) + { + _diseaseRiskRepository = diseaseRiskRepository; + _diseaseRiskManager = diseaseRiskManager; + _cacheService = cacheService; + } + + + /// + /// 创建 + /// + /// + [HttpPost("api/app/DiseaseRisk/Create")] + public async Task CreateAsync(CreateDiseaseRiskDto input) + { + var createEntity = ObjectMapper.Map(input); + createEntity.DiseaseRiskId = GuidGenerator.Create(); + var entity = await _diseaseRiskManager.CreateAsync(createEntity); + entity = await _diseaseRiskRepository.InsertAsync(entity); + var dto = ObjectMapper.Map(entity); + dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId); + dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId); + return dto; + } + + /// + /// 更新 + /// + /// + /// + [HttpPost("api/app/DiseaseRisk/Update")] + public async Task UpdateAsync(UpdateDiseaseRiskDto input) + { + var entity = await _diseaseRiskRepository.GetAsync(f => f.DiseaseRiskId == input.DiseaseRiskId); + var sourceEntity = ObjectMapper.Map(input); + _diseaseRiskManager.UpdateAsync(sourceEntity, entity); + entity = await _diseaseRiskRepository.UpdateAsync(entity); + var dto = ObjectMapper.Map(entity); + dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId); + dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId); + return dto; + } + + /// + /// 删除 + /// + /// + /// + [HttpPost("api/app/DiseaseRisk/Delete")] + public async Task DeleteAsync(DiseaseRiskIdInputDto input) + { + await _diseaseRiskManager.CheckAndDeleteAsync(input.DiseaseRiskId); + } + + /// + /// 修改排序 置顶,置底 + /// + /// + /// + [HttpPost("api/app/DiseaseRisk/UpdateSortTopOrBottom")] + public async Task UpdateSortTopOrBottomAsync(UpdateDiseaseRiskSortTopOrBottomInputDto input) + { + await _diseaseRiskManager.UpdateSortTopOrBottomAsync(input.DiseaseRiskId, input.SortType); + } + + /// + /// 修改排序 拖拽 + /// + /// + /// + [HttpPost("api/app/DiseaseRisk/UpdateSortDragAsync")] + public async Task UpdateSortDragAsync(UpdateDiseaseRiskSortDragDto input) + { + await _diseaseRiskManager.UpdateSortDragAsync(input); + } + } +} diff --git a/src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs b/src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs index d6999c0..f8dd516 100644 --- a/src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs +++ b/src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs @@ -5,6 +5,7 @@ using Shentun.Peis.MaritalStatuss; using Shentun.WebPeis.AppointPatientRegisters; using Shentun.WebPeis.AppointRegisterAsbitems; using Shentun.WebPeis.AppointScheduleTemplates; +using Shentun.WebPeis.DiseaseRisks; using Shentun.WebPeis.Kinships; using Shentun.WebPeis.MaritalStatuss; using Shentun.WebPeis.MedicalPackages; @@ -99,5 +100,10 @@ public class WebPeisApplicationAutoMapperProfile : Profile CreateMap(); CreateMap(); CreateMap(); + + + CreateMap(); + CreateMap(); + CreateMap(); } } diff --git a/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs new file mode 100644 index 0000000..d869e4f --- /dev/null +++ b/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 _diseaseRiskLevelRepository; + + public DiseaseRiskLevelManager( + IRepository diseaseRiskLevelRepository + ) + { + _diseaseRiskLevelRepository = diseaseRiskLevelRepository; + } + + /// + /// 创建 + /// + /// + public async Task 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(_diseaseRiskLevelRepository) + }; + } + + + /// + /// 更新 + /// + /// + /// + /// + 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); + } + + + + /// + /// 删除 + /// + /// + /// + /// + 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); + + } + + + /// + /// 修改排序 置顶,置底 + /// + /// 需要修改的ID + /// 修改方式:1 置顶 2 置底 + /// + public async Task UpdateSortTopOrBottomAsync(Guid DiseaseRiskLevelId, int SortType) + { + var entity = await _diseaseRiskLevelRepository.GetAsync(f => f.DiseaseRiskLevelId == DiseaseRiskLevelId); + await EntityHelper.UpdateSortTopOrBottomAsync(_diseaseRiskLevelRepository, entity, SortType); + } + + + + /// + /// 修改排序 拖拽 + /// + /// + /// + /// + /// + 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); + } + } +} diff --git a/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs new file mode 100644 index 0000000..289ea19 --- /dev/null +++ b/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 ItemList { get; set; } + } + + + public class UpdateDiseaseRiskLevelSortDragDetail + { + public Guid DiseaseRiskLevelId { get; set; } + public int DisplayOrder { get; set; } + } +} diff --git a/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs new file mode 100644 index 0000000..25dcb86 --- /dev/null +++ b/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; } + + /// + /// 修改方式:1 置顶 2 置底 + /// + public int SortType { get; set; } + } +} diff --git a/src/Shentun.WebPeis.Domain/DiseaseRisks/DiseaseRiskManager.cs b/src/Shentun.WebPeis.Domain/DiseaseRisks/DiseaseRiskManager.cs new file mode 100644 index 0000000..27b8c5c --- /dev/null +++ b/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 _diseaseRiskRepository; + + public DiseaseRiskManager( + IRepository diseaseRiskRepository + ) + { + _diseaseRiskRepository = diseaseRiskRepository; + } + + /// + /// 创建 + /// + /// + public async Task 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(_diseaseRiskRepository) + }; + } + + + /// + /// 更新 + /// + /// + /// + /// + 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); + } + + + + /// + /// 删除 + /// + /// + /// + /// + 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); + + } + + + /// + /// 修改排序 置顶,置底 + /// + /// 需要修改的ID + /// 修改方式:1 置顶 2 置底 + /// + public async Task UpdateSortTopOrBottomAsync(Guid DiseaseRiskId, int SortType) + { + var entity = await _diseaseRiskRepository.GetAsync(f => f.DiseaseRiskId == DiseaseRiskId); + await EntityHelper.UpdateSortTopOrBottomAsync(_diseaseRiskRepository, entity, SortType); + } + + + + /// + /// 修改排序 拖拽 + /// + /// + /// + /// + /// + 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); + } + } +} diff --git a/src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortDragDto.cs b/src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortDragDto.cs new file mode 100644 index 0000000..76c8dbe --- /dev/null +++ b/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 ItemList { get; set; } + } + + + public class UpdateDiseaseRiskSortDragDetail + { + public Guid DiseaseRiskId { get; set; } + public int DisplayOrder { get; set; } + } +} diff --git a/src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortTopOrBottomInputDto.cs b/src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortTopOrBottomInputDto.cs new file mode 100644 index 0000000..842487c --- /dev/null +++ b/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; } + + /// + /// 修改方式:1 置顶 2 置底 + /// + public int SortType { get; set; } + } +}