| 
					
					
						
							
						
					
					
				 | 
				@ -404,33 +404,97 @@ namespace Shentun.Peis.PhoneFollowUps | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				            query = query.Where(m => m.patientRegister.Id == input.PatientRegisterId); | 
				 | 
				 | 
				            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>(); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            foreach (var item in registerCheckGroup) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                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 registerCheckGroup = query.ToList().GroupBy(g => new { g.registerCheck, g.registerCheckItem }); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            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.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(); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            //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
 | 
				 | 
				 | 
				            //var entListDto = registerCheckGroup.Select(s => new GetAsbitemOrItemCriticalByPatientRegisterIdDto
 | 
			
		
		
	
		
			
				 | 
				 | 
				            //{
 | 
				 | 
				 | 
				            //{
 | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |