From 59522c66d9bb5a3ac36eb50dcf080a3ccc9fe8e7 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Wed, 16 Oct 2024 17:09:07 +0800 Subject: [PATCH] =?UTF-8?q?1.mysql=E5=8F=B0=E8=B4=A6=E5=90=8C=E6=AD=A5orac?= =?UTF-8?q?le?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pq/enums/PvDeviceResponseEnum.java | 2 +- .../pojo/param/oracle/SyncLedgerDelete.java | 25 +--- .../service/impl/TerminalBaseServiceImpl.java | 138 ++++++++++++------ .../databank/impl/LibCaseServiceImpl.java | 9 +- .../databank/impl/LibTemplateServiceImpl.java | 10 +- 5 files changed, 114 insertions(+), 70 deletions(-) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PvDeviceResponseEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PvDeviceResponseEnum.java index 8d0fb8b29..18c7117db 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PvDeviceResponseEnum.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PvDeviceResponseEnum.java @@ -48,7 +48,7 @@ public enum PvDeviceResponseEnum { NEWSTATION_REPEAT("A0371","新能源场站名称已存在"), PROJECT_OR_NOT("A00550","项目名称为空,请检查信息是否存在!"), PROVINCE_OR_NOT("A00550","省级名称为空,请检查信息是否存在!"), - GD_OR_NOT("A00550","供电名称为空,请检查信息是否存在!"), + GD_OR_NOT("A00550","供电公司名称为空,请检查信息是否存在!"), ; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/oracle/SyncLedgerDelete.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/oracle/SyncLedgerDelete.java index 663f961fd..6bdcf2a28 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/oracle/SyncLedgerDelete.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/oracle/SyncLedgerDelete.java @@ -3,7 +3,6 @@ package com.njcn.device.pq.pojo.param.oracle; import lombok.Data; import java.io.Serializable; -import java.util.List; /** * @author wr @@ -14,23 +13,15 @@ import java.util.List; public class SyncLedgerDelete implements Serializable { - /** - * 线路信息表 - */ - private List line; - /** - * 母线信息表 - */ - private List subVoltage; - /** - * 装置信息表 - */ - private List device; + private Integer id; + private String name; + + private Integer superId; + + private String superName; /** - * 变电站信息表 + * 等级:0-项目名称;1- 工程名称;2-单位;3-部门;4-终端;5-母线;6-监测点 */ - private List substation; - - + private Integer level; } 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 6c90313c4..58b685e9e 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 @@ -11,7 +11,6 @@ import cn.hutool.core.text.StrBuilder; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpRequest; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -55,10 +54,8 @@ import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.pojo.po.Area; import com.njcn.system.pojo.po.DictData; -import com.njcn.web.utils.HttpServletUtil; import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.RestTemplateUtil; -import io.swagger.annotations.ApiModelProperty; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -118,6 +115,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Value("${oracle.syncLedgerUpdateLine}") private String updateUrl; + @Value("${oracle.syncLedgerDeleteLine}") + private String urlDelete; + /** * 终端新增操作 * @@ -503,8 +503,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Override @Transactional(rollbackFor = Exception.class) public Boolean updateTerminal(UpdateTerminalParam updateTerminalParam) { - String oldSubName=""; - String gbName=""; + String oldSubName = ""; + String gbName = ""; LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); //项目 if (Objects.nonNull(updateTerminalParam.getProjectUpdateParam())) { @@ -535,7 +535,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //供电公司 if (Objects.nonNull(updateTerminalParam.getGdInformationUpdateParam())) { Line gdRes = this.getById(updateTerminalParam.getGdInformationUpdateParam().getGdIndex()); - gbName=gdRes.getName(); + gbName = gdRes.getName(); if (Objects.isNull(gdRes)) { throw new BusinessException(DeviceResponseEnum.GD_NO); } @@ -553,7 +553,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple if (Objects.isNull(subStationRes)) { throw new BusinessException(DeviceResponseEnum.SUB_NO); } - oldSubName=subStationRes.getName(); + oldSubName = subStationRes.getName(); Line subStation = new Line(); subStation.setId(updateTerminalParam.getSubStationUpdateParam().getSubIndex()); subStation.setName(updateTerminalParam.getSubStationUpdateParam().getName()); @@ -798,8 +798,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple /*** * oracle http远程调用接口 */ - SyncLedgerUpdate syncLedger = oracleSyncLedgerUpdate(updateTerminalParam,oldSubName,gbName); - ResponseEntity userEntity = RestTemplateUtil.post(updateUrl, syncLedger, Map.class); + SyncLedgerUpdate syncLedger = oracleSyncLedgerUpdate(updateTerminalParam, oldSubName, gbName); + ResponseEntity userEntity = RestTemplateUtil.post(updateUrl, syncLedger, String.class); } return true; } @@ -1360,6 +1360,7 @@ 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); @@ -1455,6 +1456,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } else { throw new BusinessException(CommonResponseEnum.FAIL); } + if (isSync) { + SyncLedgerDelete delete = oracleSyncLedgerDelete(obj); + ResponseEntity userEntity = RestTemplateUtil.post(urlDelete, delete, String.class); + } return true; } @@ -1843,6 +1848,21 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Override @Transactional(rollbackFor = Exception.class) public String terminalSync(SyncTerminalParam syncTerminalParam) { + if (isSync) { + /*** + * oracle http远程调用接口 + */ + SyncLedger syncLedger = oracleSyncLedger(syncTerminalParam); + ResponseEntity userEntity = RestTemplateUtil.post(url, syncLedger, Map.class); + if (HttpURLConnection.HTTP_OK == userEntity.getStatusCodeValue()) { + //获取返回体 + Map body = userEntity.getBody(); + Integer oracleLineId = Integer.valueOf(body.get("oracleLineId").toString()); + Integer oracleDevId = Integer.valueOf(body.get("oracleDevId").toString()); + syncTerminalParam.setOracleLineId(oracleLineId); + syncTerminalParam.setOracleDevId(oracleDevId); + } + } String projectIndex = null; String provinceIndex = null; String gdIndex = null; @@ -2024,21 +2044,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple deptLine.setId(syncTerminalParam.getDeptId()); deptLine.setLineId(line.getId()); deptLineMapper.insert(deptLine); - if (isSync) { - /*** - * oracle http远程调用接口 - */ - SyncLedger syncLedger = oracleSyncLedger(syncTerminalParam); - ResponseEntity userEntity = RestTemplateUtil.post(url, syncLedger, Map.class); - if (HttpURLConnection.HTTP_OK == userEntity.getStatusCodeValue()) { - //获取返回体 - Map body = userEntity.getBody(); - Integer oracleLineId = Integer.valueOf(body.get("oracleLineId").toString()); - Integer oracleDevId = Integer.valueOf(body.get("oracleDevId").toString()); - syncTerminalParam.setOracleLineId(oracleLineId); - syncTerminalParam.setOracleDevId(oracleDevId); - } - } return subIndex; } @@ -3085,41 +3090,85 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple terminalVO.setSubStationVO(subStationVO); } - private SyncLedgerUpdate oracleSyncLedgerUpdate(UpdateTerminalParam param,String oldSubName,String gdName) { - SyncLedgerUpdate update=new SyncLedgerUpdate(); + private SyncLedgerDelete oracleSyncLedgerDelete(Line obj) { + SyncLedgerDelete delete = new SyncLedgerDelete(); + delete.setLevel(obj.getLevel()); + /** + * 3-变电站;4-终端;5-母线;6-监测点 + */ + switch (obj.getLevel()) { + case 3: + Line byId = this.getById(obj.getPid()); + if (Objects.isNull(byId)) { + throw new BusinessException(CommonResponseEnum.NO_DATA); + } + delete.setSuperName(byId.getName()); + delete.setName(obj.getName()); + break; + case 4: + DeviceBak deviceBak = deviceBakService.getById(obj.getId()); + delete.setId(deviceBak.getDevId()); + delete.setName(obj.getName()); + break; + case 5: + DeviceBak bak = deviceBakService.getById(obj.getPid()); + delete.setName(obj.getName()); + delete.setSuperId(bak.getDevId()); + break; + case 6: + LineBak lineBak = lineBakService.getById(obj.getId()); + delete.setId(lineBak.getLineId()); + delete.setName(obj.getName()); + break; + } + return delete; + } + + private SyncLedgerUpdate oracleSyncLedgerUpdate(UpdateTerminalParam param, String oldSubName, String gdName) { + SyncLedgerUpdate update = new SyncLedgerUpdate(); /** * 先更新变电站信息,然后根据变电站信息查询终端信息 */ //变电站信息 SubStationParam.SubStationUpdateParam sub = param.getSubStationUpdateParam(); List deviceUpdateParamList = param.getDeviceUpdateParamList(); - PqSubstation substation=new PqSubstation(); + PqSubstation substation = new PqSubstation(); if (ObjectUtil.isNull(sub)) { //因为查出来的数据电压等级是转换过的所有不需要替换 Line byId = this.getById(deviceUpdateParamList.get(0).getDevIndex()); PollutionSubstationDTO substationInfo = lineMapper.getSubstationInfo(byId.getPid()); - sub=new SubStationParam.SubStationUpdateParam(); + sub = new SubStationParam.SubStationUpdateParam(); sub.setName(substationInfo.getName()); - oldSubName=substationInfo.getName(); + oldSubName = substationInfo.getName(); sub.setLng(substationInfo.getLng()); sub.setLat(substationInfo.getLat()); - substation.setScale(sub.getScale()); - }else{ + sub.setSubIndex(substationInfo.getId()); + substation.setScale(substationInfo.getVoltageLevel()); + } else { substation.setScale(dictName(sub.getScale())); } substation.setName(sub.getName()); substation.setOldName(oldSubName); - substation.setGdName(gdName); + if (StrUtil.isNotBlank(gdName)) { + substation.setGdName(gdName); + } else { + Line byId = this.getById(sub.getSubIndex()); + Line byId1 = this.getById(byId.getPid()); + if(ObjectUtil.isNull(byId1)){ + throw new BusinessException(PvDeviceResponseEnum.GD_OR_NOT); + } + substation.setGdName(byId1.getName()); + } update.setPqSubstation(substation); - PqsMap pqsMap=new PqsMap(); + PqsMap pqsMap = new PqsMap(); pqsMap.setLongitude(sub.getLng().doubleValue()); pqsMap.setLatitude(sub.getLat().doubleValue()); update.setPqsMap(pqsMap); //修改终端信息 - List deviceList=new ArrayList<>(); - List deviceDetailList=new ArrayList<>(); - List lineDeatailList=new ArrayList<>(); + List deviceList = new ArrayList<>(); + List deviceDetailList = new ArrayList<>(); + List lineDeatailList = new ArrayList<>(); List devMysqlIds = deviceUpdateParamList.stream().map(DeviceParam::getDevIndex).collect(Collectors.toList()); List deviceBaks = deviceBakService.listByIds(devMysqlIds); @@ -3128,10 +3177,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple for (DeviceParam device : deviceUpdateParamList) { String devIndex = device.getDevIndex(); - if(deviceBakMap.containsKey(devIndex)){ + if (deviceBakMap.containsKey(devIndex)) { Integer devOracleId = deviceBakMap.get(devIndex); //终端 - PqDevice pqDevice=new PqDevice(); + PqDevice pqDevice = new PqDevice(); pqDevice.setDevIndex(devOracleId); pqDevice.setName(device.getName()); pqDevice.setStatus(1); @@ -3167,8 +3216,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple deviceDetailList.add(pqDevicedetail); //处理母线信息 - List pqSubVoltages=new ArrayList<>(); - for (SubVoltageParam subVoltage : device.getSubVoltageParam()) { + List pqSubVoltages = new ArrayList<>(); + for (SubVoltageParam subVoltage : device.getSubVoltageParam()) { //母线 PqSubvoltage pqSubvoltage = new PqSubvoltage(); pqSubvoltage.setName(subVoltage.getName()); @@ -3178,10 +3227,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqSubvoltage.setSubvmodel(subVoltage.getModel()); pqSubVoltages.add(pqSubvoltage); //监测点 - List pqLines=new ArrayList<>(); + List pqLines = new ArrayList<>(); for (LineParam line : subVoltage.getLineParam()) { LineBak byId = lineBakService.getById(line.getLineIndex()); - if(ObjectUtil.isNotNull(byId)){ + if (ObjectUtil.isNotNull(byId)) { //监测点 PqLine pqLine = new PqLine(); pqLine.setLineIndex(byId.getLineId()); @@ -3195,7 +3244,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqLine.setJzcmp(line.getStandardCapacity().doubleValue()); pqLine.setXycmp(line.getDealCapacity().doubleValue()); pqLine.setScale(dictName(subVoltage.getScale())); - pqLine.setStatus(1); + pqLine.setStatus(0); pqLines.add(pqLine); PqLinedetail pqLinedetail = new PqLinedetail(); @@ -3235,6 +3284,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple update.setPqLinedetail(lineDeatailList); return update; } + /** * oracle远程台账同步 * @@ -3365,7 +3415,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqLine.setJzcmp(line.getStandardCapacity().doubleValue()); pqLine.setXycmp(line.getDealCapacity().doubleValue()); pqLine.setScale(dictName(subVoltage.getScale())); - pqLine.setStatus(1); + pqLine.setStatus(0); ledger.setPqLine(pqLine); PqLinedetail pqLinedetail = new PqLinedetail(); pqLinedetail.setLineName(line.getName()); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibCaseServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibCaseServiceImpl.java index 1549c9ead..2f704338b 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibCaseServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibCaseServiceImpl.java @@ -80,10 +80,11 @@ public class LibCaseServiceImpl extends ServiceImpl impl queryWrapper.eq("lib_case.status",1); //添加上时间范围 queryWrapper.like(StrUtil.isNotBlank(param.getSearchValue()),"lib_case.name",param.getSearchValue()); - queryWrapper.between(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime()), - "lib_case.Create_Time", - DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), - DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))); + if(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime())){ + queryWrapper.between("lib_case.Create_Time", + DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))); + } queryWrapper.orderByDesc("lib_case.Update_Time"); return this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java index 38be94f9b..667cb427b 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java @@ -78,10 +78,12 @@ public class LibTemplateServiceImpl extends ServiceImpl(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper); }