diff --git a/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs b/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs index 8907afe..64f2379 100644 --- a/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs +++ b/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs @@ -379,15 +379,22 @@ namespace Shentun.Peis.DiagnosisFunctions join registerAsbitem in await _registerAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerAsbitem.RegisterCheckId join registerCheckItem in await _registerCheckItemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckItem.RegisterCheckId join asbitem in await _asbitemRepository.GetQueryableAsync() on registerAsbitem.AsbitemId equals asbitem.Id - join item in (await _itemRepository.GetQueryableAsync()).Include(x => x.ReferenceRanges).Include(x => x.ItemResultMatches).Include(x => x.ItemResultTemplates) + join item in (await _itemRepository.GetQueryableAsync()).Include(x => x.ReferenceRanges).Include(x => x.ItemResultMatches).Include(x => x.ItemResultTemplates) on registerCheckItem.ItemId equals item.Id join unit in await _unitRepository.GetQueryableAsync() on item.UnitId equals unit.Id into unitExist from unitHaveEmpty in unitExist.DefaultIfEmpty() join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on registerCheck.PatientRegisterId equals patientRegister.Id where registerCheck.Id == input.RegisterCheckId - select new { registerCheck, registerAsbitem, registerCheckItem, asbitem, item, - unitHaveEmpty,patientRegister + select new + { + registerCheck, + registerAsbitem, + registerCheckItem, + asbitem, + item, + unitHaveEmpty, + patientRegister }).AsNoTracking().ToList(); var resultDto = new GetDiagnosisResultDto @@ -435,7 +442,7 @@ namespace Shentun.Peis.DiagnosisFunctions { var inputItem = input.Items.Where(o => o.ItemId == item.item.Id).FirstOrDefault(); var inputResult = ""; - if(inputItem != null) + if (inputItem != null) { inputResult = inputItem.Result; } @@ -443,7 +450,7 @@ namespace Shentun.Peis.DiagnosisFunctions { ItemId = item.item.Id, ItemName = item.item.DisplayName, - Unit = (item.unitHaveEmpty == null)?"":item.unitHaveEmpty.DisplayName, + Unit = (item.unitHaveEmpty == null) ? "" : item.unitHaveEmpty.DisplayName, IsDiagnosisFunction = item.item.IsDiagnosisFunction, DiagnosisFunction = item.item.DiagnosisFunction, IsContinueProcess = item.item.IsContinueProcess, @@ -460,7 +467,7 @@ namespace Shentun.Peis.DiagnosisFunctions doctorCheckDiagnosisInput.Items.Add(itemInput); } } - doctorCheckDiagnosisInput.Items = doctorCheckDiagnosisInput.Items.OrderBy(o=>o.DisplayOrder).ToList(); + doctorCheckDiagnosisInput.Items = doctorCheckDiagnosisInput.Items.OrderBy(o => o.DisplayOrder).ToList(); //处理组合项目诊断函数 List diagnosisList = new List(); @@ -485,7 +492,7 @@ namespace Shentun.Peis.DiagnosisFunctions //设置组合项目默认小结 diagnosisList.Add(doctorCheckDiagnosisInput.Asbitems[0].DefaultResult); } - foreach(var diagnosis in diagnosisList) + foreach (var diagnosis in diagnosisList) { var getDiagnosisResult_Detail = new GetDiagnosisResult_Detail() { @@ -516,7 +523,7 @@ namespace Shentun.Peis.DiagnosisFunctions } else { - itemDiagnosisType.Diagnosis = itemDiagnosisType.Diagnosis.Where(o=>!string.IsNullOrWhiteSpace(o)).ToList(); + itemDiagnosisType.Diagnosis = itemDiagnosisType.Diagnosis.Where(o => !string.IsNullOrWhiteSpace(o)).ToList(); if (itemDiagnosisType.Diagnosis.Count() > _numArry.Count()) { throw new UserFriendlyException($"诊断数量超过{_numArry.Count()}个,不支持"); @@ -525,14 +532,14 @@ namespace Shentun.Peis.DiagnosisFunctions { continue; } - + for (int i = 0; i < itemDiagnosisType.Diagnosis.Count(); i++) { if (string.IsNullOrWhiteSpace(itemDiagnosisType.Diagnosis[i])) { continue; } - if(itemDiagnosisType.Diagnosis.Count() == 1) + if (itemDiagnosisType.Diagnosis.Count() == 1) { diagnosis = diagnosis + itemDiagnosisType.Diagnosis[i] + ";"; } @@ -540,18 +547,18 @@ namespace Shentun.Peis.DiagnosisFunctions { diagnosis = diagnosis + _numArry[i] + itemDiagnosisType.Diagnosis[i] + ";"; } - + } } } if (!string.IsNullOrWhiteSpace(diagnosis)) { - if(itemDiagnosis.IsNameIntoSummary == 'Y' && !diagnosis.StartsWith(itemDiagnosis.ItemName)) + if (itemDiagnosis.IsNameIntoSummary == 'Y' && !diagnosis.StartsWith(itemDiagnosis.ItemName)) { diagnosis = itemDiagnosis.ItemName + ":" + diagnosis; } - + diagnosisList.Add(diagnosis); } @@ -670,22 +677,22 @@ namespace Shentun.Peis.DiagnosisFunctions //通过计算获取诊断 var diagnosis = diagnosisBuilder.GetItemDiagnosisResult(patientItemDiagnosisInput, item.DiagnosisFunction); - + var itemDiagnosisTypeResult = new ItemDiagnosisTypeResult() { DiagnosisType = '0' }; itemDiagnosisTypeResult.Diagnosis.Add(diagnosis); doctorCheckItemDiagnosisResult.ItemDiagnosisTypeResults.Add(itemDiagnosisTypeResult); - - + + } if (item.IsDiagnosisFunction == 'Y' && item.IsContinueProcess != 'Y') { continue; } //通过参考范围获取诊断 - if(item.ReferenceRangeTypeFlag == ItemReferenceRangeTypeFlag.Number) + if (item.ReferenceRangeTypeFlag == ItemReferenceRangeTypeFlag.Number) { var referenceRangeDiagnosis = await GetItemDiagnosisByReferenceRanges(doctorCheckDiagnosisInput.SexId, doctorCheckDiagnosisInput.Age, item); if (!string.IsNullOrWhiteSpace(referenceRangeDiagnosis)) @@ -767,24 +774,24 @@ namespace Shentun.Peis.DiagnosisFunctions return null; } } - + string diagnosis = null; var pos = referenceRange.ReferenceRangeValue.IndexOf("-"); string resultStatusId = _registerCheckItemManager.GetNumberResultStatusId(itemInput.Result, referenceRange.ReferenceRangeValue); - if(resultStatusId == ResultStatusFlag.Low) + if (resultStatusId == ResultStatusFlag.Low) { diagnosis = await GetNumberDiagnosis(itemInput.ItemName, itemInput.Result, itemInput.Unit, true, referenceRange); } - else if(resultStatusId == ResultStatusFlag.High) + else if (resultStatusId == ResultStatusFlag.High) { diagnosis = await GetNumberDiagnosis(itemInput.ItemName, itemInput.Result, itemInput.Unit, false, referenceRange); } - + return diagnosis; } - private async Task GetNumberDiagnosis(string itemName, string result,string unit, bool isLower, + private async Task GetNumberDiagnosis(string itemName, string result, string unit, bool isLower, ReferenceRange referenceRange) { string diagnosis = null; @@ -846,11 +853,11 @@ namespace Shentun.Peis.DiagnosisFunctions { if (_isAddAbnormalResult == "Y") { - if(string.IsNullOrEmpty(unit)) + if (string.IsNullOrEmpty(unit)) { unit = ""; } - diagnosis = diagnosis + "(结果:" + result + unit + ",参考范围:" + referenceRange.ReferenceRangeValue + ")"; + diagnosis = diagnosis + $"(结果:{result} {unit},参考范围: {referenceRange.ReferenceRangeValue})"; } } return diagnosis;