|
|
|
@ -58,7 +58,7 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
private readonly IRepository<SumSuggestionContent, Guid> _sumSuggestionContentRepository; |
|
|
|
private readonly CustomerOrgManager _customerOrgManager; |
|
|
|
private readonly CustomerOrgReportManager _customerOrgReportManager; |
|
|
|
|
|
|
|
private readonly CacheService _cacheService; |
|
|
|
|
|
|
|
public CustomerReportAppService( |
|
|
|
IRepository<Patient, Guid> patientRepository, |
|
|
|
@ -79,7 +79,8 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
IRepository<SumSuggestionHeader, Guid> sumSuggestionHeaderRepository, |
|
|
|
IRepository<SumSuggestionContent, Guid> sumSuggestionContentRepository, |
|
|
|
CustomerOrgManager customerOrgManager, |
|
|
|
CustomerOrgReportManager customerOrgReportManager) |
|
|
|
CustomerOrgReportManager customerOrgReportManager, |
|
|
|
CacheService cacheService) |
|
|
|
{ |
|
|
|
this._patientRepository = patientRepository; |
|
|
|
this._patientRegisterRepository = patientRegisterRepository; |
|
|
|
@ -100,6 +101,7 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
this._customerOrgManager = customerOrgManager; |
|
|
|
this._itemTypeRepository = itemTypeRepository; |
|
|
|
this._customerOrgReportManager = customerOrgReportManager; |
|
|
|
_cacheService = cacheService; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -1134,146 +1136,6 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
///// 组合项目具体结果统计 组合项目可以多选 但是必选的
|
|
|
|
///// </summary>
|
|
|
|
///// <param name="input"></param>
|
|
|
|
///// <returns></returns>
|
|
|
|
//[HttpPost("api/customerreport/getasbitemspecificresultreport")]
|
|
|
|
//public async Task<List<GetAsbitemSpecificResultReportDto>> GetAsbitemSpecificResultReportAsync(GetAsbitemSpecificResultReportRequestDto input)
|
|
|
|
//{
|
|
|
|
|
|
|
|
// var query = from a in await _patientRegisterRepository.GetQueryableAsync()
|
|
|
|
// join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb
|
|
|
|
// from ab in bb.DefaultIfEmpty()
|
|
|
|
// join d in await _registerAsbitemRepository.GetQueryableAsync() on a.Id equals d.PatientRegisterId
|
|
|
|
// join c in await _registerCheckRepository.GetQueryableAsync() on d.RegisterCheckId equals c.Id
|
|
|
|
// join e in await _registerCheckItemRepository.GetQueryableAsync() on c.Id equals e.RegisterCheckId into ee
|
|
|
|
// from ae in ee.DefaultIfEmpty()
|
|
|
|
// join h in await _itemRepository.GetQueryableAsync() on ae.ItemId equals h.Id into hh
|
|
|
|
// from ah in hh.DefaultIfEmpty()
|
|
|
|
// join f in await _registerCheckSummaryRepository.GetQueryableAsync() on c.Id equals f.RegisterCheckId into ff
|
|
|
|
// from af in ff.DefaultIfEmpty()
|
|
|
|
// join g in await _sexRepository.GetQueryableAsync() on a.SexId equals g.Id into gg
|
|
|
|
// from ag in gg.DefaultIfEmpty()
|
|
|
|
// select new { a, ab, c, d, ae, af, ag, ah };
|
|
|
|
|
|
|
|
// var sumquery = query;
|
|
|
|
|
|
|
|
|
|
|
|
// if (input.CustomerOrgs.Any())
|
|
|
|
// {
|
|
|
|
|
|
|
|
// var item = input.CustomerOrgs[0];
|
|
|
|
|
|
|
|
// if (item.CustomerOrgGroupId.Any())
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.a.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
|
|
|
|
// }
|
|
|
|
// if (item.CustomerOrgRegisterId != null && item.CustomerOrgRegisterId != Guid.Empty)
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.a.CustomerOrgRegisterId == item.CustomerOrgRegisterId);
|
|
|
|
// }
|
|
|
|
// if (item.CustomerOrgId != null)
|
|
|
|
// {
|
|
|
|
// var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value);
|
|
|
|
// sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
|
|
|
|
// }
|
|
|
|
// if (item.DateType != null && !string.IsNullOrEmpty(item.StartDate) && !string.IsNullOrEmpty(item.EndDate))
|
|
|
|
// {
|
|
|
|
// if (item.DateType == '1')
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item.StartDate) &&
|
|
|
|
// m.a.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// else if (item.DateType == '2')
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate >= Convert.ToDateTime(item.StartDate) &&
|
|
|
|
// m.a.MedicalStartDate < Convert.ToDateTime(item.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// else if (item.DateType == '3')
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate >= Convert.ToDateTime(item.StartDate) &&
|
|
|
|
// m.a.SummaryDate < Convert.ToDateTime(item.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (input.CustomerOrgs.Count > 1)
|
|
|
|
// {
|
|
|
|
// foreach (var item2 in input.CustomerOrgs)
|
|
|
|
// {
|
|
|
|
|
|
|
|
// if (input.CustomerOrgs.IndexOf(item2) > 0)
|
|
|
|
// {
|
|
|
|
// var newquery = query;
|
|
|
|
// if (item2.CustomerOrgGroupId.Any())
|
|
|
|
// {
|
|
|
|
// newquery = newquery.Where(m => m.a.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
|
|
|
|
// }
|
|
|
|
// if (item2.CustomerOrgRegisterId != null && item2.CustomerOrgRegisterId != Guid.Empty)
|
|
|
|
// {
|
|
|
|
// newquery = newquery.Where(m => m.a.CustomerOrgRegisterId == item2.CustomerOrgRegisterId);
|
|
|
|
// }
|
|
|
|
// if (item2.CustomerOrgId != null)
|
|
|
|
// {
|
|
|
|
// var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value);
|
|
|
|
// newquery = newquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
|
|
|
|
// }
|
|
|
|
// if (item2.DateType != null && !string.IsNullOrEmpty(item2.StartDate) && !string.IsNullOrEmpty(item2.EndDate))
|
|
|
|
// {
|
|
|
|
// if (item2.DateType == '1')
|
|
|
|
// {
|
|
|
|
// newquery = newquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item2.StartDate) &&
|
|
|
|
// m.a.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// else if (item2.DateType == '2')
|
|
|
|
// {
|
|
|
|
// newquery = newquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate >= Convert.ToDateTime(item2.StartDate) &&
|
|
|
|
// m.a.MedicalStartDate < Convert.ToDateTime(item2.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// else if (item2.DateType == '3')
|
|
|
|
// {
|
|
|
|
// newquery = newquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate >= Convert.ToDateTime(item2.StartDate) &&
|
|
|
|
// m.a.SummaryDate < Convert.ToDateTime(item2.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// sumquery = sumquery.Union(newquery);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (input.AsbitemId.Any())
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => input.AsbitemId.Contains(m.d.AsbitemId));
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// var sql = sumquery.ToQueryString();
|
|
|
|
|
|
|
|
// var entlist = sumquery.GroupBy(g => g.a.Id).Select(s => new GetAsbitemSpecificResultReportDto
|
|
|
|
// {
|
|
|
|
// PatientName = s.FirstOrDefault().a.PatientName,
|
|
|
|
// Age = s.FirstOrDefault().a.Age,
|
|
|
|
// MedicalTimes = s.FirstOrDefault().a.MedicalTimes,
|
|
|
|
// RegisterCheckSummarys2 = string.Join(";", s.Where(m => m.af != null).Select(sa => sa.af.Summary)),
|
|
|
|
// RegisterCheckSummarys = s.Where(m => m.af != null).GroupBy(g => g.af.RegisterCheckId).Select(gb => new GetAsbitemSpecificResultReport_Summary
|
|
|
|
// {
|
|
|
|
// CheckRequestNo = gb.FirstOrDefault().c.CheckRequestNo,
|
|
|
|
// RegisterCheckSummarys = string.Join(";", gb.Select(sa => sa.af.Summary))
|
|
|
|
// }).ToList(),
|
|
|
|
// RegisterCheckItems = s.Where(m => m.ae != null).Select(sa => new GetAsbitemSpecificResultReport_Item
|
|
|
|
// {
|
|
|
|
// ItemName = sa.ah != null ? sa.ah.DisplayName : "",
|
|
|
|
// Result = sa.ae.Result
|
|
|
|
// }).ToList(),
|
|
|
|
// SexName = s.FirstOrDefault().ag != null ? s.FirstOrDefault().ag.DisplayName : "",
|
|
|
|
// }).ToList();
|
|
|
|
|
|
|
|
// return entlist;
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1296,15 +1158,20 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
// from ag in gg.DefaultIfEmpty()
|
|
|
|
// select new { a, ab, c, d, ag, e };
|
|
|
|
|
|
|
|
var query = from a in await _patientRegisterRepository.GetQueryableAsync() |
|
|
|
join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb |
|
|
|
from ab in bb.DefaultIfEmpty() |
|
|
|
join c in await _registerCheckRepository.GetQueryableAsync() on a.Id equals c.PatientRegisterId |
|
|
|
join d in await _registerAsbitemRepository.GetQueryableAsync() on c.Id equals d.RegisterCheckId |
|
|
|
join e in await _asbitemRepository.GetQueryableAsync() on d.AsbitemId equals e.Id |
|
|
|
join g in await _sexRepository.GetQueryableAsync() on a.SexId equals g.Id into gg |
|
|
|
from ag in gg.DefaultIfEmpty() |
|
|
|
select new { a, ab, c, d, ag, e }; |
|
|
|
var query = from patientRegister in await _patientRegisterRepository.GetQueryableAsync() |
|
|
|
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id into patientTemp |
|
|
|
from patientHaveEmpty in patientTemp.DefaultIfEmpty() |
|
|
|
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId |
|
|
|
join registerCheckAsbitem in await _registerAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId |
|
|
|
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id |
|
|
|
select new |
|
|
|
{ |
|
|
|
patientRegister, |
|
|
|
patientHaveEmpty, |
|
|
|
registerCheck, |
|
|
|
registerCheckAsbitem, |
|
|
|
asbitem |
|
|
|
}; |
|
|
|
|
|
|
|
var sumquery = query; |
|
|
|
|
|
|
|
@ -1316,33 +1183,33 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
|
|
|
|
if (item.CustomerOrgGroupId.Any()) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); |
|
|
|
} |
|
|
|
if (item.CustomerOrgRegisterId != null && item.CustomerOrgRegisterId != Guid.Empty) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.CustomerOrgRegisterId == item.CustomerOrgRegisterId); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CustomerOrgRegisterId == item.CustomerOrgRegisterId); |
|
|
|
} |
|
|
|
if (item.CustomerOrgId != null) |
|
|
|
{ |
|
|
|
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value); |
|
|
|
sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId)); |
|
|
|
sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.patientRegister.CustomerOrgId)); |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(item.StartDate) && !string.IsNullOrEmpty(item.EndDate)) |
|
|
|
{ |
|
|
|
if (item.DateType == '1') |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.a.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.patientRegister.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item.DateType == '2') |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.a.MedicalStartDate < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.patientRegister.MedicalStartDate < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item.DateType == '3') |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.a.SummaryDate < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.patientRegister.SummaryDate < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1356,33 +1223,33 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
var newquery = query; |
|
|
|
if (item2.CustomerOrgGroupId.Any()) |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); |
|
|
|
} |
|
|
|
if (item2.CustomerOrgRegisterId != null && item2.CustomerOrgRegisterId != Guid.Empty) |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.CustomerOrgRegisterId == item2.CustomerOrgRegisterId); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.CustomerOrgRegisterId == item2.CustomerOrgRegisterId); |
|
|
|
} |
|
|
|
if (item2.CustomerOrgId != null) |
|
|
|
{ |
|
|
|
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value); |
|
|
|
newquery = newquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId)); |
|
|
|
newquery = newquery.Where(m => CustomerOrgIds.Contains(m.patientRegister.CustomerOrgId)); |
|
|
|
} |
|
|
|
if (item2.DateType != null && !string.IsNullOrEmpty(item2.StartDate) && !string.IsNullOrEmpty(item2.EndDate)) |
|
|
|
if (!string.IsNullOrEmpty(item2.StartDate) && !string.IsNullOrEmpty(item2.EndDate)) |
|
|
|
{ |
|
|
|
if (item2.DateType == '1') |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.a.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.patientRegister.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item2.DateType == '2') |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.a.MedicalStartDate < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.patientRegister.MedicalStartDate < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item2.DateType == '3') |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.a.SummaryDate < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.patientRegister.SummaryDate < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
} |
|
|
|
sumquery = sumquery.Union(newquery); |
|
|
|
@ -1399,19 +1266,19 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
sumquery = sumquery.Where(m => input.AsbitemId.Contains(m.d.AsbitemId)); |
|
|
|
sumquery = sumquery.Where(m => input.AsbitemId.Contains(m.registerCheckAsbitem.AsbitemId)); |
|
|
|
|
|
|
|
if (input.CompleteFlag != null) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.c.CompleteFlag == input.CompleteFlag); |
|
|
|
sumquery = sumquery.Where(m => m.registerCheck.CompleteFlag == input.CompleteFlag); |
|
|
|
} |
|
|
|
|
|
|
|
if (sumquery.Any()) |
|
|
|
{ |
|
|
|
var registerCheckSummaryList = await _registerCheckSummaryRepository.GetListAsync(m => sumquery.Select(s => s.c.Id).Contains(m.RegisterCheckId)); |
|
|
|
var registerCheckSummaryList = await _registerCheckSummaryRepository.GetListAsync(m => sumquery.Select(s => s.registerCheck.Id).Contains(m.RegisterCheckId)); |
|
|
|
var registerCheckItemList = (from rci in await _registerCheckItemRepository.GetQueryableAsync() |
|
|
|
join i in await _itemRepository.GetQueryableAsync() on rci.ItemId equals i.Id |
|
|
|
where sumquery.Select(s => s.c.Id).Contains(rci.RegisterCheckId) |
|
|
|
where sumquery.Select(s => s.registerCheck.Id).Contains(rci.RegisterCheckId) |
|
|
|
select new |
|
|
|
{ |
|
|
|
RegisterCheckId = rci.RegisterCheckId, |
|
|
|
@ -1420,16 +1287,23 @@ namespace Shentun.Peis.CustomerReports |
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
var entlist = sumquery.ToList().GroupBy(g => g.a.Id).Select(s => new GetAsbitemSpecificResultReportDto |
|
|
|
{ |
|
|
|
PatientName = s.FirstOrDefault().a.PatientName, |
|
|
|
Age = s.FirstOrDefault().a.Age, |
|
|
|
MedicalTimes = s.FirstOrDefault().a.MedicalTimes, |
|
|
|
SexName = s.FirstOrDefault().ag != null ? s.FirstOrDefault().ag.DisplayName : "", |
|
|
|
RegisterChecks = s.GroupBy(g => g.c.Id).Select(sa => new GetAsbitemSpecificResultReport_Check |
|
|
|
var entlist = sumquery.ToList().GroupBy(g => g.patientRegister.Id).Select(s => new GetAsbitemSpecificResultReportDto |
|
|
|
{ |
|
|
|
PatientName = s.FirstOrDefault().patientRegister.PatientName, |
|
|
|
Age = s.FirstOrDefault().patientRegister.Age, |
|
|
|
MedicalTimes = s.FirstOrDefault().patientRegister.MedicalTimes, |
|
|
|
SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(), |
|
|
|
CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().patientRegister.CustomerOrgId).GetAwaiter().GetResult(), |
|
|
|
DepartmentName = _cacheService.GetCustomerOrgNameAsync(s.FirstOrDefault().patientRegister.CustomerOrgId).GetAwaiter().GetResult(), |
|
|
|
IdNo = s.FirstOrDefault().patientHaveEmpty != null ? s.FirstOrDefault().patientHaveEmpty.IdNo : "", |
|
|
|
MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate), |
|
|
|
MobileTelephone = s.FirstOrDefault().patientHaveEmpty != null ? s.FirstOrDefault().patientHaveEmpty.MobileTelephone : "", |
|
|
|
PatientNo = s.FirstOrDefault().patientHaveEmpty != null ? s.FirstOrDefault().patientHaveEmpty.PatientNo : "", |
|
|
|
PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo, |
|
|
|
PersonnelTypeName = _cacheService.GetPersonnelTypeNameAsync(s.FirstOrDefault().patientRegister.PersonnelTypeId).GetAwaiter().GetResult(), |
|
|
|
RegisterChecks = s.GroupBy(g => g.registerCheck.Id).Select(sa => new GetAsbitemSpecificResultReport_Check |
|
|
|
{ |
|
|
|
CheckName = string.Join("_", sa.Select(sb => sb.e.DisplayName)), |
|
|
|
//RegisterCheckId = sa.Key,
|
|
|
|
CheckName = string.Join("_", sa.Select(sb => sb.asbitem.DisplayName)), |
|
|
|
RegisterCheckSummarys = string.Join(";", registerCheckSummaryList.Where(m => m.RegisterCheckId == sa.Key).Select(ss => ss.Summary)), |
|
|
|
RegisterCheckItems = registerCheckItemList.Where(m => m.RegisterCheckId == sa.Key).Select(sb => new GetAsbitemSpecificResultReport_Item |
|
|
|
{ |
|
|
|
|