Browse Source

总检

bjmzak
wxd 2 years ago
parent
commit
ba8c3f6079
  1. 5
      src/Shentun.Peis.Application.Contracts/SumSuggestionHeaders/SumSuggestionDto.cs
  2. 145
      src/Shentun.Peis.Application/SumSuggestionHeaders/SumSuggestionHeaderAppService.cs

5
src/Shentun.Peis.Application.Contracts/SumSuggestionHeaders/SumSuggestionDto.cs

@ -20,6 +20,11 @@ namespace Shentun.Peis.SumSuggestionHeaders
/// </summary>
public List<Guid> DiagnosisIds { get; set; }
/// <summary>
/// 诊断名称列表
/// </summary>
public List<string> DiagnosisNames { get; set; }
/// <summary>
/// 排序值
/// </summary>

145
src/Shentun.Peis.Application/SumSuggestionHeaders/SumSuggestionHeaderAppService.cs

@ -76,6 +76,9 @@ namespace Shentun.Peis.SumSuggestionHeaders
join sumDiagnosis in await _sumDiagnosisRepository.GetQueryableAsync()
on new { sumSuggestionHeader.PatientRegisterId, sumSuggestionHeader.Id } equals new { sumDiagnosis.PatientRegisterId, Id = sumDiagnosis.SumSuggestionHeaderId } into bb
from sumDiagnosisHaveEmpty in bb.DefaultIfEmpty()
join diagnosis in await _diagnosisRepository.GetQueryableAsync()
on sumDiagnosisHaveEmpty.DiagnosisId equals diagnosis.Id into diagnosisTemp
from diagnosisHaveEmpty in diagnosisTemp.DefaultIfEmpty()
join sumSuggestionContent in await _sumSuggestionContentRepository.GetQueryableAsync()
on sumSuggestionHeader.Id equals sumSuggestionContent.SumSuggestionHeaderId into cc
from sumSuggestionContentHaveEmpty in cc.DefaultIfEmpty()
@ -85,6 +88,7 @@ namespace Shentun.Peis.SumSuggestionHeaders
{
sumSuggestionHeader,
sumDiagnosisHaveEmpty,
diagnosisHaveEmpty,
sumSuggestionContentHaveEmpty
};
@ -98,6 +102,7 @@ namespace Shentun.Peis.SumSuggestionHeaders
DisplayOrder = s.FirstOrDefault().sumSuggestionHeader.DisplayOrder,
DiagnosisIds = s.Where(o => o.sumDiagnosisHaveEmpty != null).
Select(x => x.sumDiagnosisHaveEmpty.DiagnosisId).Distinct().ToList(),
DiagnosisNames = s.Where(m => m.diagnosisHaveEmpty != null).Select(x => x.diagnosisHaveEmpty.DisplayName).Distinct().ToList(),
MedicalInterpretations = s.Where(m => m.sumSuggestionContentHaveEmpty != null &&
m.sumSuggestionContentHaveEmpty.SuggestionType == SuggestionTypeFlag.MedicalInterpretation).
Select(sa => new SumSuggestionContentData
@ -156,6 +161,7 @@ namespace Shentun.Peis.SumSuggestionHeaders
SuggestionFlag = null,
DisplayOrder = 0,
DiagnosisIds = new List<Guid>() { matchDiagnosis.Id },
DiagnosisNames = new List<string>() { matchDiagnosis.DisplayName },
MedicalInterpretations = matchDiagnosis.Suggestions.
Where(o => o.SuggestionType == SuggestionTypeFlag.MedicalInterpretation)
.OrderBy(o => o.DisplayOrder)
@ -199,6 +205,7 @@ namespace Shentun.Peis.SumSuggestionHeaders
SuggestionFlag = null,
DisplayOrder = 0,
DiagnosisIds = null,
DiagnosisNames = null
});
}
@ -207,98 +214,98 @@ namespace Shentun.Peis.SumSuggestionHeaders
}
/// <summary>
/// 批量插入总诊台建议
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/sumsuggestionheader/createsumsuggestion")]
public async Task CreateSumSuggestionAsync(List<CreateSumSuggestionHeaderOrContentDto> input)
/// <summary>
/// 批量插入总诊台建议
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/sumsuggestionheader/createsumsuggestion")]
public async Task CreateSumSuggestionAsync(List<CreateSumSuggestionHeaderOrContentDto> input)
{
throw new UserFriendlyException("禁止使用");
if (input.Any())
{
throw new UserFriendlyException("禁止使用");
if (input.Any())
{
//先删除总诊头跟内容
await _sumSuggestionHeaderRepository.DeleteAsync(m => m.PatientRegisterId == input.FirstOrDefault().PatientRegisterId, true);
//先删除总诊头跟内容
await _sumSuggestionHeaderRepository.DeleteAsync(m => m.PatientRegisterId == input.FirstOrDefault().PatientRegisterId, true);
//删除对应的诊断数据
await _sumDiagnosisRepository.DeleteAsync(m => m.PatientRegisterId == input.FirstOrDefault().PatientRegisterId, true);
//删除对应的诊断数据
await _sumDiagnosisRepository.DeleteAsync(m => m.PatientRegisterId == input.FirstOrDefault().PatientRegisterId, true);
foreach (var item in input)
foreach (var item in input)
{
#region 插入SumSuggestionHeader
SumSuggestionHeader sumSuggestionHeaderEnt = new SumSuggestionHeader
{
#region 插入SumSuggestionHeader
SumSuggestionHeader sumSuggestionHeaderEnt = new SumSuggestionHeader
{
DisplayOrder = input.IndexOf(item) + 1,
PatientRegisterId = item.PatientRegisterId,
SuggestionFlag = null,
SuggestionTitle = item.SuggestionTitle
};
DisplayOrder = input.IndexOf(item) + 1,
PatientRegisterId = item.PatientRegisterId,
SuggestionFlag = null,
SuggestionTitle = item.SuggestionTitle
};
var sumSuggestionHeaderEnt_New = await _sumSuggestionHeaderRepository.InsertAsync(sumSuggestionHeaderEnt, true);
var sumSuggestionHeaderEnt_New = await _sumSuggestionHeaderRepository.InsertAsync(sumSuggestionHeaderEnt, true);
if (sumSuggestionHeaderEnt_New != null)
{
if (sumSuggestionHeaderEnt_New != null)
#region 插入SumDiagnosis
if (item.DiagnosisId != null && item.DiagnosisId != Guid.Empty)
{
#region 插入SumDiagnosis
if (item.DiagnosisId != null && item.DiagnosisId != Guid.Empty)
SumDiagnosis sumDiagnosis = new SumDiagnosis
{
DiagnosisId = item.DiagnosisId.Value,
DisplayOrder = input.IndexOf(item) + 1,
PatientRegisterId = item.PatientRegisterId,
SumSuggestionHeaderId = sumSuggestionHeaderEnt_New.Id
};
SumDiagnosis sumDiagnosis = new SumDiagnosis
{
DiagnosisId = item.DiagnosisId.Value,
DisplayOrder = input.IndexOf(item) + 1,
PatientRegisterId = item.PatientRegisterId,
SumSuggestionHeaderId = sumSuggestionHeaderEnt_New.Id
};
await _sumDiagnosisRepository.InsertAsync(sumDiagnosis);
}
#endregion
await _sumDiagnosisRepository.InsertAsync(sumDiagnosis);
}
#endregion
#region 插入SumSuggestionContent
List<SumSuggestionContent> sumSuggestionContentList = new List<SumSuggestionContent>();
foreach (var item2 in item.Details)
#region 插入SumSuggestionContent
List<SumSuggestionContent> sumSuggestionContentList = new List<SumSuggestionContent>();
foreach (var item2 in item.Details)
{
SumSuggestionContent sumSuggestionContentEnt = new SumSuggestionContent
{
SumSuggestionContent sumSuggestionContentEnt = new SumSuggestionContent
{
DisplayOrder = item.Details.IndexOf(item2) + 1,
SuggestionContent = item2.SuggestionContent,
SumSuggestionHeaderId = sumSuggestionHeaderEnt_New.Id
};
sumSuggestionContentList.Add(sumSuggestionContentEnt);
}
DisplayOrder = item.Details.IndexOf(item2) + 1,
SuggestionContent = item2.SuggestionContent,
SumSuggestionHeaderId = sumSuggestionHeaderEnt_New.Id
};
await _sumSuggestionContentRepository.InsertManyAsync(sumSuggestionContentList);
#endregion
sumSuggestionContentList.Add(sumSuggestionContentEnt);
}
await _sumSuggestionContentRepository.InsertManyAsync(sumSuggestionContentList);
#endregion
}
#endregion
}
}
}
/// <summary>
/// 清空总诊台建议内容
/// </summary>
/// <param name="PatientRegisterId"></param>
/// <returns></returns>
[HttpPost("api/app/sumsuggestionheader/deletesumsuggestionmany")]
public async Task DeleteSumSuggestionManyAsync(Guid PatientRegisterId)
/// <summary>
/// 清空总诊台建议内容
/// </summary>
/// <param name="PatientRegisterId"></param>
/// <returns></returns>
[HttpPost("api/app/sumsuggestionheader/deletesumsuggestionmany")]
public async Task DeleteSumSuggestionManyAsync(Guid PatientRegisterId)
{
if (PatientRegisterId != Guid.Empty)
{
if (PatientRegisterId != Guid.Empty)
{
await _sumSuggestionHeaderRepository.DeleteAsync(d => d.PatientRegisterId == PatientRegisterId);
//删除对应的诊断数据
await _sumDiagnosisRepository.DeleteAsync(m => m.PatientRegisterId == PatientRegisterId);
}
else
{
throw new UserFriendlyException("请求参数有误");
}
await _sumSuggestionHeaderRepository.DeleteAsync(d => d.PatientRegisterId == PatientRegisterId);
//删除对应的诊断数据
await _sumDiagnosisRepository.DeleteAsync(m => m.PatientRegisterId == PatientRegisterId);
}
else
{
throw new UserFriendlyException("请求参数有误");
}
}
}
}
Loading…
Cancel
Save