84 系统管理-》易用性配置-》病历模板定义:新建模板点击【确认】报错

This commit is contained in:
ljj
2025-12-24 16:55:56 +08:00
parent 17c7cc70ed
commit 32d1673667
3 changed files with 28 additions and 5 deletions

View File

@@ -54,6 +54,12 @@ public class UserDetailsServiceImpl implements UserDetailsService {
} }
public UserDetails createLoginUser(SysUser user) { 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;
} }
} }

View File

@@ -88,12 +88,21 @@ public class DocDefinitionAppServiceImpl implements IDocDefinitionAppService {
log.error("新增文书定义失败AssignSeqUtil工具类未注入无法生成业务编号"); log.error("新增文书定义失败AssignSeqUtil工具类未注入无法生成业务编号");
return R.fail("新增文书定义失败:系统工具类异常,无法生成业务编号"); 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); String busNo = assignSeqUtil.getSeq(AssignSeqEnum.PURCHASE_DOCUMENT.getPrefix(), 10);
docDefinition.setBusNo(busNo); docDefinition.setBusNo(busNo);
docDefinition.setName(definitionDto.getName().trim()); docDefinition.setName(definitionDto.getName().trim());
docDefinition.setVersion(definitionDto.getVersion().trim()); docDefinition.setVersion(definitionDto.getVersion().trim());
docDefinition.setDisplayOrder(definitionDto.getDisplayOrder()); docDefinition.setDisplayOrder(definitionDto.getDisplayOrder());
docDefinition.setHospitalId(SecurityUtils.getLoginUser().getHospitalId()); docDefinition.setHospitalId(hospitalId);
docDefinition.setIsValid(definitionDto.getIsValid()); docDefinition.setIsValid(definitionDto.getIsValid());
docDefinition.setVueRouter(definitionDto.getVueRouter().trim()); docDefinition.setVueRouter(definitionDto.getVueRouter().trim());
docDefinition.setPrimaryMenuEnum(definitionDto.getPrimaryMenuEnum()); docDefinition.setPrimaryMenuEnum(definitionDto.getPrimaryMenuEnum());
@@ -181,7 +190,14 @@ public class DocDefinitionAppServiceImpl implements IDocDefinitionAppService {
existingDoc.setName(definitionDto.getName().trim()); existingDoc.setName(definitionDto.getName().trim());
existingDoc.setVersion(definitionDto.getVersion().trim()); existingDoc.setVersion(definitionDto.getVersion().trim());
existingDoc.setDisplayOrder(definitionDto.getDisplayOrder()); 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.setIsValid(definitionDto.getIsValid());
existingDoc.setVueRouter(definitionDto.getVueRouter().trim()); existingDoc.setVueRouter(definitionDto.getVueRouter().trim());
existingDoc.setPrimaryMenuEnum(definitionDto.getPrimaryMenuEnum()); existingDoc.setPrimaryMenuEnum(definitionDto.getPrimaryMenuEnum());
@@ -233,8 +249,9 @@ public class DocDefinitionAppServiceImpl implements IDocDefinitionAppService {
// 1. 获取当前登录用户的医院ID避免跨医院查询 // 1. 获取当前登录用户的医院ID避免跨医院查询
Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); Long hospitalId = SecurityUtils.getLoginUser().getHospitalId();
if (hospitalId == null) { if (hospitalId == null) {
log.warn("获取文书定义树形列表失败:当前登录用户未关联医院ID"); log.warn("当前登录用户未关联医院ID,将使用默认值");
return R.fail("获取文书定义树形列表失败:当前用户未关联医院,请重新登录"); // 设置默认医院ID为1或其他合适的默认值
hospitalId = 1L;
} }
// 2. 数据库查询文书定义列表 // 2. 数据库查询文书定义列表