diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataArrayMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataArrayMapper.xml
index 60157fb..75bd49b 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataArrayMapper.xml
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataArrayMapper.xml
@@ -23,6 +23,7 @@
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java
index e96ab5a..21c649b 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java
@@ -39,10 +39,10 @@ public class CsDataArrayServiceImpl extends ServiceImpl{
List list2 = new ArrayList<>();
DataArrayTreeVO vo1 = new DataArrayTreeVO();
- vo1.setId("0");
vo1.setName(k);
vo1.setShowName(k);
v.forEach(item->{
+ vo1.setId(item.getDataSetId());
DataArrayTreeVO vo2 = new DataArrayTreeVO();
List list3 = new ArrayList<>();
vo2.setId("1");
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/ZuTaiDTO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/ZuTaiDTO.java
new file mode 100644
index 0000000..89588a2
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/ZuTaiDTO.java
@@ -0,0 +1,65 @@
+package com.njcn.csharmonic.pojo.dto;
+
+import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 类的介绍:
+ *
+ * @author xuyang
+ * @version 1.0.0
+ * @createTime 2023/6/14 20:07
+ */
+@Data
+public class ZuTaiDTO {
+
+ @SerializedName("id")
+ private String id;
+
+ @SerializedName("title")
+ private String title;
+
+ @SerializedName("type")
+ private String type;
+
+ @SerializedName("display")
+ private Boolean display;
+
+ @SerializedName("typeName")
+ private String typeName;
+
+ @SerializedName("svgColor")
+ private String svgColor;
+
+ @SerializedName("svgPositionX")
+ private Integer svgPositionX;
+
+ @SerializedName("svgPositionY")
+ private Integer svgPositionY;
+
+ @SerializedName("echartsOption")
+ private String echartsOption;
+
+ @SerializedName("list")
+ private String list;
+
+ @SerializedName("tableHeader")
+ private String tableHeader;
+
+ @SerializedName("size")
+ private Integer size;
+
+ @SerializedName("angle")
+ private Integer angle;
+
+ @SerializedName("lineId")
+ private String lineId;
+
+ @SerializedName("UID")
+ private List uId;
+
+ @SerializedName("UName")
+ private String target;
+}
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/LineTargetController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/LineTargetController.java
index 6e1d419..d0bc89b 100644
--- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/LineTargetController.java
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/LineTargetController.java
@@ -7,6 +7,7 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.pojo.vo.DataArrayTreeVO;
import com.njcn.csharmonic.service.ILineTargetService;
+import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java
index cae6a73..1fcd8b4 100644
--- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java
@@ -1,10 +1,14 @@
package com.njcn.csharmonic.service.impl;
+import com.alibaba.nacos.shaded.com.google.gson.Gson;
+import com.google.common.reflect.TypeToken;
import com.njcn.csdevice.api.*;
+import com.njcn.csdevice.pojo.po.CsDataArray;
import com.njcn.csdevice.pojo.po.CsDevModelPO;
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.service.CsPagePOService;
import com.njcn.csharmonic.service.ILineTargetService;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
@@ -14,9 +18,12 @@ import com.njcn.system.api.EpdFeignClient;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+import java.io.BufferedReader;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -73,10 +80,35 @@ public class LineTargetServiceImpl implements ILineTargetService {
List result = new ArrayList<>();
String path = csPagePOService.queryById(id).getPath();
InputStream inputStream = fileStorageUtil.getFileStream(path);
-
+ List 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];
+ CsDataArray dataArray = dataArrayFeignClient.getDataArrayById(item.getUId().get(0),targetTag).getData().get(0);
+ String targetName = dataArray.getAnotherName();
+ String dataId = dataArray.getDataId();
+ String classId = epdFeignClient.selectById(dataId).getData().getClassId();
+ result.add(getLineRtData(lineId,classId,targetTag,phasic,dataType,targetName));
+ }
+ });
return result;
}
+ /**
+ * 解析json文件
+ */
+ public List analysisJson(InputStream inputStream) {
+ Gson gson = new Gson();
+ String text = new BufferedReader(
+ new InputStreamReader(inputStream, StandardCharsets.UTF_8))
+ .lines()
+ .collect(Collectors.joining("\n"));
+ return gson.fromJson(text, new TypeToken>(){}.getType());
+ }
+
/**
* 通过orm框架获取数据
* @param lineId 监测点Id
@@ -99,6 +131,7 @@ public class LineTargetServiceImpl implements ILineTargetService {
statisticalDataDTO.setValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue());
}
statisticalDataDTO.setStatisticalName(target);
+ statisticalDataDTO.setTarget(columnName + "$" + phasic + "$" + dataType);
return statisticalDataDTO;
}
}