Browse Source

重复排队删除之前的记录

master
wxd 1 day ago
parent
commit
6309d7183c
  1. 22
      src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs

22
src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs

@ -457,7 +457,7 @@ namespace Shentun.Peis.QueueRegisters
// 手动筛选出已删除的数据 // 手动筛选出已删除的数据
var deletedEntities = await AsyncExecuter.ToListAsync( 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(); var roomList = await _roomRepository.GetListAsync();
@ -566,8 +566,18 @@ namespace Shentun.Peis.QueueRegisters
} }
var entity = await _queueRegisterManager.ManualQueuingRoomAsync(input.PatientRegisterId, input.RoomId); 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); await _queueRegisterRepository.InsertAsync(entity, true);
return await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto return await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto
@ -587,6 +597,16 @@ namespace Shentun.Peis.QueueRegisters
{ {
var entity = await _queueRegisterManager.AutomaticQueuingRoomAsync(input.PatientRegisterId, new List<Guid>()); var entity = await _queueRegisterManager.AutomaticQueuingRoomAsync(input.PatientRegisterId, new List<Guid>());
#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); await _queueRegisterRepository.InsertAsync(entity, true);
return await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto return await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto

Loading…
Cancel
Save