|
|
|
@ -404,33 +404,97 @@ namespace Shentun.Peis.PhoneFollowUps |
|
|
|
|
|
|
|
query = query.Where(m => m.patientRegister.Id == input.PatientRegisterId); |
|
|
|
|
|
|
|
var registerCheckGroup = query.ToList().GroupBy(g => new { g.registerCheck, g.registerCheckItem }); |
|
|
|
|
|
|
|
|
|
|
|
var entListDto = new List<GetAsbitemOrItemCriticalByPatientRegisterIdDto>(); |
|
|
|
|
|
|
|
var registerCheckGroup = query.ToList().GroupBy(g => new { g.registerCheck, g.registerCheckItem }); |
|
|
|
|
|
|
|
var entListDto = registerCheckGroup.Select(s => new GetAsbitemOrItemCriticalByPatientRegisterIdDto |
|
|
|
foreach (var item in registerCheckGroup) |
|
|
|
{ |
|
|
|
RegisterCheckId = s.Key.registerCheck.Id, |
|
|
|
AsbitemName = string.Join(",", s.Select(ss => ss.asbitem.DisplayName).Distinct()), |
|
|
|
CriticalRangeValue = s.Key.registerCheck.CriticalRangeValue, |
|
|
|
CriticalValueContent = s.Key.registerCheck.CriticalValueContent, |
|
|
|
IsCriticalValue = s.Key.registerCheck.IsCriticalValue, |
|
|
|
IsCriticalValueAudit = s.Key.registerCheck.IsCriticalValueAudit, |
|
|
|
IsFollowUp = s.Key.registerCheck.IsFollowUp, |
|
|
|
IsReview = s.Key.registerCheck.IsReview, |
|
|
|
SummaryDetail = string.Join("<br>", s.Where(m => m.registerCheckSummaryHaveEmpty != null).Select(ss => ss.registerCheckSummaryHaveEmpty.Summary).Distinct()), |
|
|
|
ItemCriticalRangeValue = s.Key.registerCheckItem.CriticalRangeValue, |
|
|
|
ItemCriticalValueContent = s.Key.registerCheckItem.CriticalValueContent, |
|
|
|
ItemIsCriticalValue = s.Key.registerCheckItem.IsCriticalValue, |
|
|
|
ItemIsCriticalValueAudit = s.Key.registerCheckItem.IsCriticalValueAudit, |
|
|
|
ItemIsFollowUp = s.Key.registerCheckItem.IsFollowUp, |
|
|
|
ItemIsReview = s.Key.registerCheckItem.IsReview, |
|
|
|
ItemName = s.FirstOrDefault().item.DisplayName, |
|
|
|
ItemResult = s.Key.registerCheckItem.Result, |
|
|
|
ReferenceRangeValue = s.Key.registerCheckItem.ReferenceRangeValue, |
|
|
|
Unit = s.Key.registerCheckItem.Unit |
|
|
|
}).ToList(); |
|
|
|
if (item.Key.registerCheck.IsFollowUp == 'Y' |
|
|
|
|| item.Key.registerCheck.IsCriticalValue == 'Y' |
|
|
|
|| item.Key.registerCheckItem.IsFollowUp == 'Y' |
|
|
|
|| item.Key.registerCheckItem.IsCriticalValue == 'Y') |
|
|
|
{ |
|
|
|
if (item.Key.registerCheckItem.IsFollowUp == 'Y' |
|
|
|
|| item.Key.registerCheckItem.IsCriticalValue == 'Y') |
|
|
|
{ |
|
|
|
entListDto.Add(new GetAsbitemOrItemCriticalByPatientRegisterIdDto |
|
|
|
{ |
|
|
|
RegisterCheckId = item.Key.registerCheck.Id, |
|
|
|
AsbitemName = string.Join(",", item.Select(ss => ss.asbitem.DisplayName).Distinct()), |
|
|
|
CriticalRangeValue = item.Key.registerCheck.CriticalRangeValue, |
|
|
|
CriticalValueContent = item.Key.registerCheck.CriticalValueContent, |
|
|
|
IsCriticalValue = item.Key.registerCheck.IsCriticalValue, |
|
|
|
IsCriticalValueAudit = item.Key.registerCheck.IsCriticalValueAudit, |
|
|
|
IsFollowUp = item.Key.registerCheck.IsFollowUp, |
|
|
|
IsReview = item.Key.registerCheck.IsReview, |
|
|
|
SummaryDetail = string.Join("<br>", item.Where(m => m.registerCheckSummaryHaveEmpty != null).Select(ss => ss.registerCheckSummaryHaveEmpty.Summary).Distinct()), |
|
|
|
ItemCriticalRangeValue = item.Key.registerCheckItem.CriticalRangeValue, |
|
|
|
ItemCriticalValueContent = item.Key.registerCheckItem.CriticalValueContent, |
|
|
|
ItemIsCriticalValue = item.Key.registerCheckItem.IsCriticalValue, |
|
|
|
ItemIsCriticalValueAudit = item.Key.registerCheckItem.IsCriticalValueAudit, |
|
|
|
ItemIsFollowUp = item.Key.registerCheckItem.IsFollowUp, |
|
|
|
ItemIsReview = item.Key.registerCheckItem.IsReview, |
|
|
|
ItemName = item.FirstOrDefault().item.DisplayName, |
|
|
|
ItemResult = item.Key.registerCheckItem.Result, |
|
|
|
ReferenceRangeValue = item.Key.registerCheckItem.ReferenceRangeValue, |
|
|
|
Unit = item.Key.registerCheckItem.Unit |
|
|
|
}); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (entListDto.Where(m => m.RegisterCheckId == item.Key.registerCheck.Id).Count() == 0) |
|
|
|
{ |
|
|
|
entListDto.Add(new GetAsbitemOrItemCriticalByPatientRegisterIdDto |
|
|
|
{ |
|
|
|
RegisterCheckId = item.Key.registerCheck.Id, |
|
|
|
AsbitemName = string.Join(",", item.Select(ss => ss.asbitem.DisplayName).Distinct()), |
|
|
|
CriticalRangeValue = item.Key.registerCheck.CriticalRangeValue, |
|
|
|
CriticalValueContent = item.Key.registerCheck.CriticalValueContent, |
|
|
|
IsCriticalValue = item.Key.registerCheck.IsCriticalValue, |
|
|
|
IsCriticalValueAudit = item.Key.registerCheck.IsCriticalValueAudit, |
|
|
|
IsFollowUp = item.Key.registerCheck.IsFollowUp, |
|
|
|
IsReview = item.Key.registerCheck.IsReview, |
|
|
|
SummaryDetail = string.Join("<br>", item.Where(m => m.registerCheckSummaryHaveEmpty != null).Select(ss => ss.registerCheckSummaryHaveEmpty.Summary).Distinct()), |
|
|
|
ItemCriticalRangeValue = "", |
|
|
|
ItemCriticalValueContent = "", |
|
|
|
ItemIsCriticalValue = null, |
|
|
|
ItemIsCriticalValueAudit = null, |
|
|
|
ItemIsFollowUp = null, |
|
|
|
ItemIsReview = null, |
|
|
|
ItemName = "", |
|
|
|
ItemResult = "", |
|
|
|
ReferenceRangeValue = "", |
|
|
|
Unit = "" |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//var entListDto = registerCheckGroup.Select(s => new GetAsbitemOrItemCriticalByPatientRegisterIdDto
|
|
|
|
//{
|
|
|
|
// RegisterCheckId = s.Key.registerCheck.Id,
|
|
|
|
// AsbitemName = string.Join(",", s.Select(ss => ss.asbitem.DisplayName).Distinct()),
|
|
|
|
// CriticalRangeValue = s.Key.registerCheck.CriticalRangeValue,
|
|
|
|
// CriticalValueContent = s.Key.registerCheck.CriticalValueContent,
|
|
|
|
// IsCriticalValue = s.Key.registerCheck.IsCriticalValue,
|
|
|
|
// IsCriticalValueAudit = s.Key.registerCheck.IsCriticalValueAudit,
|
|
|
|
// IsFollowUp = s.Key.registerCheck.IsFollowUp,
|
|
|
|
// IsReview = s.Key.registerCheck.IsReview,
|
|
|
|
// SummaryDetail = string.Join("<br>", s.Where(m => m.registerCheckSummaryHaveEmpty != null).Select(ss => ss.registerCheckSummaryHaveEmpty.Summary).Distinct()),
|
|
|
|
// ItemCriticalRangeValue = s.Key.registerCheckItemHaveEmpty.CriticalRangeValue,
|
|
|
|
// ItemCriticalValueContent = s.Key.registerCheckItemHaveEmpty.CriticalValueContent,
|
|
|
|
// ItemIsCriticalValue = s.Key.registerCheckItemHaveEmpty.IsCriticalValue,
|
|
|
|
// ItemIsCriticalValueAudit = s.Key.registerCheckItemHaveEmpty.IsCriticalValueAudit,
|
|
|
|
// ItemIsFollowUp = s.Key.registerCheckItemHaveEmpty.IsFollowUp,
|
|
|
|
// ItemIsReview = s.Key.registerCheckItemHaveEmpty.IsReview,
|
|
|
|
// ItemName = s.FirstOrDefault().item.DisplayName,
|
|
|
|
// ItemResult = s.Key.registerCheckItemHaveEmpty.Result,
|
|
|
|
// ReferenceRangeValue = s.Key.registerCheckItemHaveEmpty.ReferenceRangeValue,
|
|
|
|
// Unit = s.Key.registerCheckItemHaveEmpty.Unit
|
|
|
|
//}).ToList();
|
|
|
|
|
|
|
|
//var entListDto = registerCheckGroup.Select(s => new GetAsbitemOrItemCriticalByPatientRegisterIdDto
|
|
|
|
//{
|
|
|
|
|