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 e0c3945b8..26eed4b95 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 @@ -327,9 +327,14 @@ public class DoctorStationMainAppServiceImpl implements IDoctorStationMainAppSer if (queueItem != null && !TriageQueueStatus.COMPLETED.getValue().equals(queueItem.getStatus())) { java.time.LocalDateTime nowLocal = java.time.LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS); - queueItem.setStatus(TriageQueueStatus.COMPLETED.getValue()); - queueItem.setUpdateTime(nowLocal); - triageQueueItemService.updateById(queueItem); + // 使用 LambdaUpdateWrapper 直接更新,确保 status 字段必定写入数据库 + boolean queueUpdate = triageQueueItemService.update(new LambdaUpdateWrapper() + .eq(TriageQueueItem::getId, queueItem.getId()) + .set(TriageQueueItem::getStatus, TriageQueueStatus.COMPLETED.getValue()) + .set(TriageQueueItem::getUpdateTime, nowLocal)); + if (!queueUpdate) { + log.error("完诊:triage_queue_item 状态更新失败,queueItemId={}", queueItem.getId()); + } } else if (queueItem == null) { log.error("完诊:未找到任何 triage_queue_item 记录,encounterId={}, tenantId={}", encounterId, tenantId);