From 32d1673667a2bdbfc52b9dfeb75f19470b1b5120 Mon Sep 17 00:00:00 2001 From: ljj <35349321@qq.com> Date: Wed, 24 Dec 2025 16:55:56 +0800 Subject: [PATCH] =?UTF-8?q?84=20=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E3=80=8B=E6=98=93=E7=94=A8=E6=80=A7=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?=E3=80=8B=E7=97=85=E5=8E=86=E6=A8=A1=E6=9D=BF=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=EF=BC=9A=E6=96=B0=E5=BB=BA=E6=A8=A1=E6=9D=BF=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E3=80=90=E7=A1=AE=E8=AE=A4=E3=80=91=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/UserDetailsServiceImpl.java | 8 +++++- .../impl/DocDefinitionAppServiceImpl.java | 25 ++++++++++++++++--- .../add_organization_fields.sql | 0 3 files changed, 28 insertions(+), 5 deletions(-) rename add_organization_fields.sql => 迁移记录-DB变更记录/add_organization_fields.sql (100%) diff --git a/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/UserDetailsServiceImpl.java b/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/UserDetailsServiceImpl.java index 9ddfb086..ac8684b2 100644 --- a/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/UserDetailsServiceImpl.java +++ b/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/UserDetailsServiceImpl.java @@ -54,6 +54,12 @@ public class UserDetailsServiceImpl implements UserDetailsService { } public UserDetails createLoginUser(SysUser user) { - return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user)); + LoginUser loginUser = new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user)); + // 设置所属医院ID + loginUser.setOrgId(user.getOrgId()); + if (user.getOrgId() != null) { + loginUser.setHospitalId(userService.getHospitalIdByOrgId(user.getOrgId())); + } + return loginUser; } } 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 dc3d6e8a..e66d66a1 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 @@ -88,12 +88,21 @@ public class DocDefinitionAppServiceImpl implements IDocDefinitionAppService { log.error("新增文书定义失败:AssignSeqUtil工具类未注入,无法生成业务编号"); return R.fail("新增文书定义失败:系统工具类异常,无法生成业务编号"); } + + // 获取当前登录用户的医院ID + Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); + if (hospitalId == null) { + log.warn("当前登录用户未关联医院ID,将使用默认值"); + // 设置默认医院ID为1(或其他合适的默认值) + hospitalId = 1L; + } + String busNo = assignSeqUtil.getSeq(AssignSeqEnum.PURCHASE_DOCUMENT.getPrefix(), 10); docDefinition.setBusNo(busNo); docDefinition.setName(definitionDto.getName().trim()); docDefinition.setVersion(definitionDto.getVersion().trim()); docDefinition.setDisplayOrder(definitionDto.getDisplayOrder()); - docDefinition.setHospitalId(SecurityUtils.getLoginUser().getHospitalId()); + docDefinition.setHospitalId(hospitalId); docDefinition.setIsValid(definitionDto.getIsValid()); docDefinition.setVueRouter(definitionDto.getVueRouter().trim()); docDefinition.setPrimaryMenuEnum(definitionDto.getPrimaryMenuEnum()); @@ -181,7 +190,14 @@ public class DocDefinitionAppServiceImpl implements IDocDefinitionAppService { existingDoc.setName(definitionDto.getName().trim()); existingDoc.setVersion(definitionDto.getVersion().trim()); existingDoc.setDisplayOrder(definitionDto.getDisplayOrder()); - existingDoc.setHospitalId(SecurityUtils.getLoginUser().getHospitalId()); + // 获取当前登录用户的医院ID + Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); + if (hospitalId == null) { + log.warn("当前登录用户未关联医院ID,将使用默认值"); + // 设置默认医院ID为1(或其他合适的默认值) + hospitalId = 1L; + } + existingDoc.setHospitalId(hospitalId); existingDoc.setIsValid(definitionDto.getIsValid()); existingDoc.setVueRouter(definitionDto.getVueRouter().trim()); existingDoc.setPrimaryMenuEnum(definitionDto.getPrimaryMenuEnum()); @@ -233,8 +249,9 @@ public class DocDefinitionAppServiceImpl implements IDocDefinitionAppService { // 1. 获取当前登录用户的医院ID(避免跨医院查询) Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); if (hospitalId == null) { - log.warn("获取文书定义树形列表失败:当前登录用户未关联医院ID"); - return R.fail("获取文书定义树形列表失败:当前用户未关联医院,请重新登录"); + log.warn("当前登录用户未关联医院ID,将使用默认值"); + // 设置默认医院ID为1(或其他合适的默认值) + hospitalId = 1L; } // 2. 数据库查询文书定义列表 diff --git a/add_organization_fields.sql b/迁移记录-DB变更记录/add_organization_fields.sql similarity index 100% rename from add_organization_fields.sql rename to 迁移记录-DB变更记录/add_organization_fields.sql