算法改造

This commit is contained in:
2023-11-15 15:49:56 +08:00
parent c2ec0bfcf2
commit a03bd8006c
5 changed files with 905 additions and 201 deletions

View File

@@ -10,6 +10,7 @@ import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailDService;
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailService; import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailService;
import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService; import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService;
import com.njcn.prepare.harmonic.service.mysql.line.*; import com.njcn.prepare.harmonic.service.mysql.line.*;
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatSubstationService;
import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.annotation.LiteflowMethod;
import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.NodeComponent;
@@ -53,7 +54,8 @@ public class MeasurementExecutor extends BaseExecutor {
private final PollutionService pollutionService; private final PollutionService pollutionService;
private final RStatDevSignalDPOService rStatDevSignalDPOService; private final RStatDevSignalDPOService rStatDevSignalDPOService;
private final RMpDevEvaluateDetailPOService rMpDevEvaluateDetailPOService; private final RMpDevEvaluateDetailPOService rMpDevEvaluateDetailPOService;
private final NormalLimitService normLimitService; private final RStatSubstationService rStatSubstationService;
/** /**
* 算法名: 3.3.1.1-----监测点评价 * 算法名: 3.3.1.1-----监测点评价
@@ -263,12 +265,16 @@ public class MeasurementExecutor extends BaseExecutor {
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "partHarmonicDetail", nodeType = NodeTypeEnum.COMMON) @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "partHarmonicDetail", nodeType = NodeTypeEnum.COMMON)
public void partHarmonicDetailProcess(NodeComponent bindCmp) { public void partHarmonicDetailProcess(NodeComponent bindCmp) {
String tag = bindCmp.getTag(); String tag = bindCmp.getTag();
CalculatedParam calculatedParam = bindCmp.getRequestData();
if (Objects.equals(tag,"r_mp_part_harmonic_detail_d")){ if (Objects.equals(tag,"r_mp_part_harmonic_detail_d")){
//日表 //日表
mpPartHarmonicDetailDService.insertHarmonicDetailDayOne(bindCmp.getRequestData()); mpPartHarmonicDetailDService.insertHarmonicDetailDayOne(calculatedParam);
} else if (Objects.equals(tag,"r_mp_part_harmonic_detail_m")) { } else if (Objects.equals(tag,"r_mp_part_harmonic_detail_m")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//月表 //月表
mpPartHarmonicDetailMService.insertHarmonicDetailMonthOne(bindCmp.getRequestData()); mpPartHarmonicDetailMService.insertHarmonicDetailMonthOne(calculatedParam);
}
} }
} }
@@ -286,12 +292,16 @@ public class MeasurementExecutor extends BaseExecutor {
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "surplusHarmonicDetail", nodeType = NodeTypeEnum.COMMON) @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "surplusHarmonicDetail", nodeType = NodeTypeEnum.COMMON)
public void surplusHarmonicDetailProcess(NodeComponent bindCmp) { public void surplusHarmonicDetailProcess(NodeComponent bindCmp) {
String tag = bindCmp.getTag(); String tag = bindCmp.getTag();
CalculatedParam calculatedParam = bindCmp.getRequestData();
if (Objects.equals(tag,"r_mp_surplus_harmonic_detail_d")){ if (Objects.equals(tag,"r_mp_surplus_harmonic_detail_d")){
//日表 //日表
mpSurplusHarmonicDetailDService.insertHarmonicDetailDayTwo(bindCmp.getRequestData()); mpSurplusHarmonicDetailDService.insertHarmonicDetailDayTwo(calculatedParam);
} else if (Objects.equals(tag,"r_mp_surplus_harmonic_detail_m")) { } else if (Objects.equals(tag,"r_mp_surplus_harmonic_detail_m")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//月表 //月表
mpSurplusHarmonicDetailMService.insertHarmonicDetailMonthTwo(bindCmp.getRequestData()); mpSurplusHarmonicDetailMService.insertHarmonicDetailMonthTwo(calculatedParam);
}
} }
} }
@@ -339,12 +349,16 @@ public class MeasurementExecutor extends BaseExecutor {
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rMpTargetWarn", nodeType = NodeTypeEnum.COMMON) @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rMpTargetWarn", nodeType = NodeTypeEnum.COMMON)
public void rMpTargetWarnProcess(NodeComponent bindCmp) { public void rMpTargetWarnProcess(NodeComponent bindCmp) {
String tag = bindCmp.getTag(); String tag = bindCmp.getTag();
CalculatedParam calculatedParam = bindCmp.getRequestData();
if (Objects.equals(tag,"r_mp_target_warn_d")){ if (Objects.equals(tag,"r_mp_target_warn_d")){
//日表 //日表
rMpTargetWarnDService.alarmDay(bindCmp.getRequestData()); rMpTargetWarnDService.alarmDay(calculatedParam);
} else if (Objects.equals(tag,"r_mp_target_warn_m")) { } else if (Objects.equals(tag,"r_mp_target_warn_m")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//月表 //月表
rMpMonitorAlarmCountMService.alarmMonth(bindCmp.getRequestData()); rMpMonitorAlarmCountMService.alarmMonth(calculatedParam);
}
} }
} }
@@ -377,11 +391,5 @@ public class MeasurementExecutor extends BaseExecutor {
public void rMpDevEvaluateDetailProcess(NodeComponent bindCmp) { public void rMpDevEvaluateDetailProcess(NodeComponent bindCmp) {
rMpDevEvaluateDetailPOService.devEvaluateDetail(bindCmp.getRequestData()); rMpDevEvaluateDetailPOService.devEvaluateDetail(bindCmp.getRequestData());
} }
/********************************************算法负责人:xy结束***********************************************************/ /********************************************算法负责人:xy结束***********************************************************/
} }

