Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -27,7 +28,7 @@ public class RStatIntegrityD {
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@MppMultiId
|
@MppMultiId
|
||||||
private LocalDateTime timeId;
|
private LocalDate timeId;
|
||||||
|
|
||||||
@MppMultiId
|
@MppMultiId
|
||||||
private String lineIndex;
|
private String lineIndex;
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ logging:
|
|||||||
|
|
||||||
whitelist:
|
whitelist:
|
||||||
urls:
|
urls:
|
||||||
# - /**
|
- /**
|
||||||
- /user-boot/user/generateSm2Key
|
- /user-boot/user/generateSm2Key
|
||||||
- /user-boot/theme/getTheme
|
- /user-boot/theme/getTheme
|
||||||
- /user-boot/user/updateFirstPassword
|
- /user-boot/user/updateFirstPassword
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.time.LocalDate;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@@ -34,8 +34,8 @@ public class RStatLimitRateDPO {
|
|||||||
*/
|
*/
|
||||||
@MppMultiId
|
@MppMultiId
|
||||||
@TableField(value = "time_id")
|
@TableField(value = "time_id")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
|
||||||
private Date time;
|
private LocalDate time;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总计算次数
|
* 总计算次数
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.influx.imapper;
|
package com.njcn.influx.imapper;
|
||||||
|
|
||||||
import com.njcn.influx.base.InfluxDbBaseMapper;
|
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||||
|
import com.njcn.influx.pojo.bo.MeasurementCount;
|
||||||
import com.njcn.influx.pojo.po.DataV;
|
import com.njcn.influx.pojo.po.DataV;
|
||||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||||
|
|
||||||
@@ -18,4 +19,6 @@ public interface DataVMapper extends InfluxDbBaseMapper<DataV> {
|
|||||||
|
|
||||||
List<DataV> getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper);
|
List<DataV> getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper);
|
||||||
|
|
||||||
|
List<MeasurementCount> getMeasurementCount(InfluxQueryWrapper influxQueryWrapper);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.njcn.influx.pojo.bo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.njcn.common.utils.serializer.InstantDateSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.influxdb.annotation.Column;
|
||||||
|
import org.influxdb.annotation.Measurement;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.Instant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类的介绍:
|
||||||
|
*
|
||||||
|
* @author xuyang
|
||||||
|
* @version 1.0.0
|
||||||
|
* @createTime 2023/11/10 16:17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Measurement(name = "data_v")
|
||||||
|
public class MeasurementCount implements Serializable {
|
||||||
|
|
||||||
|
@Column(name = "time")
|
||||||
|
@JsonSerialize(using = InstantDateSerializer.class)
|
||||||
|
private Instant time;
|
||||||
|
|
||||||
|
@Column(name = "line_id")
|
||||||
|
private String lineId;
|
||||||
|
|
||||||
|
@Column(name = "freq")
|
||||||
|
private String freq;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -185,5 +185,16 @@ public interface InfluxDBTableConstant {
|
|||||||
String AVG = "AVG";
|
String AVG = "AVG";
|
||||||
String CP95 = "CP95";
|
String CP95 = "CP95";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每天固定时间分钟
|
||||||
|
*/
|
||||||
|
Integer DAY_MINUTE = 1440;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据是否正常 0:正常 1:异常
|
||||||
|
*/
|
||||||
|
String NORMAL = "0";
|
||||||
|
String UN_NORMAL = "1";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,12 +111,23 @@
|
|||||||
<artifactId>liteflow-spring-boot-starter</artifactId>
|
<artifactId>liteflow-spring-boot-starter</artifactId>
|
||||||
<version>2.11.2</version>
|
<version>2.11.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.njcn</groupId>
|
||||||
|
<artifactId>event-api</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.yomahub</groupId>
|
<groupId>com.yomahub</groupId>
|
||||||
<artifactId>liteflow-rule-nacos</artifactId>
|
<artifactId>liteflow-rule-nacos</artifactId>
|
||||||
<version>2.11.2</version>
|
<version>2.11.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>com.yomahub</groupId>-->
|
||||||
|
<!-- <artifactId>liteflow-rule-nacos</artifactId>-->
|
||||||
|
<!-- <version>2.11.0</version>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -24,20 +24,19 @@ import lombok.RequiredArgsConstructor;
|
|||||||
public class MeasurementExecutor extends BaseExecutor {
|
public class MeasurementExecutor extends BaseExecutor {
|
||||||
|
|
||||||
private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService;
|
private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService;
|
||||||
|
|
||||||
private final RMpEventDetailService rMpEventDetailService;
|
private final RMpEventDetailService rMpEventDetailService;
|
||||||
|
|
||||||
private final RMpEventDetailDService rMpEventDetailDService;
|
private final RMpEventDetailDService rMpEventDetailDService;
|
||||||
|
|
||||||
private final DayDataService dayDataService;
|
private final DayDataService dayDataService;
|
||||||
|
|
||||||
private final RStatAbnormalDService rStatAbnormalDService;
|
private final RStatAbnormalDService rStatAbnormalDService;
|
||||||
private final ROperatingMonitorService rOperatingMonitorService;
|
private final ROperatingMonitorService rOperatingMonitorService;
|
||||||
|
|
||||||
private final ROperatingMonitorMService rOperatingMonitorMService;
|
private final ROperatingMonitorMService rOperatingMonitorMService;
|
||||||
|
private final IntegrityService integrityService;
|
||||||
|
|
||||||
private final RMpPassRateDService rMpPassRateDService;
|
private final RMpPassRateDService rMpPassRateDService;
|
||||||
|
|
||||||
|
private final LimitRateService limitRateService;
|
||||||
|
private final LimitTargetService limitTargetService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 算法名: 3.3.1.1-----监测点评价
|
* 算法名: 3.3.1.1-----监测点评价
|
||||||
@@ -81,20 +80,6 @@ public class MeasurementExecutor extends BaseExecutor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 算法名: 3.4.1.1-----监测点报表_日表
|
|
||||||
*
|
|
||||||
* @author xuyang
|
|
||||||
* @date 2023年11月09日 10:08
|
|
||||||
*/
|
|
||||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataToDay", nodeType = NodeTypeEnum.COMMON)
|
|
||||||
public boolean dataToDayAccess(NodeComponent bindCmp) {
|
|
||||||
return isAccess(bindCmp);
|
|
||||||
}
|
|
||||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataToDay", nodeType = NodeTypeEnum.COMMON)
|
|
||||||
public void dataToDayProcess(NodeComponent bindCmp) {
|
|
||||||
dayDataService.dataToDayHandler(bindCmp.getRequestData());
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* 3.3.1.2. 监测点数据异常_日表
|
* 3.3.1.2. 监测点数据异常_日表
|
||||||
* @param bindCmp
|
* @param bindCmp
|
||||||
@@ -169,4 +154,75 @@ public class MeasurementExecutor extends BaseExecutor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/********************************************算法负责人:xy***********************************************************/
|
||||||
|
/**
|
||||||
|
* 算法名: 3.4.1.1-----监测点报表_日表((r_stat_data_*_d))
|
||||||
|
*
|
||||||
|
* @author xuyang
|
||||||
|
* @date 2023年11月09日 10:08
|
||||||
|
*/
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataToDay", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public boolean dataToDayAccess(NodeComponent bindCmp) {
|
||||||
|
return isAccess(bindCmp);
|
||||||
|
}
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataToDay", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public void dataToDayProcess(NodeComponent bindCmp) {
|
||||||
|
dayDataService.dataToDayHandler(bindCmp.getRequestData());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 算法名: 暂无-----监测点数据完整性_日表(r_stat_integrity_d)
|
||||||
|
*
|
||||||
|
* @author xuyang
|
||||||
|
* @date 2023年11月09日 10:08
|
||||||
|
*/
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "measurementIntegrity", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public boolean measurementIntegrityAccess(NodeComponent bindCmp) {
|
||||||
|
return isAccess(bindCmp);
|
||||||
|
}
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "measurementIntegrity", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public void measurementIntegrityProcess(NodeComponent bindCmp) {
|
||||||
|
integrityService.dataIntegrity(bindCmp.getRequestData());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 算法名: 3.4.1.1-----监测点稳态指标越限次数_日表(r_stat_limit_rate_d)
|
||||||
|
*
|
||||||
|
* @author xuyang
|
||||||
|
* @date 2023年11月13日 10:16
|
||||||
|
*/
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "limitRate", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public boolean limitRateAccess(NodeComponent bindCmp) {
|
||||||
|
return isAccess(bindCmp);
|
||||||
|
}
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "limitRate", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public void limitRateProcess(NodeComponent bindCmp) {
|
||||||
|
limitRateService.limitRate(bindCmp.getRequestData());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 算法名: 暂无-----合格率统计日表(是否越限)(r_stat_limit_target_d)
|
||||||
|
*
|
||||||
|
* @author xuyang
|
||||||
|
* @date 2023年11月13日 13:38
|
||||||
|
*/
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "limitTarget", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public boolean limitTargetAccess(NodeComponent bindCmp) {
|
||||||
|
return isAccess(bindCmp);
|
||||||
|
}
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "limitTarget", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public void limitTargetProcess(NodeComponent bindCmp) {
|
||||||
|
limitTargetService.limitTargetData(bindCmp.getRequestData());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/********************************************算法负责人:xy结束***********************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,17 +40,6 @@ public class IntegrityController extends BaseController {
|
|||||||
|
|
||||||
private final IntegrityService integrityService;
|
private final IntegrityService integrityService;
|
||||||
|
|
||||||
/* @Deprecated
|
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
|
||||||
@PostMapping("/computeDataIntegrity")
|
|
||||||
@ApiOperation("数据完整性统计")
|
|
||||||
@ApiImplicitParam(name = "lineParam", value = "参数", required = true)
|
|
||||||
public HttpResult<String> computeDataIntegrity(@RequestBody @Validated LineParam lineParam){
|
|
||||||
String methodDescribe = getMethodDescribe("computeDataIntegrity");
|
|
||||||
String out = integrityService.computeDataIntegrity(lineParam);
|
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@PostMapping("/dataIntegrity")
|
@PostMapping("/dataIntegrity")
|
||||||
@ApiOperation("数据完整性统计(MySQL库)")
|
@ApiOperation("数据完整性统计(MySQL库)")
|
||||||
@@ -65,10 +54,10 @@ public class IntegrityController extends BaseController {
|
|||||||
log.info(item+"-->开始执行");
|
log.info(item+"-->开始执行");
|
||||||
startTime = item+" "+"00:00:00";
|
startTime = item+" "+"00:00:00";
|
||||||
endTime = item+" "+"23:59:59";
|
endTime = item+" "+"23:59:59";
|
||||||
integrityService.dataIntegrity(lineParam,startTime,endTime);
|
// integrityService.dataIntegrity(lineParam,startTime,endTime);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
integrityService.dataIntegrity(lineParam,lineParam.getBeginTime(),lineParam.getEndTime());
|
// integrityService.dataIntegrity(lineParam,lineParam.getBeginTime(),lineParam.getEndTime());
|
||||||
}
|
}
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, CommonResponseEnum.SUCCESS.getMessage(), methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, CommonResponseEnum.SUCCESS.getMessage(), methodDescribe);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ import com.njcn.common.utils.HttpResultUtil;
|
|||||||
import com.njcn.common.utils.NjcnDateUtils;
|
import com.njcn.common.utils.NjcnDateUtils;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.Impl.line.LimitRateService;
|
import com.njcn.prepare.harmonic.service.mysql.Impl.line.LimitRateServiceImpl;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.line.LimitRateService;
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
@@ -89,10 +90,10 @@ public class LimitrateController extends BaseController {
|
|||||||
log.info(item+"-->开始执行");
|
log.info(item+"-->开始执行");
|
||||||
startTime = item+" "+"00:00:00";
|
startTime = item+" "+"00:00:00";
|
||||||
endTime = item+" "+"23:59:59";
|
endTime = item+" "+"23:59:59";
|
||||||
limitRateService.limitRate(indexLists,startTime,endTime);
|
// limitRateService.limitRate(indexLists,startTime,endTime);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
limitRateService.limitRate(indexLists,jobParam.getBeginTime(),jobParam.getEndTime());
|
// limitRateService.limitRate(indexLists,jobParam.getBeginTime(),jobParam.getEndTime());
|
||||||
}
|
}
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -129,7 +130,7 @@ public class SpecialAnalysisIndexOverviewServiceImpl implements SpecialAnalysisI
|
|||||||
|
|
||||||
|
|
||||||
collect2.forEach((lineId,rStatLimitRateDPOList)->{
|
collect2.forEach((lineId,rStatLimitRateDPOList)->{
|
||||||
Map<Date, List<RStatLimitRateDPO>> collect3 = rStatLimitRateDPOList.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getTime));
|
Map<LocalDate, List<RStatLimitRateDPO>> collect3 = rStatLimitRateDPOList.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getTime));
|
||||||
if(isOverLimit(rStatLimitRateDPOList,1)){
|
if(isOverLimit(rStatLimitRateDPOList,1)){
|
||||||
iCount.getAndIncrement();
|
iCount.getAndIncrement();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,39 +3,29 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
|||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
||||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
import com.njcn.common.utils.HarmonicTimesUtil;
|
||||||
import com.njcn.harmonic.pojo.po.day.*;
|
import com.njcn.harmonic.pojo.po.day.*;
|
||||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||||
import com.njcn.influx.deprecated.InfluxDBPublicParam;
|
|
||||||
import com.njcn.influx.imapper.*;
|
import com.njcn.influx.imapper.*;
|
||||||
import com.njcn.influx.imapper.day.*;
|
import com.njcn.influx.imapper.day.*;
|
||||||
import com.njcn.influx.pojo.po.*;
|
import com.njcn.influx.pojo.po.*;
|
||||||
import com.njcn.influx.pojo.po.day.*;
|
import com.njcn.influx.pojo.po.day.*;
|
||||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||||
import com.njcn.influx.utils.InfluxDbUtils;
|
|
||||||
import com.njcn.prepare.bo.CalculatedParam;
|
import com.njcn.prepare.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.day.*;
|
import com.njcn.prepare.harmonic.service.mysql.day.*;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.DayDataService;
|
import com.njcn.prepare.harmonic.service.mysql.line.DayDataService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.sf.cglib.core.Local;
|
|
||||||
import org.apache.commons.collections4.ListUtils;
|
import org.apache.commons.collections4.ListUtils;
|
||||||
import org.influxdb.dto.QueryResult;
|
|
||||||
import org.influxdb.impl.InfluxDBResultMapper;
|
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,32 +1,33 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.common.pojo.enums.common.ServerEnum;
|
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
|
||||||
import com.njcn.device.pq.api.LineFeignClient;
|
import com.njcn.device.pq.api.LineFeignClient;
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
import com.njcn.influx.deprecated.InfluxDBPublicParam;
|
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||||
|
import com.njcn.influx.imapper.DataVMapper;
|
||||||
|
import com.njcn.influx.pojo.bo.MeasurementCount;
|
||||||
|
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
|
||||||
import com.njcn.influx.pojo.po.DataV;
|
import com.njcn.influx.pojo.po.DataV;
|
||||||
|
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||||
import com.njcn.influx.utils.InfluxDbUtils;
|
import com.njcn.influx.utils.InfluxDbUtils;
|
||||||
|
import com.njcn.prepare.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.IntegrityService;
|
import com.njcn.prepare.harmonic.service.mysql.line.IntegrityService;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.influxdb.dto.QueryResult;
|
import org.apache.commons.collections4.ListUtils;
|
||||||
import org.influxdb.impl.InfluxDBResultMapper;
|
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.util.ArrayList;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.util.List;
|
||||||
import java.util.*;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -50,80 +51,109 @@ public class IntegrityServiceImpl extends MppServiceImpl<RStatIntegrityDMapper,
|
|||||||
|
|
||||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
|
|
||||||
/*@Override
|
private final DataVMapper dataVMapper;
|
||||||
@Async("asyncExecutor")
|
|
||||||
public String computeDataIntegrity(LineParam lineParam) {
|
// @Override
|
||||||
List<LineDetail> lineDetailList;
|
// @Async("asyncExecutor")
|
||||||
if (CollUtil.isEmpty(lineParam.getLineIds())){
|
// @Deprecated
|
||||||
List<Overlimit> overLimitList = getAllLinesLimitData();
|
// public void dataIntegrity(LineParam lineParam,String startTime,String endTime) {
|
||||||
List<String> lineList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList());
|
// DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
lineDetailList = lineFeignClient.getLineDetail(lineList).getData();
|
// LocalDateTime dateTime = LocalDateTime.parse(startTime,df);
|
||||||
}else {
|
//
|
||||||
lineDetailList = lineFeignClient.getLineDetail(lineParam.getLineIds()).getData();
|
// List<LineDevGetDTO> lineDevGetDTOList = new ArrayList<>();
|
||||||
}
|
// if (CollUtil.isEmpty(lineParam.getLineIds())){
|
||||||
if (CollUtil.isEmpty(lineDetailList)){
|
// Dept dept = deptFeignClient.getRootDept().getData();
|
||||||
return "未查询到监测点详情!";
|
//
|
||||||
}
|
// DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||||
Date dateOut = DateUtil.parse(lineParam.getDataDate());
|
// deptGetLineParam.setDeptId(dept.getId());
|
||||||
List<String> records = new ArrayList<>();
|
// deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName());
|
||||||
for (LineDetail lineDetail :lineDetailList){
|
// List<String> monitorIds = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||||
Map<String, String> tags = new HashMap<>();
|
// lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(monitorIds).getData();
|
||||||
Map<String, Object> fields = new HashMap<>();
|
// }else {
|
||||||
tags.put("line_id",lineDetail.getId());
|
// lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(lineParam.getLineIds()).getData();
|
||||||
fields.put("due",DAY_MINUTE/lineDetail.getTimeInterval());
|
// }
|
||||||
int dataCount = getDataCount(lineDetail.getId(),lineParam.getDataDate());
|
// List<RStatIntegrityD> list = new ArrayList<>();
|
||||||
fields.put("real",dataCount);
|
// for (LineDevGetDTO lineDetail :lineDevGetDTOList){
|
||||||
Point point = influxDbUtils.pointBuilder("pqs_integrity", dateOut.getTime(), TimeUnit.MILLISECONDS,tags, fields);
|
// int dataCount = getDataCount(lineDetail.getPointId(),startTime,endTime);
|
||||||
BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag("line_id", lineDetail.getId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build();
|
// RStatIntegrityD integrityDpo = new RStatIntegrityD();
|
||||||
batchPoints.point(point);
|
// integrityDpo.setTimeId(dateTime);
|
||||||
records.add(batchPoints.lineProtocol());
|
// integrityDpo.setLineIndex(lineDetail.getPointId());
|
||||||
}
|
// integrityDpo.setDueTime(InfluxDBPublicParam.DAY_MINUTE/lineDetail.getInterval());
|
||||||
//InfluxDb入表pqs_integrity
|
// integrityDpo.setRealTime(dataCount);
|
||||||
influxDbUtils.batchInsert(influxDbUtils.getDbName(),"", InfluxDB.ConsistencyLevel.ALL, records);
|
// list.add(integrityDpo);
|
||||||
return "成功!";
|
// }
|
||||||
}
|
// this.saveOrUpdateBatchByMultiId(list,500);
|
||||||
*/
|
// }
|
||||||
|
|
||||||
|
/********************************新算法************************************************/
|
||||||
@Override
|
@Override
|
||||||
@Async("asyncExecutor")
|
@Async("asyncExecutor")
|
||||||
public void dataIntegrity(LineParam lineParam,String startTime,String endTime) {
|
public void dataIntegrity(CalculatedParam calculatedParam) {
|
||||||
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
||||||
LocalDateTime dateTime = LocalDateTime.parse(startTime,df);
|
|
||||||
|
|
||||||
List<LineDevGetDTO> lineDevGetDTOList = new ArrayList<>();
|
|
||||||
if (CollUtil.isEmpty(lineParam.getLineIds())){
|
|
||||||
Dept dept = deptFeignClient.getRootDept().getData();
|
|
||||||
|
|
||||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
|
||||||
deptGetLineParam.setDeptId(dept.getId());
|
|
||||||
deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName());
|
|
||||||
List<String> monitorIds = commTerminalGeneralClient.getRunMonitorIds().getData();
|
|
||||||
lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(monitorIds).getData();
|
|
||||||
}else {
|
|
||||||
lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(lineParam.getLineIds()).getData();
|
|
||||||
}
|
|
||||||
List<RStatIntegrityD> list = new ArrayList<>();
|
List<RStatIntegrityD> list = new ArrayList<>();
|
||||||
for (LineDevGetDTO lineDetail :lineDevGetDTOList){
|
List<String> lineIds = calculatedParam.getIdList();
|
||||||
int dataCount = getDataCount(lineDetail.getPointId(),startTime,endTime);
|
String beginDay = LocalDateTimeUtil.format(
|
||||||
|
LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),
|
||||||
|
DatePattern.NORM_DATETIME_PATTERN
|
||||||
|
);
|
||||||
|
String endDay = LocalDateTimeUtil.format(
|
||||||
|
LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),
|
||||||
|
DatePattern.NORM_DATETIME_PATTERN
|
||||||
|
);
|
||||||
|
//以尺寸100分片
|
||||||
|
List<List<String>> pendingIds = ListUtils.partition(lineIds,100);
|
||||||
|
for (List<String> pendingId : pendingIds) {
|
||||||
|
List<LineDevGetDTO> lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(pendingId).getData();
|
||||||
|
List<MeasurementCount> countList = this.getMeasurementCount(pendingId,beginDay,endDay);
|
||||||
|
list.addAll(
|
||||||
|
lineDevGetDTOList.stream()
|
||||||
|
.map(item -> {
|
||||||
RStatIntegrityD integrityDpo = new RStatIntegrityD();
|
RStatIntegrityD integrityDpo = new RStatIntegrityD();
|
||||||
integrityDpo.setTimeId(dateTime);
|
integrityDpo.setTimeId(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
integrityDpo.setLineIndex(lineDetail.getPointId());
|
integrityDpo.setLineIndex(item.getPointId());
|
||||||
integrityDpo.setDueTime(InfluxDBPublicParam.DAY_MINUTE/lineDetail.getInterval());
|
integrityDpo.setDueTime(InfluxDBTableConstant.DAY_MINUTE / item.getInterval());
|
||||||
integrityDpo.setRealTime(dataCount);
|
integrityDpo.setRealTime(countList.stream()
|
||||||
list.add(integrityDpo);
|
.filter(item2 -> Objects.equals(item.getPointId(), item2.getLineId()))
|
||||||
|
.map(item2 -> (int) Double.parseDouble(item2.getFreq()))
|
||||||
|
.findFirst().orElse(0)
|
||||||
|
);
|
||||||
|
return integrityDpo;
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
this.saveOrUpdateBatchByMultiId(list,500);
|
this.saveOrUpdateBatchByMultiId(list,1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getDataCount(String lineId,String startTime,String endTime){
|
/**
|
||||||
QueryResult sqlResult = influxDbUtils.query("SELECT * FROM data_v WHERE time >= '" + startTime + "' and time <= '" + endTime + "' and line_id = '" + lineId + "' and phasic_type = 'T' and value_type = 'MAX' tz('Asia/Shanghai')");
|
* 获取data_v中各个监测点的数据总数
|
||||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
* @param lineIndex
|
||||||
List<DataV> list = resultMapper.toPOJO(sqlResult, DataV.class);
|
* @param startTime
|
||||||
if (CollectionUtils.isEmpty(list)){
|
* @param endTime
|
||||||
return 0;
|
* @return
|
||||||
} else {
|
*/
|
||||||
return list.size();
|
public List<MeasurementCount> getMeasurementCount(List<String> lineIndex, String startTime, String endTime) {
|
||||||
}
|
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class,MeasurementCount.class);
|
||||||
|
influxQueryWrapper.regular(DataV::getLineId, lineIndex)
|
||||||
|
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
|
||||||
|
.eq(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
|
||||||
|
.count(DataV::getFreq)
|
||||||
|
.groupBy(DataV::getLineId)
|
||||||
|
.between(DataV::getTime, startTime, endTime);
|
||||||
|
return dataVMapper.getMeasurementCount(influxQueryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/********************************新算法结束************************************************/
|
||||||
|
|
||||||
|
// private int getDataCount(String lineId,String startTime,String endTime){
|
||||||
|
// QueryResult sqlResult = influxDbUtils.query("SELECT * FROM data_v WHERE time >= '" + startTime + "' and time <= '" + endTime + "' and line_id = '" + lineId + "' and phasic_type = 'T' and value_type = 'MAX' tz('Asia/Shanghai')");
|
||||||
|
// InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||||
|
// List<DataV> list = resultMapper.toPOJO(sqlResult, DataV.class);
|
||||||
|
// if (CollectionUtils.isEmpty(list)){
|
||||||
|
// return 0;
|
||||||
|
// } else {
|
||||||
|
// return list.size();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -8,6 +8,7 @@ import com.njcn.harmonic.pojo.po.LimitRate;
|
|||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
import com.njcn.influx.utils.InfluxDbUtils;
|
import com.njcn.influx.utils.InfluxDbUtils;
|
||||||
|
import com.njcn.prepare.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatLimitTargetDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatLimitTargetDMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.day.IRStatLimitRateDService;
|
import com.njcn.prepare.harmonic.service.mysql.day.IRStatLimitRateDService;
|
||||||
@@ -89,6 +90,12 @@ public class LimitTargetServiceImpl extends MppServiceImpl<RStatLimitTargetDMapp
|
|||||||
log.info(LocalDateTime.now()+"r_stat_limit_target_d开始执行=======》");
|
log.info(LocalDateTime.now()+"r_stat_limit_target_d开始执行=======》");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void limitTargetData(CalculatedParam calculatedParam) {
|
||||||
|
log.info(LocalDateTime.now()+"r_stat_limit_target_d开始执行=======》");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private List<LimitRate> getLimitRateData(String lineId,String date){
|
private List<LimitRate> getLimitRateData(String lineId,String date){
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT * FROM limit_rate WHERE time >= '").append(date).append(" 00:00:00' and time <= '")
|
sql.append("SELECT * FROM limit_rate WHERE time >= '").append(date).append(" 00:00:00' and time <= '")
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -321,7 +325,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
thsOverRunLog.setSupIndex(thsSupervise.getSupIndex());
|
thsOverRunLog.setSupIndex(thsSupervise.getSupIndex());
|
||||||
thsOverRunLog.setLineIndex(monitor.getId());
|
thsOverRunLog.setLineIndex(monitor.getId());
|
||||||
thsOverRunLog.setName(monitor.getPowerrName() + "_" + monitor.getName() + "_" + DateUtil.today() + "_" + monitor.getId());
|
thsOverRunLog.setName(monitor.getPowerrName() + "_" + monitor.getName() + "_" + DateUtil.today() + "_" + monitor.getId());
|
||||||
thsOverRunLog.setUpdateTime(limitRate.getTime());
|
thsOverRunLog.setUpdateTime(Date.from(limitRate.getTime().atTime(LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault()).toInstant()));
|
||||||
thsOverRunLog.setCreateTime(new Date());
|
thsOverRunLog.setCreateTime(new Date());
|
||||||
List<String> descriptionList = (List) limitBoolMap.get(DESCRIPTION);
|
List<String> descriptionList = (List) limitBoolMap.get(DESCRIPTION);
|
||||||
thsOverRunLog.setDescription(StringUtils.join(descriptionList, ","));
|
thsOverRunLog.setDescription(StringUtils.join(descriptionList, ","));
|
||||||
|
|||||||
@@ -18,6 +18,6 @@ public interface DayDataService {
|
|||||||
* @date 2023/11/09 10:08
|
* @date 2023/11/09 10:08
|
||||||
* @param calculatedParam 查询条件
|
* @param calculatedParam 查询条件
|
||||||
*/
|
*/
|
||||||
void dataToDayHandler(CalculatedParam calculatedParam);
|
void dataToDayHandler(CalculatedParam<?> calculatedParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||||
|
|
||||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
import com.njcn.prepare.bo.CalculatedParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xiaoyao
|
* @author xiaoyao
|
||||||
@@ -9,7 +9,13 @@ import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
|||||||
*/
|
*/
|
||||||
public interface IntegrityService {
|
public interface IntegrityService {
|
||||||
|
|
||||||
//String computeDataIntegrity(LineParam lineParam);
|
// void dataIntegrity(LineParam lineParam,String startTime,String endTime);
|
||||||
|
|
||||||
void dataIntegrity(LineParam lineParam,String startTime,String endTime);
|
/***
|
||||||
|
* 监测点数据完整性_日表
|
||||||
|
* @author xuyang
|
||||||
|
* @date 2023/11/09 10:08
|
||||||
|
* @param calculatedParam 查询条件
|
||||||
|
*/
|
||||||
|
void dataIntegrity(CalculatedParam calculatedParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
//package com.njcn.prepare.harmonic.service.mysql.line;
|
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||||
//
|
|
||||||
//import com.baomidou.mybatisplus.extension.service.IService;
|
import com.njcn.prepare.bo.CalculatedParam;
|
||||||
//import com.njcn.process.pojo.po.LimitRate;
|
|
||||||
//
|
import java.util.List;
|
||||||
///**
|
|
||||||
// * <p>
|
/**
|
||||||
// * 服务类
|
* @author xuyang
|
||||||
// * </p>
|
* @createTime 2023/11/13 10:30
|
||||||
// *
|
*/
|
||||||
// * @author lxp
|
public interface LimitRateService {
|
||||||
// * @since 2023-03-16
|
|
||||||
// */
|
// void limitRate(List<String> indexLists,String startTime,String endTime);
|
||||||
//public interface LimitRateService extends IService<LimitRate> {
|
|
||||||
//
|
void limitRate(CalculatedParam calculatedParam);
|
||||||
//}
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||||
|
|
||||||
|
import com.njcn.prepare.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -14,4 +15,6 @@ public interface LimitTargetService {
|
|||||||
void getLimitTargetData(LineParam lineParam);
|
void getLimitTargetData(LineParam lineParam);
|
||||||
|
|
||||||
void limitTargetData(List<String> indexLists,String startTime,String endTime);
|
void limitTargetData(List<String> indexLists,String startTime,String endTime);
|
||||||
|
|
||||||
|
void limitTargetData(CalculatedParam calculatedParam);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user