From b2dec2667ad1143f812ff010fda23714e7022210 Mon Sep 17 00:00:00 2001 From: chenqi Date: Fri, 13 Mar 2026 09:39:55 +0800 Subject: [PATCH] =?UTF-8?q?fix(document):=20=E4=BF=AE=E5=A4=8D=E6=96=87?= =?UTF-8?q?=E4=B9=A6=E5=AE=9A=E4=B9=89=E6=A0=91=E5=BD=A2=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加了对organizationId和useRanges参数的空值检查和日志警告 - 在SQL查询中增加了isValid字段过滤条件 - 添加了对primaryMenuEnum参数的条件查询支持 - 增加了详细的请求参数和查询结果日志记录 - 优化了参数传递的一致性,使用变量替代直接访问对象属性 --- .../impl/DocDefinitionAppServiceImpl.java | 26 +++++++++++++++++-- .../document/DocDefinitionAppMapper.xml | 5 ++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocDefinitionAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocDefinitionAppServiceImpl.java index 3100e3bf..821027c7 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocDefinitionAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocDefinitionAppServiceImpl.java @@ -245,15 +245,37 @@ public class DocDefinitionAppServiceImpl implements IDocDefinitionAppService { public R getTreeList(DocDefinitonParam param) { // 1. 获取当前登录用户的医院ID(避免跨医院查询) Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); + Long organizationId = param.getOrganizationId(); + List useRanges = param.getUseRanges(); + + log.info("获取文书定义树形列表 - 请求参数: hospitalId={}, organizationId={}, useRanges={}, name={}, primaryMenuEnum={}", + hospitalId, organizationId, useRanges, param.getName(), param.getPrimaryMenuEnum()); + if (hospitalId == null) { log.warn("当前登录用户未关联医院ID,将使用默认值"); // 设置默认医院ID为1(或其他合适的默认值) hospitalId = 1L; } + + if (organizationId == null || organizationId == 0) { + log.warn("organizationId为空或0,将跳过医院过滤和使用范围过滤"); + } + + if (useRanges == null || useRanges.isEmpty()) { + log.warn("useRanges为空,可能返回所有使用范围的文书"); + } // 2. 数据库查询文书定义列表 - List docList = docDefinitionAppMapper.getDefinationList(param.getUseRanges(), - param.getOrganizationId(), hospitalId, param.getName(), param.getPrimaryMenuEnum()); + List docList = docDefinitionAppMapper.getDefinationList(useRanges, + organizationId, hospitalId, param.getName(), param.getPrimaryMenuEnum()); + + log.info("获取文书定义树形列表 - 查询结果: 记录数={}", docList != null ? docList.size() : 0); + if (docList != null && !docList.isEmpty()) { + for (DocDefinitionDto doc : docList) { + log.debug("文书: id={}, name={}, useRangeEnum={}, hospitalId={}", + doc.getId(), doc.getName(), doc.getUseRangeEnum(), doc.getHospitalId()); + } + } // 3. 构建树形结构(空列表时返回空树,避免空指针) List treeNodes = new ArrayList<>(); diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/document/DocDefinitionAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/document/DocDefinitionAppMapper.xml index a3618b2d..302d6fcc 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/document/DocDefinitionAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/document/DocDefinitionAppMapper.xml @@ -30,6 +30,7 @@ AND ddo.delete_flag = '0' WHERE dd.delete_flag = '0' + AND dd.is_valid = 0 @@ -80,6 +81,10 @@ AND dd.name LIKE CONCAT('%', #{name}, '%') + + AND dd.primary_menu_enum = #{primaryMenuEnum} + + GROUP BY dd.id, dd.primary_menu_enum, dd.sub_menu ORDER BY dd.display_order