From 001390fea11f5a15a4a1ff01f936875e9b5e9cc6 Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Fri, 14 Jun 2024 16:15:49 +0800
Subject: [PATCH] =?UTF-8?q?=E7=96=BE=E7=97=85=E9=A3=8E=E9=99=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DiseaseRisks/CreateDiseaseRiskDto.cs | 16 +++
.../DiseaseRisks/DiseaseRiskDto.cs | 23 ++++
.../DiseaseRisks/DiseaseRiskIdInputDto.cs | 11 ++
.../DiseaseRisks/UpdateDiseaseRiskDto.cs | 20 +++
.../DiseaseRisks/DiseaseRiskAppService.cs | 104 +++++++++++++++
.../WebPeisApplicationAutoMapperProfile.cs | 6 +
.../DiseaseRisks/DiseaseRiskManager.cs | 123 ++++++++++++++++++
.../UpdateDiseaseRiskSortDragDto.cs | 20 +++
...pdateDiseaseRiskSortTopOrBottomInputDto.cs | 18 +++
9 files changed, 341 insertions(+)
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/CreateDiseaseRiskDto.cs
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskDto.cs
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/DiseaseRiskIdInputDto.cs
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRisks/UpdateDiseaseRiskDto.cs
create mode 100644 src/Shentun.WebPeis.Application/DiseaseRisks/DiseaseRiskAppService.cs
create mode 100644 src/Shentun.WebPeis.Domain/DiseaseRisks/DiseaseRiskManager.cs
create mode 100644 src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortDragDto.cs
create mode 100644 src/Shentun.WebPeis.Domain/DiseaseRisks/UpdateDiseaseRiskSortTopOrBottomInputDto.cs
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/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/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; }
+ }
+}