算法改造:监测点稳态指标越限次数_日表
This commit is contained in:
@@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@@ -34,8 +34,8 @@ public class RStatLimitRateDPO {
|
||||
*/
|
||||
@MppMultiId
|
||||
@TableField(value = "time_id")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
||||
private Date time;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
|
||||
private LocalDate time;
|
||||
|
||||
/**
|
||||
* 总计算次数
|
||||
|
||||
@@ -190,5 +190,11 @@ public interface InfluxDBTableConstant {
|
||||
*/
|
||||
Integer DAY_MINUTE = 1440;
|
||||
|
||||
/**
|
||||
* 数据是否正常 0:正常 1:异常
|
||||
*/
|
||||
String NORMAL = "0";
|
||||
String UN_NORMAL = "1";
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -34,6 +34,9 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
|
||||
private final RMpPassRateDService rMpPassRateDService;
|
||||
|
||||
private final LimitRateService limitRateService;
|
||||
private final LimitTargetService limitTargetService;
|
||||
|
||||
|
||||
/**
|
||||
* 算法名: 3.3.1.1-----监测点评价
|
||||
@@ -155,7 +158,7 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
|
||||
/********************************************算法负责人:xy***********************************************************/
|
||||
/**
|
||||
* 算法名: 3.4.1.1-----监测点报表_日表
|
||||
* 算法名: 3.4.1.1-----监测点报表_日表((r_stat_data_*_d))
|
||||
*
|
||||
* @author xuyang
|
||||
* @date 2023年11月09日 10:08
|
||||
@@ -170,7 +173,7 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
}
|
||||
|
||||
/**
|
||||
* 算法名: 暂无-----监测点数据完整性_日表
|
||||
* 算法名: 暂无-----监测点数据完整性_日表(r_stat_integrity_d)
|
||||
*
|
||||
* @author xuyang
|
||||
* @date 2023年11月09日 10:08
|
||||
@@ -184,9 +187,35 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
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());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@ import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.common.utils.NjcnDateUtils;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
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 io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -89,10 +90,10 @@ public class LimitrateController extends BaseController {
|
||||
log.info(item+"-->开始执行");
|
||||
startTime = item+" "+"00:00:00";
|
||||
endTime = item+" "+"23:59:59";
|
||||
limitRateService.limitRate(indexLists,startTime,endTime);
|
||||
// limitRateService.limitRate(indexLists,startTime,endTime);
|
||||
}
|
||||
} else {
|
||||
limitRateService.limitRate(indexLists,jobParam.getBeginTime(),jobParam.getEndTime());
|
||||
// limitRateService.limitRate(indexLists,jobParam.getBeginTime(),jobParam.getEndTime());
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -129,7 +130,7 @@ public class SpecialAnalysisIndexOverviewServiceImpl implements SpecialAnalysisI
|
||||
|
||||
|
||||
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)){
|
||||
iCount.getAndIncrement();
|
||||
}
|
||||
|
||||
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.RStatLimitTargetDPO;
|
||||
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.pojo.param.LineParam;
|
||||
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开始执行=======》");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void limitTargetData(CalculatedParam calculatedParam) {
|
||||
log.info(LocalDateTime.now()+"r_stat_limit_target_d开始执行=======》");
|
||||
|
||||
}
|
||||
|
||||
private List<LimitRate> getLimitRateData(String lineId,String date){
|
||||
StringBuilder sql = new StringBuilder();
|
||||
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 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.stream.Collectors;
|
||||
|
||||
@@ -321,7 +325,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
||||
thsOverRunLog.setSupIndex(thsSupervise.getSupIndex());
|
||||
thsOverRunLog.setLineIndex(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());
|
||||
List<String> descriptionList = (List) limitBoolMap.get(DESCRIPTION);
|
||||
thsOverRunLog.setDescription(StringUtils.join(descriptionList, ","));
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
//package com.njcn.prepare.harmonic.service.mysql.line;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.extension.service.IService;
|
||||
//import com.njcn.process.pojo.po.LimitRate;
|
||||
//
|
||||
///**
|
||||
// * <p>
|
||||
// * 服务类
|
||||
// * </p>
|
||||
// *
|
||||
// * @author lxp
|
||||
// * @since 2023-03-16
|
||||
// */
|
||||
//public interface LimitRateService extends IService<LimitRate> {
|
||||
//
|
||||
//}
|
||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xuyang
|
||||
* @createTime 2023/11/13 10:30
|
||||
*/
|
||||
public interface LimitRateService {
|
||||
|
||||
// void limitRate(List<String> indexLists,String startTime,String endTime);
|
||||
|
||||
void limitRate(CalculatedParam calculatedParam);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
|
||||
import java.util.List;
|
||||
@@ -14,4 +15,6 @@ public interface LimitTargetService {
|
||||
void getLimitTargetData(LineParam lineParam);
|
||||
|
||||
void limitTargetData(List<String> indexLists,String startTime,String endTime);
|
||||
|
||||
void limitTargetData(CalculatedParam calculatedParam);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user