wxd 1 month ago
parent
commit
0a0168cdd9
  1. 1
      .gitignore
  2. 53
      src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs

1
.gitignore

@ -267,3 +267,4 @@ src/Shentun.Peis.Blazor.Server.Tiered/Logs/*
/src/Shentun.Peis.HttpApi.Host/photo/2025
/src/Shentun.Peis.HttpApi.Host/CloudFilm/2025/10/20
/src/Shentun.Peis.HttpApi.Host/UserSign/2025/10/28
/src/Shentun.Peis.HttpApi.Host/photo/2023

53
src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs

@ -282,6 +282,7 @@ namespace Shentun.Peis.DiagnosisFunctions
private List<string> GetItemDiagnosisStringList(List<DoctorCheckItemDiagnosisResult> itemDiagnosisList)
{
var summaryResultTemplateSplit = _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "summary_result_template_split").GetAwaiter().GetResult();
var diagnosisList = new List<string>();
foreach (var itemDiagnosis in itemDiagnosisList)
{
@ -331,12 +332,31 @@ namespace Shentun.Peis.DiagnosisFunctions
if (!string.IsNullOrWhiteSpace(diagnosis))
{
if (itemDiagnosis.IsNameIntoSummary == 'Y' && !diagnosis.StartsWith(itemDiagnosis.ItemName))
if (summaryResultTemplateSplit == "Y")
{
diagnosis = itemDiagnosis.ItemName + ":" + diagnosis;
var diagnosisArry = GetResultArry(diagnosis);
for (int i = 0; i < diagnosisArry.Length; i++)
{
string diagnosisTemp = diagnosisArry[i];
if (itemDiagnosis.IsNameIntoSummary == 'Y' && !diagnosisTemp.StartsWith(itemDiagnosis.ItemName))
{
diagnosisTemp = itemDiagnosis.ItemName + ":" + diagnosisTemp;
}
diagnosisList.Add(diagnosisTemp);
}
}
else
{
if (itemDiagnosis.IsNameIntoSummary == 'Y' && !diagnosis.StartsWith(itemDiagnosis.ItemName))
{
diagnosis = itemDiagnosis.ItemName + ":" + diagnosis;
}
diagnosisList.Add(diagnosis);
}
diagnosisList.Add(diagnosis);
}
}
@ -485,6 +505,11 @@ namespace Shentun.Peis.DiagnosisFunctions
else
{
//区分新老系统逻辑
//老系统 拆分结果后,每个结果如果匹配到了结果模板,就不继续诊断匹配
//新系统 匹配到底
//通过结果模板获取诊断
var templateList = await GetItemDiagnosisByTemplate(item);
var itemDiagnosisTypeResult = new ItemDiagnosisTypeResult()
@ -494,9 +519,19 @@ namespace Shentun.Peis.DiagnosisFunctions
itemDiagnosisTypeResult.Diagnosis.AddRange(templateList);
//通过匹配关系获取诊断
var matcheList = await GetItemDiagnosisByMatche(item);
itemDiagnosisTypeResult.Diagnosis.AddRange(matcheList);
bool continueMatche = true;
var isSummaryResultMatchContinue = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "summary_result_match_continue");
if (templateList.Any() && isSummaryResultMatchContinue == "N")
{
continueMatche = false;
}
List<string> matcheList = new List<string>();
if (continueMatche)
{
//通过匹配关系获取诊断
matcheList = await GetItemDiagnosisByMatche(item);
itemDiagnosisTypeResult.Diagnosis.AddRange(matcheList);
}
if (!templateList.Any() && !matcheList.Any())
{
//获取异常结果
@ -2295,7 +2330,7 @@ namespace Shentun.Peis.DiagnosisFunctions
foreach (var itemDetail in criticalResultDto.ItemDetails)
{
await CreateRegisterCheckItemCritical(itemDetail.RegisterCheckId, itemDetail.ItemId, itemDetail.IsCritical, itemDetail.IsFollowUp, itemDetail.CriticalRangeValue,itemDetail.CriticalValueContent);
await CreateRegisterCheckItemCritical(itemDetail.RegisterCheckId, itemDetail.ItemId, itemDetail.IsCritical, itemDetail.IsFollowUp, itemDetail.CriticalRangeValue, itemDetail.CriticalValueContent);
}
if (criticalResultDto.AsbitemDetails.Count > 0 || criticalResultDto.ItemDetails.Count > 0)
@ -2348,7 +2383,7 @@ namespace Shentun.Peis.DiagnosisFunctions
registerCheckEnt.IsFollowUp = isFollowUp;
}
if (string.IsNullOrWhiteSpace(registerCheckEnt.CriticalValueContent)&&!string.IsNullOrWhiteSpace(criticalValueContent))
if (string.IsNullOrWhiteSpace(registerCheckEnt.CriticalValueContent) && !string.IsNullOrWhiteSpace(criticalValueContent))
{
registerCheckEnt.CriticalValueContent = criticalValueContent;
}
@ -2367,7 +2402,7 @@ namespace Shentun.Peis.DiagnosisFunctions
/// <param name="criticalRangeValue"></param>
/// <param name="criticalValueContent"></param>
/// <returns></returns>
private async Task CreateRegisterCheckItemCritical(Guid registerCheckId, Guid itemId, char? isCriticalValue, char? isFollowUp, string criticalRangeValue,string criticalValueContent)
private async Task CreateRegisterCheckItemCritical(Guid registerCheckId, Guid itemId, char? isCriticalValue, char? isFollowUp, string criticalRangeValue, string criticalValueContent)
{
var registerCheckItemEnt = await _registerCheckItemRepository.FirstOrDefaultAsync(m => m.RegisterCheckId == registerCheckId
&& m.ItemId == itemId);

Loading…
Cancel
Save