From 6309d7183c98aa3772f02defe96c80cecc07be32 Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Mon, 20 Apr 2026 11:12:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=8E=92=E9=98=9F=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E4=B9=8B=E5=89=8D=E7=9A=84=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QueueRegisters/QueueRegisterAppService.cs | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs index 10276578..e200129d 100644 --- a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs +++ b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs @@ -457,7 +457,7 @@ namespace Shentun.Peis.QueueRegisters // 手动筛选出已删除的数据 var deletedEntities = await AsyncExecuter.ToListAsync( - query.Where(e => e.IsDeleted == true && e.PatientRegisterId == input.PatientRegisterId) + query.Where(e => e.IsDeleted == true && e.PatientRegisterId == input.PatientRegisterId && e.CreationTime > DateTime.Now.Date) ); var roomList = await _roomRepository.GetListAsync(); @@ -520,7 +520,7 @@ namespace Shentun.Peis.QueueRegisters //删除排队操作 await _queueRegisterRepository.DeleteAsync(d => d.PatientRegisterId == queueRegisterFirst.PatientRegisterId && d.CompleteFlag != QueueRegisterCompleteFlag.AlreadyCalled && yesDelRoomIds.Contains(d.RoomId), true); - + } } #endregion @@ -566,8 +566,18 @@ namespace Shentun.Peis.QueueRegisters } + var entity = await _queueRegisterManager.ManualQueuingRoomAsync(input.PatientRegisterId, input.RoomId); + + #region 当天如果已排过队,物理删除之前的排队记录 + var oldFirst =await (await _queueRegisterRepository.GetQueryableAsync()).IgnoreQueryFilters().FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId + && f.RoomId == input.RoomId + && f.CreationTime > DateTime.Now.Date); + if (oldFirst != null) + await _queueRegisterRepository.HardDeleteAsync(oldFirst); + #endregion + await _queueRegisterRepository.InsertAsync(entity, true); return await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto @@ -587,6 +597,16 @@ namespace Shentun.Peis.QueueRegisters { var entity = await _queueRegisterManager.AutomaticQueuingRoomAsync(input.PatientRegisterId, new List()); + + #region 当天如果已排过队,物理删除之前的排队记录 + var oldFirst = await (await _queueRegisterRepository.GetQueryableAsync()).IgnoreQueryFilters().FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId + && f.RoomId == entity.RoomId + && f.CreationTime > DateTime.Now.Date); + if (oldFirst != null) + await _queueRegisterRepository.HardDeleteAsync(oldFirst); + #endregion + + await _queueRegisterRepository.InsertAsync(entity, true); return await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto