|
|
|
@ -52,6 +52,7 @@ namespace Shentun.Peis.LisRequests |
|
|
|
private readonly IRepository<LisRequest, Guid> _lisRequestRepository; |
|
|
|
private readonly SysParmValueManager _sysParmValueManager; |
|
|
|
private readonly IUnitOfWorkManager _unitOfWorkManager; |
|
|
|
private readonly ICurrentUser _currentUser; |
|
|
|
public LisRequestAppService( |
|
|
|
IRepository<IdentityUser, Guid> userRepository, |
|
|
|
IRepository<PatientRegister, Guid> patientRegisterRepository, |
|
|
|
@ -71,7 +72,8 @@ namespace Shentun.Peis.LisRequests |
|
|
|
IRepository<ItemType, Guid> itemTypeRepository, |
|
|
|
IRepository<LisRequest, Guid> lisRequestRepository, |
|
|
|
SysParmValueManager sysParmValueManager, |
|
|
|
IUnitOfWorkManager unitOfWorkManager) |
|
|
|
IUnitOfWorkManager unitOfWorkManager, |
|
|
|
ICurrentUser currentUser) |
|
|
|
{ |
|
|
|
this._userRepository = userRepository; |
|
|
|
this._patientRegisterRepository = patientRegisterRepository; |
|
|
|
@ -92,6 +94,7 @@ namespace Shentun.Peis.LisRequests |
|
|
|
_lisRequestRepository = lisRequestRepository; |
|
|
|
_sysParmValueManager = sysParmValueManager; |
|
|
|
_unitOfWorkManager = unitOfWorkManager; |
|
|
|
_currentUser = currentUser; |
|
|
|
} |
|
|
|
|
|
|
|
[HttpPost("api/app/LisRequest/GetListInFilter")] |
|
|
|
@ -749,7 +752,75 @@ namespace Shentun.Peis.LisRequests |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 设置人员的检验项目的采样信息
|
|
|
|
/// </summary>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost("api/app/LisRequest/SetLisRequestSamplerStatus")] |
|
|
|
public async Task SetLisRequestSamplerStatusAsync(SetLisRequestSamplerStatusInputDto input) |
|
|
|
{ |
|
|
|
var lisRequestNoPrintMode = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "lis_request_no_print_mode"); |
|
|
|
if (string.IsNullOrWhiteSpace(lisRequestNoPrintMode)) |
|
|
|
lisRequestNoPrintMode = "0"; |
|
|
|
|
|
|
|
if (lisRequestNoPrintMode == "0") |
|
|
|
{ |
|
|
|
if (input.LisRequestNos.Any()) |
|
|
|
{ |
|
|
|
//检验条码
|
|
|
|
var lisRequestList = await _lisRequestRepository.GetListAsync(m => input.LisRequestNos.Contains(m.LisRequestNo)); |
|
|
|
lisRequestList.ForEach(lisRequest => |
|
|
|
{ |
|
|
|
if (_currentUser.Id != null) |
|
|
|
lisRequest.SamplerId = _currentUser.Id; |
|
|
|
lisRequest.SamplingTime = DateTime.Now; |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
await _lisRequestRepository.UpdateManyAsync(lisRequestList); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
//人员条码
|
|
|
|
if (input.LisRequestNos.Any()) |
|
|
|
{ |
|
|
|
var patientRegisterNo = input.LisRequestNos.First(); |
|
|
|
|
|
|
|
var query = 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 lisRequest in await _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitem.LisRequestId equals lisRequest.Id |
|
|
|
where patientRegister.PatientRegisterNo == patientRegisterNo |
|
|
|
select new |
|
|
|
{ |
|
|
|
lisRequest |
|
|
|
}; |
|
|
|
|
|
|
|
if (input.SampleTypeIds.Any()) |
|
|
|
{ |
|
|
|
query = query.Where(m => input.SampleTypeIds.Contains(m.lisRequest.SampleTypeId)); |
|
|
|
} |
|
|
|
|
|
|
|
var lisRequestList = query.Select(s => s.lisRequest).ToList(); |
|
|
|
|
|
|
|
if (lisRequestList.Any()) |
|
|
|
{ |
|
|
|
foreach (var lisRequest in lisRequestList) |
|
|
|
{ |
|
|
|
if (_currentUser.Id != null) |
|
|
|
lisRequest.SamplerId = _currentUser.Id; |
|
|
|
lisRequest.SamplingTime = DateTime.Now; |
|
|
|
} |
|
|
|
|
|
|
|
await _lisRequestRepository.UpdateManyAsync(lisRequestList); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |