|
|
|
@ -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("请求参数有误"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |