From 45797ad60b0413e1f7df4cedd4344e2de73127c7 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Tue, 26 Aug 2025 19:54:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TerminalBaseServiceImpl.java | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) 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 4eb2302dd..451f8b861 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 @@ -3724,11 +3724,26 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple PqsTerminalPushLogDTO pqsTerminalPushLogDTO = new PqsTerminalPushLogDTO(); if(Objects.equals(temp.getTerminalType(),6)){ pqsTerminalPushLogDTO.setId(temp.getId()); - //如果不存在该设备id,说明设备也被删除,直接走下边的设备删除此处不做处理 + String deviceId; + //如果不存在该设备id,说明监测点删除 if(!lineDeviceMap.containsKey(temp.getObjIndex())){ - return; + String temLos = "%s监测点名称: %s"; + List strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe()); + String[] lineName = strings.get(1).split("->"); + List devList = lineById.stream().filter(line -> Objects.equals(line.getName(), lineName[1])).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(devList)){ + //如果不存在该设备说明设备也被删除,直接走下边删除设备逻辑; + return; + }else { + Line sub = lineById.stream().filter(line -> Objects.equals(line.getName(), lineName[0])).collect(Collectors.toList()).get(0); + Line tempDev = devList.stream().filter(dev->dev.getPid().equals(sub.getId())).collect(Collectors.toList()).get(0); + deviceId = tempDev.getId(); + } + + }else { + deviceId = lineDeviceMap.get(temp.getObjIndex()); + } - String deviceId = lineDeviceMap.get(temp.getObjIndex()); pqsTerminalPushLogDTO.setDevId(deviceId); pqsTerminalPushLogDTO.setDevName(lineMap.get(deviceId).getName()); @@ -3776,7 +3791,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalPushLogDTO1.setNodeName(nodeMap.get(nodeId).getName()); pqsTerminalPushLogDTO1.setProcessUpdateFlag(true); pqsTerminalPushLogDTO1.setProcessNum(processId2); - pqsTerminalPushLogDTOList.add(pqsTerminalPushLogDTO); + pqsTerminalPushLogDTOList.add(pqsTerminalPushLogDTO1); }else { pqsTerminalPushLogDTO.setId(temp.getId()); @@ -4059,6 +4074,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple private void terminalLogsCat(List logsList,String operateType,List pqsTerminalLogsList,Map nodeMap){ String op; Map subMap = new HashMap<>(); + Map devMap = new HashMap<>(); List temList = logsList.stream().filter(it-> it.getLevel().equals(LINE_LEVEL.getCode()) ||it.getLevel().equals(DEVICE_LEVEL.getCode())).collect(Collectors.toList()); if(CollUtil.isEmpty(temList)){ return; @@ -4067,13 +4083,21 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple case Param.ADD: op = Param.ADD_ZN; List stationIds = temList.stream().map(it->it.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).distinct().collect(Collectors.toList()); + List devIds = temList.stream().map(it->it.getPids().split(StrUtil.COMMA)[DEVICE_LEVEL.getCode()]).distinct().collect(Collectors.toList()); List subList = this.listByIds(stationIds); + List devList = this.listByIds(devIds); subMap = subList.stream().collect(Collectors.toMap(Line::getId,Function.identity())); + devMap = devList.stream().collect(Collectors.toMap(Line::getId,Function.identity())); break; case Param.DEL: op = Param.DEL_ZN; List stationList = logsList.stream().filter(it->it.getLevel().equals(SUB_LEVEL.getCode())).collect(Collectors.toList()); + List tempDevIds = temList.stream().map(it->it.getPids().split(StrUtil.COMMA)[DEVICE_LEVEL.getCode()]).distinct().collect(Collectors.toList()); + + List tempDevList = this.listByIds(tempDevIds); subMap = stationList.stream().collect(Collectors.toMap(Line::getId,Function.identity())); + devMap = tempDevList.stream().collect(Collectors.toMap(Line::getId,Function.identity())); + break; default: op=Param.UNKONOW; @@ -4092,6 +4116,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalLogs.setLogsType(devDataDic.getId()); } String subName; + String devName; String levelOperate; String nodeName = ""; if(line.getLevel().equals(LINE_LEVEL.getCode())){ @@ -4104,8 +4129,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } subName = subMap.get(line.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).getName(); + devName = devMap.get(line.getPids().split(StrUtil.COMMA)[DEVICE_LEVEL.getCode()]).getName(); String temLos = "%s进行%s%s操作;详细信息: %s名称: %s"; - String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"_"+line.getName()+nodeName); + String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"->"+devName+"->"+line.getName()+nodeName); pqsTerminalLogs.setTerminalDescribe(tem); pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode()); pqsTerminalLogs.setIsPush(0);