View File

@@ -6,6 +6,7 @@ import com.njcn.prepare.bo.CalculatedParam;
import com.njcn.prepare.harmonic.service.mysql.area.RStatOrgService; import com.njcn.prepare.harmonic.service.mysql.area.RStatOrgService;
import com.njcn.prepare.harmonic.service.mysql.line.PollutionService; import com.njcn.prepare.harmonic.service.mysql.line.PollutionService;
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.ROperatingIndexService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.ROperatingIndexService;
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatSubstationService;
import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.annotation.LiteflowMethod;
import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.NodeComponent;
@@ -13,6 +14,8 @@ import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
import com.yomahub.liteflow.enums.NodeTypeEnum; import com.yomahub.liteflow.enums.NodeTypeEnum;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import java.util.Objects;
/** /**
* Description: * Description:
* Date: 2023/11/10 10:39【需求编号】 * Date: 2023/11/10 10:39【需求编号】
@@ -25,6 +28,7 @@ import lombok.RequiredArgsConstructor;
public class SubStationExecutor extends BaseExecutor{ public class SubStationExecutor extends BaseExecutor{
private final PollutionService pollutionService; private final PollutionService pollutionService;
private final RStatSubstationService rStatSubstationService;
/** /**
@@ -62,4 +66,46 @@ public class SubStationExecutor extends BaseExecutor{
} }
} }
} }
/********************************************算法负责人:xy***********************************************************/
/**
* 算法名: 3.4.10-----变电站指标统计(r_stat_substation_*)
*
* @author xuyang
* @date 2023年11月15日 10:06
*/
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rStatSubstation", nodeType = NodeTypeEnum.COMMON)
public boolean rStatSubstationAccess(NodeComponent bindCmp) {
return isAccess(bindCmp);
}
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rStatSubstation", nodeType = NodeTypeEnum.COMMON)
public void rStatSubstationProcess(NodeComponent bindCmp) {
String tag = bindCmp.getTag();
CalculatedParam calculatedParam = bindCmp.getRequestData();
if (Objects.equals(tag,"r_stat_substation_d")){
//日表
rStatSubstationService.handlerD(calculatedParam);
} else if (Objects.equals(tag,"r_stat_substation_m")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//月表
rStatSubstationService.handlerM(calculatedParam);
}
} else if (Objects.equals(tag,"r_stat_substation_q")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//季表
rStatSubstationService.handlerQ(calculatedParam);
}
} else if (Objects.equals(tag,"r_stat_substation_y")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//年表
rStatSubstationService.handlerY(calculatedParam);
}
}
}
/********************************************算法负责人:xy结束***********************************************************/
} }

View File

@@ -75,7 +75,7 @@ public class RStatSubstationController extends BaseController {
List<DeptGetSubStationDTO> data = commTerminalGeneralClient.deptSubStation(deptGetLineParam).getData(); List<DeptGetSubStationDTO> data = commTerminalGeneralClient.deptSubStation(deptGetLineParam).getData();
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
rStatSubstationService.handler(data,orgParam.getDataDate(),orgParam.getType()); // rStatSubstationService.handler(data,orgParam.getDataDate(),orgParam.getType());
long end = System.currentTimeMillis(); long end = System.currentTimeMillis();
System.out.println("该方法总耗时为 ---> "+(end-start)); System.out.println("该方法总耗时为 ---> "+(end-start));
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);

View File

@@ -1,6 +1,7 @@
package com.njcn.prepare.harmonic.service.mysql.newalgorithm; package com.njcn.prepare.harmonic.service.mysql.newalgorithm;
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO; import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
import com.njcn.prepare.bo.CalculatedParam;
import java.util.List; import java.util.List;
@@ -11,6 +12,31 @@ import java.util.List;
public interface RStatSubstationService { public interface RStatSubstationService {
void handler(List<DeptGetSubStationDTO> data, String dataDate, Integer type); // void handler(List<DeptGetSubStationDTO> data, String dataDate, Integer type);
/**
* 3.4.10.1.变电站指标统计_日表
* @param calculatedParam
* fixme 此算法运行速度很慢,后期需要优化改造
*/
void handlerD(CalculatedParam calculatedParam);
/**
* 3.4.10.2.变电站指标统计_月表
* @param calculatedParam
*/
void handlerM(CalculatedParam calculatedParam);
/**
* 3.4.10.3.变电站指标统计_季表
* @param calculatedParam
*/
void handlerQ(CalculatedParam calculatedParam);
/**
* 3.4.10.4.变电站指标统计_年表
* @param calculatedParam
*/
void handlerY(CalculatedParam calculatedParam);
} }