diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java index 71f4b6ef2..365270532 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java @@ -211,34 +211,36 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService { List generalDeviceDTOList = generalDeviceService.getDeviceInfo(businessParam, Stream.of(RunFlagEnum.RUNNING.getStatus()).collect(Collectors.toList()), Stream.of(PowerFlagEnum.REAL_DEVICE.getCode()).collect(Collectors.toList())); if (CollectionUtil.isNotEmpty(generalDeviceDTOList)) { if (generalDeviceDTOList.size() == 1 && generalDeviceDTOList.get(0).getIndex().equals(businessParam.getDeptIndex())) { - //已经最底层,展示电站和用户场站 - List lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes()); - List ids = lineDetailList.stream().map(MonitorInfoDTO::getId).distinct().collect(Collectors.toList()); - List devIds = lineDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.DEVICE_LEVEL.getCode()]).distinct().collect(Collectors.toList()); - List rStatIntegrityDList = new ArrayList<>(); - List rStatOnlinerateDList = new ArrayList<>(); - List rStatLimitRateDPOList = new ArrayList<>(); - getData(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, ids, devIds, businessParam.getSearchBeginTime(), businessParam.getSearchEndTime()); - List detailList = lineDetailList.stream().filter(it -> StrUtil.isNotBlank(it.getObjId())).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(detailList)) { - List objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList()); - Map userReportVOMap = getUserLedgerByObjIds(objIds); - Map> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId)); - map.forEach((objId, list) -> { - NewUserReportVO userLedgerVO = userReportVOMap.get(objId); - commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, userLedgerVO.getProjectName()); - }); - } - List otherDetailList = lineDetailList.stream().filter(it -> StrUtil.isBlank(it.getObjId())).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(otherDetailList)) { - List subIds = otherDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList()); - List subList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId, subIds)); - Map subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity())); - Map> map = otherDetailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()])); - map.forEach((subId, list) -> { - String name = subMap.get(subId).getName(); - commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, name); - }); + if(CollUtil.isNotEmpty(generalDeviceDTOList.get(0).getLineIndexes())) { + //已经最底层,展示电站和用户场站 + List lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes()); + List ids = lineDetailList.stream().map(MonitorInfoDTO::getId).distinct().collect(Collectors.toList()); + List devIds = lineDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.DEVICE_LEVEL.getCode()]).distinct().collect(Collectors.toList()); + List rStatIntegrityDList = new ArrayList<>(); + List rStatOnlinerateDList = new ArrayList<>(); + List rStatLimitRateDPOList = new ArrayList<>(); + getData(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, ids, devIds, businessParam.getSearchBeginTime(), businessParam.getSearchEndTime()); + List detailList = lineDetailList.stream().filter(it -> StrUtil.isNotBlank(it.getObjId())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(detailList)) { + List objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList()); + Map userReportVOMap = getUserLedgerByObjIds(objIds); + Map> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId)); + map.forEach((objId, list) -> { + NewUserReportVO userLedgerVO = userReportVOMap.get(objId); + commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, userLedgerVO.getProjectName()); + }); + } + List otherDetailList = lineDetailList.stream().filter(it -> StrUtil.isBlank(it.getObjId())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(otherDetailList)) { + List subIds = otherDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList()); + List subList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId, subIds)); + Map subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity())); + Map> map = otherDetailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()])); + map.forEach((subId, list) -> { + String name = subMap.get(subId).getName(); + commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, name); + }); + } } } else { for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { @@ -268,34 +270,36 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService { dateList.add(DateUtil.format(dateTime, DatePattern.NORM_DATE_PATTERN)); } if (generalDeviceDTOList.size() == 1 && generalDeviceDTOList.get(0).getIndex().equals(businessParam.getDeptIndex())) { - List lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes()); - List rStatIntegrityDList = new ArrayList<>(); - List rStatOnlinerateDList = new ArrayList<>(); - List rStatLimitRateDPOList = new ArrayList<>(); - getRangeData2(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, generalDeviceDTOList.get(0).getLineIndexes(), generalDeviceDTOList.get(0).getDeviceIndexes(), DateUtil.format(start, DatePattern.NORM_DATE_PATTERN), DateUtil.format(end, DatePattern.NORM_DATE_PATTERN)); - Map> lineMap = lineDetailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId)); - lineMap.forEach((key, detailList) -> { - if (StrUtil.isNotBlank(key)) { - List objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList()); - Map userReportVOMap = getUserLedgerByObjIds(objIds); - Map> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId)); - map.forEach((objId, list) -> { - NewUserReportVO userLedgerVO = userReportVOMap.get(objId); - nameList.add(userLedgerVO.getProjectName()); - rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList); - }); - } else { - List subIds = detailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList()); - List subList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId, subIds)); - Map subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity())); - Map> map = detailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()])); - map.forEach((subId, list) -> { - String name = subMap.get(subId).getName(); - nameList.add(name); - rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList); - }); - } - }); + if (CollUtil.isNotEmpty(generalDeviceDTOList.get(0).getLineIndexes())) { + List lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes()); + List rStatIntegrityDList = new ArrayList<>(); + List rStatOnlinerateDList = new ArrayList<>(); + List rStatLimitRateDPOList = new ArrayList<>(); + getRangeData2(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, generalDeviceDTOList.get(0).getLineIndexes(), generalDeviceDTOList.get(0).getDeviceIndexes(), DateUtil.format(start, DatePattern.NORM_DATE_PATTERN), DateUtil.format(end, DatePattern.NORM_DATE_PATTERN)); + Map> lineMap = lineDetailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId)); + lineMap.forEach((key, detailList) -> { + if (StrUtil.isNotBlank(key)) { + List objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList()); + Map userReportVOMap = getUserLedgerByObjIds(objIds); + Map> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId)); + map.forEach((objId, list) -> { + NewUserReportVO userLedgerVO = userReportVOMap.get(objId); + nameList.add(userLedgerVO.getProjectName()); + rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList); + }); + } else { + List subIds = detailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList()); + List subList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId, subIds)); + Map subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity())); + Map> map = detailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()])); + map.forEach((subId, list) -> { + String name = subMap.get(subId).getName(); + nameList.add(name); + rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList); + }); + } + }); + } } else { for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { if (CollUtil.isEmpty(generalDeviceDTO.getLineIndexes())) { 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 ecb5ec9c4..5db201c3d 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 @@ -532,7 +532,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple if(CollUtil.isNotEmpty(logsList)){ DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData(); - terminalLogsCat(logsList,0,dataDic.getId()); + List pqsTerminalLogsList = new ArrayList<>(); + terminalLogsCat(logsList,Param.ADD,dataDic.getId(),pqsTerminalLogsList); + for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){ + pqsTerminalLogsMapper.insert(pqsTerminalLogs); + } } } return true; @@ -697,8 +701,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple for (DeviceParam updateDeviceParam : devList) { if (updateDeviceParam.getUpdateFlag() == 1) { - devLogsCat(updateDeviceParam,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName); - + Line devicePO = this.getById(updateDeviceParam.getDevIndex()); + Line sub = this.getById(devicePO.getPid()); + Device devDetail = deviceMapper.selectById(updateDeviceParam.getDevIndex()); + devLogsCat(Param.UPDATE,updateDeviceParam,devicePO,sub,devDetail,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName); Line device = new Line(); BeanUtils.copyProperties(updateDeviceParam, device); @@ -710,12 +716,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple this.updateById(device); deviceMapper.updateById(deviceDetail); - -// DeviceProcess deviceProcess = new DeviceProcess(); -// deviceProcess.setId(updateDeviceParam.getDevIndex()); -// deviceProcess.setProcessNo(updateDeviceParam.getProcessNum()); -// deviceProcessService.saveOrUpdate(deviceProcess); - } //母线 @@ -849,12 +849,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple lineDetailMapper.updateById(lineDetail); - /* if(StrUtil.isNotBlank(lineDetail.getObjId())){ - Line tem = this.getById(lineDetail.getId()); - userLedgerFeignClient.bindUserStation(lineDetail.getObjId(),tem.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]); - }*/ - - Overlimit overlimitTem = overlimitMapper.selectById(lineId); if ((!lineDetailRes.getDevCapacity().equals(lineDetail.getDevCapacity())) || ((!lineDetailRes.getShortCapacity().equals(lineDetail.getShortCapacity()))) @@ -864,7 +858,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple || ((!overlimitTem.getUvoltageDev().equals(updateLineBO.getUvoltageDev())))) ) { - //监测点限值 DictData scaleResult = dicDataFeignClient.getDicDataById(updateSubVoltageParam.getScale()).getData(); float scaTmp = Float.parseFloat(scaleResult.getValue()); @@ -893,15 +886,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple String index = RequestUtil.getUserIndex(); queryUpdateAndInsertLog(userName, index, lineDetail, lineDetailRes); } - - - } } } } } - if(CollUtil.isNotEmpty(pqsTerminalLogsList)){ for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){ pqsTerminalLogsMapper.insert(pqsTerminalLogs); @@ -1417,7 +1406,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } - private void deleteProjectAndChildren(Line project,List logsList) { + private void deleteProjectAndChildren(Line project,List logsList) { // 1. 删除项目本身 this.removeById(project.getId()); @@ -1437,7 +1426,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple provinceIds.forEach(it-> deleteProvinceAndChildren(it,logsList)); } - private void deleteProvinceAndChildren(String provinceId,List logsList) { + private void deleteProvinceAndChildren(String provinceId,List logsList) { this.removeById(provinceId); // 1. 查询并删除所有供电公司 @@ -1456,7 +1445,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple companyIds.forEach(it-> deletePowerCompanyAndChildren(it,logsList)); } - private void deletePowerCompanyAndChildren(String companyId,List logsList) { + private void deletePowerCompanyAndChildren(String companyId,List logsList) { this.removeById(companyId); // 1. 查询并删除所有变电站 List substations = findChildren(companyId); @@ -1475,7 +1464,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple substationIds.forEach(it-> deleteSubstationAndChildren(it,logsList)); } - private void deleteSubstationAndChildren(String substationId,List logsList) { + private void deleteSubstationAndChildren(String substationId,List logsList) { + this.removeById(substationId); substationMapper.deleteById(substationId); // 1. 查询并删除所有装置 @@ -1484,7 +1474,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return; } - logsList.addAll(devices); + Map devMap = devices.stream().collect(Collectors.toMap(Line::getId,Function.identity())); List deviceIds = devices.stream() .map(Line::getId) @@ -1494,15 +1484,28 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple deviceMapper.deleteBatchIds(deviceIds); devFuctionMapper.deleteBatchIds(deviceIds); + List deviceList = deviceMapper.selectList(new LambdaQueryWrapper().select(Device::getId,Device::getNodeId).in(Device::getId,deviceIds)); + Line sub = this.getById(substationId); + String userName= RequestUtil.getUserNickname(); + Map dictDataMap = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_TYPE.getCode()).getData().stream().collect(Collectors.toMap(DictData::getId, Function.identity())); + DictData dicDataByCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.DEV_PARAMETER.getCode()).getData(); + List pqsTerminalLogsList = new ArrayList<>(); + deviceList.forEach(dev->{ + Line devicePO = devMap.get(dev.getId()); + devLogsCat(Param.DEL_ZN,null,devicePO,sub,dev,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName); + }); + // 2. 对每个装置删除其下级 deviceIds.forEach(it-> deleteDeviceAndChildren(it,logsList)); } - private void deleteDeviceAndChildren(String deviceId,List logsList) { + private void deleteDeviceAndChildren(String deviceId,List logsList) { this.removeById(deviceId); deviceMapper.deleteById(deviceId); deviceProcessService.removeById(deviceId); + + // 1. 查询并删除所有母线 List busbars = findChildren(deviceId); if (CollectionUtil.isEmpty(busbars)) { @@ -1521,48 +1524,39 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } - private void deleteBusbarAndChildren(String busbarId,List logsList) { + private void deleteBusbarAndChildren(String busbarId,List logsList) { this.removeById(busbarId); voltageMapper.deleteById(busbarId); // 1. 查询并删除所有监测点 List monitoringPoints = findChildren(busbarId); + DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData(); + terminalLogsCat(monitoringPoints,Param.DEL,dataDic.getId(),logsList); if (CollectionUtil.isEmpty(monitoringPoints)) { return; } - logsList.addAll(monitoringPoints); - List pointIds = monitoringPoints.stream() .map(Line::getId) .collect(Collectors.toList()); - deleteMonitoringPoints(pointIds,logsList); + deleteMonitoringPoints(pointIds); - // 2. 通知设备重启 } - private void deleteMonitoringPoints(List pointIds,List logsList) { + private void deleteMonitoringPoints(List pointIds) { this.removeByIds(pointIds); lineDetailMapper.deleteBatchIds(pointIds); overlimitMapper.deleteBatchIds(pointIds); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(DeptLine::getLineId, pointIds); deptLineMapper.delete(wrapper); } - private void deleteMonitoringPoint(Line point,List logsList) { - logsList.add(point); - this.removeById(point.getId()); - lineDetailMapper.deleteById(point.getId()); - overlimitMapper.deleteById(point.getId()); - deptLineMapper.deleteById(point.getId()); - - // 通知设备重启 -// String[] pids = point.getPids().split(","); -// if (pids.length > 4) { -// askRestartDevice(pids[4], DeviceRebootType.LEDGER_MODIFY); -// } + private void deleteMonitoringPoint(String pointId) { + this.removeById(pointId); + lineDetailMapper.deleteById(pointId); + overlimitMapper.deleteById(pointId); + deptLineMapper.deleteById(pointId); } private List findChildren(String pid) { @@ -1581,44 +1575,54 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Override @Transactional(rollbackFor = Exception.class) public Boolean delTerminal(String id) { - List logsList = new ArrayList<>(); Line obj = this.getById(id); if (Objects.isNull(obj)) { throw new BusinessException(CommonResponseEnum.FAIL); } + List pqsTerminalLogsList = new ArrayList<>(); LineBaseEnum lineBaseEnum = LineBaseEnum.getLineBaseEnumByCode(obj.getLevel()); // 根据层级选择删除策略 switch (lineBaseEnum) { case PROJECT_LEVEL: - deleteProjectAndChildren(obj,logsList); + deleteProjectAndChildren(obj,pqsTerminalLogsList); break; case PROVINCE_LEVEL: - deleteProvinceAndChildren(obj.getId(),logsList); + deleteProvinceAndChildren(obj.getId(),pqsTerminalLogsList); break; case GD_LEVEL: - deletePowerCompanyAndChildren(obj.getId(),logsList); + deletePowerCompanyAndChildren(obj.getId(),pqsTerminalLogsList); break; case SUB_LEVEL: - deleteSubstationAndChildren(obj.getId(),logsList); + deleteSubstationAndChildren(obj.getId(),pqsTerminalLogsList); break; case DEVICE_LEVEL: - deleteDeviceAndChildren(obj.getId(),logsList); - logsList.add(obj); + Line sub = this.getById(obj.getPid()); + Device dev = deviceMapper.selectById(obj.getId()); + String userName= RequestUtil.getUserNickname(); + Map dictDataMap = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_TYPE.getCode()).getData().stream().collect(Collectors.toMap(DictData::getId, Function.identity())); + DictData dicDataByCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.DEV_PARAMETER.getCode()).getData(); + devLogsCat(Param.DEL_ZN,null,obj,sub,dev,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName); + + deleteDeviceAndChildren(obj.getId(),pqsTerminalLogsList); break; case SUB_V_LEVEL: - deleteBusbarAndChildren(obj.getId(),logsList); + deleteBusbarAndChildren(obj.getId(),pqsTerminalLogsList); break; case LINE_LEVEL: - deleteMonitoringPoint(obj,logsList); + deleteMonitoringPoint(obj.getId()); + DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData(); + terminalLogsCat(Stream.of(obj).collect(Collectors.toList()), Param.DEL,dataDic.getId(),pqsTerminalLogsList); break; default: throw new BusinessException(CommonResponseEnum.FAIL); } - if(CollUtil.isNotEmpty(logsList)){ - DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.DEV_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData(); - terminalLogsCat(logsList,2,dataDic.getId()); + if(CollUtil.isNotEmpty(pqsTerminalLogsList)){ + for(PqsTerminalLogs pqsTerminalLogs: pqsTerminalLogsList){ + pqsTerminalLogsMapper.insert(pqsTerminalLogs); + } + } return true; } @@ -3791,24 +3795,20 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple /** * 终端日志记录 */ - private void terminalLogsCat(List logsList,Integer operateType,String logsType){ - String op,operate; + private void terminalLogsCat(List logsList,String operateType,String logsType,List pqsTerminalLogsList){ + String op; switch (operateType){ - case 0: + case Param.ADD: op = Param.ADD_ZN; - operate = Param.ADD; break; - case 1: + case Param.UPDATE: op = Param.UPDATE_ZN; - operate = Param.UPDATE; break; - case 2: + case Param.DEL: op = Param.DEL_ZN; - operate = Param.DEL; break; default: op=Param.UNKONOW; - operate = Param.UNKONOW; break; } String name = RequestUtil.getUserNickname(); @@ -3829,53 +3829,39 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple String subName; String levelOperate; + String nodeName = ""; if(line.getLevel().equals(LINE_LEVEL.getCode())){ levelOperate = LINE_LEVEL.getMessage(); }else{ levelOperate = DEVICE_LEVEL.getMessage(); + if(Param.DEL_ZN.equals(op)){ + // nodeName = "; 前置名称:"+node.getName(); + } } subName = subMap.get(line.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).getName(); String temLos = "%s进行%s%s操作; %s名称: %s"; - String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"_"+line.getName()); + String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"_"+line.getName()+nodeName); pqsTerminalLogs.setTerminalDescribe(tem); pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode()); pqsTerminalLogs.setIsPush(0); - pqsTerminalLogs.setOperateType(operate); + pqsTerminalLogs.setOperateType(operateType); pqsTerminalLogs.setObjIndex(line.getId()); - pqsTerminalLogsMapper.insert(pqsTerminalLogs); + pqsTerminalLogsList.add(pqsTerminalLogs); } } } - public void devLogsCat(DeviceParam updateDeviceParam, List pqsTerminalLogsList, Map dictDataMap, DictData dicDataByCode, String userName) { - Line devicePO = this.getById(updateDeviceParam.getDevIndex()); - Line sub = this.getById(devicePO.getPid()); - Device devDetail = deviceMapper.selectById(updateDeviceParam.getDevIndex()); + public void devLogsCat(String op,DeviceParam updateDeviceParam,Line devicePO,Line sub,Device devDetail, List pqsTerminalLogsList, Map dictDataMap, DictData dicDataByCode, String userName) { + StringBuilder stringBuilder = new StringBuilder(String.format("%s进行%s装置(%s_%s)操作,详细信息:", userName,op,sub.getName(), devicePO.getName())); - StringBuilder stringBuilder = new StringBuilder(String.format("%s进行修改装置(%s_%s)操作,详细信息:", userName, sub.getName(), devicePO.getName())); - boolean flag = false; - - // 比较装置名称 - flag |= compareAndAppend(stringBuilder, devicePO.getName(), updateDeviceParam.getName(), "装置名称"); - - // 比较装置 IP - flag |= compareAndAppend(stringBuilder, devDetail.getIp(), updateDeviceParam.getIp(), "装置ip"); - - // 比较装置端口号 - flag |= compareAndAppend(stringBuilder, devDetail.getPort(), updateDeviceParam.getPort(), "装置端口号"); - - // 比较装置型号 - if (updateDeviceParam.getDevType() != null) { - String oldDevTypeName = dictDataMap.get(devDetail.getDevType()) != null ? dictDataMap.get(devDetail.getDevType()).getName() : null; - String newDevTypeName = dictDataMap.get(updateDeviceParam.getDevType()) != null ? dictDataMap.get(updateDeviceParam.getDevType()).getName() : null; - flag |= compareAndAppend(stringBuilder, oldDevTypeName, newDevTypeName, "装置型号"); - } - - if (flag) { + if(Param.DEL_ZN.equals(op)){ + Node node = nodeService.getById(devDetail.getNodeId()); + String info = sub.getName()+"_"+devicePO.getName()+";前置信息:"+node.getName(); + stringBuilder.append(info); PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs(); - pqsTerminalLogs.setOperateType(Param.UPDATE); + pqsTerminalLogs.setOperateType(Param.DEL); pqsTerminalLogs.setTerminalType(DEVICE_LEVEL.getCode()); pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode()); pqsTerminalLogs.setObjIndex(devicePO.getId()); @@ -3883,6 +3869,34 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalLogs.setLogsType(dicDataByCode.getId()); pqsTerminalLogs.setTerminalDescribe(stringBuilder.toString()); pqsTerminalLogsList.add(pqsTerminalLogs); + }else if(Param.UPDATE_ZN.equals(op)){ + + boolean flag = false; + // 比较装置名称 + flag |= compareAndAppend(stringBuilder, devicePO.getName(), updateDeviceParam.getName(), "装置名称"); + + // 比较装置 IP + flag |= compareAndAppend(stringBuilder, devDetail.getIp(), updateDeviceParam.getIp(), "装置ip"); + + // 比较装置端口号 + flag |= compareAndAppend(stringBuilder, devDetail.getPort(), updateDeviceParam.getPort(), "装置端口号"); + // 比较装置型号 + if (updateDeviceParam.getDevType() != null) { + String oldDevTypeName = dictDataMap.get(devDetail.getDevType()) != null ? dictDataMap.get(devDetail.getDevType()).getName() : null; + String newDevTypeName = dictDataMap.get(updateDeviceParam.getDevType()) != null ? dictDataMap.get(updateDeviceParam.getDevType()).getName() : null; + compareAndAppend(stringBuilder, oldDevTypeName, newDevTypeName, "装置型号"); + } + if(flag){ + PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs(); + pqsTerminalLogs.setOperateType(Param.UPDATE); + pqsTerminalLogs.setTerminalType(DEVICE_LEVEL.getCode()); + pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode()); + pqsTerminalLogs.setObjIndex(devicePO.getId()); + pqsTerminalLogs.setIsPush(0); + pqsTerminalLogs.setLogsType(dicDataByCode.getId()); + pqsTerminalLogs.setTerminalDescribe(stringBuilder.toString()); + pqsTerminalLogsList.add(pqsTerminalLogs); + } } } private boolean compareAndAppend(StringBuilder sb, String oldValue, String newValue, String fieldName) {