From eeb31197766359b113d95b5cd08047dfc245ecc3 Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Wed, 17 Apr 2024 22:36:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=8E=E7=BB=86=E7=BB=93=E6=9E=9C=E5=8D=95?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RegisterCheckItemAppService.cs | 13 ++++- .../RegisterCheckSuggestionAppService.cs | 1 + .../RegisterCheckSummaryAppService.cs | 1 + src/Shentun.Peis.Domain/Items/Item.cs | 2 + .../ReferenceRanges/ReferenceRangeManager.cs | 37 +++++++++----- .../RegisterCheckItemAppServiceTest.cs | 49 +++++++++++++++++++ 6 files changed, 88 insertions(+), 15 deletions(-) create mode 100644 test/Shentun.Peis.Application.Tests/RegisterCheckItemAppServiceTest.cs diff --git a/src/Shentun.Peis.Application/RegisterCheckItems/RegisterCheckItemAppService.cs b/src/Shentun.Peis.Application/RegisterCheckItems/RegisterCheckItemAppService.cs index ef9e5af..ef7765a 100644 --- a/src/Shentun.Peis.Application/RegisterCheckItems/RegisterCheckItemAppService.cs +++ b/src/Shentun.Peis.Application/RegisterCheckItems/RegisterCheckItemAppService.cs @@ -31,6 +31,7 @@ namespace Shentun.Peis.RegisterCheckItems private readonly IRepository _patientRegisterRepository; private readonly IRepository _referenceRangeRepository; private readonly IRepository _userRepository; + private readonly IRepository _unitRepository; private readonly RegisterCheckItemManager _registerCheckItemManager; private readonly ReferenceRangeManager _referenceRangeManager; private readonly CacheService _cacheService; @@ -41,6 +42,7 @@ namespace Shentun.Peis.RegisterCheckItems ReferenceRangeManager referenceRangeManager, IRepository patientRegisterRepository, IRepository referenceRangeRepository, + IRepository unitRepository, CacheService cacheService) { this._registerCheckItemRepository = registerCheckItemRepository; @@ -49,6 +51,7 @@ namespace Shentun.Peis.RegisterCheckItems this._referenceRangeManager = referenceRangeManager; this._patientRegisterRepository = patientRegisterRepository; this._referenceRangeRepository = referenceRangeRepository; + _unitRepository = unitRepository; _cacheService = cacheService; } @@ -78,7 +81,7 @@ namespace Shentun.Peis.RegisterCheckItems var referenceRangeList = await _referenceRangeRepository.GetListAsync(); List update_list = new List(); - + var units = await _unitRepository.GetListAsync(); foreach (var ent in entlist) { if (ent.RegisterCheck.CompleteFlag == RegisterCheckCompleteFlag.UnChecked) @@ -94,7 +97,12 @@ namespace Shentun.Peis.RegisterCheckItems ent.ReferenceRangeValue = referenceRangeEnt.ReferenceRangeValue; ent.CriticalRangeValue = referenceRangeEnt.CriticalRangeValue; } - + var unit = units.Where(o => o.Id == ent.Item.UnitId).FirstOrDefault(); + if (unit != null) + { + ent.Unit = unit.DisplayName; + } + update_list.Add(ent); } } @@ -180,6 +188,7 @@ namespace Shentun.Peis.RegisterCheckItems [HttpPost("api/app/registercheckitem/updateregistercheckitemmany")] public async Task> UpdateRegisterCheckItemManyAsync(List input) { + throw new Exception("禁止"); if (!input.Any()) { throw new UserFriendlyException("请求参数有误"); diff --git a/src/Shentun.Peis.Application/RegisterCheckSuggestions/RegisterCheckSuggestionAppService.cs b/src/Shentun.Peis.Application/RegisterCheckSuggestions/RegisterCheckSuggestionAppService.cs index 85004ab..5743e00 100644 --- a/src/Shentun.Peis.Application/RegisterCheckSuggestions/RegisterCheckSuggestionAppService.cs +++ b/src/Shentun.Peis.Application/RegisterCheckSuggestions/RegisterCheckSuggestionAppService.cs @@ -51,6 +51,7 @@ namespace Shentun.Peis.RegisterCheckSuggestions public async Task CreateRegisterCheckSuggestionManyAsync(CreateRegisterCheckSuggestionDto input) { + throw new Exception("禁止"); List dtolist = ObjectMapper.Map, List>(input.Details); // await _registerCheckSuggestionRepository.DeleteAsync(m => m.RegisterCheckId == input[0].RegisterCheckId, true); diff --git a/src/Shentun.Peis.Application/RegisterCheckSummarys/RegisterCheckSummaryAppService.cs b/src/Shentun.Peis.Application/RegisterCheckSummarys/RegisterCheckSummaryAppService.cs index 422c1f4..165e52b 100644 --- a/src/Shentun.Peis.Application/RegisterCheckSummarys/RegisterCheckSummaryAppService.cs +++ b/src/Shentun.Peis.Application/RegisterCheckSummarys/RegisterCheckSummaryAppService.cs @@ -46,6 +46,7 @@ namespace Shentun.Peis.RegisterCheckSummarys [HttpPost("api/app/registerchecksummary/createregisterchecksummarymany")] public async Task CreateRegisterCheckSummaryManyAsync(CreateRegisterCheckSummaryDto input) { + throw new Exception("禁止"); List dtolist = ObjectMapper.Map, List>(input.Details); diff --git a/src/Shentun.Peis.Domain/Items/Item.cs b/src/Shentun.Peis.Domain/Items/Item.cs index 8ce2219..a1ea18b 100644 --- a/src/Shentun.Peis.Domain/Items/Item.cs +++ b/src/Shentun.Peis.Domain/Items/Item.cs @@ -170,6 +170,8 @@ namespace Shentun.Peis.Models [ForeignKey(nameof(ItemTypeId))] [InverseProperty("Items")] public virtual ItemType ItemType { get; set; } = null!; + //[InverseProperty("Items")] + //public virtual Unit Unit { get; set; } = null!; [InverseProperty(nameof(AsbitemDetail.Item))] public virtual ICollection AsbitemDetails { get; set; } [InverseProperty(nameof(ItemResultMatch.Item))] diff --git a/src/Shentun.Peis.Domain/ReferenceRanges/ReferenceRangeManager.cs b/src/Shentun.Peis.Domain/ReferenceRanges/ReferenceRangeManager.cs index 9044bc1..e04c78e 100644 --- a/src/Shentun.Peis.Domain/ReferenceRanges/ReferenceRangeManager.cs +++ b/src/Shentun.Peis.Domain/ReferenceRanges/ReferenceRangeManager.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using TencentCloud.Bda.V20200324.Models; using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Services; @@ -213,28 +214,38 @@ namespace Shentun.Peis.ReferenceRanges { var referenceRangeListNew = referenceRangeList.Where(m => m.ReferenceRangeTypeFlag == itemEntity.ReferenceRangeTypeFlag && m.ItemId == itemEntity.Id); - - + if (!referenceRangeListNew.Any()) + { + return null; + } if (itemEntity.ReferenceRangeTypeFlag == ItemReferenceRangeTypeFlag.Character) { - //字符型 - - //判断性别 - if (referenceRangeListNew.Where(m => m.ForSexId == 'A').Count() == 0) + return referenceRangeListNew.FirstOrDefault(); + } + else if (itemEntity.ReferenceRangeTypeFlag == ItemReferenceRangeTypeFlag.Number) + { + if (Age == null) + { + Age = 30; + } + var referenceRange = referenceRangeListNew.Where(o => o.ForSexId == SexId && Age >= o.AgeLowerLimit && Age <= o.AgeUpperLimit).FirstOrDefault(); + if (referenceRange != null) { - //没有全部类型 - referenceRangeListNew = referenceRangeListNew.Where(m => m.ForSexId == SexId).ToList(); + return referenceRange; } - //判断年龄 - if (Age != null) + referenceRange = referenceRangeList.Where(o => o.ForSexId == ForSexFlag.All && Age >= o.AgeLowerLimit && Age <= o.AgeUpperLimit).FirstOrDefault(); + if (referenceRange != null) { - referenceRangeListNew.Where(m => m.AgeLowerLimit <= Age && m.AgeUpperLimit >= Age).ToList(); + return referenceRange; } + return null; } - - return referenceRangeListNew.FirstOrDefault(); + else + { + return null; + } } diff --git a/test/Shentun.Peis.Application.Tests/RegisterCheckItemAppServiceTest.cs b/test/Shentun.Peis.Application.Tests/RegisterCheckItemAppServiceTest.cs new file mode 100644 index 0000000..05194d9 --- /dev/null +++ b/test/Shentun.Peis.Application.Tests/RegisterCheckItemAppServiceTest.cs @@ -0,0 +1,49 @@ +using Shentun.Peis.Models; +using Shentun.Peis.PatientRegisters; +using Shentun.Peis.Patients; +using Shentun.Peis.RegisterCheckItems; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.ConstrainedExecution; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Uow; +using Xunit; +using Xunit.Abstractions; + +namespace Shentun.Peis +{ + public class RegisterCheckItemAppServiceTest : PeisApplicationTestBase + { + private readonly IRepository _repository; + private readonly RegisterCheckItemAppService _appService; + private readonly ITestOutputHelper _output; + private readonly IUnitOfWorkManager _unitOfWorkManager; + public RegisterCheckItemAppServiceTest(ITestOutputHelper testOutputHelper) + { + _output = testOutputHelper; + _unitOfWorkManager = GetRequiredService(); + _repository = GetRequiredService>(); + _appService = GetRequiredService(); + } + + [Fact] + public async Task GetListInRegisterCheckIdAsync() + { + using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true)) + { + + + + var items = await _appService.GetListInRegisterCheckIdAsync( + new Guid("3a11ee70-034c-1ce6-40f9-7eabb02830a9"), + new Guid("3a11ee70-02cb-c5e6-a087-79ecdd0356b6")); + _output.WriteLine(items.Count().ToString()); + + await unitOfWork.CompleteAsync(); + } + } + } +}