diff --git a/openhis-server-new/core-system/src/main/java/com/core/system/domain/vo/MetaVo.java b/openhis-server-new/core-system/src/main/java/com/core/system/domain/vo/MetaVo.java index a7a49e93..febc602a 100644 --- a/openhis-server-new/core-system/src/main/java/com/core/system/domain/vo/MetaVo.java +++ b/openhis-server-new/core-system/src/main/java/com/core/system/domain/vo/MetaVo.java @@ -28,6 +28,11 @@ public class MetaVo { */ private String link; + /** + * 菜单是否可见(用于前端侧边栏显示控制) + */ + private String visible; + public MetaVo() {} public MetaVo(String title, String icon) { @@ -56,6 +61,16 @@ public class MetaVo { } } + public MetaVo(String title, String icon, boolean noCache, String link, String visible) { + this.title = title; + this.icon = icon; + this.noCache = noCache; + if (StringUtils.ishttp(link)) { + this.link = link; + } + this.visible = visible; + } + public boolean isNoCache() { return noCache; } @@ -87,4 +102,12 @@ public class MetaVo { public void setLink(String link) { this.link = link; } + + public String getVisible() { + return visible; + } + + public void setVisible(String visible) { + this.visible = visible; + } } diff --git a/openhis-server-new/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java b/openhis-server-new/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java index d5e18186..336e2517 100644 --- a/openhis-server-new/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java +++ b/openhis-server-new/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java @@ -147,13 +147,15 @@ public class SysMenuServiceImpl implements ISysMenuService { List routers = new LinkedList(); for (SysMenu menu : menus) { RouterVo router = new RouterVo(); - router.setHidden("1".equals(menu.getVisible())); + // 不再根据 visible 字段设置 hidden,确保所有有权限的路由都可用 + // router.setHidden("1".equals(menu.getVisible())); + router.setHidden(false); router.setName(getRouteName(menu)); router.setPath(getRouterPath(menu)); router.setComponent(getComponent(menu)); router.setQuery(menu.getQuery()); router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), - menu.getPath())); + menu.getPath(), menu.getVisible())); List cMenus = menu.getChildren(); if (StringUtils.isNotEmpty(cMenus) && UserConstants.TYPE_DIR.equals(menu.getMenuType())) { router.setAlwaysShow(true); @@ -167,12 +169,12 @@ public class SysMenuServiceImpl implements ISysMenuService { children.setComponent(menu.getComponent()); children.setName(getRouteName(menu.getRouteName(), menu.getPath())); children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), - StringUtils.equals("1", menu.getIsCache()), menu.getPath())); + StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getVisible())); children.setQuery(menu.getQuery()); childrenList.add(children); router.setChildren(childrenList); } else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) { - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); + router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), false, null, menu.getVisible())); router.setPath("/"); List childrenList = new ArrayList(); RouterVo children = new RouterVo(); @@ -180,7 +182,7 @@ public class SysMenuServiceImpl implements ISysMenuService { children.setPath(routerPath); children.setComponent(UserConstants.INNER_LINK); children.setName(getRouteName(menu.getRouteName(), routerPath)); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); + children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), false, menu.getPath(), menu.getVisible())); childrenList.add(children); router.setChildren(childrenList); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRefundAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRefundAppServiceImpl.java index 362e0c52..e04e185f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRefundAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRefundAppServiceImpl.java @@ -383,6 +383,7 @@ public class OutpatientRefundAppServiceImpl implements IOutpatientRefundAppServi newRefundRequest.setStatusEnum(RequestStatus.CANCELLED.getValue()); newRefundRequest.setRefundDeviceId(deviceRequest.getId()); // 关联原ID newRefundRequest.setPrescriptionNo("T" + deviceRequest.getPrescriptionNo()); + newRefundRequest.setTenantId(deviceRequest.getTenantId()); // 显式设置租户ID deviceRequestService.save(newRefundRequest); Long newRequestId = newRefundRequest.getId(); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java index 43449e7f..20010c7c 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java @@ -554,6 +554,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp medicationRequest.setId(adviceSaveDto.getRequestId()); // 主键id medicationRequest.setStatusEnum(is_save ? RequestStatus.DRAFT.getValue() : RequestStatus.ACTIVE.getValue()); // 请求状态 medicationRequest.setPrescriptionNo(adviceSaveDto.getPrescriptionNo()); // 处方号 + medicationRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID medicationRequest.setGroupId(adviceSaveDto.getGroupId()); // 组号 if (is_sign) { medicationRequest.setSignCode(signCode); @@ -683,6 +684,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp deviceRequest = new DeviceRequest(); deviceRequest.setId(adviceSaveDto.getRequestId()); // 主键id deviceRequest.setStatusEnum(is_save ? RequestStatus.DRAFT.getValue() : RequestStatus.ACTIVE.getValue()); // 请求状态 + deviceRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID // 保存时,处理数据(请求,发放,账单) if (is_save) { @@ -794,6 +796,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp serviceRequest = new ServiceRequest(); serviceRequest.setId(adviceSaveDto.getRequestId()); // 主键id serviceRequest.setStatusEnum(is_save ? RequestStatus.DRAFT.getValue() : RequestStatus.ACTIVE.getValue());// 请求状态 + serviceRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID if (is_sign) { serviceRequest.setSignCode(signCode); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java index da3cec9a..8152b0d1 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java @@ -462,6 +462,7 @@ public class NurseBillingAppService implements INurseBillingAppService { // 基础配置:主键(新增为null,修改为已有ID)、状态、业务编号 deviceRequest.setId(adviceDto.getRequestId()); + deviceRequest.setTenantId(loginUser.getTenantId()); // 显式设置租户ID // 业务编号:按日生成,前缀+4位序列号(确保每日唯一) deviceRequest .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.DEVICE_RES_NO.getPrefix(), DEVICE_RES_NO_SEQ_LENGTH)); @@ -533,6 +534,7 @@ public class NurseBillingAppService implements INurseBillingAppService { // 基础配置:主键、状态、业务编号、签发编码 serviceRequest.setId(activityDto.getRequestId()); // 主键ID(新增为null,修改为已有ID) serviceRequest.setStatusEnum(RequestStatus.ACTIVE.getValue()); // 状态:激活(划价即生效) + serviceRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID serviceRequest.setAuthoredTime(authoredTime); // 医嘱签发时间 serviceRequest.setSignCode(signCode); // 全局签发编码(关联同一批次划价的医嘱) serviceRequest.setOccurrenceStartTime(startTime); // 医嘱开始执行时间 diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java index 65ac5cec..b34da1b3 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java @@ -276,6 +276,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { .setStatusEnum(is_save ? RequestStatus.DRAFT.getValue() : RequestStatus.ACTIVE.getValue()); // 请求状态 longMedicationRequest.setPrescriptionNo(regAdviceSaveDto.getPrescriptionNo()); // 处方号 longMedicationRequest.setGroupId(regAdviceSaveDto.getGroupId()); // 组号 + longMedicationRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID if (is_sign) { longMedicationRequest.setReqAuthoredTime(authoredTime); // 医嘱签发时间 longMedicationRequest.setSignCode(signCode); @@ -340,6 +341,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { .setStatusEnum(is_save ? RequestStatus.DRAFT.getValue() : RequestStatus.ACTIVE.getValue()); // 请求状态 tempMedicationRequest.setPrescriptionNo(regAdviceSaveDto.getPrescriptionNo()); // 处方号 tempMedicationRequest.setGroupId(regAdviceSaveDto.getGroupId()); // 组号 + tempMedicationRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID if (is_sign) { tempMedicationRequest.setReqAuthoredTime(authoredTime); // 医嘱签发时间 tempMedicationRequest.setSignCode(signCode); @@ -458,6 +460,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { longServiceRequest.setId(regAdviceSaveDto.getRequestId()); // 主键id longServiceRequest .setStatusEnum(is_save ? RequestStatus.DRAFT.getValue() : RequestStatus.ACTIVE.getValue());// 请求状态 + longServiceRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID if (is_sign) { longServiceRequest.setAuthoredTime(authoredTime); // 医嘱签发时间 longServiceRequest.setSignCode(signCode); @@ -505,6 +508,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { tempServiceRequest.setId(regAdviceSaveDto.getRequestId()); // 主键id tempServiceRequest .setStatusEnum(is_save ? RequestStatus.DRAFT.getValue() : RequestStatus.ACTIVE.getValue());// 请求状态 + tempServiceRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId()); // 显式设置租户ID if (is_sign) { tempServiceRequest.setAuthoredTime(authoredTime); // 医嘱签发时间 tempServiceRequest.setSignCode(signCode); diff --git a/openhis-ui-vue3/src/layout/components/Sidebar/SidebarItem.vue b/openhis-ui-vue3/src/layout/components/Sidebar/SidebarItem.vue index fb747600..b6a3f7e3 100644 --- a/openhis-ui-vue3/src/layout/components/Sidebar/SidebarItem.vue +++ b/openhis-ui-vue3/src/layout/components/Sidebar/SidebarItem.vue @@ -1,5 +1,5 @@