@ -25,6 +25,7 @@ using Volo.Abp.Domain.Repositories; 
			
		 
		
	
		
			
				 
				 
				using  Volo.Abp.Guids ;  
				 
				 
				using  Volo.Abp.Guids ;  
			
		 
		
	
		
			
				 
				 
				using  Volo.Abp.Identity ;  
				 
				 
				using  Volo.Abp.Identity ;  
			
		 
		
	
		
			
				 
				 
				using  Volo.Abp.ObjectMapping ;  
				 
				 
				using  Volo.Abp.ObjectMapping ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				using  Volo.Abp.Uow ;  
			
		 
		
	
		
			
				 
				 
				using  Volo.Abp.Users ;  
				 
				 
				using  Volo.Abp.Users ;  
			
		 
		
	
		
			
				 
				 
				using  static  Microsoft . EntityFrameworkCore . DbLoggerCategory ;  
				 
				 
				using  static  Microsoft . EntityFrameworkCore . DbLoggerCategory ;  
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
	
		
			
				
					
						
							 
						 
					
					
						
							 
						 
					
					
				 
				@ -58,6 +59,8 @@ namespace Shentun.Peis.RegisterChecks 
			
		 
		
	
		
			
				 
				 
				        private  readonly  IRepository < LisRequest ,  Guid >  _lisRequestRepository ;  
				 
				 
				        private  readonly  IRepository < LisRequest ,  Guid >  _lisRequestRepository ;  
			
		 
		
	
		
			
				 
				 
				        private  readonly  FollowUpAppService  _followUpAppService ;  
				 
				 
				        private  readonly  FollowUpAppService  _followUpAppService ;  
			
		 
		
	
		
			
				 
				 
				        private  readonly  IRepository < DoctorSignIn ,  Guid >  _doctorSignInRepository ;  
				 
				 
				        private  readonly  IRepository < DoctorSignIn ,  Guid >  _doctorSignInRepository ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				        private  readonly  IRepository < GuideType ,  char >  _guideTypeRepository ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				        private  readonly  UnitOfWorkManager  _unitOfWorkManager ;  
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				        public  RegisterCheckAppService ( IRepository < RegisterCheck ,  Guid >  registerCheckRepository ,  
				 
				 
				        public  RegisterCheckAppService ( IRepository < RegisterCheck ,  Guid >  registerCheckRepository ,  
			
		 
		
	
		
			
				 
				 
				            IRepository < RegisterCheckItem >  registerCheckItemRepository ,  
				 
				 
				            IRepository < RegisterCheckItem >  registerCheckItemRepository ,  
			
		 
		
	
	
		
			
				
					
					
					
						
							 
						 
					
				 
				@ -78,7 +81,9 @@ namespace Shentun.Peis.RegisterChecks 
			
		 
		
	
		
			
				 
				 
				            IRepository < ItemType >  itemTypeRepository ,  
				 
				 
				            IRepository < ItemType >  itemTypeRepository ,  
			
		 
		
	
		
			
				 
				 
				            IRepository < LisRequest ,  Guid >  lisRequestRepository ,  
				 
				 
				            IRepository < LisRequest ,  Guid >  lisRequestRepository ,  
			
		 
		
	
		
			
				 
				 
				            FollowUpAppService  followUpAppService ,  
				 
				 
				            FollowUpAppService  followUpAppService ,  
			
		 
		
	
		
			
				 
				 
				            IRepository < DoctorSignIn ,  Guid >  doctorSignInRepository )  
				 
				 
				 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            IRepository < DoctorSignIn ,  Guid >  doctorSignInRepository ,  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            IRepository < GuideType ,  char >  guideTypeRepository ,  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            UnitOfWorkManager  unitOfWorkManager )  
			
		 
		
	
		
			
				 
				 
				        {  
				 
				 
				        {  
			
		 
		
	
		
			
				 
				 
				            _registerCheckRepository  =  registerCheckRepository ;  
				 
				 
				            _registerCheckRepository  =  registerCheckRepository ;  
			
		 
		
	
		
			
				 
				 
				            _userRepository  =  userRepository ;  
				 
				 
				            _userRepository  =  userRepository ;  
			
		 
		
	
	
		
			
				
					
					
					
						
							 
						 
					
				 
				@ -100,6 +105,8 @@ namespace Shentun.Peis.RegisterChecks 
			
		 
		
	
		
			
				 
				 
				            _lisRequestRepository  =  lisRequestRepository ;  
				 
				 
				            _lisRequestRepository  =  lisRequestRepository ;  
			
		 
		
	
		
			
				 
				 
				            _followUpAppService  =  followUpAppService ;  
				 
				 
				            _followUpAppService  =  followUpAppService ;  
			
		 
		
	
		
			
				 
				 
				            _doctorSignInRepository  =  doctorSignInRepository ;  
				 
				 
				            _doctorSignInRepository  =  doctorSignInRepository ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            _guideTypeRepository  =  guideTypeRepository ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            _unitOfWorkManager  =  unitOfWorkManager ;  
			
		 
		
	
		
			
				 
				 
				        }  
				 
				 
				        }  
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				        /// <summary>
  
				 
				 
				        /// <summary>
  
			
		 
		
	
	
		
			
				
					
						
							 
						 
					
					
						
							 
						 
					
					
				 
				@ -580,7 +587,10 @@ namespace Shentun.Peis.RegisterChecks 
			
		 
		
	
		
			
				 
				 
				                              join  registerCheck  in  await  _registerCheckRepository . GetQueryableAsync ( )  on  patientRegister . Id  equals  registerCheck . PatientRegisterId  
				 
				 
				                              join  registerCheck  in  await  _registerCheckRepository . GetQueryableAsync ( )  on  patientRegister . Id  equals  registerCheck . PatientRegisterId  
			
		 
		
	
		
			
				 
				 
				                              join  registerCheckAsbitem  in  await  _registerCheckAsbitemRepository . GetQueryableAsync ( )  on  registerCheck . Id  equals  registerCheckAsbitem . RegisterCheckId  
				 
				 
				                              join  registerCheckAsbitem  in  await  _registerCheckAsbitemRepository . GetQueryableAsync ( )  on  registerCheck . Id  equals  registerCheckAsbitem . RegisterCheckId  
			
		 
		
	
		
			
				 
				 
				                              join  asbitem  in  await  _asbitemRepository . GetQueryableAsync ( )  on  registerCheckAsbitem . AsbitemId  equals  asbitem . Id  
				 
				 
				                              join  asbitem  in  await  _asbitemRepository . GetQueryableAsync ( )  on  registerCheckAsbitem . AsbitemId  equals  asbitem . Id  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                              join  itemType  in  await  _itemTypeRepository . GetQueryableAsync ( )  on  asbitem . ItemTypeId  equals  itemType . Id  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                              join  guideType  in  await  _guideTypeRepository . GetQueryableAsync ( )  on  itemType . GuidTypeId  equals  guideType . Id  
			
		 
		
	
		
			
				 
				 
				                              where  input . PatientRegisterIds . Contains ( patientRegister . Id )  & &  asbitem . IsCheck  = =  'Y'  
				 
				 
				                              where  input . PatientRegisterIds . Contains ( patientRegister . Id )  & &  asbitem . IsCheck  = =  'Y'  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                              orderby  guideType . DisplayOrder ,  asbitem . DisplayOrder  
			
		 
		
	
		
			
				 
				 
				                              select  new  SimpleAsbitemDto  
				 
				 
				                              select  new  SimpleAsbitemDto  
			
		 
		
	
		
			
				 
				 
				                              {  
				 
				 
				                              {  
			
		 
		
	
		
			
				 
				 
				                                  AsbitemId  =  registerCheckAsbitem . AsbitemId ,  
				 
				 
				                                  AsbitemId  =  registerCheckAsbitem . AsbitemId ,  
			
		 
		
	
	
		
			
				
					
						
							 
						 
					
					
						
							 
						 
					
					
				 
				@ -656,10 +666,23 @@ namespace Shentun.Peis.RegisterChecks 
			
		 
		
	
		
			
				 
				 
				            if  ( ! input . CheckDoctorDetail . Any ( ) )  
				 
				 
				            if  ( ! input . CheckDoctorDetail . Any ( ) )  
			
		 
		
	
		
			
				 
				 
				                throw  new  UserFriendlyException ( "需要修改的信息不能为空" ) ;  
				 
				 
				                throw  new  UserFriendlyException ( "需要修改的信息不能为空" ) ;  
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //每次处理100条
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            int  handNum  =  1 0 0 ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //处理多少次
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            int  handCount  =  Convert . ToInt32 ( Math . Ceiling ( Convert . ToDecimal ( input . PatientRegisterIds . Count )  /  Convert . ToDecimal ( handNum ) ) ) ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            for  ( int  i  =  0 ;  i  <  handCount ;  i + + )  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            {  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                using  ( var  uow  =  _unitOfWorkManager . Begin ( requiresNew :  true ,  isTransactional :  true ) )  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                {  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                    var  tempPatientRegisterIds  =  input . PatientRegisterIds . Skip ( i  *  handNum ) . Take ( handNum ) . ToList ( ) ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				                    var  registerCheckAsbitemList  =  ( from  patientRegister  in  await  _patientRegisterRepository . GetQueryableAsync ( )  
				 
				 
				                    var  registerCheckAsbitemList  =  ( from  patientRegister  in  await  _patientRegisterRepository . GetQueryableAsync ( )  
			
		 
		
	
		
			
				 
				 
				                                                    join  registerCheck  in  await  _registerCheckRepository . GetQueryableAsync ( )  on  patientRegister . Id  equals  registerCheck . PatientRegisterId  
				 
				 
				                                                    join  registerCheck  in  await  _registerCheckRepository . GetQueryableAsync ( )  on  patientRegister . Id  equals  registerCheck . PatientRegisterId  
			
		 
		
	
		
			
				 
				 
				                                                    join  registerCheckAsbitem  in  await  _registerCheckAsbitemRepository . GetQueryableAsync ( )  on  registerCheck . Id  equals  registerCheckAsbitem . RegisterCheckId  
				 
				 
				                                                    join  registerCheckAsbitem  in  await  _registerCheckAsbitemRepository . GetQueryableAsync ( )  on  registerCheck . Id  equals  registerCheckAsbitem . RegisterCheckId  
			
		 
		
	
		
			
				 
				 
				                                            where  input . PatientRegisterIds . Contains ( patientRegister . Id )  
				 
				 
				 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                                                    where  temp PatientRegisterIds . Contains ( patientRegister . Id )  
			
		 
		
	
		
			
				 
				 
				                                                    select  registerCheckAsbitem ) . ToList ( ) ;  
				 
				 
				                                                    select  registerCheckAsbitem ) . ToList ( ) ;  
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				                    if  ( registerCheckAsbitemList . Any ( ) )  
				 
				 
				                    if  ( registerCheckAsbitemList . Any ( ) )  
			
		 
		
	
	
		
			
				
					
					
					
						
							 
						 
					
				 
				@ -678,6 +701,50 @@ namespace Shentun.Peis.RegisterChecks 
			
		 
		
	
		
			
				 
				 
				                            }  
				 
				 
				                            }  
			
		 
		
	
		
			
				 
				 
				                        }  
				 
				 
				                        }  
			
		 
		
	
		
			
				 
				 
				                    }  
				 
				 
				                    }  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                    await  uow . CompleteAsync ( ) ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				                }  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            }  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //{
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    var isUploadReport = WebDb0520.Ado.GetDataTable($"select patient_register_id,report_file from patient_register where patient_register_id='{item}' and report_file is null ").Rows.Count;
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    if (isUploadReport == 1)
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    {
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //        await SyncPatientRegisterReportByPatientRegisterIdAsync(new PatientRegisterIdInputDto
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //        {
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //            PatientRegisterId = item
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //        });
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    }
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    await uow.CompleteAsync();
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //}
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //var registerCheckAsbitemList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //                                join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //                                join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //                                where input.PatientRegisterIds.Contains(patientRegister.Id)
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //                                select registerCheckAsbitem).ToList();
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //if (registerCheckAsbitemList.Any())
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //{
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    foreach (var registerCheckAsbitem in registerCheckAsbitemList)
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    {
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //        var checkDoctorEnt = input.CheckDoctorDetail.FirstOrDefault(f => f.AsbitemId == registerCheckAsbitem.AsbitemId);
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //        if (checkDoctorEnt != null)
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //        {
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //            var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.Id == registerCheckAsbitem.RegisterCheckId);
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //            if (registerCheckEnt != null)
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //            {
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //                registerCheckEnt.CheckDoctorId = checkDoctorEnt.CheckDoctorId;
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //                await _registerCheckRepository.UpdateAsync(registerCheckEnt);
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //            }
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //        }
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //    }
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            //}
  
			
		 
		
	
		
			
				 
				 
				        }  
				 
				 
				        }