Commit 9697581d authored by caotao's avatar caotao

智能分析修改按时刻、按小时、按天

parent 976676c8
package com.yeejoin.amos.boot.module.jxiop.biz.Enum;
public enum WarningPeriodEnum {
DAY(1, "按天"),
HOUR(2,"按小时"),
MINUTES(3,"按10分钟");
private int code;
private String name;
WarningPeriodEnum(int code, String name) {
this.code = code;
this.name = name;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
......@@ -79,35 +79,15 @@ public class CommonConstans {
};
//es EquipIndexName 查绚关键字
public static final String QueryStringEquipmentIndexName = "equipmentIndexName.keyword";
//es EquipIndexName 查绚关键字
public static final String QueryStringEquipmentIndexNameNotKeyword = "equipmentIndexName";
//es gatewayId 查绚关键字
public static final String QueryStringGateWayId = "gatewayId.keyword";
public static final String QueryStringFrontMoudle = "frontModule.keyword";
public static final String QueryStringSystemType = "systemType";
public static final String QueryStringSystemTypeKeyword = "systemType.keyword";
public static final String QueryStringEquipmentNumber = "equipmentNumber";
public static final String QueryStringEquipmentNumberKeyword = "equipmentNumber.keyword";
public static final String QueryStringValue = "value";
public static final String QueryStringValueKeyword = "value.keyword";
public static final String QueryStringValueLabel = "valueLabel";
public static final String QueryStringValueLabelKeyword = "valueLabel.keyword";
public static final String QueryStringDataType = "dataType";
public static final String QueryStringDisplayName = "displayName";
public static final String QueryStringDisplayNameKeyword = "displayName.keyword";
public static final String QueryStringIsAlarm = "isAlarm";
public static final String QueryStringIsAlarmKeyword = "isAlarm.keyword";
public static final String Twodecimalplaces= "%.2f";
public static final String Onedecimalplaces= "%.1f";
public static final String Fourdecimalplaces = "%.4f";
public static final String QueryStringFrontMoudleNotKeyWord = "frontModule";
public static final HashMap<String, String> waringPeriodStatus = new HashMap<String, String>() {
{
put("按时刻", "按10分钟周期");
put("按10分钟", "按10分钟周期");
put("按小时", "按1小时周期");
put("按天", "按1天周期");
}
......@@ -115,7 +95,7 @@ public class CommonConstans {
public static final HashMap<String, String> waringPeriodTowaringCycle = new HashMap<String, String>() {
{
put("按时刻", "分钟");
put("按10分钟", "分钟");
put("按小时", "小时");
put("按天", "天");
}
......@@ -124,15 +104,10 @@ public class CommonConstans {
public static final HashMap<String, String> waringPeriodDateFormate = new HashMap<String, String>() {
{
put("按时刻", DatePattern.NORM_DATETIME_PATTERN);
put("按10分钟", DatePattern.NORM_DATETIME_PATTERN);
put("按小时", DatePattern.NORM_DATETIME_PATTERN);
put("按天", DatePattern.NORM_DATE_PATTERN);
}
};
public static final String ANALYSE_TYPE_MOMENT = "按时刻";
public static final String ANALYSE_TYPE_HOUR = "按小时";
public static final String ANALYSE_TYPE_DAY = "按天";
}
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.HealthLevelSortEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.WarningPeriodEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.IdxBizFanHealthIndexDto;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanPointTag;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanWarningRecord;
......@@ -581,7 +582,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
if(gatewayIds.size()>0){
orgCode =gatewayIds.get(0)+"%";
}
if (requiredType.equals("按天")){
if (requiredType.equals(WarningPeriodEnum.DAY.getName())){
// if (null != type && type.equals("0")){
Date startDayTime = DateUtils.getCurrentDayStartTime(new Date());
Date date = DateUtils.dateAddHours(startDayTime, -9);
......@@ -605,7 +606,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
page.setTotal(total);
page.setRecords(fanHealthIndexDays);
return ResponseHelper.buildResponse(page);
}else if (requiredType.equals("按小时")){
}else if (requiredType.equals(WarningPeriodEnum.HOUR.getName())){
// if (null != type && type.equals("0")){
Date date = new Date();
......@@ -679,7 +680,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
if (requiredType.equals("按天")){
if (requiredType.equals(WarningPeriodEnum.DAY.getName())){
// if (null != type && type.equals("0")){
Date startDayTime = DateUtils.getCurrentDayStartTime(new Date());
Date date = DateUtils.dateAddHours(startDayTime, -9);
......@@ -696,7 +697,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
Map<String,Object> map = new HashMap<>();
map.put("value",Double.parseDouble(df.format(fanHealthIndexDays.get(0).getHealthIndex())));
return ResponseHelper.buildResponse(map);
}else if (requiredType.equals("按小时")){
}else if (requiredType.equals(WarningPeriodEnum.HOUR.getName())){
// if (null != type && type.equals("0")){
Date date = new Date();
......@@ -760,7 +761,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
if(gatewayIds.size()>0){
orgCode =gatewayIds.get(0)+"%";
}
if ("按天".equals(requiredType)){
if (WarningPeriodEnum.DAY.getName().equals(requiredType)){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if ( null != endTimeTop){
Date endDate = DateUtils.dateAddHours(DateUtils.longStr2Date(endTimeTop), -8);
......@@ -783,7 +784,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
result.put("seriesData",seriesData);
result.put("axisData",axisData);
return ResponseHelper.buildResponse(result);
}else if ("按小时".equals(requiredType)){
}else if (WarningPeriodEnum.HOUR.getName().equals(requiredType)){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if ( null != endTimeTop){
Date endDate = DateUtils.dateAddHours(DateUtils.longStr2Date(endTimeTop), -8);
......
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.HealthLevelSortEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.WarningPeriodEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.IdxBizPvHealthIndexDto;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanPointProcessVariableClassification;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizPvPointProcessVariableClassification;
......@@ -269,7 +270,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
if(gatewayIds.size()>0){
orgCode =gatewayIds.get(0)+"%";
}
if (requiredType.equals("按天")){
if (requiredType.equals(WarningPeriodEnum.DAY.getName())){
Date startDayTime = DateUtils.getCurrentDayStartTime(new Date());
Date date = DateUtils.dateAddHours(startDayTime, -9);
startTimeTop = DateUtil.format(date,DatePattern.NORM_DATETIME_PATTERN);
......@@ -286,7 +287,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
page.setRecords(fanHealthIndexDays);
page.setTotal(total);
return ResponseHelper.buildResponse(page);
}else if (requiredType.equals("按小时")){
}else if (requiredType.equals(WarningPeriodEnum.HOUR.getName())){
Date date = new Date();
date = DateUtil.offsetHour(date,-8);
date = DateUtil.offsetMinute(date,-59);
......@@ -348,7 +349,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
if(gatewayIds.size()>0){
orgCode =gatewayIds.get(0)+"%";
}
if (requiredType.equals("按天")){
if (requiredType.equals(WarningPeriodEnum.DAY.getName())){
Date startDayTime = DateUtils.getCurrentDayStartTime(new Date());
Date date = DateUtils.dateAddHours(startDayTime, -9);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......@@ -365,7 +366,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
}else if (requiredType.equals("按小时")){
}else if (requiredType.equals(WarningPeriodEnum.HOUR.getName())){
Date date = new Date();
date = DateUtil.offsetHour(date,-8);
......@@ -420,7 +421,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
if(gatewayIds.size()>0){
orgCode =gatewayIds.get(0)+"%";
}
if ("按天".equals(requiredType)){
if (WarningPeriodEnum.DAY.getName().equals(requiredType)){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if ( null != endTimeTop){
Date endDate = DateUtils.dateAddHours(DateUtils.longStr2Date(endTimeTop), -8);
......@@ -444,7 +445,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
result.put("seriesData",seriesData);
result.put("axisData",axisData);
return ResponseHelper.buildResponse(result);
}else if ("按小时".equals(requiredType)){
}else if (WarningPeriodEnum.HOUR.getName().equals(requiredType)){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if ( null != endTimeTop){
Date endDate = DateUtils.dateAddHours(DateUtils.longStr2Date(endTimeTop), -8);
......
......@@ -19,7 +19,7 @@ public interface IdxBizFanWarningRuleSetMapper extends BaseMapper<IdxBizFanWarni
int queryListCount();
@Select("SELECT MAX(WARNING_CYCLE) FROM idx_biz_fan_warning_rule_set WHERE ANALYSIS_TYPE = '按时刻'")
@Select("SELECT MAX(WARNING_CYCLE) FROM idx_biz_fan_warning_rule_set WHERE ANALYSIS_TYPE = '按10分钟'")
Integer getMaxWaringCycleOfMinutes();
@Select("SELECT MAX(WARNING_CYCLE) FROM idx_biz_fan_warning_rule_set WHERE ANALYSIS_TYPE = '按小时'")
Integer getMaxWaringCycleOfHour();
......
......@@ -14,7 +14,7 @@ import org.apache.ibatis.annotations.Select;
*/
public interface IdxBizPvWarningRuleSetMapper extends BaseMapper<IdxBizPvWarningRuleSet> {
@Select("SELECT MAX(WARNING_CYCLE) FROM idx_biz_pv_warning_rule_set WHERE ANALYSIS_TYPE = '按时刻'")
@Select("SELECT MAX(WARNING_CYCLE) FROM idx_biz_pv_warning_rule_set WHERE ANALYSIS_TYPE = '按10分钟'")
Integer getMaxWaringCycleOfMinutes();
@Select("SELECT MAX(WARNING_CYCLE) FROM idx_biz_pv_warning_rule_set WHERE ANALYSIS_TYPE = '按小时'")
Integer getMaxWaringCycleOfHour();
......
......@@ -18,6 +18,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.SmartAnalyseEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.WarningPeriodEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.Thread.MyServiceThread;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.IdxBizFanPointProcessVariableClassificationDto;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.IdxBizPvPointProcessVariableClassificationDto;
......@@ -1151,7 +1152,7 @@ public class CommonServiceImpl {
query.ge(IdxBizFanHealthLevel::getGroupUpperLimit, object.getDouble("indexValue"));
IdxBizFanHealthLevel idxBizFanHealthLevel = idxBizFanHealthLevelMapper.selectOne(query);
idxBizFanHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel());
idxBizFanHealthIndex.setAnalysisType("按时刻");
idxBizFanHealthIndex.setAnalysisType(WarningPeriodEnum.MINUTES.getName());
idxBizFanHealthIndex.setAnalysisObjType("测点");
idxBizFanHealthIndex.setANOMALY(object.getDouble("scoreValue"));
idxBizFanHealthIndexs.add(idxBizFanHealthIndex);
......@@ -1278,7 +1279,7 @@ public class CommonServiceImpl {
query.ge(IdxBizPvHealthLevel::getGroupUpperLimit, object.getDouble("indexValue"));
IdxBizPvHealthLevel idxBizFanHealthLevel = idxBizPvHealthLevelMapper.selectOne(query);
idxBizFanHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel());
idxBizFanHealthIndex.setAnalysisType("按时刻");
idxBizFanHealthIndex.setAnalysisType(WarningPeriodEnum.MINUTES.getName());
idxBizFanHealthIndex.setAnalysisObjType("测点");
idxBizFanHealthIndex.setANOMALY(object.getDouble("scoreValue"));
idxBizPvHealthIndexs.add(idxBizFanHealthIndex);
......@@ -1718,7 +1719,7 @@ public class CommonServiceImpl {
}
}
idxBizFanHealthIndex.setAnalysisType("按时刻");
idxBizFanHealthIndex.setAnalysisType(WarningPeriodEnum.MINUTES.getName());
idxBizFanHealthIndex.setAnalysisObjType("测点");
if (ObjectUtils.isEmpty(scoreValueArray.getDoubleValue(i))) {
System.out.println(JSON.toJSONString(requestMap));
......@@ -1747,7 +1748,7 @@ public class CommonServiceImpl {
}
// idxBizFanHealthIndexService.saveBatch(idxBizFanHealthIndexs);
// 按时刻相关数据插入TDEngine 【异步】
insertFanDataTDEngine(fanHealthIndices1, format, "按时刻");
insertFanDataTDEngine(fanHealthIndices1, format, WarningPeriodEnum.MINUTES.getName());
}
......@@ -2006,7 +2007,7 @@ public class CommonServiceImpl {
}
}
idxBizPvHealthIndex.setAnalysisType("按时刻");
idxBizPvHealthIndex.setAnalysisType(WarningPeriodEnum.MINUTES.getName());
idxBizPvHealthIndex.setAnalysisObjType("测点");
idxBizPvHealthIndex.setANOMALY(scoreValueArray.getDoubleValue(i));
idxBizPvHealthIndex.setANALYSISTIME(DateUtils.getDateNowString());
......@@ -2028,7 +2029,7 @@ public class CommonServiceImpl {
}
// idxBizPvHealthIndexService.saveBatch(idxBizPvHealthIndexs);
//按时刻 - 相关数据插入
insertPvDataTDEngine(fanHealthIndices1, format, "按时刻");
insertPvDataTDEngine(fanHealthIndices1, format, WarningPeriodEnum.MINUTES.getName());
}
try {
// logger.info("--------------------response: " + response);
......
......@@ -15,6 +15,7 @@ import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.WarningPeriodEnum;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -217,7 +218,7 @@ public class HealthStatusIndicatorServiceImpl {
return;
}
LambdaQueryWrapper<IdxBizPvWarningRuleSet> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IdxBizPvWarningRuleSet::getAnalysisType,"按时刻");
queryWrapper.eq(IdxBizPvWarningRuleSet::getAnalysisType, WarningPeriodEnum.MINUTES.getName());
queryWrapper.in(IdxBizPvWarningRuleSet::getAnalysisPointId, collect);
List<IdxBizPvWarningRuleSet> idxBizPvWarningRules = idxBizPvWarningRuleSetMapper.selectList(queryWrapper);
......@@ -336,7 +337,7 @@ public class HealthStatusIndicatorServiceImpl {
idxBizPvWarningRecord.setWarningName(level);
idxBizPvWarningRecord.setCONTENT(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getPointName() + "连续"+content+"健康指数≤"+num );
idxBizPvWarningRecord.setRecDate(time);
idxBizPvWarningRecord.setWarningPeriod("按时刻");
idxBizPvWarningRecord.setWarningPeriod(WarningPeriodEnum.MINUTES.getName());
idxBizPvWarningRecord.setManufacturer(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getManufacturer());
idxBizPvWarningRecord.setPointName(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getPointName());
idxBizPvWarningRecord.setHealthIndexSeq(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getHealthIndex().toString());
......@@ -586,7 +587,7 @@ public class HealthStatusIndicatorServiceImpl {
return;
}
LambdaQueryWrapper<IdxBizPvWarningRuleSet> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IdxBizPvWarningRuleSet::getAnalysisType,"按小时");
queryWrapper.eq(IdxBizPvWarningRuleSet::getAnalysisType,WarningPeriodEnum.HOUR.getName());
queryWrapper.in(IdxBizPvWarningRuleSet::getAnalysisPointId, collect);
List<IdxBizPvWarningRuleSet> idxBizPvWarningRules = idxBizPvWarningRuleSetMapper.selectList(queryWrapper);
......@@ -708,7 +709,7 @@ public class HealthStatusIndicatorServiceImpl {
idxBizPvWarningRecord.setWarningName(level);
idxBizPvWarningRecord.setCONTENT(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getPointName() + "连续"+content+"健康指数≤"+num );
idxBizPvWarningRecord.setRecDate(time);
idxBizPvWarningRecord.setWarningPeriod("按小时");
idxBizPvWarningRecord.setWarningPeriod(WarningPeriodEnum.HOUR.getName());
idxBizPvWarningRecord.setManufacturer(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getManufacturer());
idxBizPvWarningRecord.setPointName(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getPointName());
idxBizPvWarningRecord.setHealthIndexSeq(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getHealthIndex().toString());
......@@ -777,7 +778,7 @@ public class HealthStatusIndicatorServiceImpl {
List<String> collect = healthIndices.stream().map(PvHealthIndexDay::getAnalysisObjSeq).collect(Collectors.toList());
LambdaQueryWrapper<IdxBizPvWarningRuleSet> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IdxBizPvWarningRuleSet::getAnalysisType,"按天");
queryWrapper.eq(IdxBizPvWarningRuleSet::getAnalysisType,WarningPeriodEnum.DAY.getName());
queryWrapper.in(IdxBizPvWarningRuleSet::getAnalysisPointId, collect);
List<IdxBizPvWarningRuleSet> idxBizPvWarningRules = idxBizPvWarningRuleSetMapper.selectList(queryWrapper);
Map<String, Map<String, List<PvHealthIndexDay>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(PvHealthIndexDay::getGatewayId, Collectors.groupingBy(PvHealthIndexDay::getIndexAddress)));
......@@ -898,7 +899,7 @@ public class HealthStatusIndicatorServiceImpl {
idxBizPvWarningRecord.setWarningName(level);
idxBizPvWarningRecord.setCONTENT(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getPointName() + "连续"+content+"健康指数≤"+num );
idxBizPvWarningRecord.setRecDate(time);
idxBizPvWarningRecord.setWarningPeriod("按天");
idxBizPvWarningRecord.setWarningPeriod(WarningPeriodEnum.DAY.getName());
idxBizPvWarningRecord.setManufacturer(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getManufacturer());
idxBizPvWarningRecord.setPointName(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getPointName());
idxBizPvWarningRecord.setHealthIndexSeq(idxBizPvHealthIndices.get(idxBizPvHealthIndices.size()-1).getHealthIndex().toString());
......@@ -974,7 +975,7 @@ public class HealthStatusIndicatorServiceImpl {
List<String> collect = healthIndices.stream().map(FanHealthIndexMoment::getAnalysisObjSeq).collect(Collectors.toList());
LambdaQueryWrapper<IdxBizFanWarningRuleSet> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IdxBizFanWarningRuleSet::getAnalysisType,"按时刻");
queryWrapper.eq(IdxBizFanWarningRuleSet::getAnalysisType,WarningPeriodEnum.MINUTES.getName());
queryWrapper.in(IdxBizFanWarningRuleSet::getAnalysisPointId,collect);
List<IdxBizFanWarningRuleSet> idxBizPvWarningRules = idxBizFanWarningRuleSetMapper.selectList(queryWrapper);
......@@ -1102,7 +1103,7 @@ public class HealthStatusIndicatorServiceImpl {
idxBizFanWarningRecord.setWarningName(level);
idxBizFanWarningRecord.setCONTENT(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getPointName() + "连续"+content+"健康指数≤"+num );
idxBizFanWarningRecord.setRecDate(time);
idxBizFanWarningRecord.setWarningPeriod("按时刻");
idxBizFanWarningRecord.setWarningPeriod(WarningPeriodEnum.MINUTES.getName());
idxBizFanWarningRecord.setNumber(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getNumber());
idxBizFanWarningRecord.setPointName(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getPointName());
idxBizFanWarningRecord.setHealthIndexSeq(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getHealthIndex().toString());
......@@ -1174,7 +1175,7 @@ public class HealthStatusIndicatorServiceImpl {
List<String> collect = healthIndices.stream().map(FanHealthIndexHour::getAnalysisObjSeq).collect(Collectors.toList());
LambdaQueryWrapper<IdxBizFanWarningRuleSet> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IdxBizFanWarningRuleSet::getAnalysisType,"按小时");
queryWrapper.eq(IdxBizFanWarningRuleSet::getAnalysisType,WarningPeriodEnum.HOUR.getName());
queryWrapper.in(IdxBizFanWarningRuleSet::getAnalysisPointId,collect);
List<IdxBizFanWarningRuleSet> idxBizPvWarningRules = idxBizFanWarningRuleSetMapper.selectList(queryWrapper);
......@@ -1298,7 +1299,7 @@ public class HealthStatusIndicatorServiceImpl {
idxBizFanWarningRecord.setWarningName(level);
idxBizFanWarningRecord.setCONTENT(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getPointName() + "连续"+content+"健康指数≤"+num );
idxBizFanWarningRecord.setRecDate(time);
idxBizFanWarningRecord.setWarningPeriod("按小时");
idxBizFanWarningRecord.setWarningPeriod(WarningPeriodEnum.HOUR.getName());
idxBizFanWarningRecord.setNumber(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getNumber());
idxBizFanWarningRecord.setHealthIndexSeq(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getHealthIndex().toString());
idxBizFanWarningRecord.setHealthLevel(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getHealthLevel());
......@@ -1367,7 +1368,7 @@ public class HealthStatusIndicatorServiceImpl {
List<String> collect = healthIndices.stream().map(FanHealthIndexDay::getAnalysisObjSeq).collect(Collectors.toList());
LambdaQueryWrapper<IdxBizFanWarningRuleSet> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IdxBizFanWarningRuleSet::getAnalysisType,"按天");
queryWrapper.eq(IdxBizFanWarningRuleSet::getAnalysisType,WarningPeriodEnum.DAY.getName());
queryWrapper.in(IdxBizFanWarningRuleSet::getAnalysisPointId,collect);
List<IdxBizFanWarningRuleSet> idxBizPvWarningRules = idxBizFanWarningRuleSetMapper.selectList(queryWrapper);
......@@ -1496,7 +1497,7 @@ public class HealthStatusIndicatorServiceImpl {
idxBizFanWarningRecord.setWarningName(level);
idxBizFanWarningRecord.setCONTENT(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getPointName() + "连续"+content+"健康指数≤"+num );
idxBizFanWarningRecord.setRecDate(time);
idxBizFanWarningRecord.setWarningPeriod("按天");
idxBizFanWarningRecord.setWarningPeriod(WarningPeriodEnum.DAY.getName());
idxBizFanWarningRecord.setNumber(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getNumber());
idxBizFanWarningRecord.setHealthIndexSeq(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getHealthIndex().toString());
idxBizFanWarningRecord.setHealthLevel(idxBizFanHealthIndices.get(idxBizFanHealthIndices.size()-1).getHealthLevel());
......
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.WarningPeriodEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizPvHealthLevel;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanHealthLevelMapper;
......@@ -59,23 +60,23 @@ public class TdengineTimeServiceImpl {
// 子系统
List<IdxBizFanHealthLevel> levelListZxt = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "子系统").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesZxt = fanHealthIndexMapper.getInfoListByGroupByZxtFan(startTime, "fan_health_index_moment", "测点");
saveBatchFan(fanHealthIndicesZxt, "fan_health_index_moment", recDate, "按时刻", levelListZxt);
saveBatchFan(fanHealthIndicesZxt, "fan_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListZxt);
// 设备
List<IdxBizFanHealthLevel> levelListSb = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "设备").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesSb = fanHealthIndexMapper.getInfoListByGroupBySbFan(startTime, "fan_health_index_moment", "子系统");
saveBatchFan(fanHealthIndicesSb, "fan_health_index_moment", recDate, "按时刻", levelListSb);
saveBatchFan(fanHealthIndicesSb, "fan_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListSb);
// 场站
List<IdxBizFanHealthLevel> levelListCz = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "场站").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesCz = fanHealthIndexMapper.getInfoListByGroupByCzFan(startTime, "fan_health_index_moment", "设备");
saveBatchFan(fanHealthIndicesCz, "fan_health_index_moment", recDate, "按时刻", levelListCz);
saveBatchFan(fanHealthIndicesCz, "fan_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListCz);
// 区域
List<IdxBizFanHealthLevel> levelListQy = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "片区").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesQy = fanHealthIndexMapper.getInfoListByGroupByQyFan(startTime, "fan_health_index_moment", "场站");
saveBatchFan(fanHealthIndicesQy, "fan_health_index_moment", recDate, "按时刻", levelListQy);
saveBatchFan(fanHealthIndicesQy, "fan_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListQy);
// 全域【所有 / 全国】
List<IdxBizFanHealthLevel> levelListQg = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "全域").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesQg = fanHealthIndexMapper.getInfoListByGroupByQgFan(startTime, "fan_health_index_moment", "片区");
saveBatchFan(fanHealthIndicesQg, "fan_health_index_moment", recDate, "按时刻", levelListQg);
saveBatchFan(fanHealthIndicesQg, "fan_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListQg);
}
......@@ -88,35 +89,35 @@ public class TdengineTimeServiceImpl {
if (!openHealth) {
return;
}
idxFanHealthIndexMapper.deleteAllDataByTableName("fan_health_index_latest_data", "按小时");
idxFanHealthIndexMapper.deleteAllDataByTableName("fan_health_index_latest_data", WarningPeriodEnum.HOUR.getName());
String recDate = DateUtil.format(new Date(), "yyyy-MM-dd HH:00:00");
// 8小时 + 59分钟
String startTime = DateUtils.dateFormat(DateUtils.dateAddMinutes(new Date(), -541), DateUtils.DATE_TIME_PATTERN);
// 测点
List<IdxBizFanHealthLevel> levelList = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "测点").last("limit 4"));
List<FanHealthIndex> fanHealthIndices = fanHealthIndexMapper.getInfoListByGroupByCdFan(startTime, "fan_health_index_moment", "测点");
saveBatchFan(fanHealthIndices, "fan_health_index_hour", recDate, "按小时", levelList);
saveBatchFan(fanHealthIndices, "fan_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelList);
// 子系统
List<IdxBizFanHealthLevel> levelListZxt = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "子系统").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesZxt = fanHealthIndexMapper.getInfoListByGroupByZxtFan(startTime, "fan_health_index_moment", "测点");
saveBatchFan(fanHealthIndicesZxt, "fan_health_index_hour", recDate, "按小时", levelListZxt);
saveBatchFan(fanHealthIndicesZxt, "fan_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListZxt);
// 设备
List<IdxBizFanHealthLevel> levelListSb = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "设备").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesSb = fanHealthIndexMapper.getInfoListByGroupBySbFan(startTime, "fan_health_index_moment", "子系统");
saveBatchFan(fanHealthIndicesSb, "fan_health_index_hour", recDate, "按小时", levelListSb);
saveBatchFan(fanHealthIndicesSb, "fan_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListSb);
// 场站
List<IdxBizFanHealthLevel> levelListCz = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "场站").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesCz = fanHealthIndexMapper.getInfoListByGroupByCzFan(startTime, "fan_health_index_moment", "设备");
saveBatchFan(fanHealthIndicesCz, "fan_health_index_hour", recDate, "按小时", levelListCz);
saveBatchFan(fanHealthIndicesCz, "fan_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListCz);
// 区域
List<IdxBizFanHealthLevel> levelListQy = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "片区").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesQy = fanHealthIndexMapper.getInfoListByGroupByQyFan(startTime, "fan_health_index_moment", "场站");
saveBatchFan(fanHealthIndicesQy, "fan_health_index_hour", recDate, "按小时", levelListQy);
saveBatchFan(fanHealthIndicesQy, "fan_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListQy);
// 全域【所有 / 全国】
List<IdxBizFanHealthLevel> levelListQg = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "全域").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesQg = fanHealthIndexMapper.getInfoListByGroupByQgFan(startTime, "fan_health_index_moment", "片区");
saveBatchFan(fanHealthIndicesQg, "fan_health_index_hour", recDate, "按小时", levelListQg);
saveBatchFan(fanHealthIndicesQg, "fan_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListQg);
}
/**
......@@ -127,33 +128,33 @@ public class TdengineTimeServiceImpl {
if (!openHealth) {
return;
}
idxFanHealthIndexMapper.deleteAllDataByTableName("fan_health_index_latest_data", "按天");
idxFanHealthIndexMapper.deleteAllDataByTableName("fan_health_index_latest_data", WarningPeriodEnum.DAY.getName());
String recDate = DateUtil.format(new Date(), "yyyy-MM-dd 00:00:00");
String startTime = DateUtils.dateFormat(DateUtils.dateAddHours(new Date(), -32), DateUtils.DATE_TIME_PATTERN);
List<IdxBizFanHealthLevel> levelList = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "测点").last("limit 4"));
List<FanHealthIndex> fanHealthIndices = fanHealthIndexMapper.getInfoListByGroupByCdFan(startTime, "fan_health_index_hour", "测点");
saveBatchFan(fanHealthIndices, "fan_health_index_day", recDate, "按天", levelList);
saveBatchFan(fanHealthIndices, "fan_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelList);
// 子系统
List<IdxBizFanHealthLevel> levelListZxt = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "子系统").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesZxt = fanHealthIndexMapper.getInfoListByGroupByZxtFan(startTime, "fan_health_index_hour", "测点");
saveBatchFan(fanHealthIndicesZxt, "fan_health_index_day", recDate, "按天", levelListZxt);
saveBatchFan(fanHealthIndicesZxt, "fan_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListZxt);
// 设备
List<IdxBizFanHealthLevel> levelListSb = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "设备").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesSb = fanHealthIndexMapper.getInfoListByGroupBySbFan(startTime, "fan_health_index_hour", "子系统");
saveBatchFan(fanHealthIndicesSb, "fan_health_index_day", recDate, "按天", levelListSb);
saveBatchFan(fanHealthIndicesSb, "fan_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListSb);
// 场站
List<IdxBizFanHealthLevel> levelListCz = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "场站").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesCz = fanHealthIndexMapper.getInfoListByGroupByCzFan(startTime, "fan_health_index_hour", "设备");
saveBatchFan(fanHealthIndicesCz, "fan_health_index_day", recDate, "按天", levelListCz);
saveBatchFan(fanHealthIndicesCz, "fan_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListCz);
// 区域
List<IdxBizFanHealthLevel> levelListQy = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "片区").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesQy = fanHealthIndexMapper.getInfoListByGroupByQyFan(startTime, "fan_health_index_hour", "场站");
saveBatchFan(fanHealthIndicesQy, "fan_health_index_day", recDate, "按天", levelListQy);
saveBatchFan(fanHealthIndicesQy, "fan_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListQy);
// 全域【所有 / 全国】
List<IdxBizFanHealthLevel> levelListQg = idxBizFanHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "全域").last("limit 4"));
List<FanHealthIndex> fanHealthIndicesQg = fanHealthIndexMapper.getInfoListByGroupByQgFan(startTime, "fan_health_index_hour", "片区");
saveBatchFan(fanHealthIndicesQg, "fan_health_index_day", recDate, "按天", levelListQg);
saveBatchFan(fanHealthIndicesQg, "fan_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListQg);
}
......@@ -199,23 +200,23 @@ public class TdengineTimeServiceImpl {
// 设备
List<IdxBizPvHealthLevel> levelListSb = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "设备").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesSb = pvHealthIndexMapper.getInfoListByGroupBySbPv(startTime, "pv_health_index_moment", "测点");
saveBatchPv(fanHealthIndicesSb, "pv_health_index_moment", recDate, "按时刻", levelListSb);
saveBatchPv(fanHealthIndicesSb, "pv_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListSb);
// 子阵
List<IdxBizPvHealthLevel> levelListZz = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "子阵").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesZz = pvHealthIndexMapper.getInfoListByGroupByZzPv(startTime, "pv_health_index_moment", "设备");
saveBatchPv(fanHealthIndicesZz, "pv_health_index_moment", recDate, "按时刻", levelListZz);
saveBatchPv(fanHealthIndicesZz, "pv_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListZz);
// 场站
List<IdxBizPvHealthLevel> levelListCz = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "场站").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesCz = pvHealthIndexMapper.getInfoListByGroupByCzPv(startTime, "pv_health_index_moment", "子阵");
saveBatchPv(fanHealthIndicesCz, "pv_health_index_moment", recDate, "按时刻", levelListCz);
saveBatchPv(fanHealthIndicesCz, "pv_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListCz);
// 片区
List<IdxBizPvHealthLevel> levelListQy = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "片区").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesQy = pvHealthIndexMapper.getInfoListByGroupByQyPv(startTime, "pv_health_index_moment", "场站");
saveBatchPv(fanHealthIndicesQy, "pv_health_index_moment", recDate, "按时刻", levelListQy);
saveBatchPv(fanHealthIndicesQy, "pv_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListQy);
// 全域【所有 / 全国】
List<IdxBizPvHealthLevel> levelListQg = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "全域").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesQg = pvHealthIndexMapper.getInfoListByGroupByQgPv(startTime, "pv_health_index_moment", "片区");
saveBatchPv(fanHealthIndicesQg, "pv_health_index_moment", recDate, "按时刻", levelListQg);
saveBatchPv(fanHealthIndicesQg, "pv_health_index_moment", recDate, WarningPeriodEnum.MINUTES.getName(), levelListQg);
}
/**
......@@ -233,27 +234,27 @@ public class TdengineTimeServiceImpl {
// 测点
List<IdxBizPvHealthLevel> levelList = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "测点").last("limit 4"));
List<PvHealthIndex> fanHealthIndices = pvHealthIndexMapper.getInfoListByGroupByCdPv(startTime, "pv_health_index_moment", "测点");
saveBatchPv(fanHealthIndices, "pv_health_index_hour", recDate, "按小时", levelList);
saveBatchPv(fanHealthIndices, "pv_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelList);
// 设备
List<IdxBizPvHealthLevel> levelListSb = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "设备").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesSb = pvHealthIndexMapper.getInfoListByGroupBySbPv(startTime, "pv_health_index_moment", "测点");
saveBatchPv(fanHealthIndicesSb, "pv_health_index_hour", recDate, "按小时", levelListSb);
saveBatchPv(fanHealthIndicesSb, "pv_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListSb);
// 子阵
List<IdxBizPvHealthLevel> levelListZz = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "子阵").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesZz = pvHealthIndexMapper.getInfoListByGroupByZzPv(startTime, "pv_health_index_moment", "设备");
saveBatchPv(fanHealthIndicesZz, "pv_health_index_hour", recDate, "按小时", levelListZz);
saveBatchPv(fanHealthIndicesZz, "pv_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListZz);
// 场站
List<IdxBizPvHealthLevel> levelListCz = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "场站").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesCz = pvHealthIndexMapper.getInfoListByGroupByCzPv(startTime, "pv_health_index_moment", "子阵");
saveBatchPv(fanHealthIndicesCz, "pv_health_index_hour", recDate, "按小时", levelListCz);
saveBatchPv(fanHealthIndicesCz, "pv_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListCz);
// 片区
List<IdxBizPvHealthLevel> levelListQy = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "片区").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesQy = pvHealthIndexMapper.getInfoListByGroupByQyPv(startTime, "pv_health_index_moment", "场站");
saveBatchPv(fanHealthIndicesQy, "pv_health_index_hour", recDate, "按小时", levelListQy);
saveBatchPv(fanHealthIndicesQy, "pv_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListQy);
// 全域【所有 / 全国】
List<IdxBizPvHealthLevel> levelListQg = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "全域").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesQg = pvHealthIndexMapper.getInfoListByGroupByQgPv(startTime, "pv_health_index_moment", "片区");
saveBatchPv(fanHealthIndicesQg, "pv_health_index_hour", recDate, "按小时", levelListQg);
saveBatchPv(fanHealthIndicesQg, "pv_health_index_hour", recDate, WarningPeriodEnum.HOUR.getName(), levelListQg);
}
/**
......@@ -264,32 +265,32 @@ public class TdengineTimeServiceImpl {
if (!openHealth) {
return;
}
idxFanHealthIndexMapper.deleteAllDataByTableName("pv_health_index_latest_data", "按天");
idxFanHealthIndexMapper.deleteAllDataByTableName("pv_health_index_latest_data", WarningPeriodEnum.DAY.getName());
String recDate = DateUtil.format(new Date(), "yyyy-MM-dd 00:00:00");
List<IdxBizPvHealthLevel> levelList = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "测点").last("limit 4"));
String startTime = DateUtils.dateFormat(DateUtils.dateAddHours(new Date(), -32), DateUtils.DATE_TIME_PATTERN);
List<PvHealthIndex> fanHealthIndices = pvHealthIndexMapper.getInfoListByGroupByCdPv(startTime, "pv_health_index_hour", "测点");
saveBatchPv(fanHealthIndices, "pv_health_index_day", recDate, "按天", levelList);
saveBatchPv(fanHealthIndices, "pv_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelList);
// 设备
List<IdxBizPvHealthLevel> levelListSb = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "设备").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesSb = pvHealthIndexMapper.getInfoListByGroupBySbPv(startTime, "pv_health_index_hour", "测点");
saveBatchPv(fanHealthIndicesSb, "pv_health_index_day", recDate, "按天", levelListSb);
saveBatchPv(fanHealthIndicesSb, "pv_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListSb);
// 子阵
List<IdxBizPvHealthLevel> levelListZz = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "子阵").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesZz = pvHealthIndexMapper.getInfoListByGroupByZzPv(startTime, "pv_health_index_hour", "设备");
saveBatchPv(fanHealthIndicesZz, "pv_health_index_day", recDate, "按天", levelListZz);
saveBatchPv(fanHealthIndicesZz, "pv_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListZz);
// 场站
List<IdxBizPvHealthLevel> levelListCz = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "场站").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesCz = pvHealthIndexMapper.getInfoListByGroupByCzPv(startTime, "pv_health_index_hour", "子阵");
saveBatchPv(fanHealthIndicesCz, "pv_health_index_day", recDate, "按天", levelListCz);
saveBatchPv(fanHealthIndicesCz, "pv_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListCz);
// 片区
List<IdxBizPvHealthLevel> levelListQy = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "片区").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesQy = pvHealthIndexMapper.getInfoListByGroupByQyPv(startTime, "pv_health_index_hour", "场站");
saveBatchPv(fanHealthIndicesQy, "pv_health_index_day", recDate, "按天", levelListQy);
saveBatchPv(fanHealthIndicesQy, "pv_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListQy);
// 全域【所有 / 全国】
List<IdxBizPvHealthLevel> levelListQg = idxBizPvHealthLevelMapper.selectList(new LambdaQueryWrapper<IdxBizPvHealthLevel>().eq(IdxBizPvHealthLevel::getAnalysisObjType, "全域").last("limit 4"));
List<PvHealthIndex> fanHealthIndicesQg = pvHealthIndexMapper.getInfoListByGroupByQgPv(startTime, "pv_health_index_hour", "片区");
saveBatchPv(fanHealthIndicesQg, "pv_health_index_day", recDate, "按天", levelListQg);
saveBatchPv(fanHealthIndicesQg, "pv_health_index_day", recDate, WarningPeriodEnum.DAY.getName(), levelListQg);
}
......
......@@ -67,8 +67,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="areaCode != null and areaCode != ''">
......@@ -98,8 +98,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="areaCode != null and areaCode != ''">
......@@ -1036,7 +1036,7 @@
ANALYSIS_OBJ_TYPE = '测点'
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 1 HOUR ) )
OR ( REC_DATE >= CURRENT_DATE ( ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
) b
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意'
......@@ -1082,7 +1082,7 @@
ANALYSIS_OBJ_TYPE = '测点'
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 1 HOUR ) )
OR ( REC_DATE >= CURRENT_DATE ( ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
) b
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意'
......@@ -1126,7 +1126,7 @@
ANALYSIS_OBJ_TYPE = '测点'
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 1 HOUR ) )
OR ( REC_DATE >= CURRENT_DATE ( ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
) b
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意'
......@@ -1205,7 +1205,7 @@
<if test="(startTime == null or startTime == '' ) and (endTime == null or endTime =='') ">
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 15 HOUR ) )
OR ( REC_DATE >=DATE_SUB( NOW(), INTERVAL 15 DAY ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 150 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 150 MINUTE ) )
</if>
<if test="startTime != null and startTime != '' or endTime != null and endTime != '' ">
AND REC_DATE >= #{startTime}
......@@ -1322,7 +1322,7 @@
WHERE
#{recDate} >= REC_DATE
AND REC_DATE >= DATE_ADD( #{recDate}, INTERVAL - 12 hour )
AND ANALYSIS_TYPE = '按时刻'
AND ANALYSIS_TYPE = '按10分钟'
AND INDEX_ADDRESS = #{indexAddress}
AND GATEWAY_ID = #{fanGatewayId}
</select>
......@@ -1349,8 +1349,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......@@ -1375,8 +1375,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......@@ -1407,8 +1407,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......@@ -1433,8 +1433,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......@@ -1468,8 +1468,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......@@ -1494,8 +1494,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......@@ -1527,8 +1527,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......@@ -1553,8 +1553,8 @@
AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if>
<if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻'
<if test="analysisType == '按10分钟'">
AND ANALYSIS_TYPE = '按10分钟'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if>
<if test="gatewayIds != null and gatewayIds.size() > 0"> and GATEWAY_ID in
......
......@@ -112,7 +112,7 @@
ANALYSIS_OBJ_TYPE = '测点'
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 1 HOUR ) )
OR ( REC_DATE >= CURRENT_DATE ( ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
) b
INNER JOIN idx_biz_pv_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意'
......@@ -164,7 +164,7 @@
ANALYSIS_OBJ_TYPE = '测点'
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 1 HOUR ) )
OR ( REC_DATE >= CURRENT_DATE ( ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
) b
INNER JOIN idx_biz_pv_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意'
......@@ -214,7 +214,7 @@
ANALYSIS_OBJ_TYPE = '测点'
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 1 HOUR ) )
OR ( REC_DATE >= CURRENT_DATE ( ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 10 MINUTE ) )
) b
INNER JOIN idx_biz_pv_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意'
......@@ -303,7 +303,7 @@
<if test="(startTime == null or startTime == '' ) and (endTime == null or endTime =='') ">
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 15 HOUR ) )
OR ( REC_DATE >=DATE_SUB( NOW(), INTERVAL 15 DAY ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 150 MINUTE ) )
OR ( ANALYSIS_TYPE = '按10分钟' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 150 MINUTE ) )
</if>
<if test="startTime != null and startTime != '' or endTime != null and endTime != '' ">
AND REC_DATE >= #{startTime}
......
......@@ -336,7 +336,7 @@
WHERE
#{recDate} >= ts
AND ts >= #{date12}
AND analysis_type = '按时刻'
AND analysis_type = '按10分钟'
AND index_address = #{indexAddress}
AND gateway_id = #{fanGatewayId}
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment