wxd 2 years ago
parent
commit
c3265293c6
  1. 13
      src/Shentun.Peis.Application/RegisterCheckItems/RegisterCheckItemAppService.cs
  2. 1
      src/Shentun.Peis.Application/RegisterCheckSuggestions/RegisterCheckSuggestionAppService.cs
  3. 1
      src/Shentun.Peis.Application/RegisterCheckSummarys/RegisterCheckSummaryAppService.cs
  4. 2
      src/Shentun.Peis.Domain/Items/Item.cs
  5. 37
      src/Shentun.Peis.Domain/ReferenceRanges/ReferenceRangeManager.cs
  6. 49
      test/Shentun.Peis.Application.Tests/RegisterCheckItemAppServiceTest.cs

13
src/Shentun.Peis.Application/RegisterCheckItems/RegisterCheckItemAppService.cs

@ -31,6 +31,7 @@ namespace Shentun.Peis.RegisterCheckItems
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<ReferenceRange, Guid> _referenceRangeRepository;
private readonly IRepository<IdentityUser, Guid> _userRepository;
private readonly IRepository<Unit, Guid> _unitRepository;
private readonly RegisterCheckItemManager _registerCheckItemManager;
private readonly ReferenceRangeManager _referenceRangeManager;
private readonly CacheService _cacheService;
@ -41,6 +42,7 @@ namespace Shentun.Peis.RegisterCheckItems
ReferenceRangeManager referenceRangeManager,
IRepository<PatientRegister, Guid> patientRegisterRepository,
IRepository<ReferenceRange, Guid> referenceRangeRepository,
IRepository<Unit, Guid> 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<RegisterCheckItem> update_list = new List<RegisterCheckItem>();
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<List<RegisterCheckItemDto>> UpdateRegisterCheckItemManyAsync(List<UpdateRegisterCheckItemManyDto> input)
{
throw new Exception("禁止");
if (!input.Any())
{
throw new UserFriendlyException("请求参数有误");

1
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<RegisterCheckSuggestion> dtolist = ObjectMapper.Map<List<CreateRegisterCheckSuggestion_Detail>, List<RegisterCheckSuggestion>>(input.Details);
// await _registerCheckSuggestionRepository.DeleteAsync(m => m.RegisterCheckId == input[0].RegisterCheckId, true);

1
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<RegisterCheckSummary> dtolist = ObjectMapper.Map<List<CreateRegisterCheckSummary_Detail>, List<RegisterCheckSummary>>(input.Details);

2
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<AsbitemDetail> AsbitemDetails { get; set; }
[InverseProperty(nameof(ItemResultMatch.Item))]

37
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;
}
}

49
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<RegisterCheckItem> _repository;
private readonly RegisterCheckItemAppService _appService;
private readonly ITestOutputHelper _output;
private readonly IUnitOfWorkManager _unitOfWorkManager;
public RegisterCheckItemAppServiceTest(ITestOutputHelper testOutputHelper)
{
_output = testOutputHelper;
_unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();
_repository = GetRequiredService<IRepository<RegisterCheckItem>>();
_appService = GetRequiredService<RegisterCheckItemAppService>();
}
[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();
}
}
}
}
Loading…
Cancel
Save