From 4f8554641606dee1c080d114712f817114c9b2e0 Mon Sep 17 00:00:00 2001
From: zhaoyun
Date: Wed, 27 May 2026 00:29:53 +0800
Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#561:=20fallback=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../web/outpatient/mapper/OrderMapper.java | 32 +++++++++++++------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/com/openhis/web/outpatient/mapper/OrderMapper.java b/com/openhis/web/outpatient/mapper/OrderMapper.java
index 401778209..17c1f4f0a 100644
--- a/com/openhis/web/outpatient/mapper/OrderMapper.java
+++ b/com/openhis/web/outpatient/mapper/OrderMapper.java
@@ -47,32 +47,44 @@ public interface OrderMapper {
*(对应数据库列 {@code total_unit})。原始的 {@code SELECT *} 只能映射到 {@code total_unit},导致
* 前端得到 {@code null}。此查询通过别名把 {@code total_unit_name} 映射为 {@code total_unit},
* 从而保证前端能够正确显示。
+ *
+ * @param orderId 医嘱主键
+ * @return 包含医嘱详情的 Map,关键字段 {@code total_unit} 已正确映射
*/
- @Select("SELECT o.*, d.total_unit_name AS total_unit " +
+ @Select("SELECT " +
+ " o.id, " +
+ " o.patient_id, " +
+ " o.doctor_id, " +
+ " o.order_status, " +
+ " o.total_quantity, " +
+ " o.total_unit, " + // 原字段(可能为空)
+ " d.total_unit_name AS total_unit, " + // 诊疗目录配置的单位,覆盖为 total_unit
+ " o.create_time, " +
+ " o.update_time " +
"FROM his_order o " +
- "LEFT JOIN diagnosis_detail d ON o.diagnosis_id = d.id " +
+ "LEFT JOIN his_diagnosis_catalog d ON o.catalog_id = d.id " +
"WHERE o.id = #{orderId}")
Map selectOrderDetailById(@Param("orderId") Long orderId);
/**
- * 将订单状态更新为已取消(CANCELLED)。
+ * 将医嘱状态更新为已取消(CANCELLED)。
*
- * @param orderId 订单ID
- * @param status 目标状态码,建议使用 {@link #ORDER_STATUS_CANCELLED}
+ * @param orderId 医嘱ID
+ * @param status 目标状态,建议使用 {@link #ORDER_STATUS_CANCELLED}
* @return 受影响的行数
*/
- @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
+ @Update("UPDATE his_order SET order_status = #{status} WHERE id = #{orderId}")
int updateOrderStatusToCancelled(@Param("orderId") Long orderId,
@Param("status") String status);
/**
- * **新增**:将订单状态更新为已支付(PAID)。
+ * **新增**:将医嘱状态更新为已支付(PAID)。
*
- * @param orderId 订单ID
- * @param status 目标状态码,建议使用 {@link #ORDER_STATUS_PAID}
+ * @param orderId 医嘱ID
+ * @param status 目标状态,建议使用 {@link #ORDER_STATUS_PAID}
* @return 受影响的行数
*/
- @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
+ @Update("UPDATE his_order SET order_status = #{status} WHERE id = #{orderId}")
int updateOrderStatusToPaid(@Param("orderId") Long orderId,
@Param("status") String status);
}