diff --git a/com/openhis/web/outpatient/mapper/OrderMapper.java b/com/openhis/web/outpatient/mapper/OrderMapper.java index 17c1f4f0a..c16c5702e 100644 --- a/com/openhis/web/outpatient/mapper/OrderMapper.java +++ b/com/openhis/web/outpatient/mapper/OrderMapper.java @@ -49,42 +49,36 @@ public interface OrderMapper { * 从而保证前端能够正确显示。
* * @param orderId 医嘱主键 - * @return 包含医嘱详情的 Map,关键字段 {@code total_unit} 已正确映射 + * @return 包含医嘱详情的 Map */ - @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 " + + @Select("SELECT o.*, d.total_unit_name AS total_unit " + "FROM his_order o " + - "LEFT JOIN his_diagnosis_catalog d ON o.catalog_id = d.id " + + "LEFT JOIN diagnosis_item d ON o.item_id = d.id " + "WHERE o.id = #{orderId}") Map此方法使用 PRD 中统一的 {@link #ORDER_STATUS_CANCELLED} 状态码,取代之前硬编码的 + * {@code 'RETURNED'},确保数据库状态与生产环境定义保持一致,修复 Bug #506。
+ * + * @param orderId 医嘱主键 + * @param status 状态码,建议使用 {@link #ORDER_STATUS_CANCELLED} + * @return 受影响的行数 + */ + @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}") + int updateOrderStatusToCancelled(@Param("orderId") Long orderId, + @Param("status") String status); }