| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -220,7 +220,7 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            MedicalStartDate = Convert.ToDateTime(a.MedicalStartDate.ToString()).ToString("yyyy-MM-dd"), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            OrganizationUnitId = a.MedicalCenterId, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            OrganizationUnitName = ag.DisplayName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            Detail = PatientRegisterGuideAsbitem(a.Id, medicalCenterId, a.SexId), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            Detail = PatientRegisterGuideAsbitem(a.Id, a.PatientRegisterNo, medicalCenterId, a.SexId), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            HisPatientId = a.HisPatientId | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -488,6 +488,7 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             Age = patientRegister.Age, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             AsbitemName = asbitemHaveEmpty.DisplayName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             CheckRequestNo = registerCheck.CheckRequestNo, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             RegisterCheckId = registerCheck.Id, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             PatientName = patientRegister.PatientName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             PatientRegisterNo = patientRegister.PatientRegisterNo, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             SexName = _cacheService.GetSexNameAsync(patientRegister.SexId).Result, | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -512,6 +513,7 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        Age = s.FirstOrDefault().Age, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        CheckRequestNo = s.FirstOrDefault().CheckRequestNo, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        RegisterCheckId = s.FirstOrDefault().RegisterCheckId, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        PatientName = s.FirstOrDefault().PatientName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        SexName = s.FirstOrDefault().SexName, | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -526,6 +528,7 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        Age = s.FirstOrDefault().Age, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        CheckRequestNo = s.FirstOrDefault().PatientRegisterNo, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        RegisterCheckId = s.FirstOrDefault().RegisterCheckId, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        PatientName = s.FirstOrDefault().PatientName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        SexName = s.FirstOrDefault().SexName, | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -548,12 +551,12 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <param name="input"></param>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <returns></returns>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        [HttpPost("api/app/PrintReport/GetPacsNoReportByCheckRequestNo")] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        public async Task<List<PacsNoReportDto>> GetPacsNoReportByCheckRequestNoAsync(PacsNoReportInputDto input) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        public async Task<List<PacsNoReportDto>> GetPacsNoReportByCheckRequestNoAsync(RegisterCheckIdsInputDto input) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<PacsNoReportDto> pacsNoReportDtos = new List<PacsNoReportDto>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (input.CheckRequestNos.Count > 0) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (input.RegisterCheckIds.Count > 0) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -562,7 +565,7 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             from asbitemHaveEmpty in asbitemTemp.DefaultIfEmpty() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitemHaveEmpty.ItemTypeId equals itemType.Id into itemTypeTemp | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             where (patientRegister.Id == input.PatientRegisterId | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             where (input.RegisterCheckIds.Contains(registerCheck.Id) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             && !string.IsNullOrEmpty(registerCheck.CheckRequestNo) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             && asbitemHaveEmpty.BarcodeMode != '2' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                             ) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -582,7 +585,7 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var queryGroup = query.GroupBy(g => g.CheckRequestNo); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                foreach (var s in queryGroup) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    if (s.Where(m => m.BarcodeMode == '0' && m.IsCheckRequest == 'Y').Count() > 0) | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -615,8 +618,8 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                pacsNoReportDtos = pacsNoReportDtos.Where(m => input.CheckRequestNos.Contains(m.CheckRequestNo)).ToList(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return pacsNoReportDtos; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -777,7 +780,7 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    SuggestionFlag = s.SuggestionFlag, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    DisplayOrder = s.DisplayOrder, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    MedicalInterpretations = s.SumSuggestionContents. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    Where(o => o.SuggestionType == SuggestionTypeFlag.MedicalInterpretation&&!string.IsNullOrWhiteSpace( o.SuggestionContent)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    Where(o => o.SuggestionType == SuggestionTypeFlag.MedicalInterpretation && !string.IsNullOrWhiteSpace(o.SuggestionContent)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    .OrderBy(o => o.DisplayOrder) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    .Select(sa => new MedicalReportSumSuggestionContentDto | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -987,11 +990,12 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return MedicalReportMedicalReportTypeDtos; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private static List<PatientRegisterGuideReport_Detail> PatientRegisterGuideAsbitem(Guid PatientRegisterId, Guid medicalCenterId, char SexId) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private static List<PatientRegisterGuideReport_Detail> PatientRegisterGuideAsbitem(Guid PatientRegisterId, string PatientRegisterNo, Guid medicalCenterId, char SexId) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            var entlist = _registerCheckAsbitemStaticRepository.GetQueryableAsync().Result | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .Include(x => x.Asbitem.ItemType) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .Include(x => x.Asbitem.ItemType.GuidType) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .Include(x => x.RegisterCheck) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .Where(m => m.PatientRegisterId == PatientRegisterId && m.Asbitem.IsCheck == 'Y') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .Select(s => new PatientRegisterGuideReport_Asbitem_Temp | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            { | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1000,7 +1004,8 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                AsbitemDisplayOrder = s.Asbitem.DisplayOrder, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                ItemTypeDisplayOrder = s.Asbitem.ItemType.DisplayOrder, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                GuideDisplayOrder = s.Asbitem.ItemType.GuidType.DisplayOrder, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                GuideName = s.Asbitem.ItemType.GuidType.DisplayName | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                GuideName = s.Asbitem.ItemType.GuidType.DisplayName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                CheckRequestNo = GetCheckRequestNobyAsbitem(s.Asbitem, PatientRegisterNo, s.RegisterCheck.CheckRequestNo, s.Asbitem.ItemType.IsCheckRequest) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .OrderBy(o => o.GuideDisplayOrder) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .GroupBy(g => new { g.GuideName, g.GuideDisplayOrder }) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1013,7 +1018,8 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    AsbitemName = ss.AsbitemName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    AsbitemGuide = ss.AsbitemGuide, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    DisplayOrder = (ss.ItemTypeDisplayOrder * 3000) + ss.AsbitemDisplayOrder | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    DisplayOrder = (ss.ItemTypeDisplayOrder * 3000) + ss.AsbitemDisplayOrder, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    CheckRequestNo = ss.CheckRequestNo | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                }).OrderBy(o => o.DisplayOrder).ToList() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }).OrderBy(o => o.DisplayOrder).ToList(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1023,5 +1029,23 @@ namespace Shentun.Peis.PrintReports | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return entlist; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <summary>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// 获取检查单号
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// </summary>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <returns></returns>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private static string GetCheckRequestNobyAsbitem(Asbitem asbitem, string PatientRegisterNo, string CheckRequestNo, char IsCheckRequest) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            string result = ""; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (asbitem.BarcodeMode == BarcodeModeFlag.UsingItemType && IsCheckRequest == 'Y') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                result = CheckRequestNo; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            else if (asbitem.BarcodeMode == BarcodeModeFlag.PrintPatientRegisterNumber) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                result = PatientRegisterNo; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return result; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} |