From c387c48029e340b1d3bbd77d7596086b9afed338 Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Sun, 28 Apr 2024 22:50:16 +0800 Subject: [PATCH] =?UTF-8?q?lis=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LisRequests/LisRequestDto.cs | 28 +++ .../LisRequests/LisRequestIdInputDto.cs | 11 + .../LisRequests/LisRequestAppService.cs | 172 +++++++++++--- .../PrintReports/PrintReportAppService.cs | 108 +++++++-- .../Enums/CheckTypeFlag.cs | 22 ++ .../LisRequests/LisRequestManager.cs | 211 +++++++++++------- .../PrintReports/LisRequestReportDto.cs | 57 ++++- .../EntityFrameworkCore/PeisDbContext.cs | 17 +- .../Shentun.Peis.EntityFrameworkCore.csproj | 1 + .../PrintReportAppServiceTest.cs | 2 +- .../Shentun.Peis.Application.Tests.csproj | 5 + .../appsettings.json | 32 +++ .../LisRequestManagerTest.cs | 2 +- .../PeisEntityFrameworkCoreTestModule.cs | 4 +- 14 files changed, 529 insertions(+), 143 deletions(-) create mode 100644 src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestIdInputDto.cs create mode 100644 src/Shentun.Peis.Domain.Shared/Enums/CheckTypeFlag.cs create mode 100644 test/Shentun.Peis.Application.Tests/appsettings.json diff --git a/src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestDto.cs b/src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestDto.cs index cffacf62..a8afa066 100644 --- a/src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestDto.cs +++ b/src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestDto.cs @@ -38,6 +38,34 @@ namespace Shentun.Peis.LisRequests /// public short? Age { get; set; } + /// + /// 是否已打印 + /// + public char IsPrint { get; set; } + /// + /// 采样人姓名 + /// + public string? SamplerName { get; set; } + /// + /// 采样时间 + /// + public DateTime? SamplingTime { get; set; } + /// + /// 是签收 + /// + public char IsSignIn { get; set; } + /// + /// 签收顺序 + /// + public int? SignInOrder { get; set; } + /// + /// 签收人姓名 + /// + public string? SignInPerson { get; set; } + /// + /// 签收时间 + /// + public DateTime? SignInTime { get; set; } /// /// 标本类型名称 /// diff --git a/src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestIdInputDto.cs b/src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestIdInputDto.cs new file mode 100644 index 00000000..40dd6dc7 --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/LisRequests/LisRequestIdInputDto.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shentun.Peis.LisRequests +{ + public class LisRequestIdInputDto + { + public Guid LisRequestId { get; set; } + } +} diff --git a/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs b/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs index e3d4d53b..3002aa96 100644 --- a/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs +++ b/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs @@ -5,6 +5,7 @@ using Microsoft.EntityFrameworkCore; using Shentun.Peis.CustomerOrgs; using Shentun.Peis.Enums; using Shentun.Peis.Models; +using Shentun.Peis.PatientRegisters; using Shentun.Peis.PrintReports; using System; using System.Collections.Generic; @@ -34,6 +35,7 @@ namespace Shentun.Peis.LisRequests private readonly IRepository _registerCheckRepository; private readonly IRepository _registerCheckAsbitemRepository; private readonly IRepository _asbitemRepository; + private readonly IRepository _itemTypeRepository; private readonly ILisRequestReportRepository _lisRequestReportRepository; private readonly LisRequestManager _lisRequestManager; private readonly IRepository _sampleGroupRepository; @@ -58,7 +60,8 @@ namespace Shentun.Peis.LisRequests IRepository sampleContainerRepository, IRepository sampleTypeRepository, IRepository sampleGroupRepository, - IRepository sampleGroupDetailRepository + IRepository sampleGroupDetailRepository, + IRepository itemTypeRepository ) { this._userRepository = userRepository; @@ -76,6 +79,7 @@ namespace Shentun.Peis.LisRequests _sampleTypeRepository = sampleTypeRepository; _sampleGroupRepository = sampleGroupRepository; _sampleGroupDetailRepository = sampleGroupDetailRepository; + _itemTypeRepository = itemTypeRepository; } [HttpPost("api/app/LisRequest/GetListInFilter")] @@ -85,7 +89,7 @@ namespace Shentun.Peis.LisRequests //Stopwatch stopwatch = Stopwatch.StartNew(); //stopwatch.Start(); - + throw new UserFriendlyException("接口已禁止"); #region MyRegion var patientRegisterQuery = (await _patientRegisterRepository.GetQueryableAsync()).Include(x => x.Patient).AsQueryable(); @@ -203,6 +207,7 @@ namespace Shentun.Peis.LisRequests [HttpPost("api/app/LisRequest/GetListByFilter")] public async Task> GetListByFilterAsync(GetLisRequestListDto input) { + throw new UserFriendlyException("禁止启用"); //var customerOrgList = await _customerOrgRepository.GetListAsync(); //Stopwatch stopwatch = Stopwatch.StartNew(); @@ -263,11 +268,17 @@ namespace Shentun.Peis.LisRequests var sampleGroups = await _sampleGroupRepository.GetListAsync(); var _sampleGroupDetail = await _sampleGroupDetailRepository.GetListAsync(); var patientRegisterRequests = ( - from patientRegister in patientRegisterQuery + from patientRegister in patientRegisterQuery join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + join asbitem in await _asbitemRepository.GetQueryableAsync() + on registerCheckAsbitem.AsbitemId equals asbitem.Id + join itemType in await _itemTypeRepository.GetQueryableAsync() + on asbitem.ItemTypeId equals itemType.Id + where itemType.CheckTypeFlag == CheckTypeFlag.Laboratory && + registerCheck.CompleteFlag == RegisterCheckCompleteFlag.UnChecked select new { patientRegister, @@ -281,7 +292,7 @@ namespace Shentun.Peis.LisRequests { var registerCheckAsbitems = patientRegisterRequests.Select(o=>o.registerCheckAsbitem) .Where(o => o.PatientRegisterId == patientRegister.Id).Distinct().ToList(); - _lisRequestManager.Create(patientRegister, registerCheckAsbitems, sampleGroups, _sampleGroupDetail + _lisRequestManager.SetLisRequest(patientRegister, registerCheckAsbitems, sampleGroups, _sampleGroupDetail , out var updateRegisterCheckAsbitems, out var createLisRequests); createLisRequestList.AddRange(createLisRequests); updateRegisterCheckAsbitemList.AddRange(updateRegisterCheckAsbitems); @@ -290,9 +301,8 @@ namespace Shentun.Peis.LisRequests await _registerCheckAsbitemRepository.UpdateManyAsync(updateRegisterCheckAsbitemList, true); //返回检索到的数据 - var list = (from patient in await _patientRepository.GetQueryableAsync() - join patientRegister in patientRegisterQuery - on patient.Id equals patientRegister.PatientId + var list = ( + from patientRegister in patientRegisterQuery join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() @@ -307,7 +317,6 @@ namespace Shentun.Peis.LisRequests on lisRequest.SampleTypeId equals sampleType.Id select new { - patient, patientRegister, asbitem, lisRequest, @@ -326,7 +335,7 @@ namespace Shentun.Peis.LisRequests { Id = lisRequestId.Id, LisRequestNo = patient.lisRequest.LisRequestNo, - PatientNo = patient.patient.PatientNo, + PatientNo = patient.patientRegister.Patient.PatientNo, PatientRegisterNo = patient.patientRegister.PatientRegisterNo, PatientName = patient.patientRegister.PatientName, SexName = _cacheService.GetSexNameAsync(patient.patientRegister.SexId).Result, @@ -349,37 +358,140 @@ namespace Shentun.Peis.LisRequests /// /// 生成检验申请单 首次自动生成 /// - /// 人员登记ID + /// 人员登记ID /// [HttpPost("api/app/LisRequest/SetLisRequest")] [RemoteService(false)] - public async Task> SetLisRequestAsync(Guid PatientRegisterId) + public async Task> SetLisRequestAsync(PatientRegisterIdInputDto input) { - var entlist = await _lisRequestManager.SetLisRequestAsync(PatientRegisterId); + var entlist = await _lisRequestManager.SetLisRequestAsync(input.PatientRegisterId); + + var list = ( + from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + join registerCheck in await _registerCheckRepository.GetQueryableAsync() + on patientRegister.Id equals registerCheck.PatientRegisterId + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() + on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + join asbitem in await _asbitemRepository.GetQueryableAsync() + on registerCheckAsbitem.AsbitemId equals asbitem.Id + join lisRequest in await _lisRequestReportRepository.GetQueryableAsync() + on registerCheckAsbitem.LisRequestId equals lisRequest.Id + join sampleContainer in await _sampleContainerRepository.GetQueryableAsync() + on lisRequest.SampleContainerId equals sampleContainer.Id + join sampleType in await _sampleTypeRepository.GetQueryableAsync() + on lisRequest.SampleTypeId equals sampleType.Id + where patientRegister.Id == input.PatientRegisterId + select new + { + patientRegister, + asbitem, + lisRequest, + sampleContainer, + sampleType + }).ToList(); + + var lisRequestIds = list.Select(o => new { Id = o.lisRequest.Id }).Distinct().ToList(); - var entlistdto = entlist.Select(s => new SetLisRequestDto + var lisRequestDtoList = new List(); + foreach (var lisRequestId in lisRequestIds) { - CreationTime = s.CreationTime, - CreatorId = s.CreatorId, - CreatorName = _cacheService.GetUserNameAsync(s.CreatorId).Result, - Id = s.Id, - IsPrint = s.IsPrint, - IsSignIn = s.IsSignIn, - LastModificationTime = s.LastModificationTime, - LastModifierId = s.LastModifierId, - LastModifierName = _cacheService.GetUserNameAsync(s.LastModifierId).Result, - LisRequestNo = s.LisRequestNo, - SamplerName = _cacheService.GetUserNameAsync(s.SamplerId).Result, - SamplingTime = s.SamplingTime, - SignInOrder = s.SignInOrder, - SignInPerson = s.SignInPerson, - SignInTime = s.SignInTime - }).ToList(); - return entlistdto; + var patientList = list.Where(o => o.lisRequest.Id == lisRequestId.Id).Distinct().ToList(); + var patient = patientList.First(); + var lisRequestDto = new LisRequestDto() + { + Id = lisRequestId.Id, + LisRequestNo = patient.lisRequest.LisRequestNo, + PatientNo = patient.patientRegister.Patient.PatientNo, + PatientRegisterNo = patient.patientRegister.PatientRegisterNo, + PatientName = patient.patientRegister.PatientName, + SexName = _cacheService.GetSexNameAsync(patient.patientRegister.SexId).Result, + Age = patient.patientRegister.Age, + IsPrint = patient.lisRequest.IsPrint, + IsSignIn = patient.lisRequest.IsSignIn, + SamplingTime = patient.lisRequest.SamplingTime, + SignInOrder = patient.lisRequest.SignInOrder, + SignInPerson = patient.lisRequest.SignInPerson, + SignInTime = patient.lisRequest.SignInTime, + + SampleTypeName = patient.sampleType.DisplayName, + SampleContainerName = patient.sampleContainer.DisplayName, + ContainerColor = patient.sampleContainer.ContainerColor, + SampleContainerRemark = patient.sampleContainer.ContainerRemark, + AsbitemNames = string.Join(",", patientList.OrderBy(o => o.asbitem.DisplayOrder).Select(o => o.asbitem.DisplayName).Distinct()), + CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(patient.patientRegister.CustomerOrgId).Result.DisplayName, + DepartmentName = _cacheService.GetCustomerOrgNameAsync(patient.patientRegister.CustomerOrgId).Result + }; + lisRequestDtoList.Add(lisRequestDto); + } + lisRequestDtoList = lisRequestDtoList.OrderBy(o => o.PatientNo).ToList(); + + + return lisRequestDtoList; } + [HttpPost("api/app/LisRequest/GetLisRequestByPatientRegisterId")] + public async Task GetLisRequestByPatientRegisterIdAsync(LisRequestIdInputDto input) + { + var list = ( + from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + join registerCheck in await _registerCheckRepository.GetQueryableAsync() + on patientRegister.Id equals registerCheck.PatientRegisterId + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() + on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + join asbitem in await _asbitemRepository.GetQueryableAsync() + on registerCheckAsbitem.AsbitemId equals asbitem.Id + join lisRequest in await _lisRequestReportRepository.GetQueryableAsync() + on registerCheckAsbitem.LisRequestId equals lisRequest.Id + join sampleContainer in await _sampleContainerRepository.GetQueryableAsync() + on lisRequest.SampleContainerId equals sampleContainer.Id + join sampleType in await _sampleTypeRepository.GetQueryableAsync() + on lisRequest.SampleTypeId equals sampleType.Id + where lisRequest.Id == input.LisRequestId + select new + { + patientRegister, + asbitem, + lisRequest, + sampleContainer, + sampleType + + }).Distinct().ToList(); + if(!list.Any() ) + { + return null; + } + var lisRequestDtoList = new List(); + var patient = list.First(); + var lisRequestDto = new LisRequestDto() + { + Id = input.LisRequestId, + LisRequestNo = patient.lisRequest.LisRequestNo, + PatientNo = patient.patientRegister.Patient.PatientNo, + PatientRegisterNo = patient.patientRegister.PatientRegisterNo, + PatientName = patient.patientRegister.PatientName, + SexName = _cacheService.GetSexNameAsync(patient.patientRegister.SexId).Result, + Age = patient.patientRegister.Age, + IsPrint = patient.lisRequest.IsPrint, + IsSignIn = patient.lisRequest.IsSignIn, + SamplingTime = patient.lisRequest.SamplingTime, + SignInOrder = patient.lisRequest.SignInOrder, + SignInPerson = patient.lisRequest.SignInPerson, + SignInTime = patient.lisRequest.SignInTime, + + SampleTypeName = patient.sampleType.DisplayName, + SampleContainerName = patient.sampleContainer.DisplayName, + ContainerColor = patient.sampleContainer.ContainerColor, + SampleContainerRemark = patient.sampleContainer.ContainerRemark, + AsbitemNames = string.Join(",", list.OrderBy(o => o.asbitem.DisplayOrder).Select(o => o.asbitem.DisplayName).Distinct()), + CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(patient.patientRegister.CustomerOrgId).Result.DisplayName, + DepartmentName = _cacheService.GetCustomerOrgNameAsync(patient.patientRegister.CustomerOrgId).Result + }; + + + return lisRequestDto; + } /// /// 追加项目到检验单 如lisrequest内有项目完成体检或者弃检 不允许追加 /// diff --git a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs index f4b41461..08d08063 100644 --- a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs +++ b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using NPOI.POIFS.Properties; using NUglify.Helpers; using Shentun.Peis.Enums; using Shentun.Peis.LisRequests; @@ -155,7 +156,7 @@ namespace Shentun.Peis.PrintReports /// /// [HttpPost("api/app/printreport/GetLisRequestReport")] - public async Task> GetLisRequestReportAsync(PatientRegisterIdInputDto input) + public async Task> GetLisRequestReportByPatientRegisterIdAsync(PatientRegisterIdInputDto input) { //生成LIS条码 await _lisRequestManager.SetLisRequestAsync(input.PatientRegisterId); @@ -164,48 +165,54 @@ namespace Shentun.Peis.PrintReports var customerOrgList = await _customerOrgRepository.GetListAsync(); var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() - join sex in await _sexRegisterRepository.GetQueryableAsync() on patientRegister.SexId equals sex.Id into xx - from sexHaveEmpty in xx.DefaultIfEmpty() + join sex in await _sexRegisterRepository.GetQueryableAsync() on patientRegister.SexId equals sex.Id join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on patientRegister.Id equals registerCheckAsbitem.PatientRegisterId into bb from registerCheckAsbitemHaveEmpty in bb.DefaultIfEmpty() join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitemHaveEmpty.AsbitemId equals asbitem.Id into ff from asbitemHaveEmpty in ff.DefaultIfEmpty() - join lisRequest in await _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitemHaveEmpty.LisRequestId equals lisRequest.Id into cc - from lisRequestHaveEmpty in cc.DefaultIfEmpty() - join sampleContainer in await _sampleContainerRepository.GetQueryableAsync() on lisRequestHaveEmpty.SampleContainerId equals sampleContainer.Id into dd + join lisRequest in await _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitemHaveEmpty.LisRequestId equals lisRequest.Id + join sampleContainer in await _sampleContainerRepository.GetQueryableAsync() on lisRequest.SampleContainerId equals sampleContainer.Id into dd from sampleContainerHaveEmpty in dd.DefaultIfEmpty() - join sampleType in await _sampleTypeRepository.GetQueryableAsync() on lisRequestHaveEmpty.SampleTypeId equals sampleType.Id into ee + join sampleType in await _sampleTypeRepository.GetQueryableAsync() on lisRequest.SampleTypeId equals sampleType.Id into ee from sampleTypeHaveEmpty in ee.DefaultIfEmpty() where (patientRegister.Id == input.PatientRegisterId && registerCheckAsbitemHaveEmpty.LisRequestId != null) select new { patientRegister, - sexHaveEmpty, + sex, registerCheckAsbitemHaveEmpty, asbitemHaveEmpty, - lisRequestHaveEmpty, + lisRequest, sampleContainerHaveEmpty, sampleTypeHaveEmpty } ).ToList(); var lisRequestReportDtoList = query.Select(o => new LisRequestReportDto { + LisRequestId = o.lisRequest.Id, Age = o.patientRegister.Age, AsbitemNames = string.IsNullOrEmpty(o.asbitemHaveEmpty.ShortName) ? o.asbitemHaveEmpty.DisplayName : o.asbitemHaveEmpty.ShortName, - LisRequestNo = o.lisRequestHaveEmpty.LisRequestNo, + LisRequestNo = o.lisRequest.LisRequestNo, PatientName = o.patientRegister.PatientName, PatientRegisterNo = o.patientRegister.PatientRegisterNo, SampleContainerName = (o.sampleContainerHaveEmpty==null)?"": o.sampleContainerHaveEmpty.DisplayName, ContainerColor = (o.sampleContainerHaveEmpty == null)? 16777215:o.sampleContainerHaveEmpty.ContainerColor, SampleContainerRemark = (o.sampleContainerHaveEmpty == null) ? "":o.sampleContainerHaveEmpty.ContainerRemark, SampleTypeName = (o.sampleTypeHaveEmpty == null)?"":o.sampleTypeHaveEmpty.DisplayName, - SexName = o.sexHaveEmpty.DisplayName, + SexName = o.sex.DisplayName, CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(o.patientRegister.CustomerOrgId).Result.DisplayName, - DepartmentName = _cacheService.GetCustomerOrgNameAsync(o.patientRegister.CustomerOrgId).Result + DepartmentName = _cacheService.GetCustomerOrgNameAsync(o.patientRegister.CustomerOrgId).Result, + IsPrint = o.lisRequest.IsPrint, + IsSignIn = o.lisRequest.IsSignIn, + SamplingTime = o.lisRequest.SamplingTime, + SignInOrder = o.lisRequest.SignInOrder, + SignInPerson = o.lisRequest.SignInPerson, + SignInTime = o.lisRequest.SignInTime, }).ToList(); var entlist = lisRequestReportDtoList.GroupBy(g => new { + g.LisRequestId, g.LisRequestNo, g.Age, g.PatientName, @@ -216,10 +223,17 @@ namespace Shentun.Peis.PrintReports g.SampleTypeName, g.SexName, g.CustomerOrgName, - g.DepartmentName + g.DepartmentName, + g.IsPrint, + g.IsSignIn, + g.SamplingTime, + g.SignInOrder, + g.SignInPerson, + g.SignInTime }) .Select(s => new LisRequestReportDto { + LisRequestId = s.Key.LisRequestId, SexName = s.Key.SexName, SampleTypeName = s.Key.SampleTypeName, SampleContainerRemark = s.Key.SampleContainerRemark, @@ -231,13 +245,79 @@ namespace Shentun.Peis.PrintReports LisRequestNo = s.Key.LisRequestNo, CustomerOrgName = s.Key.CustomerOrgName, DepartmentName = s.Key.DepartmentName, - AsbitemNames = string.Join(",", s.Select(d => d.AsbitemNames)) + AsbitemNames = string.Join(",", s.Select(d => d.AsbitemNames)), + IsPrint = s.Key.IsPrint, + IsSignIn = s.Key.IsSignIn, + SamplingTime = s.Key.SamplingTime, + SignInOrder = s.Key.SignInOrder, + SignInPerson = s.Key.SignInPerson, + SignInTime = s.Key.SignInTime, }).ToList(); return entlist; } + [HttpPost("api/app/LisRequest/GetLisRequestByPatientRegisterId")] + public async Task GetLisRequestByLisRequestIdAsync(LisRequestIdInputDto input) + { + var list = ( + from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + join registerCheck in await _registerCheckRepository.GetQueryableAsync() + on patientRegister.Id equals registerCheck.PatientRegisterId + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() + on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + join asbitem in await _asbitemRepository.GetQueryableAsync() + on registerCheckAsbitem.AsbitemId equals asbitem.Id + join lisRequest in await _lisRequestReportRepository.GetQueryableAsync() + on registerCheckAsbitem.LisRequestId equals lisRequest.Id + join sampleContainer in await _sampleContainerRepository.GetQueryableAsync() + on lisRequest.SampleContainerId equals sampleContainer.Id + join sampleType in await _sampleTypeRepository.GetQueryableAsync() + on lisRequest.SampleTypeId equals sampleType.Id + where lisRequest.Id == input.LisRequestId + select new + { + patientRegister, + asbitem, + lisRequest, + sampleContainer, + sampleType + + }).Distinct().ToList(); + if (!list.Any()) + { + return null; + } + var lisRequestDtoList = new List(); + var patient = list.First(); + var lisRequestDto = new LisRequestReportDto() + { + LisRequestId = input.LisRequestId, + LisRequestNo = patient.lisRequest.LisRequestNo, + PatientNo = patient.patientRegister.Patient.PatientNo, + PatientRegisterNo = patient.patientRegister.PatientRegisterNo, + PatientName = patient.patientRegister.PatientName, + SexName = _cacheService.GetSexNameAsync(patient.patientRegister.SexId).Result, + Age = patient.patientRegister.Age, + IsPrint = patient.lisRequest.IsPrint, + IsSignIn = patient.lisRequest.IsSignIn, + SamplingTime = patient.lisRequest.SamplingTime, + SignInOrder = patient.lisRequest.SignInOrder, + SignInPerson = patient.lisRequest.SignInPerson, + SignInTime = patient.lisRequest.SignInTime, + + SampleTypeName = patient.sampleType.DisplayName, + SampleContainerName = patient.sampleContainer.DisplayName, + ContainerColor = patient.sampleContainer.ContainerColor, + SampleContainerRemark = patient.sampleContainer.ContainerRemark, + AsbitemNames = string.Join(",", list.OrderBy(o => o.asbitem.DisplayOrder).Select(o => o.asbitem.DisplayName).Distinct()), + CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(patient.patientRegister.CustomerOrgId).Result.DisplayName, + DepartmentName = _cacheService.GetCustomerOrgNameAsync(patient.patientRegister.CustomerOrgId).Result + }; + + return lisRequestDto; + } /// /// 打印体检报告 /// diff --git a/src/Shentun.Peis.Domain.Shared/Enums/CheckTypeFlag.cs b/src/Shentun.Peis.Domain.Shared/Enums/CheckTypeFlag.cs new file mode 100644 index 00000000..d86c76b8 --- /dev/null +++ b/src/Shentun.Peis.Domain.Shared/Enums/CheckTypeFlag.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Text; + +namespace Shentun.Peis.Enums +{ + public class CheckTypeFlag + { + [Description("普通检查")] + public const char Regular = '0'; + + [Description("检验")] + public const char Laboratory = '1'; + + [Description("特检")] + public const char SpecialInspection = '2'; + + [Description("放射")] + public const char Radiology = '3'; + } +} diff --git a/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs b/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs index 1a65f330..36114c5a 100644 --- a/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs +++ b/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs @@ -21,18 +21,26 @@ namespace Shentun.Peis.LisRequests { public class LisRequestManager : DomainService { - private readonly IRepository _registerCheckAsbitemeRepository; + private readonly IRepository _patientRegisterRepository; + private readonly IRepository _registerCheckRepository; + private readonly IRepository _registerCheckAsbitemRepository; private readonly IRepository _sampleGroupRepository; private readonly IRepository _sampleGroupDetailRepository; + private readonly IRepository _asbitemRepository; + private readonly IRepository _itemTypeRepository; private readonly IRepository _sysParmValueRepository; private readonly IRepository _primarykeyBuilderRepository; private readonly IRepository _lisRequestRepository; private readonly IRepository _thirdInterfaceRepository; private readonly SysParmValueManager _sysParmValueManager; public LisRequestManager( - IRepository registerCheckAsbitemeRepository, + IRepository patientRegisterRepository, + IRepository registerCheckRepository, + IRepository registerCheckAsbitemRepository, IRepository sampleGroupRepository, IRepository sampleGroupDetailRepository, + IRepository asbitemRepository, + IRepository itemTypeRepository, IRepository sysParmValueRepository, IRepository primarykeyBuilderRepository, IRepository lisRequestRepository, @@ -40,7 +48,9 @@ namespace Shentun.Peis.LisRequests IRepository thirdInterfaceRepository ) { - this._registerCheckAsbitemeRepository = registerCheckAsbitemeRepository; + _patientRegisterRepository = patientRegisterRepository; + _registerCheckRepository = registerCheckRepository; + this._registerCheckAsbitemRepository = registerCheckAsbitemRepository; this._sampleGroupRepository = sampleGroupRepository; this._sampleGroupDetailRepository = sampleGroupDetailRepository; this._sysParmValueRepository = sysParmValueRepository; @@ -48,32 +58,50 @@ namespace Shentun.Peis.LisRequests this._lisRequestRepository = lisRequestRepository; _sysParmValueManager = sysParmValueManager; _thirdInterfaceRepository = thirdInterfaceRepository; + _asbitemRepository = asbitemRepository; + _itemTypeRepository = itemTypeRepository; } /// /// 生成检验申请单 /// - /// 人员登记ID + /// 人员登记ID /// - public async Task> SetLisRequestAsync(Guid PatientRegisterId) + public async Task> SetLisRequestAsync(Guid patientRegisterId) { - - List lisRequests = new List(); - //根据人员登记ID 查找登记的组合项目 - var registerCheckAsbitemList = (await _registerCheckAsbitemeRepository.GetQueryableAsync()) - .Include(x => x.Asbitem) - .Include(x => x.PatientRegister) - .Where(m => m.PatientRegisterId == PatientRegisterId && m.LisRequestId == null) - .ToList(); - - var registerCheckAsbitems = registerCheckAsbitemList.Select(o => o.Id).ToList(); - lisRequests = await AddLisRequestAsync(registerCheckAsbitems); - - return lisRequests; + var sampleGroups = await _sampleGroupRepository.GetListAsync(); + var _sampleGroupDetail = await _sampleGroupDetailRepository.GetListAsync(); + var patientRegisterRequests = ( + from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + join registerCheck in await _registerCheckRepository.GetQueryableAsync() + on patientRegister.Id equals registerCheck.PatientRegisterId + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() + on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + join asbitem in await _asbitemRepository.GetQueryableAsync() + on registerCheckAsbitem.AsbitemId equals asbitem.Id + join itemType in await _itemTypeRepository.GetQueryableAsync() + on asbitem.ItemTypeId equals itemType.Id + where patientRegister.Id == patientRegisterId + && itemType.CheckTypeFlag == CheckTypeFlag.Laboratory + && registerCheck.CompleteFlag == RegisterCheckCompleteFlag.UnChecked + select new + { + patientRegister, + registerCheckAsbitem + }).ToList(); + + var patientRegisterFirst = patientRegisterRequests.First().patientRegister; + var registerCheckAsbitems = patientRegisterRequests.Select(o => o.registerCheckAsbitem) + .Where(o => o.PatientRegisterId == patientRegisterFirst.Id).Distinct().ToList(); + + SetLisRequest(patientRegisterFirst, registerCheckAsbitems, sampleGroups, _sampleGroupDetail + , out var updateRegisterCheckAsbitems, out var createLisRequests); + + return createLisRequests; } - public void Create(PatientRegister patientRegister, + public void SetLisRequest(PatientRegister patientRegister, List registerCheckAsbitems, List sampleGroups, List sampleGroupDetails, @@ -155,12 +183,20 @@ namespace Shentun.Peis.LisRequests public async Task AppendLisRequestAsync(Guid LisRequestId, List RegisterCheckAsbitemIds) { //根据RegisterAsbitemId - var registerAsbitemInIdList = (await _registerCheckAsbitemeRepository.GetQueryableAsync()) + var registerCheckAsbitemInIdList = (await _registerCheckAsbitemRepository.GetQueryableAsync()) .Include(x => x.RegisterCheck) + .Include(x=>x.Asbitem) + .ThenInclude(x=>x.ItemType) .Where(m => RegisterCheckAsbitemIds.Contains(m.Id)).ToList(); - + foreach(var registerCheckAsbitem in registerCheckAsbitemInIdList) + { + if(registerCheckAsbitem.Asbitem.ItemType.CheckTypeFlag != CheckTypeFlag.Laboratory) + { + throw new UserFriendlyException($"{registerCheckAsbitem.Asbitem.DisplayName}不是检验项目"); + } + } //根据LisRequestId - var registerAsbitemInLisRequestIdList = (await _registerCheckAsbitemeRepository.GetQueryableAsync()) + var registerAsbitemInLisRequestIdList = (await _registerCheckAsbitemRepository.GetQueryableAsync()) .Include(x => x.RegisterCheck) .Where(m => m.LisRequestId == LisRequestId).ToList(); @@ -170,11 +206,11 @@ namespace Shentun.Peis.LisRequests throw new UserFriendlyException("当前条码项目已完成体检或已弃检"); } - if (registerAsbitemInIdList.Any()) + if (registerCheckAsbitemInIdList.Any()) { - registerAsbitemInIdList.ForEach(f => f.LisRequestId = LisRequestId); + registerCheckAsbitemInIdList.ForEach(f => f.LisRequestId = LisRequestId); - await _registerCheckAsbitemeRepository.UpdateManyAsync(registerAsbitemInIdList); + await _registerCheckAsbitemRepository.UpdateManyAsync(registerCheckAsbitemInIdList); } else { @@ -194,67 +230,84 @@ namespace Shentun.Peis.LisRequests { List lisRequests = new List(); //根据RegisterAsbitem表ID 查找登记的组合项目 - var registerAsbitemeList = (await _registerCheckAsbitemeRepository.GetQueryableAsync()) + var registerCheckAsbitemeList = (await _registerCheckAsbitemRepository.GetQueryableAsync()) .Include(x => x.Asbitem) + .ThenInclude(x => x.ItemType) .Include(x => x.PatientRegister) .Where(m => registerCheckAsbitemIds.Contains(m.Id)) .ToList(); - - if (registerAsbitemeList.Any()) + if(!registerCheckAsbitemeList.Any()) { - - //根据登记的组合ID 查找组合项目对应的条码分组 - var sampleGroupDetailList = await _sampleGroupDetailRepository.GetListAsync(m => registerAsbitemeList.Select(s => s.AsbitemId).Contains(m.AsbitemId)); - if (sampleGroupDetailList.Any()) + return null; + } + foreach (var registerCheckAsbitem in registerCheckAsbitemeList) + { + if (registerCheckAsbitem.Asbitem.ItemType.CheckTypeFlag != CheckTypeFlag.Laboratory) { - //查找条码分组信息 根据条码分组ID - var sampleGroupList = (await _sampleGroupRepository.GetQueryableAsync()) - .Include(x => x.SampleContainer) - .Include(x => x.SampleType) - .Where(m => sampleGroupDetailList.Select(s => s.SampleGroupId).Contains(m.Id)).ToList(); - - foreach (var sampleGroup in sampleGroupList) - { - //根据条码分组生成,一个条码分组生成一个检验单 - #region 生成检验申请单 - - var lisRequestEnt = new LisRequest - { - IsPrint = 'N', - IsSignIn = 'N', - LisRequestNo = await CreateLisRequestNo(registerAsbitemeList.FirstOrDefault().PatientRegister.MedicalCenterId), - SampleContainerId = sampleGroup.SampleContainerId, - SampleTypeId = sampleGroup.SampleTypeId - }; - - //生成检验申请单的新实体 - var lisRequestEnt_New = await _lisRequestRepository.InsertAsync(lisRequestEnt, true); - - lisRequests.Add(lisRequestEnt_New); - - #region 修改RegisterAsbitem表 LisRequestId - - //当前条码分组ID绑定的组合项目 - var AsbitemIds = sampleGroupDetailList.Where(m => m.SampleGroupId == sampleGroup.Id).Select(s => s.AsbitemId); - - //获取需要更新的RegisterCheckAsbitem数据 - var registerAsbitemeList_Update = await _registerCheckAsbitemeRepository.GetListAsync( - f => registerCheckAsbitemIds.Contains(f.Id) && AsbitemIds.Contains(f.AsbitemId)); - if (registerAsbitemeList_Update.Any()) - { - //更新LisRequestId - registerAsbitemeList_Update.ForEach(m => m.LisRequestId = lisRequestEnt_New.Id); - await _registerCheckAsbitemeRepository.UpdateManyAsync(registerAsbitemeList_Update); - } - - #endregion - - #endregion - } + throw new UserFriendlyException($"{registerCheckAsbitem.Asbitem.DisplayName}不是检验项目"); } } - - return lisRequests; + var sampleGroups = await _sampleGroupRepository.GetListAsync(); + var _sampleGroupDetail = await _sampleGroupDetailRepository.GetListAsync(); + var patientRegisterFirst = registerCheckAsbitemeList.First().PatientRegister; + + SetLisRequest(patientRegisterFirst, registerCheckAsbitemeList, sampleGroups, _sampleGroupDetail + , out var updateRegisterCheckAsbitems, out var createLisRequests); + //if (registerCheckAsbitemeList.Any()) + //{ + + // //根据登记的组合ID 查找组合项目对应的条码分组 + // var sampleGroupDetailList = await _sampleGroupDetailRepository.GetListAsync(m => registerCheckAsbitemeList.Select(s => s.AsbitemId).Contains(m.AsbitemId)); + // if (sampleGroupDetailList.Any()) + // { + // //查找条码分组信息 根据条码分组ID + // var sampleGroupList = (await _sampleGroupRepository.GetQueryableAsync()) + // .Include(x => x.SampleContainer) + // .Include(x => x.SampleType) + // .Where(m => sampleGroupDetailList.Select(s => s.SampleGroupId).Contains(m.Id)).ToList(); + + // foreach (var sampleGroup in sampleGroupList) + // { + // //根据条码分组生成,一个条码分组生成一个检验单 + // #region 生成检验申请单 + + // var lisRequestEnt = new LisRequest + // { + // IsPrint = 'N', + // IsSignIn = 'N', + // LisRequestNo = await CreateLisRequestNo(registerCheckAsbitemeList.FirstOrDefault().PatientRegister.MedicalCenterId), + // SampleContainerId = sampleGroup.SampleContainerId, + // SampleTypeId = sampleGroup.SampleTypeId + // }; + + // //生成检验申请单的新实体 + // var lisRequestEnt_New = await _lisRequestRepository.InsertAsync(lisRequestEnt, true); + + // lisRequests.Add(lisRequestEnt_New); + + // #region 修改RegisterAsbitem表 LisRequestId + + // //当前条码分组ID绑定的组合项目 + // var AsbitemIds = sampleGroupDetailList.Where(m => m.SampleGroupId == sampleGroup.Id).Select(s => s.AsbitemId); + + // //获取需要更新的RegisterCheckAsbitem数据 + // var registerAsbitemeList_Update = await _registerCheckAsbitemRepository.GetListAsync( + // f => registerCheckAsbitemIds.Contains(f.Id) && AsbitemIds.Contains(f.AsbitemId)); + // if (registerAsbitemeList_Update.Any()) + // { + // //更新LisRequestId + // registerAsbitemeList_Update.ForEach(m => m.LisRequestId = lisRequestEnt_New.Id); + // await _registerCheckAsbitemRepository.UpdateManyAsync(registerAsbitemeList_Update); + // } + + // #endregion + + // #endregion + // } + // } + //} + + return createLisRequests; } @@ -367,7 +420,7 @@ namespace Shentun.Peis.LisRequests SerialNo = maxnum }; - await _primarykeyBuilderRepository.InsertAsync(primarykeyBuilderEnt); + await _primarykeyBuilderRepository.InsertAsync(primarykeyBuilderEnt,true); } #endregion } diff --git a/src/Shentun.Peis.Domain/PrintReports/LisRequestReportDto.cs b/src/Shentun.Peis.Domain/PrintReports/LisRequestReportDto.cs index e21c1a5e..06e9df49 100644 --- a/src/Shentun.Peis.Domain/PrintReports/LisRequestReportDto.cs +++ b/src/Shentun.Peis.Domain/PrintReports/LisRequestReportDto.cs @@ -13,11 +13,28 @@ namespace Shentun.Peis.PrintReports /// public class LisRequestReportDto { + /// + /// LisRequest的ID + /// + public Guid LisRequestId { get; set; } /// /// 姓名 /// public string PatientName { get; set; } + /// + /// 检验申请单号 + /// + public string LisRequestNo { get; set; } + /// + /// 档案号 + /// + public string PatientNo { get; set; } + /// + /// 登记人员条码号 + /// + public string PatientRegisterNo { get; set; } + /// /// 性别 /// @@ -28,6 +45,34 @@ namespace Shentun.Peis.PrintReports /// public short? Age { get; set; } + /// + /// 是否已打印 + /// + public char IsPrint { get; set; } + /// + /// 采样人姓名 + /// + public string? SamplerName { get; set; } + /// + /// 采样时间 + /// + public DateTime? SamplingTime { get; set; } + /// + /// 是签收 + /// + public char IsSignIn { get; set; } + /// + /// 签收顺序 + /// + public int? SignInOrder { get; set; } + /// + /// 签收人姓名 + /// + public string? SignInPerson { get; set; } + /// + /// 签收时间 + /// + public DateTime? SignInTime { get; set; } /// /// 标本类型名称 /// @@ -36,6 +81,9 @@ namespace Shentun.Peis.PrintReports /// 标本容器名称 /// public string SampleContainerName { get; set; } + /// + /// 颜色值 + /// public int ContainerColor { get; set; } /// @@ -43,16 +91,7 @@ namespace Shentun.Peis.PrintReports /// public string? SampleContainerRemark { get; set; } - /// - /// 检验申请单号 - /// - public string LisRequestNo { get; set; } - - /// - /// 登记人员条码号 - /// - public string PatientRegisterNo { get; set; } /// /// 组合项目简称(多个“,”号隔开) diff --git a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs b/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs index a5c8eed6..478f5e91 100644 --- a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs +++ b/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs @@ -13,6 +13,7 @@ using Shentun.Peis.DbMapping.ThirdInterfaces; using Shentun.Peis.L_JYTMXX_TJs; using Shentun.Peis.Models; using Shentun.Peis.RoleMenuInfos; +using Shentun.Utilities; using System; using System.Collections.Generic; using System.IO; @@ -336,7 +337,7 @@ public class PeisDbContext : { } - //private readonly StreamWriter _logStream = new StreamWriter("sql_log.txt", append: true); + private readonly StreamWriter _logStream = new StreamWriter(DirectoryHelper.GetAppDirectory()+"\\sql_log.txt", append: true); protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { ////日志输出SQL语句 @@ -345,9 +346,9 @@ public class PeisDbContext : base.OnConfiguring(optionsBuilder); - //optionsBuilder + ////输出到控制台 - //.LogTo(System.Console.WriteLine, + //optionsBuilder.LogTo(System.Console.WriteLine, //new[] { Microsoft.EntityFrameworkCore.Diagnostics.RelationalEventId.CommandExecuting }). //EnableSensitiveDataLogging().EnableDetailedErrors(); ////输出到vs输出窗口 @@ -358,8 +359,10 @@ public class PeisDbContext : //optionsBuilder.LogTo(_logStream.WriteLine).EnableSensitiveDataLogging().EnableDetailedErrors(); ; ////日志输出SQL语句 //optionsBuilder.LogTo(Console.WriteLine, LogLevel.Debug) - // .EnableSensitiveDataLogging().LogTo((msg) => System.Diagnostics.Trace.WriteLine(msg), - // new[] { Microsoft.EntityFrameworkCore.Diagnostics.RelationalEventId.CommandExecuting });; + // .EnableSensitiveDataLogging().LogTo((msg) => System.Diagnostics.Trace.WriteLine(msg), + // new[] { Microsoft.EntityFrameworkCore.Diagnostics.RelationalEventId.CommandExecuting }); + + } protected override void OnModelCreating(ModelBuilder builder) @@ -753,13 +756,13 @@ public class PeisDbContext : public override void Dispose() { base.Dispose(); - //_logStream.Dispose(); + _logStream.Dispose(); } public override async ValueTask DisposeAsync() { await base.DisposeAsync(); - //await _logStream.DisposeAsync(); + await _logStream.DisposeAsync(); } //override ApplyAbpConceptsForAddedEntity diff --git a/src/Shentun.Peis.EntityFrameworkCore/Shentun.Peis.EntityFrameworkCore.csproj b/src/Shentun.Peis.EntityFrameworkCore/Shentun.Peis.EntityFrameworkCore.csproj index 1d4d423f..1f526d10 100644 --- a/src/Shentun.Peis.EntityFrameworkCore/Shentun.Peis.EntityFrameworkCore.csproj +++ b/src/Shentun.Peis.EntityFrameworkCore/Shentun.Peis.EntityFrameworkCore.csproj @@ -15,6 +15,7 @@ + diff --git a/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs b/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs index 38244c04..e35aa03d 100644 --- a/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs +++ b/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs @@ -33,7 +33,7 @@ namespace Shentun.Peis { using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true)) { - var items = await _appService.GetLisRequestReportAsync(new PatientRegisterIdInputDto() + var items = await _appService.GetLisRequestReportByPatientRegisterIdAsync(new PatientRegisterIdInputDto() { PatientRegisterId = new Guid("3a0d942e-f65d-3528-a9c0-e9ecd56db692") }); _output.WriteLine(items.Count().ToString()); foreach (var item in items) diff --git a/test/Shentun.Peis.Application.Tests/Shentun.Peis.Application.Tests.csproj b/test/Shentun.Peis.Application.Tests/Shentun.Peis.Application.Tests.csproj index f8ca8dd1..7a794e2a 100644 --- a/test/Shentun.Peis.Application.Tests/Shentun.Peis.Application.Tests.csproj +++ b/test/Shentun.Peis.Application.Tests/Shentun.Peis.Application.Tests.csproj @@ -9,6 +9,7 @@ + @@ -18,6 +19,10 @@ true PreserveNewest + + Always + PreserveNewest + PreserveNewest true diff --git a/test/Shentun.Peis.Application.Tests/appsettings.json b/test/Shentun.Peis.Application.Tests/appsettings.json new file mode 100644 index 00000000..f4ff1e40 --- /dev/null +++ b/test/Shentun.Peis.Application.Tests/appsettings.json @@ -0,0 +1,32 @@ +{ + "Logging": { + "LogLevel": { + "Microsoft.EntityFrameworkCore.Database.Command": "Debug" + } + }, + "ConnectionStrings": { + "Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123;" + }, + "OpenIddict": { + "Applications": { + "Peis_Web": { + "ClientId": "Peis_Web", + "ClientSecret": "1q2w3e*", + "RootUrl": "https://localhost:44328" + }, + "Peis_App": { + "ClientId": "Peis_App", + "RootUrl": "http://localhost:4200" + }, + "Peis_BlazorServerTiered": { + "ClientId": "Peis_BlazorServerTiered", + "ClientSecret": "1q2w3e*", + "RootUrl": "https://localhost:44383" + }, + "Peis_Swagger": { + "ClientId": "Peis_Swagger", + "RootUrl": "https://localhost:44399" + } + } + } +} \ No newline at end of file diff --git a/test/Shentun.Peis.Domain.Tests/LisRequestManagerTest.cs b/test/Shentun.Peis.Domain.Tests/LisRequestManagerTest.cs index 40231300..1e631b98 100644 --- a/test/Shentun.Peis.Domain.Tests/LisRequestManagerTest.cs +++ b/test/Shentun.Peis.Domain.Tests/LisRequestManagerTest.cs @@ -49,7 +49,7 @@ namespace Shentun.Peis var registerCheckAsbitems = await _registerCheckAsbitemRepository.GetListAsync(o => o.PatientRegisterId == patientRegister.Id); var sampleGroups = await _sampleGroupRepository.GetListAsync(); var _sampleGroupDetail = await _sampleGroupDetailRepository.GetListAsync(); - _manager.Create(patientRegister, registerCheckAsbitems, sampleGroups, _sampleGroupDetail + _manager.SetLisRequest(patientRegister, registerCheckAsbitems, sampleGroups, _sampleGroupDetail ,out var updateRegisterCheckAsbitems,out var createLisRequests); await _repository.InsertManyAsync(createLisRequests); diff --git a/test/Shentun.Peis.EntityFrameworkCore.Tests/EntityFrameworkCore/PeisEntityFrameworkCoreTestModule.cs b/test/Shentun.Peis.EntityFrameworkCore.Tests/EntityFrameworkCore/PeisEntityFrameworkCoreTestModule.cs index c4c6915c..199c37dc 100644 --- a/test/Shentun.Peis.EntityFrameworkCore.Tests/EntityFrameworkCore/PeisEntityFrameworkCoreTestModule.cs +++ b/test/Shentun.Peis.EntityFrameworkCore.Tests/EntityFrameworkCore/PeisEntityFrameworkCoreTestModule.cs @@ -40,8 +40,8 @@ public class PeisEntityFrameworkCoreTestModule : AbpModule } private void ConfigurePostGress(IServiceCollection services) { - string connectStr = "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123"; - //string connectStr = "Host=10.1.12.140;Port=5432;Database=ShentunPeis;User ID=postgres;Password=st123;"; + //string connectStr = "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123"; + string connectStr = "Host=10.1.12.140;Port=5432;Database=ShentunPeis;User ID=postgres;Password=st123;"; services.Configure(options => {