1.infludb公共参数名调整
2.微服务调度中心任务-终端在线率
This commit is contained in:
@@ -2,12 +2,10 @@ package com.njcn.harmonic.service.impl;
|
||||
|
||||
import com.njcn.device.api.LineFeignClient;
|
||||
import com.njcn.device.pojo.vo.CommunicateVO;
|
||||
import com.njcn.harmonic.constant.Param;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeParam;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.CommunicateStatisticsVO;
|
||||
import com.njcn.harmonic.service.CommunicateService;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
@@ -19,6 +17,8 @@ import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.njcn.influxdb.param.InfluxDBPublicParam.*;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @date 2022/2/28
|
||||
@@ -64,17 +64,17 @@ public class CommunicateServiceImpl implements CommunicateService {
|
||||
final Float[] resultList = {0.0f};
|
||||
//组装sql语句
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append(InfluxDBPublicParam.START_TIME).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append(InfluxDBPublicParam.END_TIME).append("' and (");
|
||||
stringBuilder.append(TIME + " >= '").append(startTime).append(START_TIME).append("' and ").append(TIME).append(" <= '").append(endTime).append(END_TIME).append("' and (");
|
||||
//sql语句
|
||||
String sql = "";
|
||||
if (state == 0) {
|
||||
stringBuilder.append(InfluxDBPublicParam.LINE_ID + "='").append(lineList).append("')");
|
||||
sql = "SELECT SUM(" + InfluxDBPublicParam.REAL+ ")/SUM(" + InfluxDBPublicParam.DUE + ") AS integrity FROM pqs_integrity WHERE " + stringBuilder.toString() + " group by " + InfluxDBPublicParam.LINE_ID;
|
||||
stringBuilder.append(LINE_ID + "='").append(lineList).append("')");
|
||||
sql = "SELECT SUM(" + REAL+ ")/SUM(" + DUE + ") AS integrity FROM pqs_integrity WHERE " + stringBuilder.toString() + " group by " + LINE_ID;
|
||||
} else {
|
||||
stringBuilder.append(InfluxDBPublicParam.DEV_INDEX + "='").append(lineList).append("')");
|
||||
sql = "SELECT SUM(" + InfluxDBPublicParam.ONLINEMIN + ")/(SUM(" + InfluxDBPublicParam.OFFLINEMIN + ")+SUM(" + InfluxDBPublicParam.ONLINEMIN + ")) AS onlineRate FROM pqs_onlinerate WHERE " + stringBuilder.toString() + " group by " + InfluxDBPublicParam.DEV_INDEX;
|
||||
stringBuilder.append(DEV_INDEX + "='").append(lineList).append("')");
|
||||
sql = "SELECT SUM(" + ONLINE_MIN + ")/(SUM(" + OFFLINE_MIN + ")+SUM(" + ONLINE_MIN + ")) AS onlineRate FROM pqs_onlinerate WHERE " + stringBuilder.toString() + " group by " + DEV_INDEX;
|
||||
}
|
||||
stringBuilder.append(InfluxDBPublicParam.TIME_ZONE);
|
||||
stringBuilder.append(TIME_ZONE);
|
||||
//结果集
|
||||
QueryResult result = influxDbUtils.query(sql);
|
||||
//处理结果集
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.njcn.harmonic.pojo.dto.PublicDTO;
|
||||
import com.njcn.harmonic.pojo.vo.OnlineRateCensusVO;
|
||||
import com.njcn.harmonic.pojo.vo.OnlineRateVO;
|
||||
import com.njcn.harmonic.service.OnlineRateDataService;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
@@ -23,6 +22,8 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.njcn.influxdb.param.InfluxDBPublicParam.*;
|
||||
|
||||
/**
|
||||
* 类的介绍:
|
||||
*
|
||||
@@ -145,16 +146,16 @@ public class OnlineRateDataServiceImpl implements OnlineRateDataService {
|
||||
List<PublicDTO> publicDTOList = new ArrayList<>();
|
||||
//组装sql语句
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append(InfluxDBPublicParam.START_TIME).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append(InfluxDBPublicParam.END_TIME).append("' and (");
|
||||
stringBuilder.append(TIME + " >= '").append(startTime).append(START_TIME).append("' and ").append(TIME).append(" <= '").append(endTime).append(END_TIME).append("' and (");
|
||||
for (int i = 0; i < deviceIndexes.size(); i++) {
|
||||
if (deviceIndexes.size() - i != 1) {
|
||||
stringBuilder.append(InfluxDBPublicParam.DEV_INDEX + "='").append(deviceIndexes.get(i)).append("' or ");
|
||||
stringBuilder.append(DEV_INDEX + "='").append(deviceIndexes.get(i)).append("' or ");
|
||||
} else {
|
||||
stringBuilder.append(InfluxDBPublicParam.DEV_INDEX + "='").append(deviceIndexes.get(i)).append("')");
|
||||
stringBuilder.append(DEV_INDEX + "='").append(deviceIndexes.get(i)).append("')");
|
||||
}
|
||||
}
|
||||
//sql语句
|
||||
String sql = "SELECT (SUM(" + InfluxDBPublicParam.ONLINEMIN + ")/(SUM(" + InfluxDBPublicParam.OFFLINEMIN + ")+SUM(" + InfluxDBPublicParam.ONLINEMIN + ")))*100 AS onlineRate FROM "+InfluxDBPublicParam.PQS_ONLINERATE+" WHERE " + stringBuilder + " group by " + InfluxDBPublicParam.DEV_INDEX +" tz('Asia/Shanghai')";
|
||||
String sql = "SELECT (SUM(" + ONLINE_MIN + ")/(SUM(" + OFFLINE_MIN + ")+SUM(" + ONLINE_MIN + ")))*100 AS onlineRate FROM "+PQS_ONLINERATE+" WHERE " + stringBuilder + " group by " + DEV_INDEX +" tz('Asia/Shanghai')";
|
||||
//结果集
|
||||
QueryResult result = influxDbUtils.query(sql);
|
||||
//处理结果集
|
||||
@@ -163,7 +164,7 @@ public class OnlineRateDataServiceImpl implements OnlineRateDataService {
|
||||
list.forEach(po -> {
|
||||
PublicDTO publicDTO = new PublicDTO();
|
||||
List<List<Object>> valueList = po.getValues();
|
||||
String index = po.getTags().get(InfluxDBPublicParam.DEV_INDEX);
|
||||
String index = po.getTags().get(DEV_INDEX);
|
||||
if (!CollectionUtils.isEmpty(valueList)) {
|
||||
for (List<Object> value : valueList) {
|
||||
//终端在线率 保留两位小数
|
||||
|
||||
@@ -22,6 +22,8 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.njcn.influxdb.param.InfluxDBPublicParam.*;
|
||||
|
||||
/**
|
||||
* @author: chenchao
|
||||
* @date: 2022/03/02 19:25
|
||||
@@ -216,7 +218,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
}
|
||||
}
|
||||
//sql语句
|
||||
String sql = "SELECT (SUM(" + InfluxDBPublicParam.ONLINEMIN + ")/(SUM(" + InfluxDBPublicParam.OFFLINEMIN + ")+SUM(" + InfluxDBPublicParam.ONLINEMIN + ")))*100 AS onlineRate FROM "+InfluxDBPublicParam.PQS_ONLINERATE+" WHERE " + stringBuilder + " group by " + InfluxDBPublicParam.DEV_INDEX + InfluxDBPublicParam.TIME_ZONE;
|
||||
String sql = "SELECT (SUM(" + InfluxDBPublicParam.ONLINE_MIN + ")/(SUM(" + InfluxDBPublicParam.OFFLINE_MIN + ")+SUM(" + InfluxDBPublicParam.ONLINE_MIN + ")))*100 AS onlineRate FROM "+InfluxDBPublicParam.PQS_ONLINERATE+" WHERE " + stringBuilder + " group by " + InfluxDBPublicParam.DEV_INDEX + InfluxDBPublicParam.TIME_ZONE;
|
||||
//结果集
|
||||
QueryResult result = influxDbUtils.query(sql);
|
||||
//处理结果集
|
||||
|
||||
Reference in New Issue
Block a user