diff --git a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs index e200129d..b269431a 100644 --- a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs +++ b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs @@ -580,6 +580,26 @@ namespace Shentun.Peis.QueueRegisters await _queueRegisterRepository.InsertAsync(entity, true); + #region 排队完,自动更新登记项目的体检中心 + + var roomDetail = await _roomDetailRepository.GetListAsync(m => m.RoomId == entity.RoomId); + + var registerAsbitemIds = roomDetail.Select(s => s.AsbitemId).ToList(); + + var updateRegisterCheckAsbitemList = (from registerCheck in await _registerCheckRepository.GetQueryableAsync() + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + where registerCheck.PatientRegisterId == input.PatientRegisterId && registerAsbitemIds.Contains(registerCheckAsbitem.AsbitemId) + select registerCheckAsbitem).ToList(); + + foreach (var item in updateRegisterCheckAsbitemList) + { + item.MedicalCenterId = pdRoom.MedicalCenterId; + } + + await _registerCheckAsbitemRepository.UpdateManyAsync(updateRegisterCheckAsbitemList); + + #endregion + return await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto { PatientRegisterId = input.PatientRegisterId