|
|
|
@ -542,6 +542,86 @@ namespace Shentun.Peis.PrintReports |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 打印Pacs条码数据 单个条码打印
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="input"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost("api/app/PrintReport/GetPacsNoReportByCheckRequestNo")] |
|
|
|
public async Task<List<PacsNoReportDto>> GetPacsNoReportByCheckRequestNoAsync(PacsNoReportInputDto input) |
|
|
|
{ |
|
|
|
List<PacsNoReportDto> pacsNoReportDtos = new List<PacsNoReportDto>(); |
|
|
|
|
|
|
|
|
|
|
|
if (input.CheckRequestNos.Count > 0) |
|
|
|
{ |
|
|
|
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 asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id into asbitemTemp |
|
|
|
from asbitemHaveEmpty in asbitemTemp.DefaultIfEmpty() |
|
|
|
join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitemHaveEmpty.ItemTypeId equals itemType.Id into itemTypeTemp |
|
|
|
from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty() |
|
|
|
where (patientRegister.Id == input.PatientRegisterId |
|
|
|
&& !string.IsNullOrEmpty(registerCheck.CheckRequestNo) |
|
|
|
&& asbitemHaveEmpty.BarcodeMode != '2' |
|
|
|
) |
|
|
|
select new |
|
|
|
{ |
|
|
|
Age = patientRegister.Age, |
|
|
|
AsbitemName = asbitemHaveEmpty.DisplayName, |
|
|
|
CheckRequestNo = registerCheck.CheckRequestNo, |
|
|
|
PatientName = patientRegister.PatientName, |
|
|
|
PatientRegisterNo = patientRegister.PatientRegisterNo, |
|
|
|
SexName = _cacheService.GetSexNameAsync(patientRegister.SexId).Result, |
|
|
|
IsCheckRequest = itemTypeHaveEmpty != null ? itemTypeHaveEmpty.IsCheckRequest : 'N', |
|
|
|
BarcodeMode = asbitemHaveEmpty != null ? asbitemHaveEmpty.BarcodeMode : '0' |
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var queryGroup = query.GroupBy(g => g.CheckRequestNo); |
|
|
|
|
|
|
|
|
|
|
|
foreach (var s in queryGroup) |
|
|
|
{ |
|
|
|
if (s.Where(m => m.BarcodeMode == '0' && m.IsCheckRequest == 'Y').Count() > 0) |
|
|
|
{ |
|
|
|
pacsNoReportDtos.Add(new PacsNoReportDto |
|
|
|
{ |
|
|
|
Age = s.FirstOrDefault().Age, |
|
|
|
AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), |
|
|
|
CheckRequestNo = s.FirstOrDefault().CheckRequestNo, |
|
|
|
PatientName = s.FirstOrDefault().PatientName, |
|
|
|
PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, |
|
|
|
SexName = s.FirstOrDefault().SexName, |
|
|
|
CustomerOrgName = "", |
|
|
|
DepartmentName = "" |
|
|
|
}); |
|
|
|
} |
|
|
|
else if (s.Where(m => m.BarcodeMode == '1').Count() > 0) |
|
|
|
{ |
|
|
|
pacsNoReportDtos.Add(new PacsNoReportDto |
|
|
|
{ |
|
|
|
Age = s.FirstOrDefault().Age, |
|
|
|
AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), |
|
|
|
CheckRequestNo = s.FirstOrDefault().PatientRegisterNo, |
|
|
|
PatientName = s.FirstOrDefault().PatientName, |
|
|
|
PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, |
|
|
|
SexName = s.FirstOrDefault().SexName, |
|
|
|
CustomerOrgName = "", |
|
|
|
DepartmentName = "" |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
pacsNoReportDtos = pacsNoReportDtos.Where(m => input.CheckRequestNos.Contains(m.CheckRequestNo)).ToList(); |
|
|
|
} |
|
|
|
return pacsNoReportDtos; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
///// 打印Pacs条码数据
|
|
|
|
///// </summary>
|
|
|
|
|