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