diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java index 26eed4b95..480402f04 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java @@ -307,13 +307,15 @@ public class DoctorStationMainAppServiceImpl implements IDoctorStationMainAppSer if (queueItem != null && queueItem.getPoolId() != null && queueItem.getSlotId() != null) { divPoolId = queueItem.getPoolId(); divSlotId = queueItem.getSlotId(); - } else if (encounter.getOrderId() != null) { + } + // 队列项 poolId/slotId 缺失时,通过 encounter.orderId → order_main.slot_id → adm_schedule_slot.pool_id 回退获取 + if ((divPoolId == null || divSlotId == null) && encounter.getOrderId() != null) { try { Order order = iOrderService.getById(encounter.getOrderId()); if (order != null && order.getSlotId() != null) { - divSlotId = order.getSlotId(); - ScheduleSlot slot = scheduleSlotMapper.selectById(divSlotId); + ScheduleSlot slot = scheduleSlotMapper.selectById(order.getSlotId()); if (slot != null) { + divSlotId = slot.getId(); divPoolId = slot.getPoolId(); } }