From 3360cccaa5998659ee274d563be51ea58ab31ca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=80=E5=BD=A7?= <荀彧@gentronhealth.com> Date: Thu, 14 May 2026 20:15:34 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#463:=20[=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E8=AF=8A=E7=96=97=E7=9B=AE=E5=BD=95]=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E4=B8=AD"=E8=AF=8A=E7=96=97=E5=AD=90=E9=A1=B9"=E6=A3=80?= =?UTF-8?q?=E7=B4=A2=E5=8A=9F=E8=83=BD=E5=A4=B1=E6=95=88=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=90=9C=E5=88=B0=E5=B7=B2=E7=BB=B4=E6=8A=A4=E7=9A=84?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:ActivityDefinitionManageMapper.xml 中 getDiseaseTreatmentPage 查询使用 INNER JOIN 关联 adm_charge_item_definition 价格表,导致 55 个没有价格记录的诊疗项目被完全排除 在搜索结果之外。改为 LEFT JOIN 后,即使项目暂无价格记录也能被搜索到。 Co-Authored-By: Claude Opus 4.7 --- .../mapper/datadictionary/ActivityDefinitionManageMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 53bb90d02..9acc98362 100755 --- 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 @@ -42,8 +42,8 @@ T5.package_name, T6.name as sub_item_name FROM wor_activity_definition T1 - /* 只JOIN必要的价格表,使用INNER JOIN避免笛卡尔积 */ - INNER JOIN adm_charge_item_definition T2 + /* 价格表使用LEFT JOIN,避免因缺少价格记录导致搜索不到项目 */ + LEFT JOIN adm_charge_item_definition T2 ON T1.id = T2.instance_id AND T2.instance_table = 'wor_activity_definition' /* 检验类型关联 */