Browse Source

诊断建议

bjmzak
wxd 2 years ago
parent
commit
aaaafefee8
  1. 75
      src/Shentun.Peis.Application.Contracts/Diagnosises/SimpleDiagnosisWithSuggestionsDto.cs
  2. 6
      src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
  3. 73
      src/Shentun.Peis.Application/Diagnosises/DiagnosisAppService.cs
  4. 2
      src/Shentun.Peis.Application/Suggestions/SuggestionAppService.cs

75
src/Shentun.Peis.Application.Contracts/Diagnosises/SimpleDiagnosisWithSuggestionsDto.cs

@ -0,0 +1,75 @@
using Shentun.Peis.SuggestionDtos;
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.Diagnosises
{
public class SimpleDiagnosisWithSuggestionsDto
{
/// <summary>
/// 诊断ID
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// 项目类别
/// </summary>
public Guid ItemTypeId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string DisplayName { get; set; }
/// <summary>
/// 是疾病
/// </summary>
public char IsIll { get; set; }
/// <summary>
/// 是总检模板
/// </summary>
public char IsSummaryTemplate { get; set; }
/// <summary>
/// 适用性别
/// </summary>
public char ForSexId { get; set; }
/// <summary>
/// 诊断级别
/// </summary>
public short DiagnosisLevelId { get; set; }
public string SimpleCode { get; set; }
public int DisplayOrder { get; set; }
/// <summary>
/// 医学解释
/// </summary>
public List<SimpleDiagnosisWithSuggestionsSuggestionDto> MedicalInterpretations { get; set; }
/// <summary>
/// 常见原因
/// </summary>
public List<SimpleDiagnosisWithSuggestionsSuggestionDto> CommonReasons { get; set; }
/// <summary>
/// 健康指导
/// </summary>
public List<SimpleDiagnosisWithSuggestionsSuggestionDto> HealthGuidances { get; set; }
}
public class SimpleDiagnosisWithSuggestionsSuggestionDto
{
/// <summary>
/// 建议内容
/// </summary>
public string SuggestionContent { get; set; }
}
}

6
src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs

@ -42,15 +42,15 @@ namespace Shentun.Peis.DataMigrations
/// <summary>
/// 基础数据处理
/// </summary>
[Authorize]
[RemoteService(false)]
//[Authorize]
//[RemoteService(false)]
public class BaseDataHandleAppService : ApplicationService
{
private readonly SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
{
// ConnectionString = "Data Source=.;Initial Catalog=mypeis;User ID=sa;Password=123;Encrypt=false;",
ConnectionString = "server=.;uid=sa;pwd=123;database=mypeis;Encrypt=false;",
ConnectionString = "server=.;uid=sa;pwd=123;database=mypeis0501;Encrypt=false;",
DbType = SqlSugar.DbType.SqlServer,
IsAutoCloseConnection = true
});

73
src/Shentun.Peis.Application/Diagnosises/DiagnosisAppService.cs

@ -140,7 +140,7 @@ namespace Shentun.Peis.Diagnosises
IsSummaryTemplate = s.FirstOrDefault().a.IsSummaryTemplate,
ItemTypeId = s.FirstOrDefault().a.ItemTypeId,
SuggestionName = s.FirstOrDefault().a.SuggestionName,
MedicalInterpretations = s.Where(m => m.ab != null && m.ab.SuggestionType == SuggestionTypeFlag.MedicalInterpretation).Select(ss => new SuggestionDto
{
CreationTime = ss.ab.CreationTime,
@ -193,6 +193,77 @@ namespace Shentun.Peis.Diagnosises
/// <summary>
/// 获取诊断列表,加诊断建议
/// </summary>
/// <returns></returns>
[HttpPost("api/app/Diagnosis/GetSimpleDiagnosisWithSuggestions")]
public async Task<List<SimpleDiagnosisWithSuggestionsDto>> GetSimpleDiagnosisWithSuggestionsAsync()
{
var query = from a in await Repository.GetQueryableAsync()
join b in await _suggestionRepository.GetQueryableAsync() on a.Id equals b.DiagnosisId into bb
from ab in bb.DefaultIfEmpty()
select new
{
a = new
{
a.Id,
a.DisplayName,
a.SimpleCode,
a.DiagnosisLevelId,
a.ForSexId,
a.IsIll,
a.ItemTypeId,
a.IsSummaryTemplate,
a.DisplayOrder
},
ab = new
{
ab.SuggestionType,
ab.DisplayOrder,
ab.DiagnosisId,
ab.SuggestionContent
},
};
var entlist = query.GroupBy(g => g.a.Id).Select(s => new SimpleDiagnosisWithSuggestionsDto
{
DisplayName = s.FirstOrDefault().a.DisplayName,
SimpleCode = s.FirstOrDefault().a.SimpleCode,
DiagnosisLevelId = s.FirstOrDefault().a.DiagnosisLevelId,
ForSexId = s.FirstOrDefault().a.ForSexId,
IsIll = s.FirstOrDefault().a.IsIll,
Id = s.FirstOrDefault().a.Id,
ItemTypeId = s.FirstOrDefault().a.ItemTypeId,
IsSummaryTemplate = s.FirstOrDefault().a.IsSummaryTemplate,
DisplayOrder = s.FirstOrDefault().a.DisplayOrder,
MedicalInterpretations = s.Where(m => m.ab != null && m.ab.SuggestionType == SuggestionTypeFlag.MedicalInterpretation)
.OrderBy(o => o.ab.DisplayOrder)
.Select(ss => new SimpleDiagnosisWithSuggestionsSuggestionDto
{
SuggestionContent = ss.ab.SuggestionContent
}).ToList(),
CommonReasons = s.Where(m => m.ab != null && m.ab.SuggestionType == SuggestionTypeFlag.CommonReasons)
.OrderBy(o => o.ab.DisplayOrder)
.Select(ss => new SimpleDiagnosisWithSuggestionsSuggestionDto
{
SuggestionContent = ss.ab.SuggestionContent
}).ToList(),
HealthGuidances = s.Where(m => m.ab != null && m.ab.SuggestionType == SuggestionTypeFlag.HealthGuidance)
.OrderBy(o => o.ab.DisplayOrder)
.Select(ss => new SimpleDiagnosisWithSuggestionsSuggestionDto
{
SuggestionContent = ss.ab.SuggestionContent
}).ToList(),
}).OrderBy(o => o.ItemTypeId).ThenBy(o => o.DisplayOrder).ToList();
return entlist;
}
///// <summary>
///// 获取列表 根据项目类别获取
///// </summary>

2
src/Shentun.Peis.Application/Suggestions/SuggestionAppService.cs

@ -67,6 +67,8 @@ namespace Shentun.Peis.Suggestions
}
}
}
Loading…
Cancel
Save