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 1/2] =?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; }
+ }
+}
From 4b68438e216a571fef37a92444f38346022a2b92 Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Fri, 14 Jun 2024 17:19:07 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E7=96=BE=E7=97=85=E9=A3=8E=E9=99=A9?=
=?UTF-8?q?=E7=BA=A7=E5=88=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CreateDiseaseRiskLevelDto.cs | 33 +++++
.../DiseaseRiskLevels/DiseaseRiskLevelDto.cs | 41 ++++++
.../DiseaseRiskLevelIdInputDto.cs | 11 ++
.../UpdateDiseaseRiskLevelDto.cs | 39 +++++
.../DiseaseRiskLevelAppService.cs | 106 ++++++++++++++
.../DiseaseRiskLevelManager.cs | 133 ++++++++++++++++++
.../UpdateDiseaseRiskLevelSortDragDto.cs | 21 +++
...DiseaseRiskLevelSortTopOrBottomInputDto.cs | 18 +++
8 files changed, 402 insertions(+)
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs
create mode 100644 src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs
create mode 100644 src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs
create mode 100644 src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs
create mode 100644 src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs
create mode 100644 src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs
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/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.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; }
+ }
+}