驾驶舱功能调整

This commit is contained in:
xy
2025-10-24 16:14:54 +08:00
parent b63fab9085
commit 5e93eb3691
13 changed files with 355 additions and 54 deletions

View File

@@ -0,0 +1,53 @@
package com.njcn.mq.message;
import com.njcn.middle.rocket.domain.BaseMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2025/9/29 15:06
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BzMessage extends BaseMessage {
@ApiModelProperty("唯一标识")
private String guid;
@ApiModelProperty("补召类型")
private String dataType;
@ApiModelProperty("响应码")
private Integer code;
@ApiModelProperty("结果")
private String result;
@ApiModelProperty("设备id")
private String terminalId;
@ApiModelProperty("监测点id")
private String monitorId;
@ApiModelProperty("补召起始时间")
private String recallStartDate;
@ApiModelProperty("补召结束时间")
private String recallEndDate;
@ApiModelProperty("前置服务器id")
private String nodeId;
@ApiModelProperty("前置进程")
private String processNo;
}

View File

@@ -45,7 +45,7 @@ public enum RedisKeyEnum {
/**
* 云前置心跳
*/
CLD_HEART_BEAT_KEY("CLD_HEART_BEAT:", 120L);
CLD_HEART_BEAT_KEY("CLD_HEART_BEAT:", 180L);
private final String key;

View File

@@ -0,0 +1,24 @@
package com.njcn.system.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.system.api.fallback.PqDashboardPageFeignClientFallbackFactory;
import com.njcn.system.pojo.po.PqDashboardPage;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @author 徐扬
*/
@FeignClient(value = ServerInfo.SYSTEM,path = "/dashboard",fallbackFactory = PqDashboardPageFeignClientFallbackFactory.class,contextId = "dashboard")
public interface PqDashboardPageFeignClient {
@PostMapping("/getDashboardPageByUserId")
@ApiOperation("根据用户id查询用户驾驶舱")
HttpResult<List<PqDashboardPage>> getDashboardPageByUserId(@RequestParam("id") String id,@RequestParam("state") boolean state);
}

View File

@@ -0,0 +1,48 @@
package com.njcn.system.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.system.api.PqDashboardPageFeignClient;
import com.njcn.system.pojo.po.PqDashboardPage;
import com.njcn.system.utils.SystemEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年01月05日 15:08
*/
@Slf4j
@Component
public class PqDashboardPageFeignClientFallbackFactory implements FallbackFactory<PqDashboardPageFeignClient> {
/**
* 输出远程请求接口异常日志
* @param cause RPC请求异常
* @return
*/
@Override
public PqDashboardPageFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if(cause.getCause() instanceof BusinessException){
BusinessException businessException = (BusinessException) cause.getCause();
exceptionEnum = SystemEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new PqDashboardPageFeignClient() {
@Override
public HttpResult<List<PqDashboardPage>> getDashboardPageByUserId(String id, boolean state) {
log.error("{}异常,降级处理,异常为:{}","根据用户id查询用户驾驶舱异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -1,11 +1,5 @@
package com.njcn.system.pojo.param;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.db.bo.BaseEntity;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
@@ -13,8 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* Description:
@@ -61,6 +53,18 @@ public class PqDashboardPageParam {
*/
private Integer state;
@ApiModelProperty("绑定页面路由")
private String pagePath;
@ApiModelProperty("绑定页面名称")
private String pathName;
@ApiModelProperty("路由名称")
private String routeName;
@ApiModelProperty("图标")
private String icon;
/**
* 更新操作实体
*/

View File

@@ -1,12 +1,9 @@
package com.njcn.system.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -24,6 +21,18 @@ public class PqDashboardPage extends BaseEntity {
*/
private String id;
/**
* 用户id
*/
@TableField(value = "user_id")
private String userId;
/**
* 图标
*/
@TableField(value = "icon")
private String icon;
/**
* 页面名称
*/
@@ -59,5 +68,16 @@ public class PqDashboardPage extends BaseEntity {
@TableField(value = "state")
private Integer state;
@TableField(value = "page_path")
@ApiModelProperty("绑定页面路由")
private String pagePath;
@TableField(value = "path_name")
@ApiModelProperty("绑定页面名称")
private String pathName;
@TableField(value = "route_name")
@ApiModelProperty("路由名称")
private String routeName;
}

View File

@@ -1,12 +1,12 @@
package com.njcn.system.pojo.vo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@@ -60,6 +60,17 @@ public class PqDashboardPageVO extends BaseEntity {
*/
private String createBy;
@ApiModelProperty("绑定页面路由")
private String pagePath;
@ApiModelProperty("绑定页面名称")
private String pathName;
@ApiModelProperty("路由名称")
private String routeName;
@ApiModelProperty("图标")
private String icon;
/**
* 创建时间

View File

@@ -1,5 +1,6 @@
package com.njcn.system.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
@@ -11,12 +12,13 @@ import com.njcn.system.pojo.vo.PqDashboardPageVO;
import com.njcn.system.service.PqDashboardPageService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
@@ -59,7 +61,7 @@ public class PqDashboardPageController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("删除驾驶舱页面")
public HttpResult<Boolean> deleteDashboard(@RequestParam("id") String id){
log.info("修改驾驶舱页面");
log.info("删除驾驶舱页面");
String methodDescribe = getMethodDescribe("deleteDashboard");
Boolean result = pqDashboardPageService.removeById(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
@@ -69,7 +71,7 @@ public class PqDashboardPageController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("查询驾驶舱页面")
public HttpResult<PqDashboardPageVO> queryById(@RequestParam("id") String id){
log.info("新增驾驶舱页面");
log.info("查询驾驶舱页面");
String methodDescribe = getMethodDescribe("queryById");
PqDashboardPageVO result = pqDashboardPageService.queryById(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
@@ -77,10 +79,10 @@ public class PqDashboardPageController extends BaseController {
@PostMapping("/activatePage")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("激活的驾驶舱页面")
public HttpResult<Boolean> activatePage(@RequestParam("id") String id){
public HttpResult<Boolean> activatePage(@RequestParam("id") String id,@RequestParam("state") Integer state){
log.info("激活的驾驶舱页面");
String methodDescribe = getMethodDescribe("activatePage");
Boolean result = pqDashboardPageService.activatePage(id);
Boolean result = pqDashboardPageService.activatePage(id,state);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@@ -88,7 +90,7 @@ public class PqDashboardPageController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("查询激活的驾驶舱页面")
public HttpResult<PqDashboardPageVO> queryActivatePage(){
log.info("新增驾驶舱页面");
log.info("查询激活的驾驶舱页面");
String methodDescribe = getMethodDescribe("queryActivatePage");
PqDashboardPageVO vo = new PqDashboardPageVO();
PqDashboardPage result = pqDashboardPageService.lambdaQuery().eq(PqDashboardPage::getState,1).one();
@@ -100,9 +102,32 @@ public class PqDashboardPageController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("分页查询")
public HttpResult<Page<PqDashboardPageVO>> queryPage(@RequestBody PqDashboardPageParam.PqDashboardPageQueryParam pqDashboardPageQueryParam){
log.info("新增驾驶舱页面");
log.info("分页查询");
String methodDescribe = getMethodDescribe("queryPage");
Page<PqDashboardPageVO> result = pqDashboardPageService.queryPage(pqDashboardPageQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@PostMapping("/queryByPagePath")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("根据页面路由查询数据")
public HttpResult<PqDashboardPageVO> queryByPagePath(@RequestParam("pagePath") String pagePath){
String methodDescribe = getMethodDescribe("queryByPagePath");
PqDashboardPageVO result = pqDashboardPageService.queryByPagePath(pagePath);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@PostMapping("/getDashboardPageByUserId")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("根据用户id查询用户驾驶舱")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "用户id", required = true),
@ApiImplicitParam(name = "state", value = "状态", required = true)
})
public HttpResult<List<PqDashboardPage>> getDashboardPageByUserId(@RequestParam("id") String id,@RequestParam("state") boolean state){
String methodDescribe = getMethodDescribe("getDashboardPageByUserId");
List<PqDashboardPage> result = pqDashboardPageService.getDashboardPageByUserId(id,state);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.system.pojo.param.PqDashboardPageParam;
import com.njcn.system.pojo.po.PqDashboardPage;
import com.njcn.system.pojo.vo.PqDashboardPageVO;
import com.njcn.user.pojo.po.HomePage;
import java.util.List;
/**
*
@@ -25,5 +28,9 @@ public interface PqDashboardPageService extends IService<PqDashboardPage> {
Page<PqDashboardPageVO> queryPage(PqDashboardPageParam.PqDashboardPageQueryParam pqDashboardPageQueryParam);
Boolean activatePage(String id);
Boolean activatePage(String id,Integer state);
PqDashboardPageVO queryByPagePath(String pagePath);
List<PqDashboardPage> getDashboardPageByUserId(String id,boolean state);
}

View File

@@ -4,28 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.biz.enums.DeviceResponseEnum;
import com.njcn.device.pq.pojo.param.NodeParam;
import com.njcn.device.pq.pojo.po.Node;
import com.njcn.supervision.pojo.po.device.LineWarning;
import com.njcn.system.enums.SystemResponseEnum;
import com.njcn.system.mapper.TemplateRelMapper;
import com.njcn.system.mapper.PqDashboardPageMapper;
import com.njcn.system.pojo.param.PqDashboardPageParam;
import com.njcn.system.pojo.po.TemplateRel;
import com.njcn.system.pojo.po.PqDashboardPage;
import com.njcn.system.pojo.vo.PqDashboardPageVO;
import com.njcn.system.service.PqDashboardPageService;
import com.njcn.user.pojo.constant.HomePageState;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import com.njcn.system.mapper.PqDashboardPageMapper;
import com.njcn.system.pojo.po.PqDashboardPage;
import com.njcn.system.service.PqDashboardPageService;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
@@ -43,19 +36,19 @@ public class PqDashboardPageServiceImpl extends ServiceImpl<PqDashboardPageMappe
@Override
public Boolean addDashboard(PqDashboardPageParam pqDashboardPageParam) {
PqDashboardPage pqDashboardPage = new PqDashboardPage();
checkName(pqDashboardPageParam,false);
// checkName(pqDashboardPageParam,false);
BeanUtils.copyProperties(pqDashboardPageParam,pqDashboardPage);
pqDashboardPage.setState(0);
pqDashboardPage.setUserId(RequestUtil.getUserIndex());
this.save(pqDashboardPage);
return true;
}
@Override
public Boolean updateDashboard(PqDashboardPageParam.UpdatePqDashboardPageParam updatePqDashboardPageParam) {
PqDashboardPage pqDashboardPage = new PqDashboardPage();
checkName(updatePqDashboardPageParam,true);
// checkName(updatePqDashboardPageParam,true);
BeanUtils.copyProperties(updatePqDashboardPageParam,pqDashboardPage);
this.updateById(pqDashboardPage);
@@ -83,12 +76,33 @@ public class PqDashboardPageServiceImpl extends ServiceImpl<PqDashboardPageMappe
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean activatePage(String id) {
this.lambdaUpdate().set(PqDashboardPage::getState,1).eq(PqDashboardPage::getId,id).update();
this.lambdaUpdate().set(PqDashboardPage::getState,0).ne(PqDashboardPage::getId,id).update();
public Boolean activatePage(String id,Integer state) {
return this.lambdaUpdate().set(PqDashboardPage::getState,state).eq(PqDashboardPage::getId,id).update();
}
return true;
@Override
public PqDashboardPageVO queryByPagePath(String pagePath) {
LambdaQueryWrapper<PqDashboardPage> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PqDashboardPage::getPagePath,pagePath);
PqDashboardPage result = this.getOne(queryWrapper);
if (Objects.isNull(result)) {
return null;
}
PqDashboardPageVO vo = new PqDashboardPageVO();
BeanUtils.copyProperties(result,vo);
return vo;
}
@Override
public List<PqDashboardPage> getDashboardPageByUserId(String id,boolean state) {
List<String> userList = new ArrayList<>();
userList.add(id);
userList.add(HomePageState.DEFAULT_USER_ID);
if (state) {
return this.lambdaQuery().in(PqDashboardPage::getUserId,userList).eq(PqDashboardPage::getState,1).orderByAsc(PqDashboardPage::getSort).list();
} else {
return this.lambdaQuery().in(PqDashboardPage::getUserId,userList).orderByAsc(PqDashboardPage::getSort).list();
}
}
/**

View File

@@ -0,0 +1,31 @@
package com.njcn.system.timer.tasks.cld;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.csdevice.api.IcdFeignClient;
import com.njcn.csdevice.param.IcdBzParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* @author xy
*/
@Component
@RequiredArgsConstructor
public class BzEventFileTaskRunner implements TimerTaskRunner {
private final IcdFeignClient icdFeignClient;
@Override
public void action(String date) {
if(StrUtil.isBlank(date)){
date = DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN);
}
IcdBzParam param = new IcdBzParam();
param.setStartTime(date);
param.setEndTime(date);
icdFeignClient.bzFile(param);
}
}

View File

@@ -0,0 +1,31 @@
package com.njcn.system.timer.tasks.cld;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.csdevice.api.IcdFeignClient;
import com.njcn.csdevice.param.IcdBzParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* @author xy
*/
@Component
@RequiredArgsConstructor
public class BzEventTaskRunner implements TimerTaskRunner {
private final IcdFeignClient icdFeignClient;
@Override
public void action(String date) {
if(StrUtil.isBlank(date)){
date = DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN);
}
IcdBzParam param = new IcdBzParam();
param.setStartTime(date);
param.setEndTime(date);
icdFeignClient.bzEvent(param);
}
}

View File

@@ -10,6 +10,8 @@ import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.redis.pojo.enums.RedisKeyEnum;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.system.api.PqDashboardPageFeignClient;
import com.njcn.system.pojo.po.PqDashboardPage;
import com.njcn.user.enums.UserResponseEnum;
import com.njcn.user.mapper.FunctionMapper;
import com.njcn.user.mapper.RoleFunctionMapper;
@@ -17,7 +19,10 @@ import com.njcn.user.pojo.constant.FunctionState;
import com.njcn.user.pojo.constant.UserType;
import com.njcn.user.pojo.param.FunctionParam;
import com.njcn.user.pojo.param.RoleParam;
import com.njcn.user.pojo.po.*;
import com.njcn.user.pojo.po.Function;
import com.njcn.user.pojo.po.Role;
import com.njcn.user.pojo.po.RoleFunction;
import com.njcn.user.pojo.po.UserRole;
import com.njcn.user.pojo.vo.FunctionVO;
import com.njcn.user.service.*;
import com.njcn.web.utils.RequestUtil;
@@ -57,6 +62,8 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function> i
private final RoleFunctionMapper roleFunctionMapper;
private final PqDashboardPageFeignClient pqDashboardPageFeignClient;
/**
* 将系统中角色--资源对应数据缓存到redis
* 先清除,再缓存
@@ -270,25 +277,23 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function> i
/**
* 组装驾驶舱子级
*
* @param list 菜单集合
*/
private void setDriverChildren(List<FunctionVO> list) {
List<HomePage> homePages = homePageService.getHomePagesByUserId(RequestUtil.getUserIndex());
List<PqDashboardPage> PqDashboardPage = pqDashboardPageFeignClient.getDashboardPageByUserId(RequestUtil.getUserIndex(),true).getData();
list.forEach(item -> {
if (Objects.equals(item.getRoutePath(), FunctionState.DRIVER_NAME)) {
homePages.forEach(po -> {
if (Objects.equals(item.getRoutePath(), FunctionState.DRIVER_NAME) && CollectionUtil.isNotEmpty(PqDashboardPage)) {
PqDashboardPage.forEach(po -> {
FunctionVO functionVO = new FunctionVO();
functionVO.setId(po.getId());
functionVO.setPid(item.getId());
functionVO.setTitle(po.getName());
functionVO.setTitle(po.getPageName());
functionVO.setCode(item.getCode());
functionVO.setRouteName(po.getPath().substring(po.getPath().lastIndexOf("/") + 1));
functionVO.setRoutePath(po.getPath());
functionVO.setRouteName(po.getRouteName());
functionVO.setRoutePath(po.getPagePath());
functionVO.setIcon(po.getIcon());
functionVO.setSort(po.getSort());
functionVO.setType(item.getType());
functionVO.setRemark(po.getName());
functionVO.setRemark(po.getPageName());
functionVO.setChildren(new ArrayList<>());
item.getChildren().add(functionVO);
});
@@ -296,6 +301,34 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function> i
});
}
// /**
// * 组装驾驶舱子级
// *
// * @param list 菜单集合
// */
// private void setDriverChildren(List<FunctionVO> list) {
// List<HomePage> homePages = homePageService.getHomePagesByUserId(RequestUtil.getUserIndex());
// list.forEach(item -> {
// if (Objects.equals(item.getRoutePath(), FunctionState.DRIVER_NAME)) {
// homePages.forEach(po -> {
// FunctionVO functionVO = new FunctionVO();
// functionVO.setId(po.getId());
// functionVO.setPid(item.getId());
// functionVO.setTitle(po.getName());
// functionVO.setCode(item.getCode());
// functionVO.setRouteName("/src/views/pqs/cockpit/homePage/index.vue");
// functionVO.setRoutePath(po.getPath());
// functionVO.setIcon(po.getIcon());
// functionVO.setSort(po.getSort());
// functionVO.setType(item.getType());
// functionVO.setRemark(po.getName());
// functionVO.setChildren(new ArrayList<>());
// item.getChildren().add(functionVO);
// });
// }
// });
// }
/**
* 处理tab页
*/