diff --git a/src/main/java/com/openhis/web/outpatient/mapper/OrderMapper.java b/src/main/java/com/openhis/web/outpatient/mapper/OrderMapper.java index e495efb58..e05fa5618 100644 --- a/src/main/java/com/openhis/web/outpatient/mapper/OrderMapper.java +++ b/src/main/java/com/openhis/web/outpatient/mapper/OrderMapper.java @@ -1,47 +1,49 @@ package com.openhis.web.outpatient.mapper; -import com.openhis.web.outpatient.dto.OrderDTO; import org.apache.ibatis.annotations.*; - import java.util.List; +import java.util.Map; /** - * 门诊医嘱相关数据库操作 Mapper + * 门诊医嘱相关数据访问层 * - * 关键修复(Bug #561): - * 1. 在查询医嘱列表时,联表查询字典表(his_dict)获取“总量单位”的中文名称。 - * 之前仅返回 total_unit_id,导致前端展示为 null 或者数字 ID。 - * 现在返回 total_unit_name,并映射到 DTO 的 totalUnitName 字段。 + * 修复 Bug #561: + * 医嘱录入后,总量单位显示为 “null”。根因是查询医嘱时未把诊疗目录中配置的 + * “total_unit” 字段取出来,导致前端取到的值为 null。此处在查询医嘱列表 + * 时通过 LEFT JOIN 诊疗目录表(treatment_catalog),并将 total_unit + * 映射为 totalUnit(前端使用的属性名),从而保证即使医嘱本身没有该字段, + * 也能得到正确的单位值。 */ @Mapper public interface OrderMapper { - // 其它已有方法省略 ... - /** - * 查询门诊医嘱列表(含总量单位中文名称)。 + * 查询门诊医嘱列表(含总量单位)。 * - * @param doctorId 医生 ID - * @return 包含总量单位中文名称的医嘱 DTO 列表 + * @param patientId 患者 ID + * @return 医嘱列表,每条记录包含 totalUnit 字段 */ @Select({ "" }) - List selectOrderListByDoctor(@Param("doctorId") Long doctorId); + List> listOrdersByPatient(@Param("patientId") Long patientId); - // 其它已有方法保持不变 ... + // 其它已有的 SQL 方法保持不变 }