diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagTreatMAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagTreatMAppService.java index c8e6d1ff..6e04b9c3 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagTreatMAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagTreatMAppService.java @@ -130,4 +130,13 @@ public interface IDiagTreatMAppService { * @return 结果 */ R updatePricingFlag(List ids, Integer pricingFlag); + + /** + * 诊疗目录下拉列表(轻量级,用于套餐设置) + * + * @param statusEnum 状态(2=启用) + * @param searchKey 搜索关键词(可选) + * @return 只包含 id, name, busNo, retailPrice + */ + R getDiagnosisTreatmentSimpleList(Integer statusEnum, String searchKey); } \ No newline at end of file diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java index 900a670d..ad523bb4 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java @@ -822,4 +822,20 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { } return activityDefinition; } + + /** + * 诊疗目录下拉列表(轻量级,用于套餐设置) + * 只查询必要字段,减少JOIN,提高查询速度 + * 支持搜索关键词过滤 + * + * @param statusEnum 状态(2=启用) + * @param searchKey 搜索关键词 + * @return 只包含 id, name, busNo, retailPrice + */ + @Override + public R getDiagnosisTreatmentSimpleList(Integer statusEnum, String searchKey) { + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + List list = activityDefinitionManageMapper.getDiagnosisTreatmentSimpleList(statusEnum, tenantId, searchKey); + return R.ok(list); + } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java index 03b4e89d..e18af678 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java @@ -207,4 +207,21 @@ public class DiagnosisTreatmentController { .orderByAsc(InspectionType::getSortOrder); return R.ok(inspectionTypeService.list(queryWrapper)); } + + /** + * 诊疗目录下拉列表(轻量级,用于套餐设置) + * 只查询必要字段,减少JOIN,提高查询速度 + * 支持搜索关键词过滤 + * + * @param statusEnum 状态(2=启用) + * @param searchKey 搜索关键词 + * @return 只包含 id, name, busNo, retailPrice + */ + @GetMapping("/simple-list") + public R getDiagnosisTreatmentSimpleList(@RequestParam(required = false) Integer statusEnum, @RequestParam(required = false) String searchKey) { + if (statusEnum == null) { + statusEnum = 2; + } + return diagTreatMAppService.getDiagnosisTreatmentSimpleList(statusEnum, searchKey); + } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java index f0318f37..eed60d09 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java @@ -8,6 +8,8 @@ import com.openhis.web.datadictionary.dto.DiagnosisTreatmentDto; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + /** * 诊疗定义管理 * @@ -36,4 +38,14 @@ public interface ActivityDefinitionManageMapper { */ DiagnosisTreatmentDto getDiseaseTreatmentOne(@Param("id") Long id, @Param("tenantId") Integer tenantId); + /** + * 诊疗目录下拉列表(轻量级,只查4个字段) + * + * @param statusEnum 状态 + * @param tenantId 租户ID + * @param searchKey 搜索关键词(可选) + * @return id, name, busNo, retailPrice + */ + List getDiagnosisTreatmentSimpleList(@Param("statusEnum") Integer statusEnum, @Param("tenantId") Integer tenantId, @Param("searchKey") String searchKey); + } diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml index 98b7a520..91b7b594 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml @@ -78,6 +78,36 @@ ORDER BY T1.id DESC + + +