diff --git a/pqs-common/common-web/src/main/java/com/njcn/web/filter/XssRequestWrapper.java b/pqs-common/common-web/src/main/java/com/njcn/web/filter/XssRequestWrapper.java index 7e469bc28..b3d8683be 100644 --- a/pqs-common/common-web/src/main/java/com/njcn/web/filter/XssRequestWrapper.java +++ b/pqs-common/common-web/src/main/java/com/njcn/web/filter/XssRequestWrapper.java @@ -34,7 +34,7 @@ import java.util.stream.Stream; @Slf4j public class XssRequestWrapper extends HttpServletRequestWrapper { - private final static String[] WHITE_PARAMETER_NAME = {"password", "mxContent", "docContent", "bgImage","fileContent","flowableXml","bpmnXml","fields","definition"}; + private final static String[] WHITE_PARAMETER_NAME = {"password", "mxContent", "docContent", "bgImage","fileContent","flowableXml","bpmnXml","fields","definition","thumbnail"}; public XssRequestWrapper(HttpServletRequest request) { diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index c32c787e1..ec1c122e4 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -3754,6 +3754,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalPushLogDTO.setDevName(lineMap.get(deviceId).getName()); String nodeId = deviceMap.get(deviceId).getNodeId(); pqsTerminalPushLogDTO.setNodeId(nodeId); + //如果前置删了直接返回 + if(!nodeMap.containsKey(nodeId)){ + return; + } pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); pqsTerminalPushLogDTO.setProcessUpdateFlag(false); if(deviceProcesseMap.containsKey(deviceId)){ @@ -3776,7 +3780,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalPushLogDTO.setId(temp.getId()); String deviceId = temp.getObjIndex(); pqsTerminalPushLogDTO.setDevId(deviceId); - pqsTerminalPushLogDTO.setDevName(lineMap.get(deviceId).getName()); + pqsTerminalPushLogDTO.setDevName(lineMap.containsKey(deviceId)?lineMap.get(deviceId).getName():"删除设备"); String nodeId = deviceMap.get(deviceId).getNodeId(); pqsTerminalPushLogDTO.setNodeId(nodeId); pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); @@ -3823,12 +3827,13 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //如果存在说明设备未被删除,不存在说明有一条删除日志,直接return; if(lineMap.containsKey(deviceId)){ pqsTerminalPushLogDTO.setDevName(lineMap.get(deviceId).getName()); - String nodeId = deviceMap.get(deviceId).getNodeId(); - pqsTerminalPushLogDTO.setNodeId(nodeId); - pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); }else{ - return; + pqsTerminalPushLogDTO.setDevName("删除设备"); + } + String nodeId = deviceMap.get(deviceId).getNodeId(); + pqsTerminalPushLogDTO.setNodeId(nodeId); + pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); } @@ -3901,7 +3906,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.DELETE_TERMINAL); List finalAddDevIds = addDevIds; //过滤本次新增的设备,因为前置那边还没有新增该装备 - pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> finalAddDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); + pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> !finalAddDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){ String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(",")); List resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); @@ -3923,7 +3928,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple if(collect.containsKey(DeviceRebootType.ADD_TERMINAL)){ List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.ADD_TERMINAL); List finalDeleteDevIds = deleteDevIds; - pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> finalDeleteDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); + pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> !finalDeleteDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){ String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(",")); @@ -3945,7 +3950,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.LEDGER_MODIFY); List finalDeleteDevIds1 = deleteDevIds; List finalAddDevIds1 = addDevIds; - pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> finalDeleteDevIds1.contains(temp.getDevId())|| finalAddDevIds1.contains(temp.getDevId())).distinct().collect(Collectors.toList()); + pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> !finalDeleteDevIds1.contains(temp.getDevId())&& !finalAddDevIds1.contains(temp.getDevId())).distinct().collect(Collectors.toList()); if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){ String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(",")); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java index d73fcb8a9..dcbec83dd 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java @@ -23,6 +23,7 @@ import org.influxdb.impl.InfluxDBResultMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.time.LocalDateTime; import java.util.List; @@ -136,7 +137,12 @@ public class EventDetailServiceImpl extends ServiceImpl addDashboard(@RequestBody PqDashboardPageParam pqDashboardPageParam){ + log.info("新增驾驶舱页面"); + String methodDescribe = getMethodDescribe("addDashboard"); + Boolean result = pqDashboardPageService.addDashboard(pqDashboardPageParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @PostMapping("/updateDashboard") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("修改驾驶舱页面") + public HttpResult updateDashboard(@RequestBody PqDashboardPageParam.UpdatePqDashboardPageParam updatePqDashboardPageParam){ + log.info("修改驾驶舱页面"); + String methodDescribe = getMethodDescribe("updateDashboard"); + Boolean result = pqDashboardPageService.updateDashboard(updatePqDashboardPageParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @PostMapping("/deleteDashboard") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("删除驾驶舱页面") + public HttpResult deleteDashboard(@RequestParam("id") String id){ + log.info("修改驾驶舱页面"); + String methodDescribe = getMethodDescribe("deleteDashboard"); + Boolean result = pqDashboardPageService.removeById(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @PostMapping("/queryById") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询驾驶舱页面") + public HttpResult queryById(@RequestParam("id") String id){ + log.info("新增驾驶舱页面"); + String methodDescribe = getMethodDescribe("queryById"); + PqDashboardPageVO result = pqDashboardPageService.queryById(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + @PostMapping("/activatePage") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("激活的驾驶舱页面") + public HttpResult activatePage(@RequestParam("id") String id){ + log.info("激活的驾驶舱页面"); + String methodDescribe = getMethodDescribe("activatePage"); + Boolean result = pqDashboardPageService.activatePage(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @PostMapping("/queryActivatePage") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询激活的驾驶舱页面") + public HttpResult queryActivatePage(){ + log.info("新增驾驶舱页面"); + String methodDescribe = getMethodDescribe("queryActivatePage"); + PqDashboardPageVO vo = new PqDashboardPageVO(); + PqDashboardPage result = pqDashboardPageService.lambdaQuery().eq(PqDashboardPage::getState,1).one(); + BeanUtils.copyProperties(result,vo); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe); + } + + @PostMapping("/queryPage") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("分页查询") + public HttpResult> queryPage(@RequestBody PqDashboardPageParam.PqDashboardPageQueryParam pqDashboardPageQueryParam){ + log.info("新增驾驶舱页面"); + String methodDescribe = getMethodDescribe("queryPage"); + Page result = pqDashboardPageService.queryPage(pqDashboardPageQueryParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java index 8a4a7976e..674d1788b 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java @@ -68,7 +68,7 @@ public class PqFrontLogsController extends BaseController { @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.QUERY) @PostMapping("/query") - @ApiOperation("查询审计日志(治理模块)") + @ApiOperation("查询前置日志") @ApiImplicitParam(name = "baseParam", value = "查询日志参数", required = true) public HttpResult> queryFrontLogs(@RequestBody PqFrontLogsParam baseParam) { String methodDescribe = getMethodDescribe("queryFrontLogs"); diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/PqDashboardPageMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/PqDashboardPageMapper.java new file mode 100644 index 000000000..60bc2e9f0 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/PqDashboardPageMapper.java @@ -0,0 +1,19 @@ +package com.njcn.system.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.system.pojo.po.PqDashboardPage; +import com.njcn.system.pojo.vo.PqDashboardPageVO; +import org.apache.ibatis.annotations.Param; + +/** + * Description: + * Date: 2025/05/23 下午 3:22【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface PqDashboardPageMapper extends BaseMapper { + Page page(@Param("page") Page objectPage,@Param("ew") QueryWrapper queryWrapper); +} \ No newline at end of file diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/PqDashboardPageMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/PqDashboardPageMapper.xml new file mode 100644 index 000000000..9ba4d29c5 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/PqDashboardPageMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + Id, page_name, thumbnail, remark, container_config, sort, `state`, Create_By, Create_Time, + Update_By, Update_Time + + + + \ No newline at end of file diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/PqDashboardPageService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/PqDashboardPageService.java new file mode 100644 index 000000000..b251141f0 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/PqDashboardPageService.java @@ -0,0 +1,29 @@ +package com.njcn.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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; + +/** + * + * Description: + * Date: 2025/05/23 下午 3:15【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface PqDashboardPageService extends IService { + + + Boolean addDashboard(PqDashboardPageParam pqDashboardPageParam); + + Boolean updateDashboard(PqDashboardPageParam.UpdatePqDashboardPageParam updatePqDashboardPageParam); + + PqDashboardPageVO queryById(String id); + + Page queryPage(PqDashboardPageParam.PqDashboardPageQueryParam pqDashboardPageQueryParam); + + Boolean activatePage(String id); +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqDashboardPageServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqDashboardPageServiceImpl.java new file mode 100644 index 000000000..92484c88a --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqDashboardPageServiceImpl.java @@ -0,0 +1,113 @@ +package com.njcn.system.service.impl; + +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.pojo.param.PqDashboardPageParam; +import com.njcn.system.pojo.po.TemplateRel; +import com.njcn.system.pojo.vo.PqDashboardPageVO; +import com.njcn.web.factory.PageFactory; +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.Objects; + +/** + * + * Description: + * Date: 2025/05/23 下午 3:15【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +public class PqDashboardPageServiceImpl extends ServiceImpl implements PqDashboardPageService{ + + + @Override + public Boolean addDashboard(PqDashboardPageParam pqDashboardPageParam) { + PqDashboardPage pqDashboardPage = new PqDashboardPage(); + checkName(pqDashboardPageParam,false); + + BeanUtils.copyProperties(pqDashboardPageParam,pqDashboardPage); + pqDashboardPage.setState(0); + this.save(pqDashboardPage); + + return true; + } + + @Override + public Boolean updateDashboard(PqDashboardPageParam.UpdatePqDashboardPageParam updatePqDashboardPageParam) { + PqDashboardPage pqDashboardPage = new PqDashboardPage(); + checkName(updatePqDashboardPageParam,true); + BeanUtils.copyProperties(updatePqDashboardPageParam,pqDashboardPage); + this.updateById(pqDashboardPage); + + return true; + } + + @Override + public PqDashboardPageVO queryById(String id) { + PqDashboardPageVO pqDashboardPageVO = new PqDashboardPageVO(); + PqDashboardPage byId = this.getById(id); + BeanUtils.copyProperties(byId,pqDashboardPageVO); + return pqDashboardPageVO; + } + + @Override + public Page queryPage(PqDashboardPageParam.PqDashboardPageQueryParam param) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (Objects.nonNull(param.getSearchBeginTime()) && Objects.nonNull(param.getSearchEndTime())) { + queryWrapper.between("A.Create_Time", param.getSearchBeginTime(), param.getSearchEndTime()); + } + if(Objects.nonNull(param.getPageName())){ + queryWrapper.like("A.page_name",param.getPageName()); + } + return this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper); + } + + @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(); + + return true; + } + + /** + * 校验参数,检查是否存在相同编码的字典类型 + */ + private void checkName(PqDashboardPageParam pqDashboardPageParam, boolean isExcludeSelf) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .eq(PqDashboardPage::getPageName, pqDashboardPageParam.getPageName()); + //更新的时候,需排除当前记录 + if (isExcludeSelf) { + if (pqDashboardPageParam instanceof PqDashboardPageParam.UpdatePqDashboardPageParam) { + queryWrapper.ne(PqDashboardPage::getId, ((PqDashboardPageParam.UpdatePqDashboardPageParam) pqDashboardPageParam).getId()); + } + } + int countByAccount = this.getBaseMapper().selectCount(queryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new BusinessException(SystemResponseEnum.PAGE_SAME_NAME); + } + } +}