| 
					
					
						
							
						
					
					
				 | 
				@ -58,7 +58,7 @@ namespace Shentun.Peis.CustomerReports | 
			
		
		
	
		
			
				 | 
				 | 
				        private readonly IRepository<SumSuggestionContent, Guid> _sumSuggestionContentRepository; | 
				 | 
				 | 
				        private readonly IRepository<SumSuggestionContent, Guid> _sumSuggestionContentRepository; | 
			
		
		
	
		
			
				 | 
				 | 
				        private readonly CustomerOrgManager _customerOrgManager; | 
				 | 
				 | 
				        private readonly CustomerOrgManager _customerOrgManager; | 
			
		
		
	
		
			
				 | 
				 | 
				        private readonly CustomerOrgReportManager _customerOrgReportManager; | 
				 | 
				 | 
				        private readonly CustomerOrgReportManager _customerOrgReportManager; | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        private readonly CacheService _cacheService; | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				        public CustomerReportAppService( | 
				 | 
				 | 
				        public CustomerReportAppService( | 
			
		
		
	
		
			
				 | 
				 | 
				            IRepository<Patient, Guid> patientRepository, | 
				 | 
				 | 
				            IRepository<Patient, Guid> patientRepository, | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -79,7 +79,8 @@ namespace Shentun.Peis.CustomerReports | 
			
		
		
	
		
			
				 | 
				 | 
				            IRepository<SumSuggestionHeader, Guid> sumSuggestionHeaderRepository, | 
				 | 
				 | 
				            IRepository<SumSuggestionHeader, Guid> sumSuggestionHeaderRepository, | 
			
		
		
	
		
			
				 | 
				 | 
				            IRepository<SumSuggestionContent, Guid> sumSuggestionContentRepository, | 
				 | 
				 | 
				            IRepository<SumSuggestionContent, Guid> sumSuggestionContentRepository, | 
			
		
		
	
		
			
				 | 
				 | 
				            CustomerOrgManager customerOrgManager, | 
				 | 
				 | 
				            CustomerOrgManager customerOrgManager, | 
			
		
		
	
		
			
				 | 
				 | 
				            CustomerOrgReportManager customerOrgReportManager) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            CustomerOrgReportManager customerOrgReportManager, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            CacheService cacheService) | 
			
		
		
	
		
			
				 | 
				 | 
				        { | 
				 | 
				 | 
				        { | 
			
		
		
	
		
			
				 | 
				 | 
				            this._patientRepository = patientRepository; | 
				 | 
				 | 
				            this._patientRepository = patientRepository; | 
			
		
		
	
		
			
				 | 
				 | 
				            this._patientRegisterRepository = patientRegisterRepository; | 
				 | 
				 | 
				            this._patientRegisterRepository = patientRegisterRepository; | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -100,6 +101,7 @@ namespace Shentun.Peis.CustomerReports | 
			
		
		
	
		
			
				 | 
				 | 
				            this._customerOrgManager = customerOrgManager; | 
				 | 
				 | 
				            this._customerOrgManager = customerOrgManager; | 
			
		
		
	
		
			
				 | 
				 | 
				            this._itemTypeRepository = itemTypeRepository; | 
				 | 
				 | 
				            this._itemTypeRepository = itemTypeRepository; | 
			
		
		
	
		
			
				 | 
				 | 
				            this._customerOrgReportManager = customerOrgReportManager; | 
				 | 
				 | 
				            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()
 | 
				 | 
				 | 
				            //            from ag in gg.DefaultIfEmpty()
 | 
			
		
		
	
		
			
				 | 
				 | 
				            //            select new { a, ab, c, d, ag, e };
 | 
				 | 
				 | 
				            //            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; | 
				 | 
				 | 
				            var sumquery = query; | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -1316,33 +1183,33 @@ namespace Shentun.Peis.CustomerReports | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				                if (item.CustomerOrgGroupId.Any()) | 
				 | 
				 | 
				                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) | 
				 | 
				 | 
				                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) | 
				 | 
				 | 
				                if (item.CustomerOrgId != null) | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				                { | 
			
		
		
	
		
			
				 | 
				 | 
				                    var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value); | 
				 | 
				 | 
				                    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 (!string.IsNullOrEmpty(item.StartDate) && !string.IsNullOrEmpty(item.EndDate)) | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				                { | 
			
		
		
	
		
			
				 | 
				 | 
				                    if (item.DateType == '1') | 
				 | 
				 | 
				                    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') | 
				 | 
				 | 
				                    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') | 
				 | 
				 | 
				                    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; | 
				 | 
				 | 
				                            var newquery = query; | 
			
		
		
	
		
			
				 | 
				 | 
				                            if (item2.CustomerOrgGroupId.Any()) | 
				 | 
				 | 
				                            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) | 
				 | 
				 | 
				                            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) | 
				 | 
				 | 
				                            if (item2.CustomerOrgId != null) | 
			
		
		
	
		
			
				 | 
				 | 
				                            { | 
				 | 
				 | 
				                            { | 
			
		
		
	
		
			
				 | 
				 | 
				                                var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value); | 
				 | 
				 | 
				                                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') | 
				 | 
				 | 
				                                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') | 
				 | 
				 | 
				                                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') | 
				 | 
				 | 
				                                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); | 
				 | 
				 | 
				                            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) | 
				 | 
				 | 
				            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()) | 
				 | 
				 | 
				            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() | 
				 | 
				 | 
				                var registerCheckItemList = (from rci in await _registerCheckItemRepository.GetQueryableAsync() | 
			
		
		
	
		
			
				 | 
				 | 
				                                             join i in await _itemRepository.GetQueryableAsync() on rci.ItemId equals i.Id | 
				 | 
				 | 
				                                             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 | 
				 | 
				 | 
				                                             select new | 
			
		
		
	
		
			
				 | 
				 | 
				                                             { | 
				 | 
				 | 
				                                             { | 
			
		
		
	
		
			
				 | 
				 | 
				                                                 RegisterCheckId = rci.RegisterCheckId, | 
				 | 
				 | 
				                                                 RegisterCheckId = rci.RegisterCheckId, | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -1420,16 +1287,23 @@ namespace Shentun.Peis.CustomerReports | 
			
		
		
	
		
			
				 | 
				 | 
				                                             }).ToList(); | 
				 | 
				 | 
				                                             }).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)), | 
				 | 
				 | 
				                        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 | 
				 | 
				 | 
				                        RegisterCheckItems = registerCheckItemList.Where(m => m.RegisterCheckId == sa.Key).Select(sb => new GetAsbitemSpecificResultReport_Item | 
			
		
		
	
		
			
				 | 
				 | 
				                        { | 
				 | 
				 | 
				                        { | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |