代码调整
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
package com.njcn.echarts.util;
|
||||
|
||||
import com.njcn.echarts.pojo.bo.TolerateData;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 业务数据处理方法
|
||||
*
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2023年06月21日 11:04
|
||||
*/
|
||||
public class BusinessDataUtil {
|
||||
|
||||
|
||||
/***
|
||||
* 处理itic数据
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:05
|
||||
*/
|
||||
public static TolerateData dealIticData(List<List<Double>> originData) {
|
||||
List<List<Double>> tolerateData = new ArrayList<>();
|
||||
List<List<Double>> unTolerateData = new ArrayList<>();
|
||||
for (List<Double> list : originData) {
|
||||
//是否超过上限
|
||||
if (list.get(0) <= 0.03) {
|
||||
int line = 230 - 30000 * list.get(0).intValue();
|
||||
if (list.get(1) > line) {
|
||||
unTolerateData.add(list);
|
||||
} else {
|
||||
tolerateData.add(list);
|
||||
}
|
||||
} else if (list.get(0) <= 0.02) {
|
||||
if (list.get(1) > 120) {
|
||||
unTolerateData.add(list);
|
||||
} else {
|
||||
tolerateData.add(list);
|
||||
}
|
||||
} else if (list.get(0) <= 0.5) {
|
||||
if (list.get(1) > 120 || list.get(1) < 70) {
|
||||
unTolerateData.add(list);
|
||||
} else {
|
||||
tolerateData.add(list);
|
||||
}
|
||||
} else if (list.get(0) <= 10) {
|
||||
if (list.get(1) > 110 || list.get(1) < 80) {
|
||||
unTolerateData.add(list);
|
||||
} else {
|
||||
tolerateData.add(list);
|
||||
}
|
||||
} else {
|
||||
if (list.get(1) > 110 || list.get(1) < 90) {
|
||||
unTolerateData.add(list);
|
||||
} else {
|
||||
tolerateData.add(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new TolerateData(tolerateData, unTolerateData);
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* 处理F47数据
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:05
|
||||
*/
|
||||
public static TolerateData dealF47Data(List<List<Double>> originData) {
|
||||
List<List<Double>> tolerateData = new ArrayList<>();
|
||||
List<List<Double>> unTolerateData = new ArrayList<>();
|
||||
for (int i = 0; i < originData.size(); i++) {
|
||||
List<Double> list = originData.get(i);
|
||||
//是否超过上限
|
||||
if (list.get(0) < 0.05) {
|
||||
tolerateData.add(list);
|
||||
} else if (list.get(0) < 0.2) {
|
||||
if (list.get(1) > 50) {
|
||||
tolerateData.add(list);
|
||||
} else {
|
||||
unTolerateData.add(list);
|
||||
}
|
||||
} else if (list.get(0) < 0.5) {
|
||||
if (list.get(1) > 70) {
|
||||
tolerateData.add(list);
|
||||
} else {
|
||||
unTolerateData.add(list);
|
||||
}
|
||||
} else if (list.get(0) < 10) {
|
||||
if (list.get(1) > 80) {
|
||||
tolerateData.add(list);
|
||||
} else {
|
||||
unTolerateData.add(list);
|
||||
}
|
||||
} else {
|
||||
if (list.get(1) > 90) {
|
||||
tolerateData.add(list);
|
||||
} else {
|
||||
unTolerateData.add(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new TolerateData(tolerateData, unTolerateData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.njcn.echarts.util;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.echarts.pojo.enums.EchartResponseEnum;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.njcn.echarts.json.LineGenerator;
|
||||
import com.njcn.web.utils.RestTemplateUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.RequestEntity;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
@@ -22,25 +21,104 @@ import java.util.Objects;
|
||||
@RequiredArgsConstructor
|
||||
public class DrawPicUtil {
|
||||
|
||||
private final RestTemplate restTemplate;
|
||||
//目前写死,后续作为配置
|
||||
private final String URL = "http://192.168.1.18:5174/picture";
|
||||
|
||||
|
||||
/**
|
||||
* 请求目标服务器绘制echart图
|
||||
* @param url 目标url,例:http://192.168.1.13:8910?opt={1}&width={2}&height={3}
|
||||
*
|
||||
* @param option 图形参数
|
||||
* @return 图形的base64数据
|
||||
*/
|
||||
private String drawPic(String option) {
|
||||
return drawPic(option, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 请求目标服务器绘制echart图
|
||||
*
|
||||
* @param option 图形参数
|
||||
* @param width 图形宽度
|
||||
* @param height 图形高度
|
||||
* @return 图形的base64数据
|
||||
*/
|
||||
public String drawPic(String url,String option,int width,int height){
|
||||
ResponseEntity<HttpResult> result = restTemplate.getForEntity(url, HttpResult.class, option, width, height);
|
||||
if(result.getStatusCodeValue() != HttpStatus.HTTP_OK || Objects.isNull(Objects.requireNonNull(result.getBody()).getData())){
|
||||
throw new BusinessException(EchartResponseEnum.ECHART_COMMON_ERROR);
|
||||
}
|
||||
return result.getBody().getData().toString();
|
||||
private String drawPic(String option, int width, int height) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.set("width", width == 0 ? 925 : width);
|
||||
jsonObject.set("height", height == 0 ? 300 : width);
|
||||
jsonObject.set("option", JSONUtil.parseObj(option));
|
||||
ResponseEntity<String> picResult = RestTemplateUtil.post(URL, jsonObject, String.class);
|
||||
return Objects.requireNonNull(picResult.getBody()).indexOf("image/png") > 0 ? picResult.getBody() : "";
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* 绘制itic曲线图
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:01
|
||||
* @return String base64数据
|
||||
* @param originData 原始数据
|
||||
*/
|
||||
public String drawItic(List<List<Double>> originData) {
|
||||
return drawItic(originData, 0, 0);
|
||||
}
|
||||
|
||||
/***
|
||||
* 绘制itic曲线图
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:01
|
||||
* @return String base64数据
|
||||
* @param originData 原始数据
|
||||
*/
|
||||
public String drawItic(List<List<Double>> originData, int width, int height) {
|
||||
String iticJson = LineGenerator.generateIticOption(BusinessDataUtil.dealIticData(originData));
|
||||
return drawPic(iticJson, width, height);
|
||||
}
|
||||
|
||||
/***
|
||||
* 绘制f47曲线图
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:01
|
||||
* @return String base64数据
|
||||
* @param originData 原始数据
|
||||
*/
|
||||
public String drawF47(List<List<Double>> originData) {
|
||||
return drawF47(originData, 0, 0);
|
||||
}
|
||||
|
||||
/***
|
||||
* 绘制f47曲线图
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:01
|
||||
* @return String base64数据
|
||||
* @param originData 原始数据
|
||||
*/
|
||||
public String drawF47(List<List<Double>> originData, int width, int height) {
|
||||
String f47Json = LineGenerator.generateF47Option(BusinessDataUtil.dealF47Data(originData));
|
||||
return drawPic(f47Json, width, height);
|
||||
}
|
||||
|
||||
/***
|
||||
* 绘制概率分布图
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:01
|
||||
* @return String base64数据
|
||||
*/
|
||||
public String drawEventAmplitude(List<String> ylinedata, List<String> ybardata) {
|
||||
return drawEventAmplitude(ylinedata, ybardata, 0, 0);
|
||||
}
|
||||
|
||||
/***
|
||||
* 绘制概率分布图
|
||||
* @author hongawen
|
||||
* @date 2023/6/21 11:01
|
||||
* @return String base64数据
|
||||
*/
|
||||
public String drawEventAmplitude(List<String> ylinedata, List<String> ybardata, int width, int height) {
|
||||
String eventAmplitudeJson = LineGenerator.generateEventAmplitudeOption(ylinedata, ybardata);
|
||||
return drawPic(eventAmplitudeJson, width, height);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user