From 6cb549102bd8a28b205b524ae356b4d63db1dd8b Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Mon, 7 Apr 2025 10:32:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=88=E7=AB=AF=E9=87=8D=E8=A6=81=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/device/pq/enums/LineBaseEnum.java | 2 + .../njcn/device/pq/enums/PowerFlagEnum.java | 3 + .../device/pq/pojo/po/PqsTerminalLogs.java | 25 +- .../service/impl/TerminalBaseServiceImpl.java | 320 +++++++++++++++--- .../impl/TerminalMaintainServiceImpl.java | 14 +- .../user/service/impl/UserServiceImpl.java | 4 +- 6 files changed, 306 insertions(+), 62 deletions(-) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java index 8abc0c326..6bac2f942 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java @@ -41,6 +41,8 @@ public enum LineBaseEnum { POWER_FLAG(0,"电网侧"), POWER_FLAG_NOT(1,"非电网侧"), + + ; private final Integer code; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java index 48e4bf3e5..7d3105801 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java @@ -25,6 +25,9 @@ public enum PowerFlagEnum { + + + private final Integer code; private final String message; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsTerminalLogs.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsTerminalLogs.java index 60f334604..6b73c6b74 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsTerminalLogs.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsTerminalLogs.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; import java.time.LocalDateTime; + +import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; @@ -28,17 +30,32 @@ public class PqsTerminalLogs extends BaseEntity { private String id; /** - * 装置或监测点Id + * 对象Id */ private String objIndex; /** - * 运维日志类型Id + * 对象类型 0.监测点 1.装置 */ - private String terminalType; + private Integer terminalType; /** - * 内容 + * 新增,修改,删除 + */ + private String operateType; + + /** + * 运维日志类型 + */ + private String logsType; + + /** + * 是否推送 + */ + private Integer isPush; + + /** + * 内容描述 */ private String terminalDescribe; 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 4f8871b8c..e74a8fded 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 @@ -86,6 +86,8 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; +import static com.njcn.device.pq.enums.LineBaseEnum.*; + /** * pqs * @@ -179,8 +181,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //项目 if (Objects.nonNull(addTerminalParam.getProjectParam())) { if (StrUtil.isBlank(projectIndex)) { - checkName(addTerminalParam, LineBaseEnum.PROJECT_LEVEL.getCode(), null); - Line line = assembleLine(addTerminalParam.getProjectParam().getName(), LineBaseEnum.PROJECT_LEVEL.getCode(), "0", "0", addTerminalParam.getProjectParam().getSort()); + checkName(addTerminalParam, PROJECT_LEVEL.getCode(), null); + Line line = assembleLine(addTerminalParam.getProjectParam().getName(), PROJECT_LEVEL.getCode(), "0", "0", addTerminalParam.getProjectParam().getSort()); this.baseMapper.insert(line); projectIndex = line.getId(); } @@ -193,8 +195,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple throw new BusinessException(DeviceResponseEnum.PROVINCE_GET_ERROR); } LogUtil.njcnDebug(log, "获取区域信息:{}", result.toString()); - checkName(addTerminalParam, LineBaseEnum.PROVINCE_LEVEL.getCode(), projectIndex); - Line province = assembleLine(result.getId(), LineBaseEnum.PROVINCE_LEVEL.getCode(), projectIndex, projectIndex, addTerminalParam.getProvinceParam().getSort()); + checkName(addTerminalParam, PROVINCE_LEVEL.getCode(), projectIndex); + Line province = assembleLine(result.getId(), PROVINCE_LEVEL.getCode(), projectIndex, projectIndex, addTerminalParam.getProvinceParam().getSort()); this.baseMapper.insert(province); provinceIndex = province.getId(); } @@ -203,8 +205,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //供电公司 if (Objects.nonNull(addTerminalParam.getGdInformationParam())) { if (StrUtil.isBlank(gdIndex) && StrUtil.isNotBlank(provinceIndex)) { - checkName(addTerminalParam, LineBaseEnum.GD_LEVEL.getCode(), provinceIndex); - Line gdInformation = assembleLine(addTerminalParam.getGdInformationParam().getName(), LineBaseEnum.GD_LEVEL.getCode(), provinceIndex, projectIndex + StrUtil.COMMA + provinceIndex, addTerminalParam.getGdInformationParam().getSort()); + checkName(addTerminalParam, GD_LEVEL.getCode(), provinceIndex); + Line gdInformation = assembleLine(addTerminalParam.getGdInformationParam().getName(), GD_LEVEL.getCode(), provinceIndex, projectIndex + StrUtil.COMMA + provinceIndex, addTerminalParam.getGdInformationParam().getSort()); this.baseMapper.insert(gdInformation); gdIndex = gdInformation.getId(); } @@ -230,6 +232,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //装置 if (Objects.nonNull(addTerminalParam.getDeviceParam())) { + List logsList = new ArrayList<>(); + + + LambdaQueryWrapper lineLambdaQueryWrapper = new LambdaQueryWrapper<>(); if (CollectionUtil.isNotEmpty(addTerminalParam.getDeviceParam()) && StrUtil.isNotBlank(subIndex)) { //校验变电站下的装置名称ip是否重复 @@ -256,17 +262,14 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } } } - //一台装置母线最多10路 if (StrUtil.isBlank(subVoltage.getSubvIndex())) { voltageNum++; } - } } if (StrUtil.isBlank(deviceParam.getDevIndex())) { - Line device = assembleLine(deviceParam.getName(), LineBaseEnum.DEVICE_LEVEL.getCode(), subIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex, deviceParam.getSort()); this.baseMapper.insert(device); devIdIndex = device.getId(); @@ -338,6 +341,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple funQueryWrapper.lambda().eq(DevFuction::getLineId, device.getId()); devFuctionMapper.delete(funQueryWrapper); devFuctionMapper.addBatch(insertFunList); + logsList.add(device); } else { devIdIndex = deviceParam.getDevIndex(); List lineDetails = lineMapper.getLineDetailByDeviceId(devIdIndex); @@ -376,7 +380,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple .eq(Line::getState, DataStateEnum.ENABLE.getCode()) .in(Line::getName, subvNameList); List subvRes = this.list(lineLambdaQueryWrapper); - if (subvRes.size() > 0) { + if (!subvRes.isEmpty()) { List subvList = subvRes.stream().map(Line::getName).collect(Collectors.toList()); throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, String.join(";", subvList)); } @@ -388,7 +392,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple if (CollectionUtil.isNotEmpty(voltageName)) { List voltageList = this.baseMapper.getVoltageListBySubId(subIndex, voltageName); if (CollectionUtil.isNotEmpty(voltageList)) { - throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, String.join(";", voltageList.stream().map(Line::getName).collect(Collectors.toList()))); + throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, voltageList.stream().map(Line::getName).collect(Collectors.joining(";"))); } } @@ -398,22 +402,19 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple if (CollectionUtil.isNotEmpty(addVoltage)) { List voltageListBySubId = this.baseMapper.getVoltageListBySubId(subIndex, addVoltage); if (CollectionUtil.isNotEmpty(voltageListBySubId)) { - throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, String.join(";", voltageListBySubId.stream().map(Line::getName).collect(Collectors.toList()))); + throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, voltageListBySubId.stream().map(Line::getName).collect(Collectors.joining(";"))); } } for (SubVoltageParam subVoltageParam : deviceParam.getSubVoltageParam()) { //母线id String subvIndex; - if (StrUtil.isBlank(subVoltageParam.getSubvIndex()) && StrUtil.isNotBlank(devIdIndex)) { - DictData scaleRes = dicDataFeignClient.getDicDataById(subVoltageParam.getScale()).getData(); if (Objects.isNull(scaleRes)) { throw new BusinessException(DeviceResponseEnum.DIC_GET_EMPTY); } - //校验母线 if (CollectionUtil.isNotEmpty(listVoltageNum)) { if (!listVoltageNum.contains(subVoltageParam.getNum())) { @@ -423,7 +424,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple throw new BusinessException(DeviceResponseEnum.DEVICE_VOLTAGE_BIG); } - Line subVoltage = assembleLine(subVoltageParam.getName(), LineBaseEnum.SUB_V_LEVEL.getCode(), devIdIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + devIdIndex, subVoltageParam.getSort()); this.baseMapper.insert(subVoltage); subvIndex = subVoltage.getId(); @@ -447,7 +447,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple .eq(Line::getState, DataStateEnum.ENABLE.getCode()) .in(Line::getName, lineNameList); List lineList = this.list(lineLambdaQueryWrapper); - if (lineList.size() > 0) { + if (!lineList.isEmpty()) { List lineRes = lineList.stream().map(Line::getName).collect(Collectors.toList()); throw new BusinessException(DeviceResponseEnum.LINE_NAME_REPETITION, String.join(";", lineRes)); } @@ -465,7 +465,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } //删除与当前线路号重复的项 listLineNum.removeIf(lineNo -> lineNo.equals(lineParam.getNum())); - HttpResult httpScale = dicDataFeignClient.getDicDataById(subVoltageParam.getScale()); Line line = assembleLine(lineParam.getName(), LineBaseEnum.LINE_LEVEL.getCode(), subvIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + devIdIndex + StrUtil.COMMA + subvIndex, lineParam.getSort()); this.baseMapper.insert(line); LineDetail lineDetail = new LineDetail(); @@ -511,12 +510,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } else { overlimit.setUvoltageDev(lineParam.getUvoltageDev()); } - //Overlimit overlimit = new Overlimit(line.getId(), scaTmp, lineDetail.getShortCapacity(), lineDetail.getStandardCapacity(), lineDetail.getDealCapacity(), lineDetail.getDevCapacity()); overlimitMapper.deleteById(line.getId()); - overlimit.setId(line.getId()); overlimitMapper.insert(overlimit); - + logsList.add(line); } } @@ -527,6 +524,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } else { throw new BusinessException(CommonResponseEnum.FAIL); } + + terminalLogsCat(logsList,0); } return true; } @@ -600,10 +599,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //供电公司 if (Objects.nonNull(updateTerminalParam.getGdInformationUpdateParam())) { Line gdRes = this.getById(updateTerminalParam.getGdInformationUpdateParam().getGdIndex()); - gbName = gdRes.getName(); if (Objects.isNull(gdRes)) { throw new BusinessException(DeviceResponseEnum.GD_NO); } + gbName = gdRes.getName(); Line gdInformation = new Line(); gdInformation.setId(updateTerminalParam.getGdInformationUpdateParam().getGdIndex()); gdInformation.setName(updateTerminalParam.getGdInformationUpdateParam().getName()); @@ -682,6 +681,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } + List logsList = new ArrayList<>(); for (DeviceParam updateDeviceParam : devList) { if (updateDeviceParam.getUpdateFlag() == 1) { Line device = new Line(); @@ -693,6 +693,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple coderM3d(deviceDetail,true); this.updateById(device); deviceMapper.updateById(deviceDetail); + + logsList.add(device); } //母线 @@ -971,10 +973,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple PqsTerminalLogs terminalLogsNew = new PqsTerminalLogs(); terminalLogsNew.setObjIndex(newLine.getId()); terminalLogsNew.setTerminalDescribe(sb.toString()); - terminalLogsNew.setCreateBy(index); - terminalLogsNew.setCreateTime(LocalDateTime.now()); - terminalLogsNew.setTerminalType(data.getId()); - terminalLogsNew.setState(1); + terminalLogsNew.setTerminalType(LineBaseEnum.LINE_LEVEL.getCode()); + terminalLogsNew.setLogsType(data.getId()); + terminalLogsNew.setState(DataStateEnum.ENABLE.getCode()); + terminalLogsNew.setIsPush(DataStateEnum.ENABLE.getCode()); + terminalLogsNew.setOperateType("update"); iPqsTerminalLogsService.save(terminalLogsNew); } @@ -1005,15 +1008,15 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } LambdaQueryWrapper lineLambdaQueryWrapper = new LambdaQueryWrapper<>(); TerminalVO terminalVO = new TerminalVO(); - if (obj.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())) { + if (obj.getLevel().equals(PROJECT_LEVEL.getCode())) { //点击项目节点 assProject(obj, terminalVO); - } else if (obj.getLevel().equals(LineBaseEnum.PROVINCE_LEVEL.getCode())) { + } else if (obj.getLevel().equals(PROVINCE_LEVEL.getCode())) { //点击省份节点 Line project = this.getById(obj.getPid()); assProject(project, terminalVO); assProvince(obj, terminalVO); - } else if (obj.getLevel().equals(LineBaseEnum.GD_LEVEL.getCode())) { + } else if (obj.getLevel().equals(GD_LEVEL.getCode())) { //点击供电公司节点 assGd(obj, terminalVO); Line province = this.getById(obj.getPid()); @@ -1366,16 +1369,193 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return one; } + + private void deleteProjectAndChildren(Line project,List logsList) { + // 1. 删除项目本身 + this.removeById(project.getId()); + + // 2. 查询并删除所有省份 + List provinces = findChildren(project.getId()); + if (CollectionUtil.isEmpty(provinces)) return; + + List provinceIds = provinces.stream() + .map(Line::getId) + .collect(Collectors.toList()); + + this.removeByIds(provinceIds); + + // 3. 对每个省份删除其下级 + provinceIds.forEach(it-> deleteProvinceAndChildren(it,logsList)); + } + + private void deleteProvinceAndChildren(String provinceId,List logsList) { + // 1. 查询并删除所有供电公司 + List powerCompanies = findChildren(provinceId); + if (CollectionUtil.isEmpty(powerCompanies)) return; + + List companyIds = powerCompanies.stream() + .map(Line::getId) + .collect(Collectors.toList()); + + this.removeByIds(companyIds); + + // 2. 对每个供电公司删除其下级 + companyIds.forEach(it-> deletePowerCompanyAndChildren(it,logsList)); + } + + private void deletePowerCompanyAndChildren(String companyId,List logsList) { + // 1. 查询并删除所有变电站 + List substations = findChildren(companyId); + if (CollectionUtil.isEmpty(substations)) return; + + List substationIds = substations.stream() + .map(Line::getId) + .collect(Collectors.toList()); + + this.removeByIds(substationIds); + substationMapper.deleteBatchIds(substationIds); + + // 2. 对每个变电站删除其下级 + substationIds.forEach(it-> deleteSubstationAndChildren(it,logsList)); + } + + private void deleteSubstationAndChildren(String substationId,List logsList) { + // 1. 查询并删除所有装置 + List devices = findChildren(substationId); + if (CollectionUtil.isEmpty(devices)) return; + + logsList.addAll(devices); + + List deviceIds = devices.stream() + .map(Line::getId) + .collect(Collectors.toList()); + + this.removeByIds(deviceIds); + deviceMapper.deleteBatchIds(deviceIds); + devFuctionMapper.deleteBatchIds(deviceIds); + + // 2. 对每个装置删除其下级 + deviceIds.forEach(it-> deleteDeviceAndChildren(it,logsList)); + } + + private void deleteDeviceAndChildren(String deviceId,List logsList) { + // 1. 查询并删除所有母线 + List busbars = findChildren(deviceId); + if (CollectionUtil.isEmpty(busbars)) return; + + List busbarIds = busbars.stream() + .map(Line::getId) + .collect(Collectors.toList()); + + this.removeByIds(busbarIds); + voltageMapper.deleteBatchIds(busbarIds); + + // 2. 对每条母线删除其下级 + busbarIds.forEach(it-> deleteBusbarAndChildren(it,logsList)); + + // 3. 通知设备重启 + // askRestartDevice(deviceId, DeviceRebootType.DELETE_TERMINAL); + } + + private void deleteBusbarAndChildren(String busbarId,List logsList) { + // 1. 查询并删除所有监测点 + List monitoringPoints = findChildren(busbarId); + if (CollectionUtil.isEmpty(monitoringPoints)) return; + + logsList.addAll(monitoringPoints); + + List pointIds = monitoringPoints.stream() + .map(Line::getId) + .collect(Collectors.toList()); + + deleteMonitoringPoints(pointIds,logsList); + + // 2. 通知设备重启 + /* String[] pids = getById(busbarId).getPids().split(","); + if (pids.length > 4) { + askRestartDevice(pids[4], DeviceRebootType.LEDGER_MODIFY); + }*/ + } + + private void deleteMonitoringPoints(List pointIds,List logsList) { + 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) { + 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 List findChildren(String pid) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Line::getPid, pid) + .eq(Line::getState, DataStateEnum.ENABLE.getCode()); + return this.list(wrapper); + } + + private void syncToExternalSystem(Line obj) { + SyncLedgerDelete delete = oracleSyncLedgerDelete(obj); + RestTemplateUtil.post(urlDelete, delete, String.class); + } + + @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); } + LineBaseEnum lineBaseEnum = LineBaseEnum.getLineBaseEnumByCode(obj.getLevel()); + // 根据层级选择删除策略 + switch (lineBaseEnum) { + case PROJECT_LEVEL: + deleteProjectAndChildren(obj,logsList); + break; + case PROVINCE_LEVEL: + deleteProvinceAndChildren(obj.getId(),logsList); + break; + case GD_LEVEL: + deletePowerCompanyAndChildren(obj.getId(),logsList); + break; + case SUB_LEVEL: + deleteSubstationAndChildren(obj.getId(),logsList); + break; + case DEVICE_LEVEL: + deleteDeviceAndChildren(obj.getId(),logsList); + break; + case SUB_V_LEVEL: + deleteBusbarAndChildren(obj.getId(),logsList); + break; + case LINE_LEVEL: + deleteMonitoringPoint(obj); + break; + default: + throw new BusinessException(CommonResponseEnum.FAIL); + } + + if(CollUtil.isNotEmpty(logsList)){ + terminalLogsCat(logsList,2); + } +/* this.removeById(obj.getId()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (obj.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())) { + if (obj.getLevel().equals(PROJECT_LEVEL.getCode())) { //项目 lambdaQueryWrapper.eq(Line::getPid, obj.getId()) .eq(Line::getState, DataStateEnum.ENABLE.getCode()); @@ -1409,6 +1589,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple List deviceList = this.list(lambdaQueryWrapper); if (CollectionUtil.isNotEmpty(deviceList)) { List devIndexList = deviceList.stream().map(Line::getId).collect(Collectors.toList()); + + + this.removeByIds(devIndexList); deviceMapper.deleteBatchIds(devIndexList); devFuctionMapper.deleteBatchIds(devIndexList); @@ -1451,7 +1634,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } - } else if (obj.getLevel().equals(LineBaseEnum.PROVINCE_LEVEL.getCode())) { + } else if (obj.getLevel().equals(PROVINCE_LEVEL.getCode())) { //省份 lambdaQueryWrapper.eq(Line::getPid, obj.getId()); List gdInformationList = this.list(lambdaQueryWrapper); @@ -1516,7 +1699,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } } - } else if (obj.getLevel().equals(LineBaseEnum.GD_LEVEL.getCode())) { + } else if (obj.getLevel().equals(GD_LEVEL.getCode())) { //供电公司 lambdaQueryWrapper.eq(Line::getPid, obj.getId()); List subStationList = this.list(lambdaQueryWrapper); @@ -1685,7 +1868,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple if (isSync) { SyncLedgerDelete delete = oracleSyncLedgerDelete(obj); ResponseEntity userEntity = RestTemplateUtil.post(urlDelete, delete, String.class); - } + }*/ return true; } @@ -2278,9 +2461,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } else { overlimit.setUvoltageDev(lineParam.getUvoltageDev()); } - //Overlimit overlimit = new Overlimit(line.getId(), scaTmp, lineDetail.getShortCapacity(), lineDetail.getStandardCapacity(), lineDetail.getDealCapacity(), lineDetail.getDevCapacity()); overlimitMapper.deleteById(line.getId()); - overlimit.setId(line.getId()); overlimitMapper.insert(overlimit); DeptLine deptLine = new DeptLine(); @@ -2339,9 +2520,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * 处理项目,判断数据库中是否已存在,存在则保留其索引,不存在则插入新纪录 */ String projectName = oracleTerminalExcel.getProjectName(); - temp = queryLine(lineLambdaQueryWrapper, projectName, "0", LineBaseEnum.PROJECT_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, projectName, "0", PROJECT_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(projectName, LineBaseEnum.PROJECT_LEVEL.getCode(), "0", Stream.of("0").collect(Collectors.toList())); + temp = assembleLine(projectName, PROJECT_LEVEL.getCode(), "0", Stream.of("0").collect(Collectors.toList())); this.baseMapper.insert(temp); } //添加项目索引 @@ -2357,9 +2538,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "省会名称不存在,请联系管理员")); continue; } - temp = queryLine(lineLambdaQueryWrapper, area.getId(), pids.get(LineBaseEnum.PROJECT_LEVEL.getCode()), LineBaseEnum.PROVINCE_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, area.getId(), pids.get(PROJECT_LEVEL.getCode()), PROVINCE_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(area.getId(), LineBaseEnum.PROVINCE_LEVEL.getCode(), pids.get(LineBaseEnum.PROJECT_LEVEL.getCode()), pids); + temp = assembleLine(area.getId(), PROVINCE_LEVEL.getCode(), pids.get(PROJECT_LEVEL.getCode()), pids); this.baseMapper.insert(temp); } //添加省会索引 @@ -2368,9 +2549,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * 处理供电公司,判断数据库中是否已存在,存在则保留其索引,不存在则插入新纪录 */ String gdName = oracleTerminalExcel.getGdName(); - temp = queryLine(lineLambdaQueryWrapper, gdName, pids.get(LineBaseEnum.PROVINCE_LEVEL.getCode()), LineBaseEnum.GD_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, gdName, pids.get(PROVINCE_LEVEL.getCode()), GD_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(gdName, LineBaseEnum.GD_LEVEL.getCode(), pids.get(LineBaseEnum.PROVINCE_LEVEL.getCode()), pids); + temp = assembleLine(gdName, GD_LEVEL.getCode(), pids.get(PROVINCE_LEVEL.getCode()), pids); this.baseMapper.insert(temp); } //添加供电公司索引 @@ -2381,9 +2562,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * 2、变电站的电压等级,如果字典表不存在,则自动录入 */ String substationName = oracleTerminalExcel.getSubstationName(); - temp = queryLine(lineLambdaQueryWrapper, substationName, pids.get(LineBaseEnum.GD_LEVEL.getCode()), LineBaseEnum.SUB_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, substationName, pids.get(GD_LEVEL.getCode()), LineBaseEnum.SUB_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(substationName, LineBaseEnum.SUB_LEVEL.getCode(), pids.get(LineBaseEnum.GD_LEVEL.getCode()), pids); + temp = assembleLine(substationName, LineBaseEnum.SUB_LEVEL.getCode(), pids.get(GD_LEVEL.getCode()), pids); this.baseMapper.insert(temp); //处理电压等级字典表 DictData substationScale = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_VOLTAGE_STAND.getName(), oracleTerminalExcel.getSubStationScale()).getData(); @@ -2830,9 +3011,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * 处理项目,判断数据库中是否已存在,存在则保留其索引,不存在则插入新纪录 */ String projectName = terminalBaseExcel.getProjectName(); - temp = queryLine(lineLambdaQueryWrapper, projectName, "0", LineBaseEnum.PROJECT_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, projectName, "0", PROJECT_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(projectName, LineBaseEnum.PROJECT_LEVEL.getCode(), "0", Stream.of("0").collect(Collectors.toList())); + temp = assembleLine(projectName, PROJECT_LEVEL.getCode(), "0", Stream.of("0").collect(Collectors.toList())); this.baseMapper.insert(temp); } //添加项目索引 @@ -2848,9 +3029,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple terminalBaseExcelMsgs.add(assembleBaseMsg(terminalBaseExcel, "省会名称不存在,请联系管理员")); continue; } - temp = queryLine(lineLambdaQueryWrapper, area.getId(), pids.get(LineBaseEnum.PROJECT_LEVEL.getCode()), LineBaseEnum.PROVINCE_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, area.getId(), pids.get(PROJECT_LEVEL.getCode()), PROVINCE_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(area.getId(), LineBaseEnum.PROVINCE_LEVEL.getCode(), pids.get(LineBaseEnum.PROJECT_LEVEL.getCode()), pids); + temp = assembleLine(area.getId(), PROVINCE_LEVEL.getCode(), pids.get(PROJECT_LEVEL.getCode()), pids); this.baseMapper.insert(temp); } //添加省会索引 @@ -2859,9 +3040,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * 处理供电公司,判断数据库中是否已存在,存在则保留其索引,不存在则插入新纪录 */ String gdName = terminalBaseExcel.getGdName(); - temp = queryLine(lineLambdaQueryWrapper, gdName, pids.get(LineBaseEnum.PROVINCE_LEVEL.getCode()), LineBaseEnum.GD_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, gdName, pids.get(PROVINCE_LEVEL.getCode()), GD_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(gdName, LineBaseEnum.GD_LEVEL.getCode(), pids.get(LineBaseEnum.PROVINCE_LEVEL.getCode()), pids); + temp = assembleLine(gdName, GD_LEVEL.getCode(), pids.get(PROVINCE_LEVEL.getCode()), pids); this.baseMapper.insert(temp); } //添加供电公司索引 @@ -2871,9 +3052,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * 1、判断是否存在,不存在则插入 */ String substationName = terminalBaseExcel.getSubstationName(); - temp = queryLine(lineLambdaQueryWrapper, substationName, pids.get(LineBaseEnum.GD_LEVEL.getCode()), LineBaseEnum.SUB_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); + temp = queryLine(lineLambdaQueryWrapper, substationName, pids.get(GD_LEVEL.getCode()), LineBaseEnum.SUB_LEVEL.getCode(), DataStateEnum.ENABLE.getCode()); if (Objects.isNull(temp)) { - temp = assembleLine(substationName, LineBaseEnum.SUB_LEVEL.getCode(), pids.get(LineBaseEnum.GD_LEVEL.getCode()), pids); + temp = assembleLine(substationName, LineBaseEnum.SUB_LEVEL.getCode(), pids.get(GD_LEVEL.getCode()), pids); //处理电压等级字典表 DictData substationScale = dicDataFeignClient.getDicDataByNameAndType(terminalBaseExcel.getSubStationScale(), DicDataTypeEnum.DEV_VOLTAGE_STAND.getName()).getData(); if (Objects.isNull(substationScale)) { @@ -3759,5 +3940,42 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple + } + + + /** + * 终端日志记录 + */ + private void terminalLogsCat(List logsList,Integer operateType){ + String op; + switch (operateType){ + case 0: + op = "新增"; + break; + case 1: + op = "修改"; + break; + case 2: + op = "删除"; + break; + default: + op="未知"; + break; + } + String name = RequestUtil.getUserNickname(); + if(CollUtil.isNotEmpty(logsList)){ + for(Line line : logsList){ + PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs(); + pqsTerminalLogs.setLogsType(line.getId()); + pqsTerminalLogs.setTerminalType(line.getLevel()); + pqsTerminalLogs.setTerminalDescribe(name+"进行"+op+(Objects.equals(line.getLevel(), LineBaseEnum.LINE_LEVEL.getCode()) ? LineBaseEnum.LINE_LEVEL.getMessage():LineBaseEnum.DEVICE_LEVEL.getMessage())+"操作;监测点名称:"+line.getName()); + pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode()); + pqsTerminalLogs.setIsPush(DataStateEnum.ENABLE.getCode()); + pqsTerminalLogs.setObjIndex(line.getId()); + iPqsTerminalLogsService.save(pqsTerminalLogs); + } + + } + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java index ae0df83b8..9b817a29f 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java @@ -5,9 +5,11 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.njcn.common.pojo.dto.SimpleDTO; +import com.njcn.common.pojo.enums.common.DataStateEnum; 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.device.pq.enums.LineBaseEnum; import com.njcn.device.pq.mapper.DevFuctionMapper; import com.njcn.device.pq.mapper.TerminalMaintainMapper; import com.njcn.device.pq.mapper.SuperDataMapper; @@ -197,10 +199,11 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService { PqsTerminalLogs terminalLogsNew = new PqsTerminalLogs(); terminalLogsNew.setObjIndex(device.getId()); terminalLogsNew.setTerminalDescribe(sb.toString()); - terminalLogsNew.setCreateBy(index); - terminalLogsNew.setCreateTime(LocalDateTime.now()); - terminalLogsNew.setTerminalType(data.getId()); - terminalLogsNew.setState(1); + terminalLogsNew.setIsPush(DataStateEnum.ENABLE.getCode()); + terminalLogsNew.setOperateType("update"); + terminalLogsNew.setLogsType(data.getId()); + terminalLogsNew.setTerminalType(LineBaseEnum.DEVICE_LEVEL.getCode()); + terminalLogsNew.setState(DataStateEnum.ENABLE.getCode()); iPqsTerminalLogsService.save(terminalLogsNew); } } @@ -252,7 +255,8 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService { terminalLogsNew.setTerminalDescribe(sb.toString()); terminalLogsNew.setCreateBy(index); terminalLogsNew.setCreateTime(LocalDateTime.now()); - terminalLogsNew.setTerminalType(data.getId()); + terminalLogsNew.setTerminalType(LineBaseEnum.LINE_LEVEL.getCode()); + terminalLogsNew.setLogsType(data.getId()); terminalLogsNew.setState(1); iPqsTerminalLogsService.save(terminalLogsNew); } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java index 0be30b463..5d47b086b 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java @@ -201,7 +201,7 @@ public class UserServiceImpl extends ServiceImpl implements IU boolean result = userRoleService.addUserRole(user.getId(), addUserParam.getRole()); if (result) { //获取用户信息 - String userName = RequestUtil.getUsername(); + /* String userName = RequestUtil.getUsername(); String index = RequestUtil.getUserIndex(); String describe = userName + "新增了" + user.getName() + "用户"; HttpResult dicDataByCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.WEB_ADD.getCode()); @@ -213,7 +213,7 @@ public class UserServiceImpl extends ServiceImpl implements IU terminalLogsNew.setCreateBy(index); terminalLogsNew.setCreateTime(LocalDateTime.now()); terminalLogsNew.setTerminalType(data.getId()); - terminalLogsNew.setState(DataStateEnum.ENABLE.getCode()); + terminalLogsNew.setState(DataStateEnum.ENABLE.getCode());*/ return true; } else { return false;