diff --git a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs index 4383930..ed24e33 100644 --- a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs +++ b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs @@ -77,7 +77,9 @@ namespace Shentun.Peis.QueueRegisters var queueRegisterEnt = (from queueRegister in await _queueRegisterRepository.GetQueryableAsync() join room in await _roomRepository.GetQueryableAsync() on queueRegister.RoomId equals room.Id join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on queueRegister.PatientRegisterId equals patientRegister.Id - where queueRegister.PatientRegisterId == input.PatientRegisterId && queueRegister.CreationTime >= DateTime.Now.Date + where queueRegister.PatientRegisterId == input.PatientRegisterId + && queueRegister.CreationTime >= DateTime.Now.Date + && queueRegister.NoCompleteReason == '0' orderby queueRegister.CreationTime descending select new { @@ -95,6 +97,7 @@ namespace Shentun.Peis.QueueRegisters && queueRegister.CreationTime >= DateTime.Now.Date && queueRegister.DisplayOrder < queueRegisterEnt.queueRegister.DisplayOrder && patientRegister.IsVip == queueRegisterEnt.isVip + && queueRegister.NoCompleteReason == '0' select queueRegister).CountAsync(); var entDto = new QueueRegisterByPatientRegisterIdDto @@ -129,7 +132,9 @@ namespace Shentun.Peis.QueueRegisters var entListDto = (from room in await _roomRepository.GetQueryableAsync() join queueRegister in (await _queueRegisterRepository.GetQueryableAsync()) - .Where(m => m.CompleteFlag == QueueRegisterCompleteFlag.Wait && m.CreationTime >= DateTime.Now.Date).AsQueryable() + .Where(m => m.CompleteFlag == QueueRegisterCompleteFlag.Wait + && m.CreationTime >= DateTime.Now.Date + && m.NoCompleteReason == '0').AsQueryable() on room.Id equals queueRegister.RoomId into queueRegisterTemp from queueRegisterEmpty in queueRegisterTemp.DefaultIfEmpty() join itemType in await _itemTypeRepository.GetQueryableAsync() @@ -274,7 +279,7 @@ namespace Shentun.Peis.QueueRegisters { RoomId = s.Key, RoomName = s.FirstOrDefault().roomName, - QueueTime = s.Count(m => m.queueRegisterHaveEmpty != null) * s.FirstOrDefault().queueTime, + QueueTime = s.Count(m => m.queueRegisterHaveEmpty != null && m.queueRegisterHaveEmpty.NoCompleteReason == '0') * s.FirstOrDefault().queueTime, ForSexId = s.FirstOrDefault().forSexId }).ToList(); @@ -319,7 +324,9 @@ namespace Shentun.Peis.QueueRegisters } //删除排队操作 - await _queueRegisterRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId && d.CompleteFlag != QueueRegisterCompleteFlag.AlreadyCalled, true); + await _queueRegisterRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId + && d.CompleteFlag != QueueRegisterCompleteFlag.AlreadyCalled + && d.NoCompleteReason == '0', true); var entity = await _queueRegisterManager.ManualQueuingRoomAsync(input.PatientRegisterId, input.RoomId); @@ -340,8 +347,10 @@ namespace Shentun.Peis.QueueRegisters [HttpPost("api/app/QueueRegister/AutomaticQueuingRoom")] public async Task AutomaticQueuingRoomAsync(AutomaticQueuingRoomInputDto input) { - //删除排队操作 - await _queueRegisterRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId && d.CompleteFlag != QueueRegisterCompleteFlag.AlreadyCalled, true); + //删除排队操作 NoCompleteReason为1时放弃检查 + await _queueRegisterRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId + && d.CompleteFlag != QueueRegisterCompleteFlag.AlreadyCalled + && d.NoCompleteReason == '0', true); var entity = await _queueRegisterManager.AutomaticQueuingRoomAsync(input.PatientRegisterId); @@ -385,6 +394,7 @@ namespace Shentun.Peis.QueueRegisters on queueRegister.RoomId equals roomDetail.RoomId where queueRegister.CreationTime >= DateTime.Now.Date && queueRegister.RoomId == input.RoomId + && queueRegister.NoCompleteReason == '0' select new { completeFlag = queueRegister.CompleteFlag, @@ -495,6 +505,7 @@ namespace Shentun.Peis.QueueRegisters join room in await _roomRepository.GetQueryableAsync() on queueRegister.RoomId equals room.Id where queueRegister.CreationTime >= DateTime.Now.Date && room.RoomNo == input.RoomNo + && queueRegister.NoCompleteReason == '0' select new { completeFlag = queueRegister.CompleteFlag, @@ -552,6 +563,7 @@ namespace Shentun.Peis.QueueRegisters return entDto; } + #region 提供给小程序 /// /// 小程序获取当前排队信息 @@ -591,6 +603,7 @@ namespace Shentun.Peis.QueueRegisters } return msg; - } + } + #endregion } } diff --git a/src/Shentun.Peis.Domain/QueueRegisters/QueueRegister.cs b/src/Shentun.Peis.Domain/QueueRegisters/QueueRegister.cs index 1ea2c35..bad471c 100644 --- a/src/Shentun.Peis.Domain/QueueRegisters/QueueRegister.cs +++ b/src/Shentun.Peis.Domain/QueueRegisters/QueueRegister.cs @@ -32,7 +32,7 @@ namespace Shentun.Peis.Models [MaxLength(1)] public char CompleteFlag { get; set; } /// - /// 未完成原因 暂时未用到 + /// 未完成原因 0-正常(默认值) 1-放弃检查 /// [Column("no_complete_reason")] [MaxLength(1)]