Fix Bug #463: [目录管理-诊疗目录] 新增/编辑弹窗中"诊疗子项"检索功能失效,无法搜到已维护的项目

根因:ActivityDefinitionManageMapper.xml 中 getDiseaseTreatmentPage 查询使用 INNER JOIN
关联 adm_charge_item_definition 价格表,导致 55 个没有价格记录的诊疗项目被完全排除
在搜索结果之外。改为 LEFT JOIN 后,即使项目暂无价格记录也能被搜索到。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
荀彧
2026-05-14 20:15:34 +08:00
committed by 赵云
parent 7b92851ec7
commit 1d3d3b3b81

View File

@@ -42,8 +42,8 @@
T5.package_name, T5.package_name,
T6.name as sub_item_name T6.name as sub_item_name
FROM wor_activity_definition T1 FROM wor_activity_definition T1
/* 只JOIN必要的价格表使用INNER JOIN避免笛卡尔积 */ /* 价格表使用LEFT JOIN避免因缺少价格记录导致搜索不到项目 */
INNER JOIN adm_charge_item_definition T2 LEFT JOIN adm_charge_item_definition T2
ON T1.id = T2.instance_id ON T1.id = T2.instance_id
AND T2.instance_table = 'wor_activity_definition' AND T2.instance_table = 'wor_activity_definition'
/* 检验类型关联 */ /* 检验类型关联 */