|
|
@ -653,104 +653,104 @@ namespace Shentun.Peis.LisRequests |
|
|
|
|
|
|
|
|
//生成LIS条码
|
|
|
//生成LIS条码
|
|
|
var lisRequests = await _lisRequestManager.SetLisRequestAsync(patientRegisterId); |
|
|
var lisRequests = await _lisRequestManager.SetLisRequestAsync(patientRegisterId); |
|
|
await _unitOfWorkManager.Current.SaveChangesAsync(); |
|
|
|
|
|
await _unitOfWorkManager.Current.CompleteAsync(); |
|
|
|
|
|
|
|
|
//await _unitOfWorkManager.Current.SaveChangesAsync();
|
|
|
|
|
|
//await _unitOfWorkManager.Current.CompleteAsync();
|
|
|
|
|
|
|
|
|
using (var uow = _unitOfWorkManager.Begin( |
|
|
|
|
|
requiresNew: false, isTransactional: false |
|
|
|
|
|
)) |
|
|
|
|
|
|
|
|
// using (var uow = _unitOfWorkManager.Begin(
|
|
|
|
|
|
// requiresNew: false, isTransactional: false
|
|
|
|
|
|
//))
|
|
|
|
|
|
// {
|
|
|
|
|
|
if (lisRequestNoPrintMode == "0") |
|
|
{ |
|
|
{ |
|
|
if (lisRequestNoPrintMode == "0") |
|
|
|
|
|
|
|
|
var query = (from lisRequest in await _lisRequestRepository.GetQueryableAsync() |
|
|
|
|
|
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on lisRequest.Id equals registerCheckAsbitem.LisRequestId |
|
|
|
|
|
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id |
|
|
|
|
|
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on registerCheckAsbitem.RegisterCheckId equals registerCheck.Id |
|
|
|
|
|
join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on registerCheck.PatientRegisterId equals patientRegister.Id |
|
|
|
|
|
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id |
|
|
|
|
|
where lisRequest.LisRequestNo == input.LisRequestNo |
|
|
|
|
|
select new |
|
|
|
|
|
{ |
|
|
|
|
|
lisRequest, |
|
|
|
|
|
registerCheckAsbitem, |
|
|
|
|
|
asbitem, |
|
|
|
|
|
registerCheck, |
|
|
|
|
|
patientRegister, |
|
|
|
|
|
patient |
|
|
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
if (query.Count == 0) |
|
|
{ |
|
|
{ |
|
|
var query = (from lisRequest in await _lisRequestRepository.GetQueryableAsync() |
|
|
|
|
|
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on lisRequest.Id equals registerCheckAsbitem.LisRequestId |
|
|
|
|
|
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id |
|
|
|
|
|
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on registerCheckAsbitem.RegisterCheckId equals registerCheck.Id |
|
|
|
|
|
join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on registerCheck.PatientRegisterId equals patientRegister.Id |
|
|
|
|
|
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id |
|
|
|
|
|
where lisRequest.LisRequestNo == input.LisRequestNo |
|
|
|
|
|
select new |
|
|
|
|
|
{ |
|
|
|
|
|
lisRequest, |
|
|
|
|
|
registerCheckAsbitem, |
|
|
|
|
|
asbitem, |
|
|
|
|
|
registerCheck, |
|
|
|
|
|
patientRegister, |
|
|
|
|
|
patient |
|
|
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
if (query.Count == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException("检验单号不存在"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
throw new UserFriendlyException("检验单号不存在"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
var patientRegisterGroup = query.GroupBy(g => g.patientRegister); |
|
|
|
|
|
|
|
|
var patientRegisterGroup = query.GroupBy(g => g.patientRegister); |
|
|
|
|
|
|
|
|
var resultDto = new LisPatientRegisterDto |
|
|
|
|
|
|
|
|
var resultDto = new LisPatientRegisterDto |
|
|
|
|
|
{ |
|
|
|
|
|
Age = patientRegisterGroup.FirstOrDefault().Key.Age, |
|
|
|
|
|
LisRequestNo = input.LisRequestNo, |
|
|
|
|
|
PatientName = patientRegisterGroup.FirstOrDefault().Key.PatientName, |
|
|
|
|
|
SexName = _cacheService.GetSexNameAsync(patientRegisterGroup.FirstOrDefault().Key.SexId).Result, |
|
|
|
|
|
SampleTypeName = _cacheService.GetSampleTypeNameAsync(patientRegisterGroup.FirstOrDefault().FirstOrDefault().lisRequest.SampleTypeId).Result, |
|
|
|
|
|
AsbitemDetail = patientRegisterGroup.FirstOrDefault().Select(ss => new LisPatientRegisterDetailDto |
|
|
{ |
|
|
{ |
|
|
Age = patientRegisterGroup.FirstOrDefault().Key.Age, |
|
|
|
|
|
LisRequestNo = input.LisRequestNo, |
|
|
|
|
|
PatientName = patientRegisterGroup.FirstOrDefault().Key.PatientName, |
|
|
|
|
|
SexName = _cacheService.GetSexNameAsync(patientRegisterGroup.FirstOrDefault().Key.SexId).Result, |
|
|
|
|
|
SampleTypeName = _cacheService.GetSampleTypeNameAsync(patientRegisterGroup.FirstOrDefault().FirstOrDefault().lisRequest.SampleTypeId).Result, |
|
|
|
|
|
AsbitemDetail = patientRegisterGroup.FirstOrDefault().Select(ss => new LisPatientRegisterDetailDto |
|
|
|
|
|
{ |
|
|
|
|
|
AsbitemId = ss.registerCheckAsbitem.AsbitemId, |
|
|
|
|
|
AsbitemName = ss.asbitem.DisplayName, |
|
|
|
|
|
AsbitemPrice = ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount |
|
|
|
|
|
}).ToList() |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
AsbitemId = ss.registerCheckAsbitem.AsbitemId, |
|
|
|
|
|
AsbitemName = ss.asbitem.DisplayName, |
|
|
|
|
|
AsbitemPrice = ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount |
|
|
|
|
|
}).ToList() |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
return resultDto; |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
|
|
|
return resultDto; |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
//人员条码模式
|
|
|
|
|
|
var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() |
|
|
|
|
|
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id |
|
|
|
|
|
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 _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitem.LisRequestId equals lisRequest.Id |
|
|
|
|
|
where patientRegister.PatientRegisterNo == input.LisRequestNo |
|
|
|
|
|
select new |
|
|
|
|
|
{ |
|
|
|
|
|
registerCheckAsbitem, |
|
|
|
|
|
asbitem, |
|
|
|
|
|
registerCheck, |
|
|
|
|
|
patientRegister, |
|
|
|
|
|
patient, |
|
|
|
|
|
lisRequest |
|
|
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
if (query.Count == 0) |
|
|
{ |
|
|
{ |
|
|
//人员条码模式
|
|
|
|
|
|
var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() |
|
|
|
|
|
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id |
|
|
|
|
|
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 _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitem.LisRequestId equals lisRequest.Id |
|
|
|
|
|
where patientRegister.PatientRegisterNo == input.LisRequestNo |
|
|
|
|
|
select new |
|
|
|
|
|
{ |
|
|
|
|
|
registerCheckAsbitem, |
|
|
|
|
|
asbitem, |
|
|
|
|
|
registerCheck, |
|
|
|
|
|
patientRegister, |
|
|
|
|
|
patient, |
|
|
|
|
|
lisRequest |
|
|
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
if (query.Count == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException("人员条码号不存在"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
throw new UserFriendlyException("人员条码号不存在"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
var patientRegisterGroup = query.GroupBy(g => g.patientRegister); |
|
|
|
|
|
|
|
|
var patientRegisterGroup = query.GroupBy(g => g.patientRegister); |
|
|
|
|
|
|
|
|
var resultDto = new LisPatientRegisterDto |
|
|
|
|
|
|
|
|
var resultDto = new LisPatientRegisterDto |
|
|
|
|
|
{ |
|
|
|
|
|
Age = patientRegisterGroup.FirstOrDefault().Key.Age, |
|
|
|
|
|
LisRequestNo = input.LisRequestNo, |
|
|
|
|
|
PatientName = patientRegisterGroup.FirstOrDefault().Key.PatientName, |
|
|
|
|
|
SexName = _cacheService.GetSexNameAsync(patientRegisterGroup.FirstOrDefault().Key.SexId).Result, |
|
|
|
|
|
SampleTypeName = _cacheService.GetSampleTypeNameAsync(patientRegisterGroup.FirstOrDefault().FirstOrDefault().lisRequest.SampleTypeId).Result, |
|
|
|
|
|
AsbitemDetail = patientRegisterGroup.FirstOrDefault().Select(ss => new LisPatientRegisterDetailDto |
|
|
{ |
|
|
{ |
|
|
Age = patientRegisterGroup.FirstOrDefault().Key.Age, |
|
|
|
|
|
LisRequestNo = input.LisRequestNo, |
|
|
|
|
|
PatientName = patientRegisterGroup.FirstOrDefault().Key.PatientName, |
|
|
|
|
|
SexName = _cacheService.GetSexNameAsync(patientRegisterGroup.FirstOrDefault().Key.SexId).Result, |
|
|
|
|
|
SampleTypeName = _cacheService.GetSampleTypeNameAsync(patientRegisterGroup.FirstOrDefault().FirstOrDefault().lisRequest.SampleTypeId).Result, |
|
|
|
|
|
AsbitemDetail = patientRegisterGroup.FirstOrDefault().Select(ss => new LisPatientRegisterDetailDto |
|
|
|
|
|
{ |
|
|
|
|
|
AsbitemId = ss.registerCheckAsbitem.AsbitemId, |
|
|
|
|
|
AsbitemName = ss.asbitem.DisplayName, |
|
|
|
|
|
AsbitemPrice = ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount, |
|
|
|
|
|
SamplingTime = DataHelper.ConversionDateToString(ss.lisRequest.SamplingTime) |
|
|
|
|
|
}).ToList() |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
return resultDto; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
AsbitemId = ss.registerCheckAsbitem.AsbitemId, |
|
|
|
|
|
AsbitemName = ss.asbitem.DisplayName, |
|
|
|
|
|
AsbitemPrice = ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount, |
|
|
|
|
|
SamplingTime = DataHelper.ConversionDateToString(ss.lisRequest.SamplingTime) |
|
|
|
|
|
}).ToList() |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
return resultDto; |
|
|
} |
|
|
} |
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|