From 377ef8dfb62acc8fa934cfdc736b319868f33d0b Mon Sep 17 00:00:00 2001 From: letsgocoding <sdxt_0802@163.com> Date: 星期三, 12 二月 2025 16:01:15 +0800 Subject: [PATCH] !65 电能质量分析--负荷分析数据获取获取实时数据修改 Merge pull request !65 from letsgocoding/wt_from_develop1.0 --- zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/MonthlyComprehensiveController.java | 6 zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java | 6 zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java | 21 ++- zhitan-system/src/main/java/com/zhitan/dataitem/service/impl/DataItemServiceImpl.java | 9 - zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java | 13 ++ zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java | 2 zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java | 30 ++++ zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml | 22 ++- zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/DailyComprehensiveController.java | 4 zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java | 6 /dev/null | 163 --------------------------- zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java | 12 + zhitan-system/src/main/java/com/zhitan/model/mapper/EnergyIndexMapper.java | 4 zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java | 8 + zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java | 12 +- zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml | 17 ++ zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java | 4 zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java | 4 zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java | 5 19 files changed, 131 insertions(+), 217 deletions(-) diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/DailyComprehensiveController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/DailyComprehensiveController.java index 4ce9a69..879ecce 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/DailyComprehensiveController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/DailyComprehensiveController.java @@ -67,7 +67,7 @@ i++; } List<DailyComprehensive> list = dailyComprehensiveService.getDailyComprehensiveList(modelNode.getNodeId(), - dataList, dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getIndexStorageId()); + dataList, dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getEnergyType()); return AjaxResult.success(list); } catch (Exception ex) { logger.error("鑾峰彇鍑洪敊锛�", ex); @@ -87,7 +87,7 @@ dataItem.setBeginTime(dataItem.getDataTime()); String endTime=aa+" 24:00:00"; dataItem.setEndTime(sf.parse(endTime)); - List<DailyComprehensive> list = dailyComprehensiveService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<DailyComprehensive> list = dailyComprehensiveService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return AjaxResult.success(list); } diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/MonthlyComprehensiveController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/MonthlyComprehensiveController.java index 8e41cf7..0a98ba3 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/MonthlyComprehensiveController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/MonthlyComprehensiveController.java @@ -82,7 +82,7 @@ return AjaxResult.success(reportList); } List<MonthlyComprehensive> list = monthlyComprehensive.getMonthlyComprehensiveList(modelNode.getNodeId(), - dataList, dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getIndexStorageId()); + dataList, dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getEnergyType()); int count = Integer.parseInt(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length() - 2)); list.forEach(monthlyReport -> monthlyReport.setCount(count)); reportList.setTabledata(list); @@ -107,7 +107,7 @@ dataItem.setBeginTime(sf.parse(beginTime)); String endTime=aa+"-"+Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length()-2))+" 00:00:00"; dataItem.setEndTime(sf.parse(endTime)); - List<MonthlyComprehensive> list = monthlyComprehensive.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<MonthlyComprehensive> list = monthlyComprehensive.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return AjaxResult.success(list); } public static String getLastDayOfMonth(String yearMonth) { @@ -171,7 +171,7 @@ return AjaxResult.success(reportList); } List<MonthlyComprehensive> list = monthlyComprehensive.getMonthlyComprehensiveList(modelNode.getNodeId(), dataList, - dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getIndexStorageId()); + dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getEnergyType()); int count = Integer.parseInt(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length() - 2)); list.forEach(monthlyReport -> monthlyReport.setCount(count)); if (CollectionUtils.isNotEmpty(list)) { diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java index fc5a46c..3f6a91b 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java @@ -74,7 +74,7 @@ i++; } List<YearComperhensive> list = yearComprehensive.getYearComprehensiveList(modelNode.getNodeId(), - dataList,dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + dataList,dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return AjaxResult.success(list); } catch (Exception ex) { logger.error("鑾峰彇鍑洪敊锛�", ex); @@ -92,7 +92,7 @@ dataItem.setBeginTime(DateUtil.beginOfYear(dataItem.getDataTime())); dataItem.setEndTime(DateUtil.endOfYear(dataItem.getDataTime())); - List<YearComperhensive> list = yearComprehensive.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<YearComperhensive> list = yearComprehensive.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return AjaxResult.success(list); } @@ -127,7 +127,7 @@ i++; } List<YearComperhensive> list = yearComprehensive.getYearComprehensiveList(modelNode.getNodeId(), - dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); if(CollectionUtils.isNotEmpty(list)){ list.forEach(this::valueRep); } diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java index b20411c..be5615e 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java @@ -5,6 +5,7 @@ import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.energyMonitor.domain.vo.ListElectricLoadVO; +import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO; import com.zhitan.energyMonitor.service.IElectricLoadService; import com.zhitan.model.domain.EnergyIndex; import com.zhitan.model.service.IEnergyIndexService; @@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; + +import java.util.List; /** * @Description: 璐熻嵎鍒嗘瀽 @@ -50,7 +53,15 @@ @RequestParam(name = "timeCode") String timeCode) { EnergyIndex energyIndex = energyIndexService.getDeviceIndexByCode(nodeId, meterId, CommonConst.TAG_CODE_ZYGGL); - ListElectricLoadVO vo = electricLoadService.list(timeType, timeCode, energyIndex); + ListElectricLoadVO vo = electricLoadService.list(timeType, timeCode, energyIndex, meterId); + return AjaxResult.success(vo); + } + + @Log(title = "鑾峰彇鑺傜偣涓嬫墍鏈夌數琛�") + @ApiOperation(value = "鑾峰彇鑺傜偣涓嬫墍鏈夌數琛�", notes = "鑾峰彇鑺傜偣涓嬫墍鏈夌數琛�") + @GetMapping(value = "/listElectricMeter") + public AjaxResult listElectricMeter(@RequestParam(name = "nodeId") String nodeId) { + List<ListElectricityMeterVO> vo = electricLoadService.listElectricMeter(nodeId); return AjaxResult.success(vo); } diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java index aa80c65..07dbc79 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java @@ -75,7 +75,7 @@ i++; }; startPage(); - List<DailyKeyEquipment> list = dailykeyEquipment.getdailyKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<DailyKeyEquipment> list = dailykeyEquipment.getdailyKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return getDataTable(list); } @@ -88,7 +88,7 @@ dataItem.setBeginTime(dataItem.getDataTime()); String endTime=aa+" 24:00:00"; dataItem.setEndTime(sf.parse(endTime)); - List<DailyKeyEquipment> list = dailykeyEquipment.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<DailyKeyEquipment> list = dailykeyEquipment.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return AjaxResult.success(list); } /*鎵�鏈夎澶�*/ diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java index da8f636..7cb93ba 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java @@ -84,7 +84,7 @@ List<String> indexIds = energyList.stream().map(EnergyIndex::getIndexId).collect(Collectors.toList()); startPage(); - List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getMonthlyKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getMonthlyKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); int count=Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length()-2)); list.forEach(monthlyReport -> monthlyReport.setCount(count)); reportList.setTabledata(list); @@ -107,7 +107,7 @@ dataItem.setBeginTime(sf.parse(beginTime)); String endTime=aa+"-"+Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length()-2))+" 00:00:00"; dataItem.setEndTime(sf.parse(endTime)); - List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return AjaxResult.success(list); } public static String getLastDayOfMonth(String yearMonth) { diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java index 8f0c4c5..4b1b56b 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java @@ -4,7 +4,6 @@ import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.common.core.page.TableDataInfo; -import com.zhitan.comprehensivestatistics.domain.YearComperhensive; import com.zhitan.keyequipment.domain.YearKeyEquipment; import com.zhitan.keyequipment.service.IYearKeyEquipmentService; import com.zhitan.model.domain.EnergyIndex; @@ -77,7 +76,7 @@ i++; } startPage(); - List<YearKeyEquipment> list = yearKeyEquipmentService.getYearKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<YearKeyEquipment> list = yearKeyEquipmentService.getYearKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return getDataTable(list); } @@ -85,7 +84,7 @@ @ApiOperation(value = "閲嶇偣璁惧鑳借�楃粺璁★紙骞达級鍥捐〃") public AjaxResult listChart(DataItem dataItem){ - List<YearKeyEquipment> list = yearKeyEquipmentService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getIndexStorageId()); + List<YearKeyEquipment> list = yearKeyEquipmentService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); return AjaxResult.success(list); } } diff --git a/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java b/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java index c328731..86f476b 100644 --- a/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java +++ b/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java @@ -867,7 +867,7 @@ /** * 鎬绘湁鍔熷姛鐜囩偣浣嶆ā鏉縞ode */ - public static final String TAG_CODE_ZYGGL = "\\_ActivePower_Total"; + public static final String TAG_CODE_ZYGGL = "ActivePow"; /** * 鎬绘湁鍔熷姛鐜囩偣浣嶆ā鏉縞ode */ diff --git a/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java b/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java index b744816..ae25bae 100644 --- a/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java @@ -88,4 +88,12 @@ MeterImplement selectByNodeIdIndexId(@Param("nodeId") String nodeId, @Param("indexId") String indexId); List<MeterImplement> listMeterImplByInstallLocation(@Param("installactionLocation") String installactionLocation); + + /** + * 鏍规嵁鑺傜偣id鏌ヨ璁¢噺鍣ㄥ叿淇℃伅 + * + * @param nodeId + * @return + */ + List<MeterImplement> selectByNodeId(@Param("nodeId") String nodeId); } diff --git a/zhitan-system/src/main/java/com/zhitan/dataitem/service/impl/DataItemServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/dataitem/service/impl/DataItemServiceImpl.java index 27fb12a..2256b65 100644 --- a/zhitan-system/src/main/java/com/zhitan/dataitem/service/impl/DataItemServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/dataitem/service/impl/DataItemServiceImpl.java @@ -158,18 +158,13 @@ if(ObjectUtils.isEmpty(modelNodes)){ throw new RuntimeException("鏈煡璇㈠埌妯″瀷淇℃伅"); } - Optional<ModelNode> modelNodeInfo = modelNodes.stream().findFirst(); - String nodeId = modelNodeInfo.map(ModelNode::getNodeId).toString(); + ModelNode modelNode = modelNodes.stream().findFirst().get(); + String nodeId = modelNode.getNodeId(); dto.setNodeId(nodeId); String energyType = dto.getEnergyType(); LocalDate queryTime = dto.getQueryTime(); TimeType timeType = dto.getTimeType(); - // 鑾峰彇鑺傜偣淇℃伅 - ModelNode modelNode = modelNodeMapper.selectModelNodeById(nodeId); - if (ObjectUtils.isEmpty(modelNode)) { - return flowChartsVO; - } // 鑾峰彇鏌ヨ鏃堕棿 Map<String, LocalDateTime> dateTimeMap = getDataItemByIndexId(timeType, queryTime); diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java index f3c4448..cfc6098 100644 --- a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java +++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java @@ -1,7 +1,10 @@ package com.zhitan.energyMonitor.service; import com.zhitan.energyMonitor.domain.vo.ListElectricLoadVO; +import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO; import com.zhitan.model.domain.EnergyIndex; + +import java.util.List; /** * @Description: @@ -14,5 +17,12 @@ /** * 鑾峰彇璐熻嵎鍒嗘瀽鏁版嵁 */ - ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex); + ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex, String meterId); + + /** + * 鑾峰彇鑺傜偣涓嬫墍鏈夌數琛� + * @param nodeId + * @return + */ + List<ListElectricityMeterVO> listElectricMeter(String nodeId); } diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java index a01fd03..2e47b66 100644 --- a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java @@ -14,7 +14,9 @@ import com.zhitan.energyMonitor.domain.vo.ListElectricLoadDetail; import com.zhitan.energyMonitor.domain.vo.ListElectricLoadItem; import com.zhitan.energyMonitor.domain.vo.ListElectricLoadVO; +import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO; import com.zhitan.energyMonitor.service.IElectricLoadService; +import com.zhitan.knowledgeBase.domain.enums.EnergyTypeEnum; import com.zhitan.model.domain.EnergyIndex; import com.zhitan.realtimedata.domain.TagValue; import com.zhitan.realtimedata.service.RealtimeDatabaseService; @@ -28,6 +30,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * @Description: sensor_alarm_item @@ -43,7 +46,7 @@ private MeterImplementMapper meterImplementMapper; @Override - public ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex) { + public ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex, String meterId) { ListElectricLoadVO vo = new ListElectricLoadVO(); List<ListElectricLoadItem> itemList = new ArrayList<>(); vo.setItemList(itemList); @@ -56,7 +59,7 @@ detail.setRate(CommonConst.DOUBLE_MINUS_SIGN); vo.setDetail(detail); - MeterImplement meterImplement = meterImplementMapper.selectById(energyIndex.getMeterId()); + MeterImplement meterImplement = meterImplementMapper.selectById(meterId); if (ObjectUtil.isEmpty(meterImplement)) { return vo; @@ -124,6 +127,7 @@ List<TagValue> minList = new ArrayList<>(); List<TagValue> avgList = new ArrayList<>(); if (TimeTypeConst.TIME_TYPE_DAY.equals(timeType)) { + } else { String tempTimeCode = StringUtil.ifEmptyOrNullReturnValue(timeCode).replace(CommonConst.SINGLE_MINUS_SIGN, CommonConst.EMPTY); Date start = DateTimeUtil.toDateTime(tempTimeCode, DateTimeUtil.COMMON_PATTERN_MONTH); @@ -230,13 +234,13 @@ TagValue rt3 = realtimeDatabaseService.statistics(code, date, endTime, CollectionModes.max); TagValue rt4 = realtimeDatabaseService.statistics(code, date, endTime, CollectionModes.min); TagValue rt2 = realtimeDatabaseService.statistics(code, date, endTime, CollectionModes.mean); - if (ObjectUtils.isNotEmpty(rt2.getValue())) { + if (ObjectUtils.isNotEmpty(rt2)) { temp.setAvg(String.valueOf(DoubleUtil.formatDouble(rt2.getValue()))); } - if (ObjectUtils.isNotEmpty(rt3.getValue())) { + if (ObjectUtils.isNotEmpty(rt3)) { temp.setMax(String.valueOf(DoubleUtil.formatDouble(rt3.getValue()))); } - if (ObjectUtils.isNotEmpty(rt4.getValue())) { + if (ObjectUtils.isNotEmpty(rt4)) { temp.setMin(String.valueOf(DoubleUtil.formatDouble(rt4.getValue()))); } } @@ -255,4 +259,20 @@ } + /** + * 鑾峰彇鐢佃〃鍒楄〃 + */ + @Override + public List<ListElectricityMeterVO> listElectricMeter(String nodeId) { + List<MeterImplement> meterImplements = meterImplementMapper.selectByNodeId(nodeId); + meterImplements = meterImplements.stream().filter(x -> "electric".equals(x.getEnergyType())).collect(Collectors.toList()); + List<ListElectricityMeterVO> list = new ArrayList<>(); + for (MeterImplement meterImplement : meterImplements) { + ListElectricityMeterVO vo = new ListElectricityMeterVO(); + vo.setCode(meterImplement.getId()); + vo.setLabel(meterImplement.getMeterName()); + list.add(vo); + } + return list; + } } diff --git a/zhitan-system/src/main/java/com/zhitan/model/mapper/EnergyIndexMapper.java b/zhitan-system/src/main/java/com/zhitan/model/mapper/EnergyIndexMapper.java index 3c4928a..3c02acc 100644 --- a/zhitan-system/src/main/java/com/zhitan/model/mapper/EnergyIndexMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/model/mapper/EnergyIndexMapper.java @@ -99,5 +99,7 @@ Page<EnergyIndex> selectEnergyIndexPage(@Param("page")Page<?> page, @Param("query") EnergyIndexQuery energyIndexQuery); - List<EnergyIndex> getIndexByCode(@Param("code")String code, @Param("nodeId")String nodeId); + List<EnergyIndex> getIndexByCode(@Param("code")String code, @Param("nodeId")String nodeId); + + List<EnergyIndex> getIndexByMeterIdIndexCode(@Param("meterId") String meterId, @Param("indexCode") String indexCode, @Param("nodeId") String nodeId); } diff --git a/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java index aa5f76f..16d8a62 100644 --- a/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java @@ -345,10 +345,8 @@ * @return */ public List<EnergyIndex> listDeviceIndexByCode(String nodeId, String meterId, String indexCode) { - return energyIndexMapper.selectList(Wrappers.<EnergyIndex>lambdaQuery() - .eq(EnergyIndex::getNodeId, nodeId) - .eq(EnergyIndex::getMeterId, meterId) - .like(EnergyIndex::getCode, indexCode)); + List<EnergyIndex> energyIndexList = energyIndexMapper.getIndexByMeterIdIndexCode(meterId,indexCode,nodeId); + return energyIndexList; } /** diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/data/RealtimeDatabaseManager.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/data/RealtimeDatabaseManager.java deleted file mode 100644 index f3914ff..0000000 --- a/zhitan-system/src/main/java/com/zhitan/realtimedata/data/RealtimeDatabaseManager.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.zhitan.realtimedata.data; - -import com.influxdb.client.InfluxDBClient; -import com.influxdb.client.InfluxDBClientFactory; -import com.influxdb.client.domain.HealthCheck; -import com.zhitan.common.enums.CollectionModes; -import com.zhitan.common.enums.RetrievalModes; -import com.zhitan.realtimedata.config.RtdbConfig; -import com.zhitan.realtimedata.domain.TagValue; -import com.zhitan.realtimedata.service.RealtimeDatabase; -import org.apache.commons.lang3.StringUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.springframework.stereotype.Component; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Optional; - -/** - * @author 鑼冩柊瀵� 瀹炴椂鏁版嵁搴撹闂鐞�. - */ -@Component -public class RealtimeDatabaseManager { - - private final RealtimeDatabase connection; - - private final Logger logger = LogManager.getLogger(RealtimeDatabaseManager.class); - - public RealtimeDatabaseManager(RtdbConfig config) { - connection = new VirtualRtdb(); - try { - InfluxDBClient influxDBClient = InfluxDBClientFactory.create(config.getHost(), - config.getToken().toCharArray(), config.getOrg(), config.getBucket()); - - logger.error("--------------------瀹炴椂搴撹繛鎺ユ垚鍔�--------------------"); - HealthCheck health = influxDBClient.health(); - if (health.getStatus() == HealthCheck.StatusEnum.FAIL) { - influxDBClient.close(); - } - } catch (Exception e) { - logger.error(e); - } - } - - public TagValue retrieve(String tagCode) { - List<String> tagCodes = new ArrayList<>(); - tagCodes.add(tagCode); - List<TagValue> tagValues = retrieve(tagCodes); - if (!tagValues.isEmpty()) { - return tagValues.get(0); - } - - return null; - } - - public List<TagValue> retrieve(List<String> tagCodes) { - List<TagValue> tagValues = new ArrayList<>(); - try { - tagValues = connection.retrieve(tagCodes); - } catch (Exception e) { - logger.error(e); - } - - return tagValues; - } - - public TagValue retrieve(String tagCode, Date dataTime, String timeCode) { - List<String> tagCodes = new ArrayList<>(); - tagCodes.add(tagCode); - List<TagValue> tagValues = retrieve(tagCodes, dataTime, timeCode); - if (!tagValues.isEmpty()) { - return tagValues.get(0); - } - - return null; - } - - public List<TagValue> retrieve(List<String> tagCodes, Date dataTime, String timeCode) { - List<TagValue> tagValues = new ArrayList<>(); - try { - List<TagValue> tmp = connection.retrieve(tagCodes, dataTime, timeCode); - for (String tagCode : tagCodes) { - Optional<TagValue> tagValue = tmp.stream() - .filter(f -> StringUtils.equalsIgnoreCase(f.getTagCode(), tagCode)).findAny(); - TagValue value; - if (!tagValue.isPresent()) { - value = new TagValue(); - value.setTagCode(tagCode); - value.setDataTime(dataTime); - } else { - value = tagValue.get(); - } - - tagValues.add(value); - } - } catch (Exception e1) { - logger.error(e1); - } - - return tagValues; - } - - public List<TagValue> retrieve(String tagCode, Date beginTime, Date endTime, - RetrievalModes retrievalModes, int pointCount) { - List<String> tagCodes = new ArrayList<>(); - tagCodes.add(tagCode); - return retrieve(tagCodes, beginTime, endTime, retrievalModes, pointCount); - } - - public List<TagValue> retrieve(List<String> tagCodes, Date beginTime, Date endTime, - RetrievalModes retrievalModes, int pointCount) { - List<TagValue> tagValues = new ArrayList<>(); - try { - tagValues = connection.retrieve(tagCodes, beginTime, endTime, retrievalModes, pointCount); - } catch (Exception e1) { - logger.error(e1); - } - - return tagValues; - } - - public TagValue statistics(String tagCode, Date beginTime, Date endTime, - CollectionModes collectionModes) { - List<String> tagCodes = new ArrayList<>(); - tagCodes.add(tagCode); - List<TagValue> tagValues = statistics(tagCodes, beginTime, endTime, collectionModes); - if (!tagValues.isEmpty()) { - return tagValues.get(0); - } - - return null; - } - - public List<TagValue> statistics(List<String> tagCodes, Date beginTime, Date endTime, - CollectionModes collectionModes) { - List<TagValue> tagValues = new ArrayList<>(); - try { - tagValues = connection.statistics(tagCodes, beginTime, endTime, collectionModes); - } catch (Exception e1) { - logger.error(e1); - } - - return tagValues; - } - - public void storeData(List<TagValue> tagValues) { - try { - connection.storeData(tagValues); - } catch (Exception e1) { - logger.error(e1); - } - } - - public void insertData(List<TagValue> tagValues) { - try { - connection.insertData(tagValues); - } catch (Exception e1) { - logger.error(e1); - } - } -} diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java index e5127f0..08eac67 100644 --- a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java +++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java @@ -17,8 +17,8 @@ @ApiModelProperty(value = "鎸囨爣id") private String indexId; - @ApiModelProperty(value = "鎸囨爣搴搃d") - private String indexStorageId; + @ApiModelProperty(value = "鑳芥簮鍝佺") + private String energyType; @ApiModelProperty(value = "鎸囨爣code") private String indexCode; @ApiModelProperty(value = "鎸囨爣鍚嶇О") @@ -54,12 +54,12 @@ this.indexId = indexId; } - public String getIndexStorageId() { - return indexStorageId; + public String getEnergyType() { + return energyType; } - public void setIndexStorageId(String indexStorageId) { - this.indexStorageId = indexStorageId; + public void setEnergyType(String energyType) { + this.energyType = energyType; } public String getIndexCode() { diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java index 9e16113..796fa5f 100644 --- a/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java @@ -6,11 +6,12 @@ import com.zhitan.common.enums.CollectionModes; import com.zhitan.common.enums.GroupTimeType; import com.zhitan.common.enums.RetrievalModes; -import com.zhitan.realtimedata.data.RealtimeDatabaseManager; import com.zhitan.realtimedata.data.influxdb.InfluxDBRepository; import com.zhitan.realtimedata.domain.TagValue; import com.zhitan.realtimedata.service.RealtimeDatabaseService; import org.apache.commons.collections4.CollectionUtils; +import org.joda.time.DateTime; +import org.joda.time.Seconds; import org.springframework.stereotype.Service; import java.util.*; @@ -23,11 +24,10 @@ private final InfluxDBRepository repository; - private final RealtimeDatabaseManager realtimeDatabaseManager; - public RealtimeDatabaseServiceImpl(InfluxDBRepository repository, RealtimeDatabaseManager realtimeDatabaseManager) { + public RealtimeDatabaseServiceImpl(InfluxDBRepository repository + ) { this.repository = repository; - this.realtimeDatabaseManager = realtimeDatabaseManager; } /** @@ -115,7 +115,7 @@ @Override public TagValue statistics(String tagCode, Date beginTime, Date endTime, CollectionModes collectionModes) { List<TagValue> tagValues = repository.statistics(Collections.singletonList(tagCode), beginTime, endTime, collectionModes); - return CollectionUtils.isEmpty(tagValues) ? tagValues.get(0) : null; + return CollectionUtils.isNotEmpty(tagValues) ? tagValues.get(0) : null; } /** @@ -169,6 +169,15 @@ @Override public List<TagValue> retrieve(String tagCode, Date beginTime, Date endTime, RetrievalModes retrievalModes, int pointCount) { - return realtimeDatabaseManager.retrieve(tagCode, beginTime, endTime, retrievalModes, pointCount); + repository.getHistoryData(Collections.singletonList(tagCode), beginTime, endTime, pointCount); + pointCount = retrievalModes == RetrievalModes.Full ? 200 : pointCount; + int span = + Seconds.secondsBetween(new DateTime(beginTime), new DateTime(endTime)).getSeconds(); + int interval = span / pointCount; + List<String> tagCodes = new ArrayList<>(); + tagCodes.add(tagCode); + List<TagValue> historyData = repository.getHistoryData(tagCodes, beginTime, endTime, interval); + return historyData; +// return realtimeDatabaseManager.retrieve(tagCode, beginTime, endTime, retrievalModes, pointCount); } } diff --git a/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml b/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml index 9635b86..da977d8 100644 --- a/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml +++ b/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zhitan.basicdata.mapper.MeterImplementMapper"> - <resultMap type="MeterImplement" id="MeterImplementResult"> + <resultMap type="com.zhitan.basicdata.domain.MeterImplement" id="MeterImplementResult"> <result property="id" column="id" /> <result property="code" column="code" /> <result property="meterName" column="meter_name" /> @@ -31,7 +31,7 @@ <result property="gatewayId" column="gateway_id" /> <result property="gatewayName" column="gateway_name" /> </resultMap> - <resultMap type="MeterImplementExcel" id="MeterImplementResultExcel"> + <resultMap type="com.zhitan.basicdata.domain.MeterImplementExcel" id="MeterImplementResultExcel"> <result property="id" column="id" /> <result property="code" column="code" /> <result property="meterName" column="meter_name" /> @@ -59,7 +59,7 @@ select id,energy_type, code, meter_name, meter_type, model_number, measure_range, manufacturer, person_charge, installaction_location, start_time, check_cycle, reminder_cycle, meter_status, del_flage, remark, putrun_time,create_time, create_by, update_time, update_by,(start_time+check_cycle-reminder_cycle)<=current_date as txflage,wire_diameter,max_allowable_power,gateway_id,gateway_name from meter_implement </sql> - <select id="selectMeterImplementList" parameterType="MeterImplement" resultMap="MeterImplementResult"> + <select id="selectMeterImplementList" parameterType="com.zhitan.basicdata.domain.MeterImplement" resultMap="MeterImplementResult"> <include refid="selectMeterImplementVo"/> <where> del_flage='N' @@ -73,7 +73,7 @@ order by code </select> - <select id="exectMeterImplementList" parameterType="MeterImplement" resultMap="MeterImplementResultExcel"> + <select id="exectMeterImplementList" parameterType="com.zhitan.basicdata.domain.MeterImplement" resultMap="MeterImplementResultExcel"> select id,energy_type, code, meter_name, fun_getDiceData('sys_device_type',meter_status) as meter_type, model_number, measure_range, manufacturer, person_charge, installaction_location, to_char(start_time,'YYYY-MM-DD') start_time, check_cycle, reminder_cycle, fun_getDiceData('meter_status',meter_status) as meter_status, del_flage, remark, create_time, create_by, update_time, update_by,wire_diameter,max_allowable_power,gateway_name @@ -95,7 +95,7 @@ where id = #{id} </select> - <select id="selectMeterImplementByCode" parameterType="MeterImplement" resultMap="MeterImplementResult"> + <select id="selectMeterImplementByCode" parameterType="com.zhitan.basicdata.domain.MeterImplement" resultMap="MeterImplementResult"> <include refid="selectMeterImplementVo"/> where code = #{code} <if test="id != null and id != ''"> and id != #{id} or id is null</if> @@ -133,8 +133,16 @@ installaction_location = #{installactionLocation} </where> </select> + <select id="selectByNodeId" resultType="com.zhitan.basicdata.domain.MeterImplement"> + <include refid="selectMeterImplementVo"/> + mi + left join node_device nd on mi.id = nd.device_id + where + mi.del_flage = 'N' + AND nd.node_id = #{nodeId} + </select> - <insert id="insertMeterImplement" parameterType="MeterImplement"> + <insert id="insertMeterImplement" parameterType="com.zhitan.basicdata.domain.MeterImplement"> insert into meter_implement <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null and id != ''">id,</if> @@ -192,7 +200,7 @@ </trim> </insert> - <update id="updateMeterImplement" parameterType="MeterImplement"> + <update id="updateMeterImplement" parameterType="com.zhitan.basicdata.domain.MeterImplement"> update meter_implement <trim prefix="SET" suffixOverrides=","> <if test="code != null and code != ''">code = #{code},</if> diff --git a/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml b/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml index 3ea43ac..78d0144 100644 --- a/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml +++ b/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml @@ -391,4 +391,21 @@ </if> </where> </select> + <select id="getIndexByMeterIdIndexCode" resultType="com.zhitan.model.domain.EnergyIndex"> + SELECT ei.code,mi.meter_name||'_'||ei.name as name from energy_index ei + LEFT JOIN node_device nd on ei.meter_id = nd.device_id + LEFT JOIN meter_implement mi on mi."id" = nd.device_id + <where> + <if test="nodeId != null and nodeId != ''">and nd.node_id = #{nodeId}</if> + <if test="indexCode != null and indexCode != ''"> + and (mi.meter_name like concat('%', #{indexCode}, '%') + or ei.code like concat('%', #{indexCode}, '%') + or ei.name like concat('%', #{indexCode}, '%') + ) + </if> + <if test="meterId != null and meterId != ''"> + and ei.meter_id = #{meterId} + </if> + </where> + </select> </mapper> -- Gitblit v1.9.3