From abab034523662df174ea39a2aa1308a5aa2ca6ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E6=9C=A8c?= <857448963@qq.com> Date: Thu, 27 Apr 2023 13:52:29 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/event/pojo/po/RmpEventDetailPO.java | 2 +- .../majornetwork/Impl/ReportServiceImpl.java | 214 +----------------- .../impl/PollutionSubstationServiceImpl.java | 28 ++- 3 files changed, 31 insertions(+), 213 deletions(-) diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java index 05fac21c2..a5a531de7 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java @@ -14,7 +14,7 @@ import java.io.Serializable; import java.time.LocalDateTime; /** - * (influxdb 转 mysql 专用)实体类 + * 暂降明细实体类 * * @author yzh * @since 2022-10-12 18:34:55 diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java index 2bd147cab..3ec0ff180 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java @@ -132,6 +132,7 @@ public class ReportServiceImpl implements ReportService { private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient; private final MonitorClient monitorClient; + private final EventDetailService eventDetailService; private final FreemarkerUtil freemarkerUtil; @@ -152,24 +153,6 @@ public class ReportServiceImpl implements ReportService { throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY); } -// QueryResult queryResult = new QueryResult(); -// List ids = new ArrayList<>(); -// List deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(businessParam).getData(); -// List> collect = deviceDTOList.stream().map(x -> x.getLineIndexes()).collect(Collectors.toList()); -// collect.stream().forEach(a -> a.forEach(x -> ids.add(x))); -// StringBuilder stringBuilder = new StringBuilder(Param.SELECT + Param.EVENT_DETAIL); -// stringBuilder.append(Param.WHERE); -// for (String id : ids) { -// stringBuilder.append("line_id = '").append(id + "' ").append("or "); -// } -// String substring = stringBuilder.substring(0, stringBuilder.length() - 3); -// queryResult = influxDbUtils.query(substring.toString()); -// //结果集映射到对象中 -// InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper(); -// List eventDetailList = influxDBResultMapper.toPOJO(queryResult, EventDetail.class); -// eventDetailList.stream().forEach(a -> { -// info.add(a); -// }); return info; } @@ -189,24 +172,6 @@ public class ReportServiceImpl implements ReportService { throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY); } -// QueryResult queryResult = new QueryResult(); -// for (GeneralDeviceDTO dto : deviceDTOList) { -// StringBuilder stringBuilder = new StringBuilder(Param.SELECT + Param.EVENT_DETAIL); -// if (dto.getLineIndexes().size() > 0) { -// stringBuilder.append(Param.WHERE); -// dto.getLineIndexes().stream().forEach(line -> { -// stringBuilder.append("line_id = '").append(line + "' ").append("or "); -// }); -// String substring = stringBuilder.substring(0, stringBuilder.length() - 3); -// queryResult = influxDbUtils.query(substring.toString()); -// //结果集映射到对象中 -// InfluxDBResultMapperCn influxDBResultMapper = new InfluxDBResultMapperCn(); -// List eventDetailList = influxDBResultMapper.toPOJO(queryResult, EventDetailNew.class); -// eventDetailList.stream().forEach(a -> { -// info.add(a); -// }); -// } -// } return info; } @@ -249,15 +214,6 @@ public class ReportServiceImpl implements ReportService { ); List eventDetailList= BeanUtil.copyToList(eventDetails,EventDetail.class); -// stringBuilder.append(Param.WHERE); -// lineIndexes.stream().forEach(line -> { -// stringBuilder.append("line_id = '").append(line + "' ").append("or "); -// }); -// String substring = stringBuilder.substring(0, stringBuilder.length() - 3); -// queryResult = influxDbUtils.query(substring.toString()); -// //结果集映射到对象中 -// InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper(); -// List eventDetailList = influxDBResultMapper.toPOJO(queryResult, EventDetail.class); map.put(dto.getName(), eventDetailList); } else { List eventDetailList = new ArrayList<>(); @@ -523,54 +479,6 @@ public class ReportServiceImpl implements ReportService { page.setRecords(result); return page; - -// List count = getED2(waveTypeParam); -// StringBuilder stringBuilder = new StringBuilder(Param.SELECT + Param.EVENT_DETAIL + Param.WHERE + " "); -// List deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData(); -// List lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList()); -// if (CollectionUtil.isEmpty(lineIds)) { -// throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY); -// } -// StringBuilder lineSting = InfluxDBCommUtils.assToInfluxParam(lineIds); -// Integer s = (waveTypeParam.getPageNum() - 1) * waveTypeParam.getPageSize(); -// stringBuilder.append(lineSting).append("limit ").append(waveTypeParam.getPageSize() + " offset " + s + Param.TZ_ASIA_SHANGHAI); -// QueryResult query = influxDbUtils.query(stringBuilder.toString()); -// InfluxDBResultMapperCn influxDBResultMapper = new InfluxDBResultMapperCn(); -// -// List info = influxDBResultMapper.toPOJO(query, EventDetailNew.class); -// if (CollectionUtil.isNotEmpty(info)) { -// ArrayList idlist = new ArrayList<>(); -// for (EventDetailNew eventDetail : info) { -// DetailVO vo = new DetailVO(); -// BeanUtils.copyProperties(eventDetail, vo); -// result.add(vo); -// idlist.add(eventDetail.getLineId()); -// } -// HttpResult> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist); -// List data = AreaInfo.getData(); -// for (DetailVO detailVO : result) { -// for (AreaLineInfoVO vo : data) { -// if (vo.getLineId().equals(detailVO.getLineId())) { -// BeanUtils.copyProperties(vo, detailVO); -// } -// } -// } -// HttpResult> reason = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()); -// List type = reason.getData(); -// for (DetailVO detailVO : result) { -// for (DictData dictData : type) { -// if (dictData.getId().equals(detailVO.getEventType())) { -// detailVO.setEventType(dictData.getName()); -// } -// } -// } -// } -// Page page = new Page<>(); -// page.setTotal(count.size()); -// page.setRecords(result); -// page.setCurrent(waveTypeParam.getPageNum()); -// page.setSize(waveTypeParam.getPageSize()); -// return page; } /** @@ -633,62 +541,6 @@ public class ReportServiceImpl implements ReportService { return page; -// List count = getED2(waveTypeParam); -// StringBuilder stringBuilder = new StringBuilder(Param.SELECT + Param.EVENT_DETAIL + Param.WHERE + " 1=1 "); -// List deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData(); -// String substring = ""; -// for (GeneralDeviceDTO dto : deviceDTOList) { -// if (dto.getLineIndexes().size() > 0) { -// stringBuilder.append(" or "); -// dto.getLineIndexes().stream().forEach(line -> { -// stringBuilder.append("line_id = '").append(line + "' ").append("or "); -// }); -// stringBuilder.delete(stringBuilder.length() - 3, stringBuilder.length() + 1); -// } -// } -// Integer i = (waveTypeParam.getPageNum() - 1) * waveTypeParam.getPageSize(); -// substring = stringBuilder.toString() + "limit " + waveTypeParam.getPageSize() + " offset " + i + Param.TZ_ASIA_SHANGHAI; -// QueryResult query = influxDbUtils.query(substring); -// InfluxDBResultMapperCn influxDBResultMapper = new InfluxDBResultMapperCn(); -// List info = influxDBResultMapper.toPOJO(query, EventDetailNew.class); -// HashMap countMap = new HashMap<>(); -// for (EventDetailNew eventDetail : info) { -// countMap.put(eventDetail.getLineId(), 0); -// } -// Set keySet = countMap.keySet(); -// //id集合 -// ArrayList idlist = new ArrayList<>(); -// for (EventDetailNew eventDetail : info) { -// for (String s : keySet) { -// if (eventDetail.getLineId().equals(s) && eventDetail.getWaveType() == "1") { -// countMap.put(s, countMap.get(s) + 1); -// } -// } -// DetailVO vo = new DetailVO(); -// BeanUtils.copyProperties(eventDetail, vo); -// result.add(vo); -// idlist.add(eventDetail.getLineId()); -// } -// HttpResult> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist); -// List data = AreaInfo.getData(); -// for (DetailVO detailVO : result) { -// for (AreaLineInfoVO vo : data) { -// if (vo.getLineId().equals(detailVO.getLineId())) { -// BeanUtils.copyProperties(vo, detailVO); -// } -// } -// for (String s : keySet) { -// if (s.equals(detailVO.getLineId())) { -// detailVO.setTimes(countMap.get(s)); -// } -// } -// } -// Page page = new Page<>(); -// page.setTotal(count.size()); -// page.setRecords(result); -// page.setCurrent(waveTypeParam.getPageNum()); -// page.setSize(waveTypeParam.getPageSize()); -// return page; } /** @@ -703,15 +555,18 @@ public class ReportServiceImpl implements ReportService { //获取暂升字典信息 DictData dictdata = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_RISE.getCode()).getData(); - List deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData(); + List deviceDTOList = generalDeviceInfoClient.getPracticalRunDeviceInfo(waveTypeParam).getData(); List lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList()); if (CollectionUtil.isEmpty(lineIds)) { throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY); } - Page pageInfo = eventDetailService.page(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), new LambdaQueryWrapper() + Page pageInfo = eventDetailService.page( + new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), + new LambdaQueryWrapper() .in(RmpEventDetailPO::getMeasurementPointId, lineIds) .ge(StringUtils.isNotBlank(waveTypeParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(waveTypeParam.getSearchBeginTime()))) .le(StringUtils.isNotBlank(waveTypeParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(waveTypeParam.getSearchEndTime()))) + .eq(RmpEventDetailPO::getEventType,dictdata.getId()) ); List info =BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class); HashMap countMap = new HashMap<>(); @@ -750,62 +605,7 @@ public class ReportServiceImpl implements ReportService { page.setRecords(result); return page; -// List count = getED2(waveTypeParam); -// StringBuilder stringBuilder = new StringBuilder(Param.SELECT + Param.EVENT_DETAIL + Param.WHERE + " 1=1 "); -// List deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData(); -// String substring = ""; -// for (GeneralDeviceDTO dto : deviceDTOList) { -// if (dto.getLineIndexes().size() > 0) { -// stringBuilder.append(" or "); -// dto.getLineIndexes().stream().forEach(line -> { -// stringBuilder.append("line_id = '").append(line + "' ").append("or "); -// }); -// stringBuilder.delete(stringBuilder.length() - 3, stringBuilder.length() + 1); -// } -// } -// Integer i = (waveTypeParam.getPageNum() - 1) * waveTypeParam.getPageSize(); -// substring = stringBuilder.toString() + "limit " + waveTypeParam.getPageSize() + " offset " + i + Param.TZ_ASIA_SHANGHAI; -// QueryResult query = influxDbUtils.query(substring); -// InfluxDBResultMapperCn influxDBResultMapper = new InfluxDBResultMapperCn(); -// List info = influxDBResultMapper.toPOJO(query, EventDetailNew.class); -// HashMap countMap = new HashMap<>(); -// for (EventDetailNew eventDetail : info) { -// countMap.put(eventDetail.getLineId(), 0); -// } -// Set keySet = countMap.keySet(); -// //id集合 -// ArrayList idlist = new ArrayList<>(); -// for (EventDetailNew eventDetail : info) { -// for (String s : keySet) { -// if (eventDetail.getLineId().equals(s) && eventDetail.getWaveType() == "2") { -// countMap.put(s, countMap.get(s) + 1); -// } -// } -// DetailVO vo = new DetailVO(); -// BeanUtils.copyProperties(eventDetail, vo); -// result.add(vo); -// idlist.add(eventDetail.getLineId()); -// } -// HttpResult> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist); -// List data = AreaInfo.getData(); -// for (DetailVO detailVO : result) { -// for (AreaLineInfoVO vo : data) { -// if (vo.getLineId().equals(detailVO.getLineId())) { -// BeanUtils.copyProperties(vo, detailVO); -// } -// } -// for (String s : keySet) { -// if (s.equals(detailVO.getLineId())) { -// detailVO.setTimes(countMap.get(s)); -// } -// } -// } -// Page page = new Page<>(); -// page.setTotal(count.size()); -// page.setRecords(result); -// page.setCurrent(waveTypeParam.getPageNum()); -// page.setSize(waveTypeParam.getPageSize()); -// return page; + } /** diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index db5867cc9..e4208e5f9 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -196,7 +196,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl powersVO = new ArrayList<>(); @@ -239,7 +239,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl subPollutionVO = new ArrayList<>(); subIndexes.forEach(subIndex -> { PollutionVO pollutionsubVO = new PollutionVO(); @@ -249,7 +249,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); @@ -332,10 +332,19 @@ public class PollutionSubstationServiceImpl extends ServiceImplpollutionsubVO.setData (t.getValue ())); + }else if(Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_WEEK)){ + QueryWrapper wrapper = new QueryWrapper<> (); + wrapper.eq ("substation_id",id). + eq ("pollution_type", pollutionType). + between("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime,searchEndTime) + .orderByDesc("value").last(" limit 1"); + RStatPollutionSubstationDPO rStatPollutionSubstationDPO = pollutionSubstationDPOMapper.selectOne (wrapper); + Optional.ofNullable (rStatPollutionSubstationDPO).ifPresent (t->pollutionsubVO.setData (t.getValue ())); + } } - private void setData(HarmonicPublicParam harmonicPublicParam, String pollutionType, String searchBeginTime, PollutionVO pollutionVO, String detpid) { + private void setData(HarmonicPublicParam harmonicPublicParam, String pollutionType, String searchBeginTime,String searchEndTime, PollutionVO pollutionVO, String detpid) { //harmonicPublicParam.setReportFlag("5"); if(Objects.equals (harmonicPublicParam.getReportFlag (), BizParamConstant.STAT_BIZ_YEAR) ) { QueryWrapper rStatPollutionOrgYPOQueryWrapper = new QueryWrapper<> (); @@ -365,6 +374,15 @@ public class PollutionSubstationServiceImpl extends ServiceImplpollutionVO.setData (a.getValue ())); + }else if(Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_WEEK)){ + QueryWrapper rStatPollutionOrgDPOQueryWrapper = new QueryWrapper<> (); + rStatPollutionOrgDPOQueryWrapper.eq ("org_id", detpid). + eq ("pollution_type", pollutionType). + between("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime,searchEndTime) + .orderByDesc("value").last(" limit 1"); + RStatPollutionOrgDPO rStatPollutionOrgDPO = rStatPollutionOrgDPOMapper.selectOne (rStatPollutionOrgDPOQueryWrapper); + Optional.ofNullable (rStatPollutionOrgDPO).ifPresent (a->pollutionVO.setData (a.getValue ())); + } }