From a29b06e1c8a27e40813f10bfc60559e141056361 Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Mon, 29 Apr 2024 23:04:03 +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 --- .../PrintReports/PrintReportAppService.cs | 16 +++++++--------- .../LisRequests/LisRequestManager.cs | 6 +++++- .../PrintReportAppServiceTest.cs | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs index 3d85a82..0af620a 100644 --- a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs +++ b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs @@ -172,23 +172,21 @@ namespace Shentun.Peis.PrintReports join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on patient.Id equals patientRegister.PatientId 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 + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on patientRegister.Id equals registerCheckAsbitem.PatientRegisterId + join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id + join lisRequest in await _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitem.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 lisRequest.SampleTypeId equals sampleType.Id into ee from sampleTypeHaveEmpty in ee.DefaultIfEmpty() - where (patientRegister.Id == input.PatientRegisterId && registerCheckAsbitemHaveEmpty.LisRequestId != null) + where (patientRegister.Id == input.PatientRegisterId && registerCheckAsbitem.LisRequestId != null) select new { patient, patientRegister, sex, - registerCheckAsbitemHaveEmpty, - asbitemHaveEmpty, + registerCheckAsbitem, + asbitem, lisRequest, sampleContainerHaveEmpty, sampleTypeHaveEmpty @@ -209,7 +207,7 @@ namespace Shentun.Peis.PrintReports LisRequestId = o.lisRequest.Id, PatientNo = o.patient.PatientNo, Age = o.patientRegister.Age, - AsbitemNames = string.IsNullOrEmpty(o.asbitemHaveEmpty.ShortName) ? o.asbitemHaveEmpty.DisplayName : o.asbitemHaveEmpty.ShortName, + AsbitemNames = string.IsNullOrEmpty(o.asbitem.ShortName) ? o.asbitem.DisplayName : o.asbitem.ShortName, LisRequestNo = o.lisRequest.LisRequestNo, PatientName = o.patientRegister.PatientName, PatientRegisterNo = o.patientRegister.PatientRegisterNo, diff --git a/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs b/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs index 69f0c8e..b0d5506 100644 --- a/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs +++ b/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs @@ -4,6 +4,7 @@ using Microsoft.Extensions.Configuration; using Shentun.Peis.Enums; using Shentun.Peis.Models; using Shentun.Peis.PlugIns; +using Shentun.Peis.PrintReports; using Shentun.Peis.SysParmValues; using System; using System.Collections.Generic; @@ -101,7 +102,8 @@ namespace Shentun.Peis.LisRequests SetLisRequest(patientRegisterFirst, registerCheckAsbitems, sampleGroups, _sampleGroupDetail , out var updateRegisterCheckAsbitems, out var createLisRequests); - + await _lisRequestRepository.InsertManyAsync(createLisRequests, true); + await _registerCheckAsbitemRepository.UpdateManyAsync(updateRegisterCheckAsbitems, true); return createLisRequests; } @@ -257,6 +259,8 @@ namespace Shentun.Peis.LisRequests SetLisRequest(patientRegisterFirst, registerCheckAsbitemeList, sampleGroups, _sampleGroupDetail , out var updateRegisterCheckAsbitems, out var createLisRequests); + await _lisRequestRepository.InsertManyAsync(createLisRequests, true); + await _registerCheckAsbitemRepository.UpdateManyAsync(updateRegisterCheckAsbitems, true); //if (registerCheckAsbitemeList.Any()) //{ diff --git a/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs b/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs index e31b4d2..86b1265 100644 --- a/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs +++ b/test/Shentun.Peis.Application.Tests/PrintReportAppServiceTest.cs @@ -34,7 +34,7 @@ namespace Shentun.Peis using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true)) { var items = await _appService.GetLisRequestReportByPatientRegisterIdAsync(new PatientRegisterIdInputDto() - { PatientRegisterId = new Guid("3a121793-cb40-49a6-17ab-5ba8ae323385") }); + { PatientRegisterId = new Guid("3a123c55-06de-4988-691c-448b5af468ff") }); _output.WriteLine(items.Count().ToString()); foreach (var item in items) {