修改终端在线率
This commit is contained in:
@@ -79,6 +79,8 @@ public enum CommonResponseEnum {
|
||||
DELETE_PID_EXIST("A0094", "存在子节点"),
|
||||
|
||||
DELETE_PID_UNEXIST("A0095", "不存在子节点"),
|
||||
|
||||
FILE_EXIST("A0096", "文件已存在"),
|
||||
;
|
||||
|
||||
private final String code;
|
||||
|
||||
@@ -214,6 +214,11 @@ public interface InfluxDBPublicParam {
|
||||
*/
|
||||
String PQS_COMASSES = "pqs_comasses";
|
||||
|
||||
/**
|
||||
* 终端运维日志表
|
||||
*/
|
||||
String PQS_TERMINAL_LOGS = "pqs_terminal_logs";
|
||||
|
||||
/**
|
||||
* 监测点状态信息表
|
||||
*/
|
||||
|
||||
@@ -17,7 +17,7 @@ import javax.validation.constraints.Pattern;
|
||||
@Data
|
||||
public class AlarmStrategyParam {
|
||||
|
||||
@ApiModelProperty(value = "告警策略Id", required = true)
|
||||
@ApiModelProperty(value = "告警策略Id 关联字典表id", required = true)
|
||||
@NotBlank(message = DeviceValidMessage.ID_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
|
||||
private String id;
|
||||
|
||||
@@ -75,7 +75,7 @@ public class ProgramVersionController extends BaseController {
|
||||
String methodDescribe = getMethodDescribe("getProgramVersionById");
|
||||
boolean res = programService.getProgramVersionById(id);
|
||||
if (res) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FILE_EXIST, null, methodDescribe);
|
||||
} else {
|
||||
throw new BusinessException(CommonResponseEnum.NO_DATA);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.njcn.device.pojo.vo.EventLogVO;
|
||||
import com.njcn.device.service.LogManageService;
|
||||
import com.njcn.event.api.EventDetailFeignClient;
|
||||
import com.njcn.event.pojo.po.EventDetail;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
@@ -151,12 +152,12 @@ public class LogManageServiceImpl implements LogManageService {
|
||||
List<TerminalLogs> terminalLogs;
|
||||
//组装sql语句
|
||||
StringBuilder string = new StringBuilder();
|
||||
string.append(DeviceValidMessage.TIME + " >= '" + startTime + DeviceValidMessage.START_TIME + "' and " + DeviceValidMessage.TIME + " <= '" + endTime + DeviceValidMessage.END_TIME + "'");
|
||||
string.append(InfluxDBPublicParam.TIME + " >= '" + startTime + InfluxDBPublicParam.START_TIME + "' and " + InfluxDBPublicParam.TIME + " <= '" + endTime + InfluxDBPublicParam.END_TIME + "'");
|
||||
if (!type.isEmpty()) {
|
||||
string.append(" and terminal_type = '" + type +"'").append(" tz('Asia/Shanghai')");
|
||||
string.append(" and terminal_type = '" + type +"'");
|
||||
}
|
||||
//sql语句
|
||||
String sql = "SELECT * FROM pqs_terminal_logs WHERE " + string;
|
||||
String sql = "SELECT * FROM "+InfluxDBPublicParam.PQS_TERMINAL_LOGS+" WHERE " + string + InfluxDBPublicParam.TIME_ZONE;
|
||||
System.out.println("sql==========="+sql);
|
||||
//结果集
|
||||
QueryResult results = influxDbUtils.query(sql);
|
||||
@@ -179,10 +180,10 @@ public class LogManageServiceImpl implements LogManageService {
|
||||
StringBuilder string = new StringBuilder();
|
||||
string.append(DeviceValidMessage.TIME + " >= '" + startTime + DeviceValidMessage.START_TIME + "' and " + DeviceValidMessage.TIME + " <= '" + endTime + DeviceValidMessage.END_TIME + "'");
|
||||
if (result==1 || result==2) {
|
||||
string.append(" and result=" + result).append(" tz('Asia/Shanghai')");
|
||||
string.append(" and result=" + result);
|
||||
}
|
||||
//sql语句
|
||||
String sql = "SELECT * FROM pqs_event_push_logs WHERE " + string;
|
||||
String sql = "SELECT * FROM pqs_event_push_logs WHERE " + string +InfluxDBPublicParam.TIME_ZONE;
|
||||
System.out.println("sql==========="+sql);
|
||||
//结果集
|
||||
QueryResult results = influxDbUtils.query(sql);
|
||||
|
||||
@@ -4,12 +4,12 @@ import com.njcn.common.config.GeneralInfo;
|
||||
import com.njcn.device.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.harmonic.constant.Param;
|
||||
import com.njcn.harmonic.mapper.TerminalDataMapper;
|
||||
import com.njcn.harmonic.pojo.dto.PublicDTO;
|
||||
import com.njcn.harmonic.pojo.vo.TerminalCensusVO;
|
||||
import com.njcn.harmonic.pojo.vo.TerminalVO;
|
||||
import com.njcn.harmonic.service.TerminalService;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
@@ -160,16 +160,6 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
List<TerminalVO> substationList = terminalDataMapper.getLineInfoByList(deviceList.stream().map(TerminalVO::getPid).distinct().collect(Collectors.toList()));
|
||||
//供电公司集合
|
||||
List<TerminalVO> powerCompanyList = terminalDataMapper.getLineInfoByList(substationList.stream().map(TerminalVO::getPid).distinct().collect(Collectors.toList()));
|
||||
// //区域集合
|
||||
// List<TerminalVO> areaList = terminalDataMapper.getLineInfoByList(powerCompanyList.stream().map(TerminalVO::getPid).distinct().collect(Collectors.toList()));
|
||||
// //区域详情,用来替换区域名称
|
||||
// List<Area> area = areaFeignClient.areaNameByList(areaList.stream().map(TerminalVO::getName).collect(Collectors.toList())).getData();
|
||||
// //组装区域名称
|
||||
// areaList.stream().map(list1 -> area.stream().filter(list2 -> Objects.equals(list1.getName(), list2.getId())).findAny().map(m -> {
|
||||
// list1.setName(m.getName());
|
||||
// return list1;
|
||||
// })).collect(Collectors.toList());
|
||||
|
||||
//查询终端的在线率
|
||||
List<PublicDTO> onlineRateList = getCondition(deviceIndexes, terminalParam.getSearchBeginTime(), terminalParam.getSearchEndTime());
|
||||
//根据终端集合组装终端的在线率
|
||||
@@ -191,7 +181,6 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
powerCompanyList.stream().peek(item -> item.setChildren(getChildCategoryList(item, substationList))).collect(Collectors.toList());
|
||||
setTreeFlag(powerCompanyList,substationList);
|
||||
|
||||
// areaList.stream().peek(item -> item.setChildren(getChildCategoryList(item, powerCompanyList))).collect(Collectors.toList());
|
||||
setFatherOnlineRate(substationList);
|
||||
setFatherOnlineRate(powerCompanyList);
|
||||
// setAreaIntegrity(areaList);
|
||||
@@ -218,16 +207,16 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
List<PublicDTO> publicDTOList = new ArrayList<>();
|
||||
//组装sql语句
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(Param.TIME + " >= '").append(startTime).append(Param.START_TIME).append("' and ").append(Param.TIME).append(" <= '").append(endTime).append(Param.END_TIME).append("' and (");
|
||||
stringBuilder.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append(InfluxDBPublicParam.START_TIME).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append(InfluxDBPublicParam.END_TIME).append("' and (");
|
||||
for (int i = 0; i < deviceIndexes.size(); i++) {
|
||||
if (deviceIndexes.size() - i != 1) {
|
||||
stringBuilder.append(Param.DEV_INDEX + "='").append(deviceIndexes.get(i)).append("' or ");
|
||||
stringBuilder.append(InfluxDBPublicParam.DEV_INDEX + "='").append(deviceIndexes.get(i)).append("' or ");
|
||||
} else {
|
||||
stringBuilder.append(Param.DEV_INDEX + "='").append(deviceIndexes.get(i)).append("')");
|
||||
stringBuilder.append(InfluxDBPublicParam.DEV_INDEX + "='").append(deviceIndexes.get(i)).append("')");
|
||||
}
|
||||
}
|
||||
//sql语句
|
||||
String sql = "SELECT (SUM(" + Param.ONLINEMIN + ")/(SUM(" + Param.OFFLINEMIN + ")+SUM(" + Param.ONLINEMIN + ")))*100 AS onlineRate FROM PQS_ONLINERATE WHERE " + stringBuilder + " group by " + Param.DEV_INDEX;
|
||||
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;
|
||||
//结果集
|
||||
QueryResult result = influxDbUtils.query(sql);
|
||||
//处理结果集
|
||||
@@ -236,7 +225,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
list.forEach(po -> {
|
||||
PublicDTO publicDTO = new PublicDTO();
|
||||
List<List<Object>> valueList = po.getValues();
|
||||
String index = po.getTags().get(Param.DEV_INDEX);
|
||||
String index = po.getTags().get(InfluxDBPublicParam.DEV_INDEX);
|
||||
if (!CollectionUtils.isEmpty(valueList)) {
|
||||
for (List<Object> value : valueList) {
|
||||
//终端在线率 保留两位小数
|
||||
|
||||
Reference in New Issue
Block a user