算法提交
This commit is contained in:
@@ -3,7 +3,9 @@ package com.njcn.prepare.harmonic.pojo.mysql.po.line;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -14,6 +16,7 @@ import java.util.Date;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@TableName(value = "r_mp_pass_rate_d")
|
||||
public class RMpPassRateDPO {
|
||||
/**
|
||||
@@ -26,7 +29,7 @@ public class RMpPassRateDPO {
|
||||
* 生成数据的时间,每日统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 有效监测时长
|
||||
@@ -52,111 +55,5 @@ public class RMpPassRateDPO {
|
||||
@TableField(value = "flicker_time")
|
||||
private Integer flickerTime;
|
||||
|
||||
/**
|
||||
* 获取监测点ID
|
||||
*
|
||||
* @return measurement_point_id - 监测点ID
|
||||
*/
|
||||
public String getMeasurementPointId() {
|
||||
return measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置监测点ID
|
||||
*
|
||||
* @param measurementPointId 监测点ID
|
||||
*/
|
||||
public void setMeasurementPointId(String measurementPointId) {
|
||||
this.measurementPointId = measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取生成数据的时间,每日统计一次
|
||||
*
|
||||
* @return data_date - 生成数据的时间,每日统计一次
|
||||
*/
|
||||
public Date getDataDate() {
|
||||
return dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置生成数据的时间,每日统计一次
|
||||
*
|
||||
* @param dataDate 生成数据的时间,每日统计一次
|
||||
*/
|
||||
public void setDataDate(Date dataDate) {
|
||||
this.dataDate = dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取有效监测时长
|
||||
*
|
||||
* @return effective_time - 有效监测时长
|
||||
*/
|
||||
public Integer getEffectiveTime() {
|
||||
return effectiveTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置有效监测时长
|
||||
*
|
||||
* @param effectiveTime 有效监测时长
|
||||
*/
|
||||
public void setEffectiveTime(Integer effectiveTime) {
|
||||
this.effectiveTime = effectiveTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取频率偏差超标时长
|
||||
*
|
||||
* @return freq_time - 频率偏差超标时长
|
||||
*/
|
||||
public Integer getFreqTime() {
|
||||
return freqTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置频率偏差超标时长
|
||||
*
|
||||
* @param freqTime 频率偏差超标时长
|
||||
*/
|
||||
public void setFreqTime(Integer freqTime) {
|
||||
this.freqTime = freqTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取电压偏差超标时长
|
||||
*
|
||||
* @return v_dev_time - 电压偏差超标时长
|
||||
*/
|
||||
public Integer getvDevTime() {
|
||||
return vDevTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置电压偏差超标时长
|
||||
*
|
||||
* @param vDevTime 电压偏差超标时长
|
||||
*/
|
||||
public void setvDevTime(Integer vDevTime) {
|
||||
this.vDevTime = vDevTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取闪变超标时长
|
||||
*
|
||||
* @return flicker_time - 闪变超标时长
|
||||
*/
|
||||
public Integer getFlickerTime() {
|
||||
return flickerTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置闪变超标时长
|
||||
*
|
||||
* @param flickerTime 闪变超标时长
|
||||
*/
|
||||
public void setFlickerTime(Integer flickerTime) {
|
||||
this.flickerTime = flickerTime;
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,9 @@ package com.njcn.prepare.harmonic.pojo.mysql.po.line;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -14,6 +16,7 @@ import java.util.Date;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@TableName(value = "r_mp_pass_rate_m")
|
||||
public class RMpPassRateMPO {
|
||||
/**
|
||||
@@ -26,7 +29,7 @@ public class RMpPassRateMPO {
|
||||
* 生成数据的时间,每月统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 频率偏差合格率
|
||||
@@ -46,93 +49,5 @@ public class RMpPassRateMPO {
|
||||
@TableField(value = "flicker_pass_rate")
|
||||
private Double flickerPassRate;
|
||||
|
||||
/**
|
||||
* 获取监测点ID
|
||||
*
|
||||
* @return measurement_point_id - 监测点ID
|
||||
*/
|
||||
public String getMeasurementPointId() {
|
||||
return measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置监测点ID
|
||||
*
|
||||
* @param measurementPointId 监测点ID
|
||||
*/
|
||||
public void setMeasurementPointId(String measurementPointId) {
|
||||
this.measurementPointId = measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取生成数据的时间,每月统计一次
|
||||
*
|
||||
* @return data_date - 生成数据的时间,每月统计一次
|
||||
*/
|
||||
public Date getDataDate() {
|
||||
return dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置生成数据的时间,每月统计一次
|
||||
*
|
||||
* @param dataDate 生成数据的时间,每月统计一次
|
||||
*/
|
||||
public void setDataDate(Date dataDate) {
|
||||
this.dataDate = dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取频率偏差合格率
|
||||
*
|
||||
* @return freq_pass_rate - 频率偏差合格率
|
||||
*/
|
||||
public Double getFreqPassRate() {
|
||||
return freqPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置频率偏差合格率
|
||||
*
|
||||
* @param freqPassRate 频率偏差合格率
|
||||
*/
|
||||
public void setFreqPassRate(Double freqPassRate) {
|
||||
this.freqPassRate = freqPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取电压偏差合格率
|
||||
*
|
||||
* @return v_dev_pass_rate - 电压偏差合格率
|
||||
*/
|
||||
public Double getvDevPassRate() {
|
||||
return vDevPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置电压偏差合格率
|
||||
*
|
||||
* @param vDevPassRate 电压偏差合格率
|
||||
*/
|
||||
public void setvDevPassRate(Double vDevPassRate) {
|
||||
this.vDevPassRate = vDevPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取闪变合格率
|
||||
*
|
||||
* @return flicker_pass_rate - 闪变合格率
|
||||
*/
|
||||
public Double getFlickerPassRate() {
|
||||
return flickerPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置闪变合格率
|
||||
*
|
||||
* @param flickerPassRate 闪变合格率
|
||||
*/
|
||||
public void setFlickerPassRate(Double flickerPassRate) {
|
||||
this.flickerPassRate = flickerPassRate;
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,9 @@ package com.njcn.prepare.harmonic.pojo.mysql.po.line;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -15,6 +17,7 @@ import java.util.Date;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@TableName(value = "r_mp_pass_rate_q")
|
||||
@Data
|
||||
public class RMpPassRateQPO {
|
||||
/**
|
||||
* 监测点ID
|
||||
@@ -26,7 +29,7 @@ public class RMpPassRateQPO {
|
||||
* 生成数据的时间,每季统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 频率偏差合格率
|
||||
@@ -46,93 +49,5 @@ public class RMpPassRateQPO {
|
||||
@TableField(value = "flicker_pass_rate")
|
||||
private Double flickerPassRate;
|
||||
|
||||
/**
|
||||
* 获取监测点ID
|
||||
*
|
||||
* @return measurement_point_id - 监测点ID
|
||||
*/
|
||||
public String getMeasurementPointId() {
|
||||
return measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置监测点ID
|
||||
*
|
||||
* @param measurementPointId 监测点ID
|
||||
*/
|
||||
public void setMeasurementPointId(String measurementPointId) {
|
||||
this.measurementPointId = measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取生成数据的时间,每季统计一次
|
||||
*
|
||||
* @return data_date - 生成数据的时间,每季统计一次
|
||||
*/
|
||||
public Date getDataDate() {
|
||||
return dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置生成数据的时间,每季统计一次
|
||||
*
|
||||
* @param dataDate 生成数据的时间,每季统计一次
|
||||
*/
|
||||
public void setDataDate(Date dataDate) {
|
||||
this.dataDate = dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取频率偏差合格率
|
||||
*
|
||||
* @return freq_pass_rate - 频率偏差合格率
|
||||
*/
|
||||
public Double getFreqPassRate() {
|
||||
return freqPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置频率偏差合格率
|
||||
*
|
||||
* @param freqPassRate 频率偏差合格率
|
||||
*/
|
||||
public void setFreqPassRate(Double freqPassRate) {
|
||||
this.freqPassRate = freqPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取电压偏差合格率
|
||||
*
|
||||
* @return v_dev_pass_rate - 电压偏差合格率
|
||||
*/
|
||||
public Double getvDevPassRate() {
|
||||
return vDevPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置电压偏差合格率
|
||||
*
|
||||
* @param vDevPassRate 电压偏差合格率
|
||||
*/
|
||||
public void setvDevPassRate(Double vDevPassRate) {
|
||||
this.vDevPassRate = vDevPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取闪变合格率
|
||||
*
|
||||
* @return flicker_pass_rate - 闪变合格率
|
||||
*/
|
||||
public Double getFlickerPassRate() {
|
||||
return flickerPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置闪变合格率
|
||||
*
|
||||
* @param flickerPassRate 闪变合格率
|
||||
*/
|
||||
public void setFlickerPassRate(Double flickerPassRate) {
|
||||
this.flickerPassRate = flickerPassRate;
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,9 @@ package com.njcn.prepare.harmonic.pojo.mysql.po.line;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -14,6 +16,7 @@ import java.util.Date;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@TableName(value = "r_mp_pass_rate_y")
|
||||
public class RMpPassRateYPO {
|
||||
/**
|
||||
@@ -26,7 +29,7 @@ public class RMpPassRateYPO {
|
||||
* 生成数据的时间,每年统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 频率偏差合格率
|
||||
@@ -46,93 +49,4 @@ public class RMpPassRateYPO {
|
||||
@TableField(value = "flicker_pass_rate")
|
||||
private Double flickerPassRate;
|
||||
|
||||
/**
|
||||
* 获取监测点ID
|
||||
*
|
||||
* @return measurement_point_id - 监测点ID
|
||||
*/
|
||||
public String getMeasurementPointId() {
|
||||
return measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置监测点ID
|
||||
*
|
||||
* @param measurementPointId 监测点ID
|
||||
*/
|
||||
public void setMeasurementPointId(String measurementPointId) {
|
||||
this.measurementPointId = measurementPointId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取生成数据的时间,每年统计一次
|
||||
*
|
||||
* @return data_date - 生成数据的时间,每年统计一次
|
||||
*/
|
||||
public Date getDataDate() {
|
||||
return dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置生成数据的时间,每年统计一次
|
||||
*
|
||||
* @param dataDate 生成数据的时间,每年统计一次
|
||||
*/
|
||||
public void setDataDate(Date dataDate) {
|
||||
this.dataDate = dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取频率偏差合格率
|
||||
*
|
||||
* @return freq_pass_rate - 频率偏差合格率
|
||||
*/
|
||||
public Double getFreqPassRate() {
|
||||
return freqPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置频率偏差合格率
|
||||
*
|
||||
* @param freqPassRate 频率偏差合格率
|
||||
*/
|
||||
public void setFreqPassRate(Double freqPassRate) {
|
||||
this.freqPassRate = freqPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取电压偏差合格率
|
||||
*
|
||||
* @return v_dev_pass_rate - 电压偏差合格率
|
||||
*/
|
||||
public Double getvDevPassRate() {
|
||||
return vDevPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置电压偏差合格率
|
||||
*
|
||||
* @param vDevPassRate 电压偏差合格率
|
||||
*/
|
||||
public void setvDevPassRate(Double vDevPassRate) {
|
||||
this.vDevPassRate = vDevPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取闪变合格率
|
||||
*
|
||||
* @return flicker_pass_rate - 闪变合格率
|
||||
*/
|
||||
public Double getFlickerPassRate() {
|
||||
return flickerPassRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置闪变合格率
|
||||
*
|
||||
* @param flickerPassRate 闪变合格率
|
||||
*/
|
||||
public void setFlickerPassRate(Double flickerPassRate) {
|
||||
this.flickerPassRate = flickerPassRate;
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -31,7 +32,7 @@ public class RDnOperatingIndexMPO {
|
||||
* 时间
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 监测点类型
|
||||
|
||||
@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
import org.apache.tomcat.jni.Local;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -29,7 +31,7 @@ public class RDnOperatingQPO {
|
||||
* 时间
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 监测点类型
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -29,7 +30,7 @@ public class RDnOperatingYPO {
|
||||
* 时间
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 监测点类型
|
||||
|
||||
@@ -155,8 +155,8 @@ public class ExecutionCenter extends BaseController {
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("单位监测点算法执行链")
|
||||
@PostMapping("/OrgPointExecutor")
|
||||
public void OrgPointExecutor(@RequestBody BaseParam baseParam) {
|
||||
@PostMapping("/orgPointExecutor")
|
||||
public void orgPointExecutor(@RequestBody BaseParam baseParam) {
|
||||
String methodDescribe = getMethodDescribe("OrgPointExecutor");
|
||||
//手动判断参数是否合法,
|
||||
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = judgeExecuteParam(baseParam);
|
||||
@@ -180,12 +180,12 @@ public class ExecutionCenter extends BaseController {
|
||||
startDate = DateUtil.offsetDay(startDate, 1);
|
||||
}
|
||||
calculatedParam.setDataDate(DateUtil.format(startDate, DatePattern.NORM_DATE_PATTERN));
|
||||
liteflowResponse = flowExecutor.execute2Resp("measurement_point", calculatedParam);
|
||||
liteflowResponse = flowExecutor.execute2Resp("org_point", calculatedParam);
|
||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
}
|
||||
} else {
|
||||
//非补招
|
||||
liteflowResponse = flowExecutor.execute2Resp("measurement_point", calculatedParam);
|
||||
liteflowResponse = flowExecutor.execute2Resp("org_point", calculatedParam);
|
||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,10 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
private final ROperatingMonitorService rOperatingMonitorService;
|
||||
|
||||
private final ROperatingMonitorMService rOperatingMonitorMService;
|
||||
|
||||
private final RMpPassRateDService rMpPassRateDService;
|
||||
|
||||
|
||||
/**
|
||||
* 算法名: 3.3.1.1-----监测点评价
|
||||
*
|
||||
@@ -129,4 +133,40 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
}
|
||||
}
|
||||
}
|
||||
/***
|
||||
*3.4.1.5. 监测点稳态指标合格率
|
||||
*
|
||||
*
|
||||
*/
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rMpPassRate", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean processRMpPassRateAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rMpPassRate", nodeType = NodeTypeEnum.COMMON)
|
||||
public void processRMpPassRateProcess(NodeComponent bindCmp) {
|
||||
String tag = bindCmp.getTag();
|
||||
CalculatedParam calculatedParam = bindCmp.getRequestData();
|
||||
if (tag.equalsIgnoreCase("r_mp_pass_rate_d")) {
|
||||
//日表
|
||||
rMpPassRateDService.handleDay(calculatedParam);
|
||||
} else if (tag.equalsIgnoreCase("r_mp_pass_rate_m")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//月表
|
||||
rMpPassRateDService.handleMonth(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_mp_pass_rate_q")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//季表
|
||||
rMpPassRateDService.handleQtr(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_mp_pass_rate_y")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//年表
|
||||
rMpPassRateDService.handleYear(calculatedParam);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.njcn.prepare.executor;
|
||||
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.ROperatingIndexService;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||
import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/11/10 10:39【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@LiteflowComponent
|
||||
@RequiredArgsConstructor
|
||||
public class OrgPointExecutor extends BaseExecutor{
|
||||
|
||||
private final ROperatingIndexService rOperatingIndexService;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* 3.3.2. 单位标数据质量
|
||||
*/
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rOperatingIndex", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean processOperatingIndexAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rOperatingIndex", nodeType = NodeTypeEnum.COMMON)
|
||||
public void processOperatingIndexProcess(NodeComponent bindCmp) {
|
||||
String tag = bindCmp.getTag();
|
||||
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||
if (tag.equalsIgnoreCase("r_operating_index_m")) {
|
||||
//日表
|
||||
rOperatingIndexService.handleMonth(calculatedParam);
|
||||
} else if (tag.equalsIgnoreCase("r_operating_index_q")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//月表
|
||||
rOperatingIndexService.handleQtr(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_operating_index_y")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//月表
|
||||
rOperatingIndexService.handleYear(calculatedParam);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
package com.njcn.prepare.harmonic.controller.line;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RmpPassRateService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author qijian
|
||||
* @date 2022/10/26
|
||||
* 数据是否异常
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/RmpPassRate")
|
||||
@Api(tags = "监测点稳态指标合格率")
|
||||
@AllArgsConstructor
|
||||
@Deprecated
|
||||
public class RmpPassRateController extends BaseController {
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
private final RmpPassRateService rmpPassRateService;
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/RmpPassRateD")
|
||||
@ApiOperation("监测点稳态指标合格率-日计算")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<Boolean> rmpPassRateDHandler(@RequestBody @Validated LineParam lineParam) {
|
||||
log.info(LocalDateTime.now()+"rmpPassRateDHandler开始执行");
|
||||
String methodDescribe = getMethodDescribe("rmpPassRateDHandler");
|
||||
Boolean result = true;
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (lineParam.getLineIds ())){
|
||||
indexLists = lineFeignClient.getLineList ( ).getData ( );
|
||||
}else{
|
||||
indexLists = lineParam.getLineIds ();
|
||||
}
|
||||
rmpPassRateService.rmpPassRateDHandler (lineParam);
|
||||
if (result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,6 +31,7 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -323,7 +324,7 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
|
||||
ROperatingIndexMPO rOperatingIndexMPO = new ROperatingIndexMPO();
|
||||
rOperatingIndexMPO.setOrgNo(orgid);
|
||||
rOperatingIndexMPO.setDataDate(DateUtil.parse(primaryGridParam.getDataDate()));
|
||||
rOperatingIndexMPO.setDataDate(LocalDate.parse(primaryGridParam.getDataDate()));
|
||||
rOperatingIndexMPO.setMeasurementRunPoints(measurement_run_points);
|
||||
rOperatingIndexMPO.setTransitMeasurementPoints(transit_measurement_points);
|
||||
rOperatingIndexMPO.setEffectiveAccessMeasurementCount(effective_access_measurement_count);
|
||||
@@ -528,7 +529,7 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
|
||||
ROperatingIndexQPO rOperatingIndexQPO = new ROperatingIndexQPO();
|
||||
rOperatingIndexQPO.setOrgNo(orgid);
|
||||
rOperatingIndexQPO.setDataDate(DateUtil.parse(primaryGridParam.getDataDate()));
|
||||
rOperatingIndexQPO.setDataDate(LocalDate.parse(primaryGridParam.getDataDate()));
|
||||
rOperatingIndexQPO.setMeasurementRunPoints(measurement_run_points);
|
||||
rOperatingIndexQPO.setTransitMeasurementPoints(transit_measurement_points);
|
||||
rOperatingIndexQPO.setEffectiveAccessMeasurementCount(effective_access_measurement_count);
|
||||
@@ -597,7 +598,7 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
|
||||
ROperatingIndexYPO rOperatingIndexYPO = new ROperatingIndexYPO();
|
||||
rOperatingIndexYPO.setOrgNo(orgid);
|
||||
rOperatingIndexYPO.setDataDate(DateUtil.parse(primaryGridParam.getDataDate()));
|
||||
rOperatingIndexYPO.setDataDate(LocalDate.parse(primaryGridParam.getDataDate()));
|
||||
rOperatingIndexYPO.setMeasurementRunPoints(measurement_run_points);
|
||||
rOperatingIndexYPO.setTransitMeasurementPoints(transit_measurement_points);
|
||||
rOperatingIndexYPO.setEffectiveAccessMeasurementCount(effective_access_measurement_count);
|
||||
|
||||
@@ -182,7 +182,7 @@ public class RStatOrgServiceImpl implements RStatOrgService {
|
||||
RMpPassRateYPO rMpPassRateYPO = rMpPassRateYMapper.selectOne(rMpPassRateYPOQueryWrapper);
|
||||
rStatOrgYPO.setFreqPassRate(rMpPassRateYPO.getFreqPassRate());
|
||||
rStatOrgYPO.setFlickerPassRate(rMpPassRateYPO.getFlickerPassRate());
|
||||
rStatOrgYPO.setVDevPassRate(rMpPassRateYPO.getvDevPassRate());
|
||||
rStatOrgYPO.setVDevPassRate(rMpPassRateYPO.getVDevPassRate());
|
||||
|
||||
|
||||
|
||||
@@ -302,7 +302,7 @@ public class RStatOrgServiceImpl implements RStatOrgService {
|
||||
RMpPassRateYPO rMpPassRateYPO = rMpPassRateYMapper.selectOne(rMpPassRateYPOQueryWrapper);
|
||||
rStatOrgYPO.setFreqPassRate(rMpPassRateYPO.getFreqPassRate());
|
||||
rStatOrgYPO.setFlickerPassRate(rMpPassRateYPO.getFlickerPassRate());
|
||||
rStatOrgYPO.setVDevPassRate(rMpPassRateYPO.getvDevPassRate());
|
||||
rStatOrgYPO.setVDevPassRate(rMpPassRateYPO.getVDevPassRate());
|
||||
|
||||
|
||||
|
||||
@@ -459,7 +459,7 @@ public class RStatOrgServiceImpl implements RStatOrgService {
|
||||
RMpPassRateQPO rMpPassRateQPO = rMpPassRateQMapper.selectOne(rMpPassRateQPOQueryWrapper);
|
||||
rStatOrgQPO.setFreqPassRate(rMpPassRateQPO.getFreqPassRate());
|
||||
rStatOrgQPO.setFlickerPassRate(rMpPassRateQPO.getFlickerPassRate());
|
||||
rStatOrgQPO.setVDevPassRate(rMpPassRateQPO.getvDevPassRate());
|
||||
rStatOrgQPO.setVDevPassRate(rMpPassRateQPO.getVDevPassRate());
|
||||
|
||||
|
||||
|
||||
@@ -580,7 +580,7 @@ public class RStatOrgServiceImpl implements RStatOrgService {
|
||||
RMpPassRateQPO rMpPassRateQPO = rMpPassRateQMapper.selectOne(rMpPassRateQPOQueryWrapper);
|
||||
rStatOrgQPO.setFreqPassRate(rMpPassRateQPO.getFreqPassRate());
|
||||
rStatOrgQPO.setFlickerPassRate(rMpPassRateQPO.getFlickerPassRate());
|
||||
rStatOrgQPO.setVDevPassRate(rMpPassRateQPO.getvDevPassRate());
|
||||
rStatOrgQPO.setVDevPassRate(rMpPassRateQPO.getVDevPassRate());
|
||||
|
||||
|
||||
|
||||
@@ -732,7 +732,7 @@ public class RStatOrgServiceImpl implements RStatOrgService {
|
||||
// if (!Objects.isNull(rMpPassRateMPO)){
|
||||
rStatOrgMPO.setFreqPassRate(rMpPassRateMPO.getFreqPassRate());
|
||||
rStatOrgMPO.setFlickerPassRate(rMpPassRateMPO.getFlickerPassRate());
|
||||
rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getvDevPassRate());
|
||||
rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getVDevPassRate());
|
||||
// }
|
||||
|
||||
/*11、日均监测到暂态指标的监测点数*/
|
||||
@@ -843,7 +843,7 @@ public class RStatOrgServiceImpl implements RStatOrgService {
|
||||
RMpPassRateMPO rMpPassRateMPO = rMpPassRateMMapper.selectOne(rMpPassRateMPOQueryWrapper);
|
||||
rStatOrgMPO.setFreqPassRate(rMpPassRateMPO.getFreqPassRate());
|
||||
rStatOrgMPO.setFlickerPassRate(rMpPassRateMPO.getFlickerPassRate());
|
||||
rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getvDevPassRate());
|
||||
rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getVDevPassRate());
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +1,29 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.commApi.CommLineClient;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailMPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD;
|
||||
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpPartHarmonicDetailDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpPassRateDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpSurplusHarmonicDetailDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateMPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateQPO;
|
||||
@@ -21,13 +31,15 @@ import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateYPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.*;
|
||||
import com.njcn.prepare.harmonic.utils.PublicUtil;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
@@ -40,7 +52,7 @@ import java.util.Objects;
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper, RMpPassRateDPO> implements RMpPassRateDService {
|
||||
|
||||
private final CommLineClient commLineClient;
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService;
|
||||
private final RMpPartHarmonicDetailDMapper rMpPartHarmonicDetailDMapper;
|
||||
@@ -52,6 +64,197 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void handleDay(CalculatedParam calculatedParam) {
|
||||
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN);
|
||||
List<List<String>> pendingIds = ListUtils.partition(calculatedParam.getIdList(), 1000);
|
||||
LocalDateTime begin = LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDateTime end = LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = new ArrayList<> ( );
|
||||
QueryWrapper<RMpMonitorEvaluateDPO> rMpMonitorEvaluateDPOQueryWrapper = new QueryWrapper<>( );
|
||||
|
||||
QueryWrapper<RMpPartHarmonicDetailD> queryWrapper = new QueryWrapper<>( );
|
||||
QueryWrapper<RMpSurplusHarmonicDetailD> surplusHarmonicDetailDQueryWrapper = new QueryWrapper<>( );
|
||||
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
|
||||
List<LineDTO> lineDTOList = commLineClient.getLineDetailBatch(pendingId).getData();
|
||||
for (LineDTO lineDTO : lineDTOList) {
|
||||
Integer statisticalInterval = lineDTO.getTimeInterval ();
|
||||
|
||||
rMpMonitorEvaluateDPOQueryWrapper.clear ();
|
||||
rMpMonitorEvaluateDPOQueryWrapper.select ("effective_minute_count").
|
||||
eq ("measurement_point_id", lineDTO.getLineId()).
|
||||
eq ("data_date", calculatedParam.getDataDate ( ));
|
||||
RMpMonitorEvaluateDPO one = rMpMonitorEvaluateDService.getOne (rMpMonitorEvaluateDPOQueryWrapper);
|
||||
if (Objects.isNull(one)) {
|
||||
return;
|
||||
}
|
||||
queryWrapper.clear ( );
|
||||
queryWrapper.select ("freq_times", "v_dev_times").
|
||||
eq ("measurement_point_id", lineDTO.getLineId()).
|
||||
eq ("data_date", calculatedParam.getDataDate ( ));
|
||||
RMpPartHarmonicDetailD rMpPartHarmonicDetailD = rMpPartHarmonicDetailDMapper.selectOne (queryWrapper);
|
||||
if (Objects.isNull(rMpPartHarmonicDetailD)) {
|
||||
return;
|
||||
}
|
||||
surplusHarmonicDetailDQueryWrapper.clear ( );
|
||||
surplusHarmonicDetailDQueryWrapper.select ("flicker_times").
|
||||
eq ("measurement_point_id", lineDTO.getLineId()).
|
||||
eq ("data_date", calculatedParam.getDataDate ( ));
|
||||
RMpSurplusHarmonicDetailD rMpSurplusHarmonicDetailD = rMpSurplusHarmonicDetailDMapper.selectOne (surplusHarmonicDetailDQueryWrapper);
|
||||
if (Objects.isNull(rMpSurplusHarmonicDetailD)) {
|
||||
return;
|
||||
}
|
||||
RMpPassRateDPO rMpPassRateDPO = new RMpPassRateDPO ( );
|
||||
rMpPassRateDPO.setMeasurementPointId (lineDTO.getLineId());
|
||||
rMpPassRateDPO.setDataDate (localDate);
|
||||
rMpPassRateDPO.setEffectiveTime (statisticalInterval *one.getEffectiveMinuteCount ());
|
||||
rMpPassRateDPO.setFreqTime (statisticalInterval * rMpPartHarmonicDetailD.getFreqTimes ( ));
|
||||
rMpPassRateDPO.setVDevTime (statisticalInterval * rMpPartHarmonicDetailD.getVDevTimes ( ));
|
||||
rMpPassRateDPO.setFlickerTime (2*60* rMpSurplusHarmonicDetailD.getFlickerTimes ( ));
|
||||
rMpPassRateDPOList.add (rMpPassRateDPO);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
this.saveOrUpdateBatchByMultiId(rMpPassRateDPOList, 500);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMonth(CalculatedParam calculatedParam) {
|
||||
List<RMpPassRateMPO> rMpPassRateMPOList = new ArrayList<> ( );
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
|
||||
//以尺寸1000分片
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds, 1000);
|
||||
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN);
|
||||
|
||||
QueryWrapper<RMpPassRateDPO> queryWrapper = new QueryWrapper<> ();
|
||||
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
queryWrapper.clear();
|
||||
queryWrapper.in ("measurement_point_id", pendingId).
|
||||
between("data_date",begin,end);
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
|
||||
return;
|
||||
}
|
||||
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
|
||||
collect1.forEach((k,v)->{
|
||||
RMpPassRateMPO rMpPassRateMPO = new RMpPassRateMPO();
|
||||
rMpPassRateMPO.setMeasurementPointId (k);
|
||||
rMpPassRateMPO.setDataDate (localDate);
|
||||
int sumEffectiveTime = v.stream ( ).mapToInt (RMpPassRateDPO::getEffectiveTime).sum ( );
|
||||
int sumFreqTime = v.stream ( ).mapToInt (RMpPassRateDPO::getFreqTime).sum ( );
|
||||
int sumDevTime = v.stream ( ).mapToInt (RMpPassRateDPO::getVDevTime).sum ( );
|
||||
int sumFlickerTime = v.stream ( ).mapToInt (RMpPassRateDPO::getFlickerTime).sum ( );
|
||||
|
||||
rMpPassRateMPO.setFreqPassRate (calculatePassRate(sumEffectiveTime,sumFreqTime));
|
||||
rMpPassRateMPO.setVDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateMPO.setFlickerPassRate (calculatePassRate(sumEffectiveTime,sumFlickerTime));
|
||||
rMpPassRateMPOList.add (rMpPassRateMPO);
|
||||
});
|
||||
}
|
||||
|
||||
rMpPassRateMService.saveOrUpdateBatchByMultiId (rMpPassRateMPOList, 500);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleQtr(CalculatedParam calculatedParam) {
|
||||
|
||||
List<RMpPassRateQPO> rMpPassRateQPOList = new ArrayList<> ( );
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
|
||||
//以尺寸1000分片
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds, 1000);
|
||||
DateTime begin = DateUtil.beginOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN);
|
||||
|
||||
QueryWrapper<RMpPassRateDPO> queryWrapper = new QueryWrapper<> ();
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
queryWrapper.clear();
|
||||
queryWrapper.in ("measurement_point_id", pendingId).
|
||||
between("data_date",begin,end);
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
|
||||
return;
|
||||
}
|
||||
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
|
||||
collect1.forEach((k,v)->{
|
||||
RMpPassRateQPO rMpPassRateQPO = new RMpPassRateQPO();
|
||||
rMpPassRateQPO.setMeasurementPointId (k);
|
||||
rMpPassRateQPO.setDataDate (localDate );
|
||||
int sumEffectiveTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getEffectiveTime).sum ( );
|
||||
int sumFreqTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFreqTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getVDevTime).sum ( );
|
||||
int sumFlickerTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFlickerTime).sum ( );
|
||||
|
||||
rMpPassRateQPO.setFreqPassRate (calculatePassRate(sumEffectiveTime,sumFreqTime));
|
||||
rMpPassRateQPO.setVDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateQPO.setFlickerPassRate (calculatePassRate(sumEffectiveTime,sumFlickerTime));
|
||||
rMpPassRateQPOList.add (rMpPassRateQPO);
|
||||
});
|
||||
|
||||
};
|
||||
rMpPassRateQService.saveOrUpdateBatchByMultiId (rMpPassRateQPOList, 500);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleYear(CalculatedParam calculatedParam) {
|
||||
List<RMpPassRateYPO> rMpPassRateYPOList = new ArrayList<> ( );
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
|
||||
//以尺寸1000分片
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds, 1000);
|
||||
DateTime begin = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN);
|
||||
QueryWrapper<RMpPassRateDPO> queryWrapper = new QueryWrapper<> ();
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
queryWrapper.clear();
|
||||
queryWrapper.in ("measurement_point_id", pendingId).
|
||||
between("data_date",begin,end);
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
|
||||
return;
|
||||
}
|
||||
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
|
||||
collect1.forEach((k,v)->{
|
||||
RMpPassRateYPO rMpPassRateYPO = new RMpPassRateYPO();
|
||||
rMpPassRateYPO.setMeasurementPointId (k);
|
||||
rMpPassRateYPO.setDataDate (localDate);
|
||||
int sumEffectiveTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getEffectiveTime).sum ( );
|
||||
int sumFreqTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFreqTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getVDevTime).sum ( );
|
||||
int sumFlickerTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFlickerTime).sum ( );
|
||||
|
||||
rMpPassRateYPO.setFreqPassRate (calculatePassRate(sumEffectiveTime,sumFreqTime));
|
||||
rMpPassRateYPO.setVDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateYPO.setFlickerPassRate (calculatePassRate(sumEffectiveTime,sumFlickerTime));
|
||||
rMpPassRateYPOList.add (rMpPassRateYPO);
|
||||
});
|
||||
|
||||
};
|
||||
rMpPassRateYService.saveOrUpdateBatchByMultiId (rMpPassRateYPOList, 500);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**---------------------------------------------------------------------------------------------------------------------------------**/
|
||||
|
||||
|
||||
@Deprecated
|
||||
public void passRateHandlerD(LineParam lineParam) {
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
String dataDate = lineParam.getDataDate ();
|
||||
@@ -91,10 +294,10 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
}
|
||||
RMpPassRateDPO rMpPassRateDPO = new RMpPassRateDPO ( );
|
||||
rMpPassRateDPO.setMeasurementPointId (temp);
|
||||
rMpPassRateDPO.setDataDate (date);
|
||||
rMpPassRateDPO.setDataDate (LocalDate.parse(dataDate));
|
||||
rMpPassRateDPO.setEffectiveTime (statisticalInterval *one.getEffectiveMinuteCount ());
|
||||
rMpPassRateDPO.setFreqTime (statisticalInterval * rMpPartHarmonicDetailD.getFreqTimes ( ));
|
||||
rMpPassRateDPO.setvDevTime (statisticalInterval * rMpPartHarmonicDetailD.getVDevTimes ( ));
|
||||
rMpPassRateDPO.setVDevTime (statisticalInterval * rMpPartHarmonicDetailD.getVDevTimes ( ));
|
||||
rMpPassRateDPO.setFlickerTime (statisticalInterval * rMpSurplusHarmonicDetailD.getFlickerTimes ( ));
|
||||
|
||||
rMpPassRateDPOList.add (rMpPassRateDPO);
|
||||
@@ -122,7 +325,7 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private void passRateHandlerY(LineParam lineParam) {
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
String dataDate = lineParam.getBeginTime ();
|
||||
@@ -136,20 +339,20 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
RMpPassRateYPO rMpPassRateYPO = new RMpPassRateYPO();
|
||||
rMpPassRateYPO.setMeasurementPointId (temp);
|
||||
rMpPassRateYPO.setDataDate (date);
|
||||
rMpPassRateYPO.setDataDate (LocalDate.parse(dataDate));
|
||||
int sumEffectiveTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getEffectiveTime).sum ( );
|
||||
int sumFreqTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFreqTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getvDevTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getVDevTime).sum ( );
|
||||
int sumFlickerTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFlickerTime).sum ( );
|
||||
|
||||
rMpPassRateYPO.setFreqPassRate (calculatePassRate(sumEffectiveTime,sumFreqTime));
|
||||
rMpPassRateYPO.setvDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateYPO.setVDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateYPO.setFlickerPassRate (calculatePassRate(sumEffectiveTime,sumFlickerTime));
|
||||
rMpPassRateYPOList.add (rMpPassRateYPO);
|
||||
});
|
||||
rMpPassRateYService.saveOrUpdateBatchByMultiId (rMpPassRateYPOList, 500);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private void passRateHandlerQ(LineParam lineParam) {
|
||||
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
@@ -164,20 +367,20 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
RMpPassRateQPO rMpPassRateQPO = new RMpPassRateQPO();
|
||||
rMpPassRateQPO.setMeasurementPointId (temp);
|
||||
rMpPassRateQPO.setDataDate (date);
|
||||
rMpPassRateQPO.setDataDate (LocalDate.parse(dataDate) );
|
||||
int sumEffectiveTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getEffectiveTime).sum ( );
|
||||
int sumFreqTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFreqTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getvDevTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getVDevTime).sum ( );
|
||||
int sumFlickerTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFlickerTime).sum ( );
|
||||
|
||||
rMpPassRateQPO.setFreqPassRate (calculatePassRate(sumEffectiveTime,sumFreqTime));
|
||||
rMpPassRateQPO.setvDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateQPO.setVDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateQPO.setFlickerPassRate (calculatePassRate(sumEffectiveTime,sumFlickerTime));
|
||||
rMpPassRateQPOList.add (rMpPassRateQPO);
|
||||
});
|
||||
rMpPassRateQService.saveOrUpdateBatchByMultiId (rMpPassRateQPOList, 500);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private void passRateHandlerM(LineParam lineParam) {
|
||||
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
@@ -192,14 +395,14 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
RMpPassRateMPO rMpPassRateMPO = new RMpPassRateMPO();
|
||||
rMpPassRateMPO.setMeasurementPointId (temp);
|
||||
rMpPassRateMPO.setDataDate (date);
|
||||
rMpPassRateMPO.setDataDate (LocalDate.parse(dataDate));
|
||||
int sumEffectiveTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getEffectiveTime).sum ( );
|
||||
int sumFreqTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFreqTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getvDevTime).sum ( );
|
||||
int sumDevTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getVDevTime).sum ( );
|
||||
int sumFlickerTime = rMpPassRateDPOList.stream ( ).mapToInt (RMpPassRateDPO::getFlickerTime).sum ( );
|
||||
|
||||
rMpPassRateMPO.setFreqPassRate (calculatePassRate(sumEffectiveTime,sumFreqTime));
|
||||
rMpPassRateMPO.setvDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateMPO.setVDevPassRate (calculatePassRate(sumEffectiveTime,sumDevTime));
|
||||
rMpPassRateMPO.setFlickerPassRate (calculatePassRate(sumEffectiveTime,sumFlickerTime));
|
||||
rMpPassRateMPOList.add (rMpPassRateMPO);
|
||||
});
|
||||
|
||||
@@ -1,250 +0,0 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpIntegrityDPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD;
|
||||
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpPartHarmonicDetailDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpSurplusHarmonicDetailDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateMPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateQPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateYPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RMpIntegrityDPOService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.*;
|
||||
import com.njcn.prepare.harmonic.utils.PublicUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/28 10:27【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class RmpPassRateServiceImpl implements RmpPassRateService {
|
||||
|
||||
private final MonitorClient monitorClient;
|
||||
private final RMpIntegrityDPOService rMpIntegrityDPOService;
|
||||
private final RMpPartHarmonicDetailDMapper rMpPartHarmonicDetailDMapper;
|
||||
private final RMpSurplusHarmonicDetailDMapper rMpSurplusHarmonicDetailDMapper;
|
||||
private final RMpPassRateDService rmpPassRateDService;
|
||||
private final RMpPassRateMService rmpPassRateMService;
|
||||
private final RMpPassRateQService rmpPassRateQService;
|
||||
private final RMpPassRateYService rmpPassRateYService;
|
||||
|
||||
|
||||
DecimalFormat df = new DecimalFormat("0.00");
|
||||
|
||||
|
||||
/*接口重mysql中取数据不分oracle/Influxdb*/
|
||||
@Override
|
||||
public void rmpPassRateDHandler(LineParam lineParam) {
|
||||
Integer type = lineParam.getType ( );
|
||||
switch (type) {
|
||||
case 1:
|
||||
this.hanlderYear (lineParam);
|
||||
break;
|
||||
case 2:
|
||||
this.hanlderQtr (lineParam);
|
||||
break;
|
||||
case 3:
|
||||
this.hanlderMonth (lineParam);
|
||||
break;
|
||||
case 5:
|
||||
this.hanlderDay (lineParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void hanlderYear(LineParam lineParam) {
|
||||
String dataDate = lineParam.getDataDate();
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
List<RMpPassRateYPO> rMpPassRateYPOList = new ArrayList<> ();
|
||||
lineIds.forEach (temp ->{
|
||||
QueryWrapper<RMpPassRateMPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("measurement_point_id", temp).
|
||||
eq("YEAR( data_date )",dataDate.substring (0, 4));
|
||||
List<RMpPassRateMPO> list = rmpPassRateMService.list (queryWrapper);
|
||||
/*求平均值*/
|
||||
Double flickerPassRate = list.stream ( ).map (rMpPassRateMPO -> rMpPassRateMPO.getFlickerPassRate ( )).
|
||||
collect (Collectors.averagingDouble (x -> x));
|
||||
Double freqPassRate = list.stream ( ).map (rMpPassRateMPO -> rMpPassRateMPO.getFreqPassRate ( )).
|
||||
collect (Collectors.averagingDouble (x -> x));
|
||||
Double vDevPassRate =list.stream ( ).map (rMpPassRateMPO -> rMpPassRateMPO.getvDevPassRate ( )).
|
||||
collect (Collectors.averagingDouble (x -> x));
|
||||
RMpPassRateYPO rMpPassRateYPO = new RMpPassRateYPO();
|
||||
rMpPassRateYPO.setMeasurementPointId (temp);
|
||||
rMpPassRateYPO.setDataDate (date);
|
||||
rMpPassRateYPO.setFlickerPassRate (
|
||||
flickerPassRate );
|
||||
rMpPassRateYPO.setFreqPassRate (
|
||||
freqPassRate );
|
||||
rMpPassRateYPO.setvDevPassRate (
|
||||
vDevPassRate );
|
||||
rMpPassRateYPOList.add (rMpPassRateYPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rMpPassRateYPOList)){
|
||||
rmpPassRateYService.saveOrUpdateBatchByMultiId (rMpPassRateYPOList,500);
|
||||
}
|
||||
}
|
||||
|
||||
private void hanlderQtr(LineParam lineParam) {
|
||||
String dataDate = lineParam.getDataDate();
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
List<RMpPassRateQPO> rMpPassRateQPOList = new ArrayList<> ();
|
||||
lineIds.forEach (temp ->{
|
||||
QueryWrapper<RMpPassRateMPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("measurement_point_id", temp).
|
||||
eq("QUARTER( data_date)", PublicUtil.getNowQuarter (dataDate));
|
||||
List<RMpPassRateMPO> list = rmpPassRateMService.list (queryWrapper);
|
||||
/*求平均值*/
|
||||
Double flickerPassRate = list.stream ( ).map (rMpPassRateMPO -> rMpPassRateMPO.getFlickerPassRate ( )).
|
||||
collect (Collectors.averagingDouble (x -> x));
|
||||
Double freqPassRate = list.stream ( ).map (rMpPassRateMPO -> rMpPassRateMPO.getFreqPassRate ( )).
|
||||
collect (Collectors.averagingDouble (x -> x));
|
||||
Double vDevPassRate =list.stream ( ).map (rMpPassRateMPO -> rMpPassRateMPO.getvDevPassRate ( )).
|
||||
collect (Collectors.averagingDouble (x -> x));
|
||||
RMpPassRateQPO rMpPassRateQPO = new RMpPassRateQPO();
|
||||
rMpPassRateQPO.setMeasurementPointId (temp);
|
||||
rMpPassRateQPO.setDataDate (date);
|
||||
rMpPassRateQPO.setFlickerPassRate (
|
||||
flickerPassRate );
|
||||
rMpPassRateQPO.setFreqPassRate (
|
||||
freqPassRate );
|
||||
rMpPassRateQPO.setvDevPassRate (
|
||||
vDevPassRate );
|
||||
rMpPassRateQPOList.add (rMpPassRateQPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rMpPassRateQPOList)){
|
||||
rmpPassRateQService.saveOrUpdateBatchByMultiId (rMpPassRateQPOList,500);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 月表为日表累计
|
||||
* @Param: [lineParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/28
|
||||
*/
|
||||
private void hanlderMonth(LineParam lineParam) {
|
||||
String dataDate = lineParam.getDataDate();
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
List<RMpPassRateMPO> rMpPassRateMPOList = new ArrayList<> ();
|
||||
lineIds.forEach (temp ->{
|
||||
QueryWrapper<RMpPassRateDPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("measurement_point_id", temp).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring (0, 7));
|
||||
List<RMpPassRateDPO> list = rmpPassRateDService.list (queryWrapper);
|
||||
Integer effectiveTime = Integer.valueOf (
|
||||
list.stream ( ).mapToLong (RMpPassRateDPO::getEffectiveTime).sum ( ) + ""
|
||||
);
|
||||
Integer flickerTime = Integer.valueOf (
|
||||
list.stream ( ).mapToLong (RMpPassRateDPO::getFlickerTime).sum ( ) + ""
|
||||
);
|
||||
Integer freqTime = Integer.valueOf (
|
||||
list.stream ( ).mapToLong (RMpPassRateDPO::getFreqTime).sum ( ) + ""
|
||||
);
|
||||
Integer vDevTime = Integer.valueOf (
|
||||
list.stream ( ).mapToLong (RMpPassRateDPO::getvDevTime).sum ( ) + ""
|
||||
);
|
||||
RMpPassRateMPO rMpPassRateMPO = new RMpPassRateMPO();
|
||||
rMpPassRateMPO.setMeasurementPointId (temp);
|
||||
rMpPassRateMPO.setDataDate (date);
|
||||
rMpPassRateMPO.setFlickerPassRate (
|
||||
Double.valueOf (df.format ((float) flickerTime / effectiveTime))
|
||||
);
|
||||
rMpPassRateMPO.setFreqPassRate (
|
||||
Double.valueOf (df.format ((float) freqTime / effectiveTime))
|
||||
);
|
||||
rMpPassRateMPO.setvDevPassRate (
|
||||
Double.valueOf (df.format ((float) vDevTime / effectiveTime))
|
||||
);
|
||||
rMpPassRateMPOList.add (rMpPassRateMPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rMpPassRateMPOList)){
|
||||
rmpPassRateMService.saveOrUpdateBatchByMultiId (rMpPassRateMPOList,500);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 1. 日有效监测时长(min):表1的统计间隔*表2的有效接入分钟数量。
|
||||
* 2. 频率偏差超标时长(min):表1的统计间隔*表3的频率偏差超标次数。
|
||||
* 3. 电压偏差超标时长(min):表1的统计间隔*表3的电压偏差超标次数。
|
||||
* 4. 闪变超标时长(min):2*60*闪变发生次数
|
||||
* @Param: [lineParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/28
|
||||
*/
|
||||
private void hanlderDay(LineParam lineParam) {
|
||||
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
Integer type = lineParam.getType();
|
||||
Integer lineType = lineParam.getLineType();
|
||||
PmsMonitorParam pmsMonitorParam = new PmsMonitorParam();
|
||||
pmsMonitorParam.setMonitorIds (lineIds);
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = new ArrayList<> ();
|
||||
List<PmsMonitorDTO> data = monitorClient.getMonitorInfoListByCond (pmsMonitorParam).getData ( );
|
||||
data.forEach (temp ->{
|
||||
RMpPassRateDPO rMpPassRateDPO = new RMpPassRateDPO();
|
||||
Integer statisticalInterval = temp.getStatisticalInterval ( );
|
||||
String id = temp.getId ( );
|
||||
QueryWrapper<RMpIntegrityDPO> rMpIntegrityDPOQueryWrapper = new QueryWrapper();
|
||||
|
||||
rMpIntegrityDPOQueryWrapper.eq ("measurement_point_id", id).
|
||||
eq ("data_date", date);
|
||||
|
||||
RMpIntegrityDPO rMpIntegrityDPO = rMpIntegrityDPOService.getOne (rMpIntegrityDPOQueryWrapper);
|
||||
|
||||
QueryWrapper<RMpPartHarmonicDetailD> rMpPartHarmonicDetailDQueryWrapper = new QueryWrapper();
|
||||
rMpPartHarmonicDetailDQueryWrapper.eq ("measurement_point_id", id).
|
||||
eq ("data_date", date);
|
||||
RMpPartHarmonicDetailD rMpPartHarmonicDetailD = rMpPartHarmonicDetailDMapper.selectOne (rMpPartHarmonicDetailDQueryWrapper);
|
||||
|
||||
QueryWrapper<RMpSurplusHarmonicDetailD> rMpSurplusHarmonicDetailDQueryWrapper = new QueryWrapper();
|
||||
rMpSurplusHarmonicDetailDQueryWrapper.eq ("measurement_point_id", id).
|
||||
eq ("data_date", date);
|
||||
RMpSurplusHarmonicDetailD rMpSurplusHarmonicDetailD = rMpSurplusHarmonicDetailDMapper.selectOne (rMpSurplusHarmonicDetailDQueryWrapper);
|
||||
rMpPassRateDPO.setMeasurementPointId (id);
|
||||
rMpPassRateDPO.setDataDate (date);
|
||||
rMpPassRateDPO.setEffectiveTime (rMpIntegrityDPO.getEffectiveMinuteCount ()*statisticalInterval);
|
||||
rMpPassRateDPO.setFlickerTime (2*60*rMpSurplusHarmonicDetailD.getFlickerTimes ());
|
||||
rMpPassRateDPO.setFreqTime (rMpPartHarmonicDetailD.getFreqTimes ()*statisticalInterval);
|
||||
rMpPassRateDPO.setvDevTime (rMpPartHarmonicDetailD.getVDevTimes ()*statisticalInterval);
|
||||
rMpPassRateDPOList.add (rMpPassRateDPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rMpPassRateDPOList)){
|
||||
rmpPassRateDService.saveOrUpdateBatchByMultiId (rMpPassRateDPOList,500);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPassRateDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
|
||||
@@ -19,4 +20,12 @@ public interface RMpPassRateDService extends IMppService<RMpPassRateDPO> {
|
||||
|
||||
|
||||
void passRateHandler(LineParam lineParam);
|
||||
|
||||
void handleDay(CalculatedParam calculatedParam);
|
||||
|
||||
void handleMonth(CalculatedParam calculatedParam);
|
||||
|
||||
void handleQtr(CalculatedParam calculatedParam);
|
||||
|
||||
void handleYear(CalculatedParam calculatedParam);
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/28 10:03【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RmpPassRateService {
|
||||
void rmpPassRateDHandler(LineParam lineParam);
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.newalgorithm;
|
||||
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -13,4 +14,10 @@ import java.util.List;
|
||||
*/
|
||||
public interface ROperatingIndexService {
|
||||
void handler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type);
|
||||
|
||||
void handleMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
@@ -9,6 +12,7 @@ import com.njcn.device.pms.pojo.po.RDnOperatingPO;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexMPO;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexQPO;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexYPO;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.OrgParam;
|
||||
@@ -31,6 +35,8 @@ import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.management.Query;
|
||||
import java.text.DecimalFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -77,6 +83,435 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
List<RDnOperatingIndexMPO> rdnOperatingIndexMPOList = new ArrayList<>();
|
||||
List<ROperatingIndexMPO> rOperatingIndexMPOList = new ArrayList<>();
|
||||
QueryWrapper<ROperatingMonitorDPO> queryWrapperD = new QueryWrapper<>();
|
||||
QueryWrapper<ROperatingMonitorMPO> queryWrapperM = new QueryWrapper<>();
|
||||
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
||||
/*获取监测点类型类型*/
|
||||
|
||||
List<DictData> lineSortList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
Map<String, DictData> lineSortMap = lineSortList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData));
|
||||
|
||||
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())) {
|
||||
List<String> collect = deptGetChildrenMoreDTO.getLineBaseList().stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
queryWrapperD.clear();
|
||||
queryWrapperM.clear();
|
||||
queryWrapperD.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
queryWrapperM.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
ROperatingIndexMPO rOperatingIndexMPO = new ROperatingIndexMPO();
|
||||
rOperatingIndexMPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rOperatingIndexMPO.setDataDate(localDate);
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||
|
||||
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
Map<String, List<ROperatingMonitorDPO>> collect3 = rOperatingMonitorDPOList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||
|
||||
Map<String, List<ROperatingMonitorDPO>> collect4 = monitorList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||
|
||||
rOperatingIndexMPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||
rOperatingIndexMPO.setMeasurementRunPoints(collect.size());
|
||||
rOperatingIndexMPO.setOnlineMeasurementCount(collect4.size());
|
||||
rOperatingIndexMPO.setTransitMeasurementPoints(collect1.size());
|
||||
rOperatingIndexMPO.setOnlineMeasurementPoints(collect3.size());
|
||||
// rOperatingIndexMPO.setShouldCount();
|
||||
|
||||
List<String> collect5 = roperatingMonitorMPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorMPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
double v = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getIndexIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v1 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataRightRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v2 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
rOperatingIndexMPO.setIndexIntegrityRate(v);
|
||||
rOperatingIndexMPO.setDataIntegrityRate(v2);
|
||||
rOperatingIndexMPO.setIsUnusual(collect5.size());
|
||||
rOperatingIndexMPO.setDataRightRate(v1);
|
||||
rOperatingIndexMPOList.add(rOperatingIndexMPO);
|
||||
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||
Map<Integer, List<LineDevGetDTO>> collect3 = deptGetChildrenMoreDTO.getPwMonitorIds().stream().collect(Collectors.groupingBy(LineDevGetDTO::getLineType));
|
||||
|
||||
collect3.forEach((k,v)->{
|
||||
List<String> collect = v.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
queryWrapperD.clear();
|
||||
queryWrapperM.clear();
|
||||
queryWrapperD.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
queryWrapperM.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
RDnOperatingIndexMPO rDnOperatingIndexMPO = new RDnOperatingIndexMPO();
|
||||
rDnOperatingIndexMPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rDnOperatingIndexMPO.setDataDate(localDate);
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||
|
||||
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
rDnOperatingIndexMPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||
rDnOperatingIndexMPO.setMeasurementRunPoints(collect.size());
|
||||
rDnOperatingIndexMPO.setTransitMeasurementPoints(collect1.size());
|
||||
if (collect.size()==0){
|
||||
rDnOperatingIndexMPO.setEffectiveAccessRate(0.00);
|
||||
|
||||
}
|
||||
else {
|
||||
double rate = Double.parseDouble(df.format((collect2.size()) / Double.valueOf(collect.size())));
|
||||
rDnOperatingIndexMPO.setEffectiveAccessRate(rate);
|
||||
|
||||
}
|
||||
|
||||
List<String> collect5 = roperatingMonitorMPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorMPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
double integrity = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getIndexIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v1 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataRightRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v2 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
rDnOperatingIndexMPO.setMeasurementPointType(getmeasurementType(k, lineSortMap));
|
||||
rDnOperatingIndexMPO.setIndexIntegrityRate(integrity);
|
||||
rDnOperatingIndexMPO.setDataIntegrityRate(v2);
|
||||
rDnOperatingIndexMPO.setIsUnusual(collect5.size());
|
||||
rDnOperatingIndexMPO.setDataRightRate(v1);
|
||||
rdnOperatingIndexMPOList.add(rDnOperatingIndexMPO);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(rdnOperatingIndexMPOList)){
|
||||
rDnOperatingIndexMPOService.saveOrUpdateBatchByMultiId(rdnOperatingIndexMPOList);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(rOperatingIndexMPOList)){
|
||||
rOperatingIndexMPOService.saveOrUpdateBatchByMultiId(rOperatingIndexMPOList);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
List<RDnOperatingQPO> rdnOperatingIndexQPOList = new ArrayList<>();
|
||||
List<ROperatingIndexQPO> rOperatingIndexQPOList = new ArrayList<>();
|
||||
QueryWrapper<ROperatingMonitorDPO> queryWrapperD = new QueryWrapper<>();
|
||||
QueryWrapper<ROperatingMonitorMPO> queryWrapperM = new QueryWrapper<>();
|
||||
DateTime begin = DateUtil.beginOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
||||
|
||||
/*获取监测点类型类型*/
|
||||
|
||||
List<DictData> lineSortList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
Map<String, DictData> lineSortMap = lineSortList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData));
|
||||
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())) {
|
||||
List<String> collect = deptGetChildrenMoreDTO.getLineBaseList().stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
queryWrapperD.clear();
|
||||
queryWrapperM.clear();
|
||||
queryWrapperD.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
queryWrapperM.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
ROperatingIndexQPO rOperatingIndexQPO = new ROperatingIndexQPO();
|
||||
rOperatingIndexQPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rOperatingIndexQPO.setDataDate(localDate);
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||
|
||||
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
Map<String, List<ROperatingMonitorDPO>> collect3 = rOperatingMonitorDPOList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||
|
||||
Map<String, List<ROperatingMonitorDPO>> collect4 = monitorList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||
|
||||
rOperatingIndexQPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||
rOperatingIndexQPO.setMeasurementRunPoints(collect.size());
|
||||
rOperatingIndexQPO.setOnlineMeasurementCount(collect4.size());
|
||||
rOperatingIndexQPO.setTransitMeasurementPoints(collect1.size());
|
||||
rOperatingIndexQPO.setOnlineMeasurementPoints(collect3.size());
|
||||
// rOperatingIndexMPO.setShouldCount();
|
||||
|
||||
List<String> collect5 = roperatingMonitorMPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorMPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
double v = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getIndexIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v1 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataRightRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v2 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
rOperatingIndexQPO.setIndexIntegrityRate(v);
|
||||
rOperatingIndexQPO.setDataIntegrityRate(v2);
|
||||
rOperatingIndexQPO.setIsUnusual(collect5.size());
|
||||
rOperatingIndexQPO.setDataRightRate(v1);
|
||||
rOperatingIndexQPOList.add(rOperatingIndexQPO);
|
||||
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||
Map<Integer, List<LineDevGetDTO>> collect3 = deptGetChildrenMoreDTO.getPwMonitorIds().stream().collect(Collectors.groupingBy(LineDevGetDTO::getLineType));
|
||||
collect3.forEach((k,m)->{
|
||||
List<String> collect = m.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
queryWrapperD.clear();
|
||||
queryWrapperM.clear();
|
||||
queryWrapperD.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
queryWrapperM.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
RDnOperatingQPO rDnOperatingQPO = new RDnOperatingQPO();
|
||||
rDnOperatingQPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rDnOperatingQPO.setDataDate(localDate);
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||
|
||||
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
rDnOperatingQPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||
rDnOperatingQPO.setMeasurementRunPoints(collect.size());
|
||||
rDnOperatingQPO.setTransitMeasurementPoints(collect1.size());
|
||||
if (collect.size()==0){
|
||||
rDnOperatingQPO.setEffectiveAccessRate(0.00);
|
||||
|
||||
}
|
||||
else {
|
||||
double v = Double.parseDouble(df.format((collect2.size()) / Double.valueOf(collect.size())));
|
||||
rDnOperatingQPO.setEffectiveAccessRate(v);
|
||||
|
||||
}
|
||||
// rOperatingIndexMPO.setShouldCount();
|
||||
|
||||
List<String> collect5 = roperatingMonitorMPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorMPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
double v = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getIndexIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v1 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataRightRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v2 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
rDnOperatingQPO.setMeasurementPointType(getmeasurementType(k, lineSortMap));
|
||||
rDnOperatingQPO.setIndexIntegrityRate(v);
|
||||
rDnOperatingQPO.setDataIntegrityRate(v2);
|
||||
rDnOperatingQPO.setIsUnusual(collect5.size());
|
||||
rDnOperatingQPO.setDataRightRate(v1);
|
||||
rdnOperatingIndexQPOList.add(rDnOperatingQPO);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(rdnOperatingIndexQPOList)){
|
||||
rDnOperatingQPOService.saveOrUpdateBatchByMultiId(rdnOperatingIndexQPOList);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(rOperatingIndexQPOList)){
|
||||
rOperatingIndexQPOService.saveOrUpdateBatchByMultiId(rOperatingIndexQPOList);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
List<RDnOperatingYPO> rdnOperatingIndexYPOList = new ArrayList<>();
|
||||
List<ROperatingIndexYPO> rOperatingIndexYPOList = new ArrayList<>();
|
||||
QueryWrapper<ROperatingMonitorDPO> queryWrapperD = new QueryWrapper<>();
|
||||
QueryWrapper<ROperatingMonitorMPO> queryWrapperM = new QueryWrapper<>();
|
||||
DateTime begin = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
||||
|
||||
|
||||
/*获取监测点类型类型*/
|
||||
|
||||
List<DictData> lineSortList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
Map<String, DictData> lineSortMap = lineSortList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData));
|
||||
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())) {
|
||||
List<String> collect = deptGetChildrenMoreDTO.getLineBaseList().stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
queryWrapperD.clear();
|
||||
queryWrapperM.clear();
|
||||
queryWrapperD.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
queryWrapperM.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
ROperatingIndexYPO rOperatingIndexYPO = new ROperatingIndexYPO();
|
||||
rOperatingIndexYPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rOperatingIndexYPO.setDataDate(localDate);
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||
|
||||
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
Map<String, List<ROperatingMonitorDPO>> collect3 = rOperatingMonitorDPOList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||
|
||||
Map<String, List<ROperatingMonitorDPO>> collect4 = monitorList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||
|
||||
rOperatingIndexYPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||
rOperatingIndexYPO.setMeasurementRunPoints(collect.size());
|
||||
rOperatingIndexYPO.setOnlineMeasurementCount(collect4.size());
|
||||
rOperatingIndexYPO.setTransitMeasurementPoints(collect1.size());
|
||||
rOperatingIndexYPO.setOnlineMeasurementPoints(collect3.size());
|
||||
// rOperatingIndexMPO.setShouldCount();
|
||||
|
||||
List<String> collect5 = roperatingMonitorMPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorMPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
double v = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getIndexIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v1 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataRightRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v2 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
rOperatingIndexYPO.setIndexIntegrityRate(v);
|
||||
rOperatingIndexYPO.setDataIntegrityRate(v2);
|
||||
rOperatingIndexYPO.setIsUnusual(collect5.size());
|
||||
rOperatingIndexYPO.setDataRightRate(v1);
|
||||
rOperatingIndexYPOList.add(rOperatingIndexYPO);
|
||||
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||
Map<Integer, List<LineDevGetDTO>> collect3 = deptGetChildrenMoreDTO.getPwMonitorIds().stream().collect(Collectors.groupingBy(LineDevGetDTO::getLineType));
|
||||
collect3.forEach((k,m)->{
|
||||
List<String> collect = m.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
queryWrapperD.clear();
|
||||
queryWrapperM.clear();
|
||||
queryWrapperD.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
queryWrapperM.in("measurement_point_id", collect).
|
||||
between("data_date",begin,end);
|
||||
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
RDnOperatingYPO rDnOperatingYPO = new RDnOperatingYPO();
|
||||
rDnOperatingYPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rDnOperatingYPO.setDataDate(localDate);
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||
|
||||
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
rDnOperatingYPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||
rDnOperatingYPO.setMeasurementRunPoints(collect.size());
|
||||
rDnOperatingYPO.setTransitMeasurementPoints(collect1.size());
|
||||
if (collect.size()==0){
|
||||
rDnOperatingYPO.setEffectiveAccessRate(0.00);
|
||||
|
||||
}
|
||||
else {
|
||||
double v = Double.parseDouble(df.format((collect2.size()) / Double.valueOf(collect.size())));
|
||||
rDnOperatingYPO.setEffectiveAccessRate(v);
|
||||
|
||||
}
|
||||
// rOperatingIndexMPO.setShouldCount();
|
||||
|
||||
List<String> collect5 = roperatingMonitorMPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorMPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
double v = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getIndexIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v1 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataRightRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
double v2 = roperatingMonitorMPOList.stream().mapToDouble(temp -> {
|
||||
return temp.getDataIntegrityRate().doubleValue();
|
||||
}).average().orElse(0.0);
|
||||
rDnOperatingYPO.setMeasurementPointType(getmeasurementType(k, lineSortMap));
|
||||
rDnOperatingYPO.setIndexIntegrityRate(v);
|
||||
rDnOperatingYPO.setDataIntegrityRate(v2);
|
||||
rDnOperatingYPO.setIsUnusual(collect5.size());
|
||||
rDnOperatingYPO.setDataRightRate(v1);
|
||||
rdnOperatingIndexYPOList.add(rDnOperatingYPO);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(rdnOperatingIndexYPOList)){
|
||||
rDnOperatingYPOService.saveOrUpdateBatchByMultiId(rdnOperatingIndexYPOList);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(rOperatingIndexYPOList)){
|
||||
rOperatingIndexYPOService.saveOrUpdateBatchByMultiId(rOperatingIndexYPOList);
|
||||
|
||||
}
|
||||
}
|
||||
@Deprecated
|
||||
private void hanlderYear(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
||||
|
||||
List<RDnOperatingYPO> rdnOperatingIndexYPOList = new ArrayList<>();
|
||||
@@ -102,7 +537,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
ROperatingIndexYPO rOperatingIndexYPO = new ROperatingIndexYPO();
|
||||
rOperatingIndexYPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rOperatingIndexYPO.setDataDate(date);
|
||||
rOperatingIndexYPO.setDataDate(date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
@@ -158,7 +593,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
RDnOperatingYPO rDnOperatingYPO = new RDnOperatingYPO();
|
||||
rDnOperatingYPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rDnOperatingYPO.setDataDate(date);
|
||||
rDnOperatingYPO.setDataDate(date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
@@ -216,7 +651,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private void hanlderQtr(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
||||
List<RDnOperatingQPO> rdnOperatingIndexQPOList = new ArrayList<>();
|
||||
List<ROperatingIndexQPO> rOperatingIndexQPOList = new ArrayList<>();
|
||||
@@ -241,7 +676,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
ROperatingIndexQPO rOperatingIndexQPO = new ROperatingIndexQPO();
|
||||
rOperatingIndexQPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rOperatingIndexQPO.setDataDate(date);
|
||||
rOperatingIndexQPO.setDataDate(date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
@@ -297,7 +732,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
RDnOperatingQPO rDnOperatingQPO = new RDnOperatingQPO();
|
||||
rDnOperatingQPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rDnOperatingQPO.setDataDate(date);
|
||||
rDnOperatingQPO.setDataDate(date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
@@ -355,7 +790,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private void hanlderM(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
||||
List<RDnOperatingIndexMPO> rdnOperatingIndexMPOList = new ArrayList<>();
|
||||
List<ROperatingIndexMPO> rOperatingIndexMPOList = new ArrayList<>();
|
||||
@@ -382,7 +817,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
ROperatingIndexMPO rOperatingIndexMPO = new ROperatingIndexMPO();
|
||||
rOperatingIndexMPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rOperatingIndexMPO.setDataDate(date);
|
||||
rOperatingIndexMPO.setDataDate(date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
@@ -439,7 +874,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
||||
List<ROperatingMonitorMPO> roperatingMonitorMPOList = rOperatingMonitorMService.list(queryWrapperM);
|
||||
RDnOperatingIndexMPO rDnOperatingIndexMPO = new RDnOperatingIndexMPO();
|
||||
rDnOperatingIndexMPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||
rDnOperatingIndexMPO.setDataDate(date);
|
||||
rDnOperatingIndexMPO.setDataDate(date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
||||
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user