| 
						
						
						
					 | 
				
				 | 
				
					@ -1,5 +1,6 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					using Microsoft.AspNetCore.Authorization; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					using Microsoft.AspNetCore.Mvc; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					using Microsoft.AspNetCore.Mvc.ApplicationParts; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					using Shentun.WebPeis.AppointRegisterAsbitems; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					using Shentun.WebPeis.AppointScheduleTimes; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					using Shentun.WebPeis.CustomerOrgs; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -68,6 +69,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private readonly SysParmValueManager _sysParmValueManager; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private readonly PersonManager _personManager; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private readonly AppointScheduleTimeManager _appointScheduleTimeManager; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private readonly IRepository<AppointSchedule> _appointScheduleRepository; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        private readonly IRepository<AppointScheduleTime> _appointScheduleTimeRepository; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        public AppointPatientRegisterAppService(IRepository<AppointPatientRegister> repository, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             CacheService cacheService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             IRepository<ItemType> itemTypeRepository, | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -101,7 +104,9 @@ namespace Shentun.WebPeis.AppointPatientRegisters | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            SysParmValueManager sysParmValueManager, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PersonManager personManager, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            AppointScheduleTimeManager appointScheduleTimeManager | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					           ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            IRepository<AppointSchedule> appointScheduleRepository, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            IRepository<AppointScheduleTime> appointScheduleTimeRepository) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _repository = repository; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _cacheService = cacheService; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -136,6 +141,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _personManager = personManager; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _sysParmValueManager = sysParmValueManager; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _appointScheduleTimeManager = appointScheduleTimeManager; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _appointScheduleRepository = appointScheduleRepository; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _appointScheduleTimeRepository = appointScheduleTimeRepository; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <summary>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// 创建预约,小程序使用
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1293,5 +1300,35 @@ namespace Shentun.WebPeis.AppointPatientRegisters | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return questionRegisterDiseaseRiskDtos; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <summary>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// 同步预约数  处理数据用
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// </summary>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <returns></returns>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        [HttpPost("api/app/AppointPatientRegister/SyncAppointNumber")] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        public async Task SyncAppointNumberAsync() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            var appointPatientRegisterList = await _repository.GetListAsync(m => m.CompleteFlag == '0'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            var appointDateGroup = appointPatientRegisterList.GroupBy(g => g.AppointDate); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            foreach (var item in appointDateGroup) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                DateTime appointDate = item.Key; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                DateTime sDate = appointDate.Date; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                TimeOnly sTime = new TimeOnly(appointDate.TimeOfDay.Hours, appointDate.TimeOfDay.Minutes, appointDate.TimeOfDay.Seconds); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var appointScheduleEnt = await _appointScheduleRepository.FirstOrDefaultAsync(f => f.AppointDate == sDate); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if (appointScheduleEnt != null) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    var appointScheduleTimeEnt = await _appointScheduleTimeRepository.FirstOrDefaultAsync(f => f.StartTime == sTime | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    && f.AppointScheduleId == appointScheduleEnt.AppointScheduleId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    if (appointScheduleTimeEnt != null) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        appointScheduleTimeEnt.AppointNumber = item.Count(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        await _appointScheduleTimeRepository.UpdateAsync(appointScheduleTimeEnt); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} |