Browse Source

指引单

bjmzak
wxd 2 years ago
parent
commit
08ed4fc4b8
  1. 33
      src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs

33
src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs

@ -40,6 +40,7 @@ namespace Shentun.Peis.PrintReports
private readonly IRepository<Patient, Guid> _patientRepository; private readonly IRepository<Patient, Guid> _patientRepository;
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository; private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<RegisterCheckAsbitem, Guid> _registerCheckAsbitemRepository; private readonly IRepository<RegisterCheckAsbitem, Guid> _registerCheckAsbitemRepository;
private static IRepository<RegisterCheckAsbitem, Guid> _registerCheckAsbitemStaticRepository;
private readonly IRepository<RegisterCheckItem> _registerCheckItemRepository; private readonly IRepository<RegisterCheckItem> _registerCheckItemRepository;
private readonly IRepository<RegisterCheckSummary> _registerCheckSummaryRepository; private readonly IRepository<RegisterCheckSummary> _registerCheckSummaryRepository;
private readonly IRepository<RegisterCheckPicture, Guid> _registerCheckPictureRepository; private readonly IRepository<RegisterCheckPicture, Guid> _registerCheckPictureRepository;
@ -90,7 +91,7 @@ namespace Shentun.Peis.PrintReports
IRepository<SampleContainer, Guid> sampleContainerRepository, IRepository<SampleContainer, Guid> sampleContainerRepository,
IRepository<SampleType, Guid> sampleTypeRepository, IRepository<SampleType, Guid> sampleTypeRepository,
IRepository<Sex> sexRegisterRepository, IRepository<Sex> sexRegisterRepository,
IRepository<PersonnelType,Guid> personnelTypeRepository,
IRepository<PersonnelType, Guid> personnelTypeRepository,
IRepository<ResultStatus> resultStatusRepository, IRepository<ResultStatus> resultStatusRepository,
IRepository<SumSummaryHeader, Guid> sumSummaryHeaderRepository, IRepository<SumSummaryHeader, Guid> sumSummaryHeaderRepository,
IRepository<IdentityUser, Guid> identityUserRepository, IRepository<IdentityUser, Guid> identityUserRepository,
@ -126,6 +127,7 @@ namespace Shentun.Peis.PrintReports
this._chargeReportRepository = chargeReportRepository; this._chargeReportRepository = chargeReportRepository;
this._sysParmValueManager = sysParmValueManager; this._sysParmValueManager = sysParmValueManager;
_registerCheckAsbitemRepository = registerCheckAsbitemRepository; _registerCheckAsbitemRepository = registerCheckAsbitemRepository;
_registerCheckAsbitemStaticRepository = registerCheckAsbitemRepository;
_registerCheckItemRepository = registerCheckItemRepository; _registerCheckItemRepository = registerCheckItemRepository;
_registerCheckSummaryRepository = registerCheckSummaryRepository; _registerCheckSummaryRepository = registerCheckSummaryRepository;
_registerCheckPictureRepository = registerCheckPictureRepository; _registerCheckPictureRepository = registerCheckPictureRepository;
@ -161,7 +163,7 @@ namespace Shentun.Peis.PrintReports
//return await _patientRegisterGuideReportRepository.GetPatientRegisterGuideReportAsync(PatientRegisterId); //return await _patientRegisterGuideReportRepository.GetPatientRegisterGuideReportAsync(PatientRegisterId);
var apiUrl = _configuration.GetValue<string>("HostUrl:ApiUrl") + "/"; var apiUrl = _configuration.GetValue<string>("HostUrl:ApiUrl") + "/";
var patientRegister = await _patientRegisterRepository.GetAsync(o=>o.Id == PatientRegisterId);
var patientRegister = await _patientRegisterRepository.GetAsync(o => o.Id == PatientRegisterId);
Guid medicalCenterId = patientRegister.MedicalCenterId; Guid medicalCenterId = patientRegister.MedicalCenterId;
@ -179,7 +181,7 @@ namespace Shentun.Peis.PrintReports
join c in await _customerOrgGroupRepository.GetQueryableAsync() join c in await _customerOrgGroupRepository.GetQueryableAsync()
on a.CustomerOrgGroupId equals c.Id into cc on a.CustomerOrgGroupId equals c.Id into cc
from ac in cc.DefaultIfEmpty() from ac in cc.DefaultIfEmpty()
join d in await _medicalPackageRepository.GetQueryableAsync()
join d in await _medicalPackageRepository.GetQueryableAsync()
on a.MedicalPackageId equals d.Id into dd on a.MedicalPackageId equals d.Id into dd
from ad in dd.DefaultIfEmpty() from ad in dd.DefaultIfEmpty()
join e in await _patientRepository.GetQueryableAsync() join e in await _patientRepository.GetQueryableAsync()
@ -196,9 +198,9 @@ namespace Shentun.Peis.PrintReports
Age = a.Age, Age = a.Age,
PatientRegisterId = a.Id, PatientRegisterId = a.Id,
CustomerOrgGroupName = ac.DisplayName, CustomerOrgGroupName = ac.DisplayName,
CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync( a.CustomerOrgId).Result,
CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(a.CustomerOrgId).Result,
CustomerOrgShortName = _cacheService.GetTopCustomerOrgAsync(a.CustomerOrgId).Result.ShortName, CustomerOrgShortName = _cacheService.GetTopCustomerOrgAsync(a.CustomerOrgId).Result.ShortName,
DepartmentName = _cacheService.GetCustomerOrgNameAsync( a.CustomerOrgId).Result,
DepartmentName = _cacheService.GetCustomerOrgNameAsync(a.CustomerOrgId).Result,
IdNo = e.IdNo, IdNo = e.IdNo,
JobCardNo = a.JobCardNo, JobCardNo = a.JobCardNo,
MedicalCardNo = a.MedicalCardNo, MedicalCardNo = a.MedicalCardNo,
@ -278,7 +280,7 @@ namespace Shentun.Peis.PrintReports
sampleTypeHaveEmpty sampleTypeHaveEmpty
} }
).ToList(); ).ToList();
lisRequests = query.Select(o=>o.lisRequest).Distinct().ToList();
lisRequests = query.Select(o => o.lisRequest).Distinct().ToList();
//发送第三方LIS申请 //发送第三方LIS申请
if (lisRequests != null) if (lisRequests != null)
{ {
@ -297,10 +299,10 @@ namespace Shentun.Peis.PrintReports
LisRequestNo = o.lisRequest.LisRequestNo, LisRequestNo = o.lisRequest.LisRequestNo,
PatientName = o.patientRegister.PatientName, PatientName = o.patientRegister.PatientName,
PatientRegisterNo = o.patientRegister.PatientRegisterNo, 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,
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.sex.DisplayName, SexName = o.sex.DisplayName,
CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(o.patientRegister.CustomerOrgId).Result.DisplayName, CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(o.patientRegister.CustomerOrgId).Result.DisplayName,
DepartmentName = _cacheService.GetCustomerOrgNameAsync(o.patientRegister.CustomerOrgId).Result, DepartmentName = _cacheService.GetCustomerOrgNameAsync(o.patientRegister.CustomerOrgId).Result,
@ -699,9 +701,9 @@ namespace Shentun.Peis.PrintReports
ReferenceRangeValue = registerCheckItemRow.registerCheckItem.ReferenceRangeValue, ReferenceRangeValue = registerCheckItemRow.registerCheckItem.ReferenceRangeValue,
CriticalRangeValue = registerCheckItemRow.registerCheckItem.CriticalRangeValue, CriticalRangeValue = registerCheckItemRow.registerCheckItem.CriticalRangeValue,
Unit = registerCheckItemRow.registerCheckItem.Unit, Unit = registerCheckItemRow.registerCheckItem.Unit,
ReportFontColor = (resultStatus == null) ? 0: resultStatus.ReportFontColor,
ReportFontColor = (resultStatus == null) ? 0 : resultStatus.ReportFontColor,
ReportBackgroundColor = (resultStatus == null) ? 16579836 : resultStatus.ReportBackgroundColor, ReportBackgroundColor = (resultStatus == null) ? 16579836 : resultStatus.ReportBackgroundColor,
ReportPrompt = (resultStatus == null) ? null: resultStatus.ReportPrompt,
ReportPrompt = (resultStatus == null) ? null : resultStatus.ReportPrompt,
DisplayOrder = registerCheckItemRow.item.DisplayOrder, DisplayOrder = registerCheckItemRow.item.DisplayOrder,
}; };
medicalReportRegisterCheckDto.Items.Add(medicalReportCheckItemDto); medicalReportRegisterCheckDto.Items.Add(medicalReportCheckItemDto);
@ -712,7 +714,7 @@ namespace Shentun.Peis.PrintReports
// Summary = o.registerCheckSummaryHaveEmpty.Summary, // Summary = o.registerCheckSummaryHaveEmpty.Summary,
// DisplayOrder = o.registerCheckSummaryHaveEmpty.DisplayOrder // DisplayOrder = o.registerCheckSummaryHaveEmpty.DisplayOrder
//}).OrderBy(o => o.DisplayOrder).Distinct().ToList(); //}).OrderBy(o => o.DisplayOrder).Distinct().ToList();
medicalReportRegisterCheckDto.Summarys = registerCheckRows.GroupBy(g=>g.registerCheckSummaryHaveEmpty.Id).Select(o => new MedicalReportCheckAsbitemSummaryDto()
medicalReportRegisterCheckDto.Summarys = registerCheckRows.GroupBy(g => g.registerCheckSummaryHaveEmpty.Id).Select(o => new MedicalReportCheckAsbitemSummaryDto()
{ {
Summary = o.FirstOrDefault().registerCheckSummaryHaveEmpty.Summary, Summary = o.FirstOrDefault().registerCheckSummaryHaveEmpty.Summary,
DisplayOrder = o.FirstOrDefault().registerCheckSummaryHaveEmpty.DisplayOrder DisplayOrder = o.FirstOrDefault().registerCheckSummaryHaveEmpty.DisplayOrder
@ -780,10 +782,9 @@ namespace Shentun.Peis.PrintReports
return MedicalReportMedicalReportTypeDtos; return MedicalReportMedicalReportTypeDtos;
} }
private List<PatientRegisterGuideReport_Detail> PatientRegisterGuideAsbitem(Guid PatientRegisterId, Guid medicalCenterId, char SexId)
private static List<PatientRegisterGuideReport_Detail> PatientRegisterGuideAsbitem(Guid PatientRegisterId, Guid medicalCenterId, char SexId)
{ {
var entlist = _registerCheckAsbitemRepository.GetQueryableAsync().Result
.Include(x => x.Asbitem)
var entlist = _registerCheckAsbitemStaticRepository.GetQueryableAsync().Result
.Include(x => x.Asbitem.ItemType) .Include(x => x.Asbitem.ItemType)
.Include(x => x.Asbitem.ItemType.GuidType) .Include(x => x.Asbitem.ItemType.GuidType)
.Where(m => m.PatientRegisterId == PatientRegisterId && m.Asbitem.IsCheck == 'Y') .Where(m => m.PatientRegisterId == PatientRegisterId && m.Asbitem.IsCheck == 'Y')

Loading…
Cancel
Save