This commit is contained in:
2023-06-25 15:30:07 +08:00
parent fc6299c6de
commit 75f5e8b464
15 changed files with 100 additions and 59 deletions

View File

@@ -5,6 +5,7 @@ import com.github.tocrhz.mqtt.annotation.MqttSubscribe;
import com.github.tocrhz.mqtt.annotation.NamedValue;
import com.github.tocrhz.mqtt.annotation.Payload;
import com.github.tocrhz.mqtt.publisher.MqttPublisher;
import com.njcn.csharmonic.pojo.vo.CsRtDataVO;
import com.njcn.csharmonic.service.ILineTargetService;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import lombok.AllArgsConstructor;
@@ -33,7 +34,7 @@ public class MqttMessageHandler {
*/
@MqttSubscribe(value = "/zl/askRtData/{pageId}",qos = 1)
public void responseRtData(String topic, @NamedValue("pageId") String pageId, MqttMessage message, @Payload String payload) {
List<StatisticalDataDTO> list = lineTargetService.getLineData(pageId);
List<CsRtDataVO> list = lineTargetService.getLineData(pageId);
Gson gson = new Gson();
publisher.send("/zl/rtData/"+pageId,gson.toJson(list),1,false);
}

View File

@@ -1,6 +1,7 @@
package com.njcn.csharmonic.service;
import com.njcn.csdevice.pojo.vo.DataArrayTreeVO;
import com.njcn.csharmonic.pojo.vo.CsRtDataVO;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import java.util.List;
@@ -21,6 +22,6 @@ public interface ILineTargetService {
* 获取绑定指标的数据
* @param id
*/
List<StatisticalDataDTO> getLineData(String id);
List<CsRtDataVO> getLineData(String id);
}

View File

@@ -9,6 +9,7 @@ import com.njcn.csdevice.pojo.po.CsDevModelRelationPO;
import com.njcn.csdevice.pojo.vo.DataArrayTreeVO;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
import com.njcn.csharmonic.pojo.dto.ZuTaiDTO;
import com.njcn.csharmonic.pojo.vo.CsRtDataVO;
import com.njcn.csharmonic.service.CsPagePOService;
import com.njcn.csharmonic.service.ILineTargetService;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
@@ -16,6 +17,7 @@ import com.njcn.influx.service.CommonService;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.system.api.EpdFeignClient;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.io.BufferedReader;
@@ -76,14 +78,13 @@ public class LineTargetServiceImpl implements ILineTargetService {
}
@Override
public List<StatisticalDataDTO> getLineData(String id) {
List<StatisticalDataDTO> result = new ArrayList<>();
public List<CsRtDataVO> getLineData(String id) {
List<CsRtDataVO> result = new ArrayList<>();
String path = csPagePOService.queryById(id).getPath();
InputStream inputStream = fileStorageUtil.getFileStream(path);
List<ZuTaiDTO> list = analysisJson(inputStream);
list.forEach(item->{
if (!Objects.isNull(item.getTarget())){
String lineId = item.getLineId();
String targetTag = item.getTarget().split("\\$")[0];
String phasic = item.getTarget().split("\\$")[1];
String dataType = item.getTarget().split("\\$")[2];
@@ -91,7 +92,7 @@ public class LineTargetServiceImpl implements ILineTargetService {
String targetName = dataArray.getAnotherName();
String dataId = dataArray.getDataId();
String classId = epdFeignClient.selectById(dataId).getData().getClassId();
result.add(getLineRtData(lineId,classId,targetTag,phasic,dataType,targetName));
result.add(getLineRtData(item.getId(),item.getLineId(),classId,targetTag,phasic,dataType,targetName));
}
});
return result;
@@ -111,6 +112,7 @@ public class LineTargetServiceImpl implements ILineTargetService {
/**
* 通过orm框架获取数据
* @param id 图元Id
* @param lineId 监测点Id
* @param tableName 表名称
* @param columnName 字段名称
@@ -119,7 +121,8 @@ public class LineTargetServiceImpl implements ILineTargetService {
* @param target 数据名称
* @return
*/
public StatisticalDataDTO getLineRtData(String lineId, String tableName, String columnName, String phasic, String dataType, String target) {
public CsRtDataVO getLineRtData(String id,String lineId, String tableName, String columnName, String phasic, String dataType, String target) {
CsRtDataVO csRtDataVO = new CsRtDataVO();
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,tableName,columnName,phasic,dataType);
if(Objects.isNull(statisticalDataDTO)){
statisticalDataDTO = new StatisticalDataDTO();
@@ -132,6 +135,8 @@ public class LineTargetServiceImpl implements ILineTargetService {
}
statisticalDataDTO.setStatisticalName(target);
statisticalDataDTO.setTarget(columnName + "$" + phasic + "$" + dataType);
return statisticalDataDTO;
BeanUtils.copyProperties(statisticalDataDTO,csRtDataVO);
csRtDataVO.setId(id);
return csRtDataVO;
}
}