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 =>
{