完成综合评估算法
This commit is contained in:
@@ -33,6 +33,10 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
private IDataIntegrityService dataIntegrityService;
|
||||
@Resource
|
||||
private IEventDetailService eventDetailService;
|
||||
@Resource
|
||||
private IDataComAssService dataComAssService;
|
||||
@Resource
|
||||
private IPollutionService pollutionService;
|
||||
|
||||
/**
|
||||
* 数据清洗 电压表
|
||||
@@ -389,6 +393,36 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
dataCrossingService.limitQualifiedDayHandler(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
/**
|
||||
* 综合评估
|
||||
* @param bindCmp
|
||||
* @return
|
||||
*/
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataComAss", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean dataComAssAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataComAss", nodeType = NodeTypeEnum.COMMON)
|
||||
public void dataComAssProcess(NodeComponent bindCmp) {
|
||||
dataComAssService.dataComAssHandler(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
/**
|
||||
* 监测点污区图
|
||||
* @param bindCmp
|
||||
* @return
|
||||
*/
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataPollution", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean dataPollutionAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataPollution", nodeType = NodeTypeEnum.COMMON)
|
||||
public void dataPollutionProcess(NodeComponent bindCmp) {
|
||||
pollutionService.handleDay(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 监测点数据完整性
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.algorithm.service.line;
|
||||
|
||||
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/6 10:22
|
||||
*/
|
||||
public interface IDataComAssService {
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 电能质量综合评估-日表
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/18 13:48
|
||||
*/
|
||||
void dataComAssHandler(CalculatedParam calculatedParam);
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +1,81 @@
|
||||
package com.njcn.algorithm.service.line;
|
||||
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
|
||||
/**
|
||||
* 测点污区数据
|
||||
*/
|
||||
public interface IPollutionService {
|
||||
|
||||
/**
|
||||
* 监测点误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleDay(CalculatedParam<String> calculatedParam);
|
||||
/**
|
||||
* 单位(天)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleOrgDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
/**
|
||||
* 单位(月)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleOrgMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
/**
|
||||
* 单位(季)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleOrgQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
/**
|
||||
* 单位(年)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleOrgYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
/**
|
||||
* 变电站(天)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleSubstationDay(CalculatedParam<String> calculatedParam);
|
||||
|
||||
/**
|
||||
* 变电站(月)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleSubstationMonth(CalculatedParam<String> calculatedParam);
|
||||
|
||||
/**
|
||||
* 变电站(季)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleSubstationQtr(CalculatedParam<String> calculatedParam);
|
||||
|
||||
/**
|
||||
* 变电站(年)误区图计算
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:03
|
||||
*/
|
||||
void handleSubstationYear(CalculatedParam<String> calculatedParam);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,267 @@
|
||||
package com.njcn.algorithm.serviceimpl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.algorithm.service.line.IDataComAssService;
|
||||
import com.njcn.dataProcess.api.DataComAssFeignClient;
|
||||
import com.njcn.dataProcess.api.DataFlickerFeignClient;
|
||||
import com.njcn.dataProcess.api.DataVFeignClient;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataComassesDPO;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/18 13:47
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class DataComAssServiceImpl implements IDataComAssService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DayDataServiceImpl.class);
|
||||
@Value("${line.num}")
|
||||
private Integer NUM = 100;
|
||||
@Resource
|
||||
private DataVFeignClient dataVFeignClient;
|
||||
|
||||
@Resource
|
||||
private DataFlickerFeignClient dataFlickerFeignClient;
|
||||
@Resource
|
||||
private DataComAssFeignClient dataComAssFeignClient;
|
||||
|
||||
@Override
|
||||
public void dataComAssHandler(CalculatedParam calculatedParam) {
|
||||
List<DataComassesDPO> list = new ArrayList<>();
|
||||
logger.info("{},r_stat_comasses_d算法开始=====》", LocalDateTime.now());
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate()));
|
||||
lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate()));
|
||||
List<String> lineIdList = calculatedParam.getIdList();
|
||||
for (String lineId : lineIdList) {
|
||||
DataComassesDPO rStatComassesDpo = new DataComassesDPO();
|
||||
rStatComassesDpo.setTime(calculatedParam.getDataDate());
|
||||
rStatComassesDpo.setLineId(lineId);
|
||||
lineParam.setLineId(Arrays.asList(lineId));
|
||||
Map<String, Object> fields = getGeneralData(lineParam);
|
||||
if (CollUtil.isNotEmpty(fields)) {
|
||||
rStatComassesDpo.setFreqDev1(Objects.isNull(fields.get("freq_dev1")) ? 0.0 : Double.parseDouble(fields.get("freq_dev1").toString()));
|
||||
rStatComassesDpo.setFreqDev2(Objects.isNull(fields.get("freq_dev2")) ? 0.0 : Double.parseDouble(fields.get("freq_dev2").toString()));
|
||||
rStatComassesDpo.setFreqDev3(Objects.isNull(fields.get("freq_dev3")) ? 0.0 : Double.parseDouble(fields.get("freq_dev3").toString()));
|
||||
rStatComassesDpo.setFreqDev4(Objects.isNull(fields.get("freq_dev4")) ? 0.0 : Double.parseDouble(fields.get("freq_dev4").toString()));
|
||||
rStatComassesDpo.setFreqDev5(Objects.isNull(fields.get("freq_dev5")) ? 0.0 : Double.parseDouble(fields.get("freq_dev5").toString()));
|
||||
|
||||
rStatComassesDpo.setVuDev1(Objects.isNull(fields.get("vu_dev1")) ? 0.0 : Double.parseDouble(fields.get("vu_dev1").toString()));
|
||||
rStatComassesDpo.setVuDev2(Objects.isNull(fields.get("vu_dev2")) ? 0.0 : Double.parseDouble(fields.get("vu_dev2").toString()));
|
||||
rStatComassesDpo.setVuDev3(Objects.isNull(fields.get("vu_dev3")) ? 0.0 : Double.parseDouble(fields.get("vu_dev3").toString()));
|
||||
rStatComassesDpo.setVuDev4(Objects.isNull(fields.get("vu_dev4")) ? 0.0 : Double.parseDouble(fields.get("vu_dev4").toString()));
|
||||
rStatComassesDpo.setVuDev5(Objects.isNull(fields.get("vu_dev5")) ? 0.0 : Double.parseDouble(fields.get("vu_dev5").toString()));
|
||||
|
||||
rStatComassesDpo.setDataPst1(Objects.isNull(fields.get("data_pst1")) ? 0.0 : Double.parseDouble(fields.get("data_pst1").toString()));
|
||||
rStatComassesDpo.setDataPst2(Objects.isNull(fields.get("data_pst2")) ? 0.0 : Double.parseDouble(fields.get("data_pst2").toString()));
|
||||
rStatComassesDpo.setDataPst3(Objects.isNull(fields.get("data_pst3")) ? 0.0 : Double.parseDouble(fields.get("data_pst3").toString()));
|
||||
rStatComassesDpo.setDataPst4(Objects.isNull(fields.get("data_pst4")) ? 0.0 : Double.parseDouble(fields.get("data_pst4").toString()));
|
||||
rStatComassesDpo.setDataPst5(Objects.isNull(fields.get("data_pst5")) ? 0.0 : Double.parseDouble(fields.get("data_pst5").toString()));
|
||||
|
||||
rStatComassesDpo.setVUnbalance1(Objects.isNull(fields.get("v_unbalance1")) ? 0.0 : Double.parseDouble(fields.get("v_unbalance1").toString()));
|
||||
rStatComassesDpo.setVUnbalance2(Objects.isNull(fields.get("v_unbalance2")) ? 0.0 : Double.parseDouble(fields.get("v_unbalance2").toString()));
|
||||
rStatComassesDpo.setVUnbalance3(Objects.isNull(fields.get("v_unbalance3")) ? 0.0 : Double.parseDouble(fields.get("v_unbalance3").toString()));
|
||||
rStatComassesDpo.setVUnbalance4(Objects.isNull(fields.get("v_unbalance4")) ? 0.0 : Double.parseDouble(fields.get("v_unbalance4").toString()));
|
||||
rStatComassesDpo.setVUnbalance5(Objects.isNull(fields.get("v_unbalance5")) ? 0.0 : Double.parseDouble(fields.get("v_unbalance5").toString()));
|
||||
|
||||
rStatComassesDpo.setVThd1(Objects.isNull(fields.get("v_thd1")) ? 0.0 : Double.parseDouble(fields.get("v_thd1").toString()));
|
||||
rStatComassesDpo.setVThd2(Objects.isNull(fields.get("v_thd2")) ? 0.0 : Double.parseDouble(fields.get("v_thd2").toString()));
|
||||
rStatComassesDpo.setVThd3(Objects.isNull(fields.get("v_thd3")) ? 0.0 : Double.parseDouble(fields.get("v_thd3").toString()));
|
||||
rStatComassesDpo.setVThd4(Objects.isNull(fields.get("v_thd4")) ? 0.0 : Double.parseDouble(fields.get("v_thd4").toString()));
|
||||
rStatComassesDpo.setVThd5(Objects.isNull(fields.get("v_thd5")) ? 0.0 : Double.parseDouble(fields.get("v_thd5").toString()));
|
||||
|
||||
rStatComassesDpo.setEvent1(Objects.isNull(fields.get("event1")) ? 0.0 : Double.parseDouble(fields.get("event1").toString()));
|
||||
rStatComassesDpo.setEvent2(Objects.isNull(fields.get("event2")) ? 0.0 : Double.parseDouble(fields.get("event2").toString()));
|
||||
rStatComassesDpo.setEvent3(Objects.isNull(fields.get("event3")) ? 0.0 : Double.parseDouble(fields.get("event3").toString()));
|
||||
rStatComassesDpo.setEvent4(Objects.isNull(fields.get("event4")) ? 0.0 : Double.parseDouble(fields.get("event4").toString()));
|
||||
rStatComassesDpo.setEvent5(Objects.isNull(fields.get("event5")) ? 0.0 : Double.parseDouble(fields.get("event5").toString()));
|
||||
list.add(rStatComassesDpo);
|
||||
}
|
||||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
dataComAssFeignClient.batchInsertion(list);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Map<String, Object> getGeneralData(LineCountEvaluateParam lineParam) {
|
||||
Map<String, Object> outMap = new HashMap<>(30);
|
||||
BigDecimal hundred = BigDecimal.valueOf(100);
|
||||
//************************************电压偏差********************************************
|
||||
lineParam.setPhasicType(Arrays.asList("A","B","C"));
|
||||
lineParam.setValueType(Arrays.asList("AVG"));
|
||||
lineParam.setColumnName("vu_dev");
|
||||
lineParam.setGe("10");
|
||||
Integer vuDev1 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("7");
|
||||
lineParam.setLt("10");
|
||||
Integer vuDev2 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("4");
|
||||
lineParam.setLt("7");
|
||||
Integer vuDev3 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("2");
|
||||
lineParam.setLt("4");
|
||||
Integer vuDev4 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0");
|
||||
lineParam.setLt("2");
|
||||
Integer vuDev5 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
BigDecimal vuDevAll = BigDecimal.valueOf(vuDev1 + vuDev2 + vuDev3 + vuDev4 + vuDev5);
|
||||
if (vuDevAll.compareTo(BigDecimal.ZERO) != 0) {
|
||||
outMap.put("vu_dev1", BigDecimal.valueOf(vuDev1).multiply(hundred).divide(vuDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("vu_dev2", BigDecimal.valueOf(vuDev2).multiply(hundred).divide(vuDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("vu_dev3", BigDecimal.valueOf(vuDev3).multiply(hundred).divide(vuDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("vu_dev4", BigDecimal.valueOf(vuDev4).multiply(hundred).divide(vuDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("vu_dev5", BigDecimal.valueOf(vuDev5).multiply(hundred).divide(vuDevAll, 3, RoundingMode.HALF_UP));
|
||||
}
|
||||
//************************************频率偏差********************************************
|
||||
lineParam.setColumnName("freq_dev");
|
||||
lineParam.setGe("0.3");
|
||||
Integer freqDev1 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0.2");
|
||||
lineParam.setLt("0.3");
|
||||
Integer freqDev2 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0.1");
|
||||
lineParam.setLt("0.2");
|
||||
Integer freqDev3 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0.05");
|
||||
lineParam.setLt("0.1");
|
||||
Integer freqDev4 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0");
|
||||
lineParam.setLt("0.05");
|
||||
Integer freqDev5 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
BigDecimal freqDevAll = BigDecimal.valueOf(freqDev1 + freqDev2 + freqDev3 + freqDev4 + freqDev5);
|
||||
if (freqDevAll.compareTo(BigDecimal.ZERO) != 0) {
|
||||
outMap.put("freq_dev1", BigDecimal.valueOf(freqDev1).multiply(hundred).divide(freqDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("freq_dev2", BigDecimal.valueOf(freqDev2).multiply(hundred).divide(freqDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("freq_dev3", BigDecimal.valueOf(freqDev3).multiply(hundred).divide(freqDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("freq_dev4", BigDecimal.valueOf(freqDev4).multiply(hundred).divide(freqDevAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("freq_dev5", BigDecimal.valueOf(freqDev5).multiply(hundred).divide(freqDevAll, 3, RoundingMode.HALF_UP));
|
||||
}
|
||||
//************************************谐波畸变率********************************************
|
||||
lineParam.setColumnName("v_thd");
|
||||
lineParam.setValueType(Arrays.asList("CP95"));
|
||||
lineParam.setGe("6");
|
||||
Integer vThd1 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("4");
|
||||
lineParam.setLt("6");
|
||||
Integer vThd2 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("2");
|
||||
lineParam.setLt("4");
|
||||
Integer vThd3 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("1");
|
||||
lineParam.setLt("2");
|
||||
Integer vThd4 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0");
|
||||
lineParam.setLt("1");
|
||||
Integer vThd5 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
BigDecimal vThdAll = BigDecimal.valueOf(vThd1 + vThd2 + vThd3 + vThd4 + vThd5);
|
||||
if (vThdAll.compareTo(BigDecimal.ZERO) != 0) {
|
||||
outMap.put("v_thd1", BigDecimal.valueOf(vThd1).multiply(hundred).divide(vThdAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_thd2", BigDecimal.valueOf(vThd2).multiply(hundred).divide(vThdAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_thd3", BigDecimal.valueOf(vThd3).multiply(hundred).divide(vThdAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_thd4", BigDecimal.valueOf(vThd4).multiply(hundred).divide(vThdAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_thd5", BigDecimal.valueOf(vThd5).multiply(hundred).divide(vThdAll, 3, RoundingMode.HALF_UP));
|
||||
}
|
||||
|
||||
//************************************三相电压不平衡度********************************************
|
||||
lineParam.setColumnName("v_unbalance");
|
||||
lineParam.setGe("4");
|
||||
Integer vUnbalance1 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("2");
|
||||
lineParam.setLt("4");
|
||||
Integer vUnbalance2 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("1");
|
||||
lineParam.setLt("2");
|
||||
Integer vUnbalance3 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0.5");
|
||||
lineParam.setLt("1");
|
||||
Integer vUnbalance4 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0");
|
||||
lineParam.setLt("0.5");
|
||||
Integer vUnbalance5 = dataVFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
BigDecimal vUnbalanceAll = BigDecimal.valueOf(vUnbalance1 + vUnbalance2 + vUnbalance3 + vUnbalance4 + vUnbalance5);
|
||||
if (vUnbalanceAll.compareTo(BigDecimal.ZERO) != 0) {
|
||||
outMap.put("v_unbalance1", BigDecimal.valueOf(vUnbalance1).multiply(hundred).divide(vUnbalanceAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_unbalance2", BigDecimal.valueOf(vUnbalance2).multiply(hundred).divide(vUnbalanceAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_unbalance3", BigDecimal.valueOf(vUnbalance3).multiply(hundred).divide(vUnbalanceAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_unbalance4", BigDecimal.valueOf(vUnbalance4).multiply(hundred).divide(vUnbalanceAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("v_unbalance5", BigDecimal.valueOf(vUnbalance5).multiply(hundred).divide(vUnbalanceAll, 3, RoundingMode.HALF_UP));
|
||||
}
|
||||
//************************************电压波动(短时闪变)********************************************
|
||||
lineParam.setColumnName("pst");
|
||||
lineParam.setValueType(null);
|
||||
lineParam.setGe("0.8");
|
||||
Integer plt1 = dataFlickerFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0.6");
|
||||
lineParam.setLt("0.8");
|
||||
Integer plt2 = dataFlickerFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0.4");
|
||||
lineParam.setLt("0.6");
|
||||
Integer plt3 = dataFlickerFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0.2");
|
||||
lineParam.setLt("0.4");
|
||||
Integer plt4 = dataFlickerFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
|
||||
lineParam.setGe("0");
|
||||
lineParam.setLt("0.2");
|
||||
Integer plt5 = dataFlickerFeignClient.getColumnNameCountRawData(lineParam).getData();
|
||||
BigDecimal pltAll = BigDecimal.valueOf(plt1 + plt2 + plt3 + plt4 + plt5);
|
||||
if (pltAll.compareTo(BigDecimal.ZERO) != 0) {
|
||||
outMap.put("data_plt1", BigDecimal.valueOf(plt1).multiply(hundred).divide(pltAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("data_plt2", BigDecimal.valueOf(plt2).multiply(hundred).divide(pltAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("data_plt3", BigDecimal.valueOf(plt3).multiply(hundred).divide(pltAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("data_plt4", BigDecimal.valueOf(plt4).multiply(hundred).divide(pltAll, 3, RoundingMode.HALF_UP));
|
||||
outMap.put("data_plt5", BigDecimal.valueOf(plt5).multiply(hundred).divide(pltAll, 3, RoundingMode.HALF_UP));
|
||||
}
|
||||
|
||||
if (!CollUtil.isEmpty(outMap)) {
|
||||
outMap.put("event1", 100.0);
|
||||
outMap.put("event2", 0.0);
|
||||
outMap.put("event3", 0.0);
|
||||
outMap.put("event4", 0.0);
|
||||
outMap.put("event5", 0.0);
|
||||
}
|
||||
return outMap;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -34,6 +34,8 @@ import org.springframework.util.CollectionUtils;
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
@@ -281,18 +283,18 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
qualified.setTime(calculatedParam.getDataDate());
|
||||
int all = value.stream().mapToInt(DataLimitRateDto::getAllTime).sum();
|
||||
if (all > 0) {
|
||||
qualified.setFreqDevOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getFreqDevOvertime).sum() * 100.0, all)));
|
||||
qualified.setVoltageDevOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getVoltageDevOvertime).sum() * 100.0, all)));
|
||||
qualified.setUbalanceOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getUbalanceOvertime).sum() * 100.0, all)));
|
||||
qualified.setUaberranceOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getUaberranceOvertime).sum() * 100.0, all)));
|
||||
qualified.setINegOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getINegOvertime).sum() * 100.0, all)));
|
||||
qualified.setFreqDevOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getFreqDevOvertime).sum(), all)));
|
||||
qualified.setVoltageDevOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getVoltageDevOvertime).sum(), all)));
|
||||
qualified.setUbalanceOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getUbalanceOvertime).sum(), all)));
|
||||
qualified.setUaberranceOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getUaberranceOvertime).sum(), all)));
|
||||
qualified.setINegOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getINegOvertime).sum(), all)));
|
||||
setOverTime(2, 25, "uharm", value, qualified, all);
|
||||
setOverTime(2, 25, "iharm", value, qualified, all);
|
||||
setOverTime(1, 16, "inuharm", value, qualified, all);
|
||||
}
|
||||
int flickerAll = value.stream().mapToInt(DataLimitRateDto::getFlickerAllTime).sum();
|
||||
if (flickerAll > 0) {
|
||||
qualified.setFlickerOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getFlickerOvertime).sum() * 100.0, flickerAll)));
|
||||
qualified.setFlickerOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getFlickerOvertime).sum(), flickerAll)));
|
||||
}
|
||||
info.add(qualified);
|
||||
|
||||
@@ -344,39 +346,56 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
DataQualifiedDetail qualified = new DataQualifiedDetail();
|
||||
qualified.setLineId(key);
|
||||
qualified.setTime(lineParam.getStartTime());
|
||||
qualified.setFreqDevOvertime(PubUtils.doubleRound(2, value.stream().mapToDouble(DataQualifiedDetail::getFreqDevOvertime).average().getAsDouble()));
|
||||
qualified.setVoltageDevOvertime(PubUtils.doubleRound(2, value.stream().mapToDouble(DataQualifiedDetail::getVoltageDevOvertime).average().getAsDouble()));
|
||||
qualified.setUbalanceOvertime(PubUtils.doubleRound(2, value.stream().mapToDouble(DataQualifiedDetail::getUbalanceOvertime).average().getAsDouble()));
|
||||
qualified.setUaberranceOvertime(PubUtils.doubleRound(2, value.stream().mapToDouble(DataQualifiedDetail::getUaberranceOvertime).average().getAsDouble()));
|
||||
qualified.setINegOvertime(PubUtils.doubleRound(2, value.stream().mapToDouble(DataQualifiedDetail::getINegOvertime).average().getAsDouble()));
|
||||
qualified.setFreqDevOvertime(getaDouble(value.stream().filter(x -> ObjectUtil.isNotNull(x.getFreqDevOvertime())).map(DataQualifiedDetail::getFreqDevOvertime).collect(Collectors.toList())));
|
||||
qualified.setVoltageDevOvertime(getaDouble(value.stream().filter(x -> ObjectUtil.isNotNull(x.getVoltageDevOvertime())).map(DataQualifiedDetail::getVoltageDevOvertime).collect(Collectors.toList())));
|
||||
qualified.setUbalanceOvertime(getaDouble(value.stream().filter(x -> ObjectUtil.isNotNull(x.getUbalanceOvertime())).map(DataQualifiedDetail::getUbalanceOvertime).collect(Collectors.toList())));
|
||||
qualified.setUaberranceOvertime(getaDouble(value.stream().filter(x -> ObjectUtil.isNotNull(x.getUaberranceOvertime())).map(DataQualifiedDetail::getUaberranceOvertime).collect(Collectors.toList())));
|
||||
qualified.setINegOvertime(getaDouble(value.stream().filter(x -> ObjectUtil.isNotNull(x.getINegOvertime())).map(DataQualifiedDetail::getINegOvertime).collect(Collectors.toList())));
|
||||
qualified.setFlickerOvertime(getaDouble(value.stream().filter(x -> ObjectUtil.isNotNull(x.getFlickerOvertime())).map(DataQualifiedDetail::getFlickerOvertime).collect(Collectors.toList())));
|
||||
setOverTime(2, 25, "uharm", value, qualified);
|
||||
setOverTime(2, 25, "iharm", value, qualified);
|
||||
setOverTime(1, 16, "inuharm", value, qualified);
|
||||
info.add(qualified);
|
||||
}
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
private double getaDouble(double value, int all) {
|
||||
return value * 100.0 / all;
|
||||
private Double getaDouble(List<Double> doubles) {
|
||||
List<Double> numList = doubles.stream().filter(x -> ObjectUtil.isNotNull(x)).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(numList)){
|
||||
double asDouble = numList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
|
||||
return PubUtils.doubleRound(2, asDouble);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private double getaDouble(double value, int all) {
|
||||
double v = BigDecimal.valueOf(value * 100.0).divide(BigDecimal.valueOf(all), 4, RoundingMode.HALF_UP).doubleValue();
|
||||
return v > 100 ? 100 : v;
|
||||
}
|
||||
|
||||
private void setOverTime(Integer start, Integer end, String targetName, List<DataQualifiedDetail> value, DataQualifiedDetail qualified) {
|
||||
for (int i = start; i <= end; i++) {
|
||||
// 构造方法名
|
||||
String methodName = targetName + i + "Overtime";
|
||||
try {
|
||||
Field finalField = DataLimitRateDto.class.getDeclaredField(methodName);
|
||||
Field finalField = DataQualifiedDetail.class.getDeclaredField(methodName);
|
||||
finalField.setAccessible(true);
|
||||
double v = PubUtils.doubleRound(2, value.stream().mapToDouble(temp -> {
|
||||
Double o;
|
||||
List<Double> collect = value.stream().map(temp -> {
|
||||
Object o;
|
||||
try {
|
||||
o = (Double) finalField.get(temp);
|
||||
o = finalField.get(temp);
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return o.doubleValue();
|
||||
}).average().getAsDouble());
|
||||
if(ObjectUtil.isNotNull(o)){
|
||||
return (Double)o;
|
||||
}
|
||||
return null;
|
||||
}).collect(Collectors.toList());
|
||||
Double v = getaDouble(collect);
|
||||
Field declared = DataQualifiedDetail.class.getDeclaredField(methodName);
|
||||
declared.setAccessible(true);
|
||||
declared.set(qualified, v);
|
||||
@@ -385,6 +404,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setOverTime(Integer start, Integer end, String targetName, List<DataLimitRateDto> value, DataQualifiedDetail qualified, int all) {
|
||||
for (int i = start; i <= end; i++) {
|
||||
// 构造方法名
|
||||
@@ -400,7 +420,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return o.intValue();
|
||||
}).sum() * 100.0, all));
|
||||
}).sum(), all));
|
||||
Field declared = DataQualifiedDetail.class.getDeclaredField(methodName);
|
||||
declared.setAccessible(true);
|
||||
declared.set(qualified, v);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,38 +1,27 @@
|
||||
package com.njcn.algorithm.serviceimpl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.api.R;
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.algorithm.service.line.IPollutionService;
|
||||
import com.njcn.dataProcess.api.DataHarmRateVFeignClient;
|
||||
import com.njcn.dataProcess.api.DataIFeignClient;
|
||||
import com.njcn.dataProcess.api.DataPltFeignClient;
|
||||
import com.njcn.dataProcess.api.DataVFeignClient;
|
||||
import com.njcn.dataProcess.dto.DataVDTO;
|
||||
import com.njcn.dataProcess.dto.PollutionDTO;
|
||||
import com.njcn.dataProcess.api.*;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.relation.RMpPollutionDPO;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPltDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataVDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataVD;
|
||||
import com.njcn.dataProcess.pojo.dto.*;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.function.BinaryOperator;
|
||||
@@ -51,20 +40,16 @@ import java.util.stream.Stream;
|
||||
public class PollutionServiceImpl implements IPollutionService {
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
private final DataVFeignClient dataVFeignClient;
|
||||
|
||||
private final DataHarmRateVFeignClient dataHarmRateVFeignClient;
|
||||
|
||||
private final DataPltFeignClient dataPltFeignClient;
|
||||
|
||||
private final DataIFeignClient dataIFeignClient;
|
||||
private final DataPollutionFeignClient dataPollutionFeignClient;
|
||||
|
||||
@Override
|
||||
public void handleDay(CalculatedParam<String> calculatedParam) {
|
||||
List<RMpPollutionDPO> pollutionList;
|
||||
List<DataPollutionD> pollutionList;
|
||||
|
||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData();
|
||||
Map<String, DictData> dictData = dictDataList.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
@@ -82,49 +67,99 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
lineCountEvaluateParam.setEndTime(endDay);
|
||||
|
||||
//指标数据获取
|
||||
Map<String, RMpPollutionDPO> harmonicVoltageList = getHarmonicVoltage(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> harmonicCurrentList = getHarmonicCurrent(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> frequencyDeviationList = getFrequencyDeviation(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> voltageDeviationList = getVoltageDeviation(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> threePhaseVoltageList = getThreePhaseVoltageUnbalance(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> negativeSequenceList = getNegativeSequenceCurrent(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> interHarmonicVoltageList = getInterharmonicVoltage(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> voltageFlickerList = getVoltageFlicker(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> harmonicVoltageList = getHarmonicVoltage(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> harmonicCurrentList = getHarmonicCurrent(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> frequencyDeviationList = getFrequencyDeviation(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> voltageDeviationList = getVoltageDeviation(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> threePhaseVoltageList = getThreePhaseVoltageUnbalance(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> negativeSequenceList = getNegativeSequenceCurrent(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> interHarmonicVoltageList = getInterharmonicVoltage(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> voltageFlickerList = getVoltageFlicker(lineCountEvaluateParam, limitMap);
|
||||
|
||||
|
||||
pollutionList = processPollutionList(local, idList, dictData, harmonicVoltageList, harmonicCurrentList, frequencyDeviationList, voltageDeviationList,
|
||||
threePhaseVoltageList, negativeSequenceList, interHarmonicVoltageList, voltageFlickerList);
|
||||
|
||||
//TODO 插入数据库
|
||||
if (CollUtil.isNotEmpty(pollutionList)) {
|
||||
dataPollutionFeignClient.batchInsertion(pollutionList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOrgDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
LocalDate local = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate());
|
||||
QueryWrapper<DataPollutionD> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||
Collection<LineDevGetDTO> union = CollectionUtils.union(Optional.ofNullable(deptGetChildrenMoreDTO.getLineBaseList()).orElse(new ArrayList<>()),
|
||||
Optional.ofNullable(deptGetChildrenMoreDTO.getPwMonitorIds()).orElse(new ArrayList<>()));
|
||||
List<String> lineIds = union.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOrgMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOrgQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOrgYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSubstationDay(CalculatedParam<String> calculatedParam) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSubstationMonth(CalculatedParam<String> calculatedParam) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSubstationQtr(CalculatedParam<String> calculatedParam) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSubstationYear(CalculatedParam<String> calculatedParam) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void assPollution(String lineId, LocalDate local, DictData dic, Map<String, RMpPollutionDPO> map,List<RMpPollutionDPO> result) {
|
||||
private void assPollution(String lineId, LocalDate local, DictData dic, Map<String, DataPollutionD> map, List<DataPollutionD> result) {
|
||||
DataPollutionD tem;
|
||||
if (map.containsKey(lineId)) {
|
||||
RMpPollutionDPO tem = map.get(lineId);
|
||||
tem = map.get(lineId);
|
||||
tem.setPollutionType(dic.getId());
|
||||
tem.setDataDate(local);
|
||||
result.add(tem);
|
||||
} else {
|
||||
RMpPollutionDPO tem = new RMpPollutionDPO();
|
||||
tem = new DataPollutionD();
|
||||
tem.setLineId(lineId);
|
||||
tem.setPollutionType(dic.getId());
|
||||
tem.setDataDate(local);
|
||||
tem.setValue(0.0);
|
||||
result.add(tem);
|
||||
}
|
||||
result.add(tem);
|
||||
}
|
||||
|
||||
/**
|
||||
* 参数拼装处理
|
||||
*/
|
||||
private List<RMpPollutionDPO> processPollutionList(LocalDate local, List<String> lineIds, Map<String, DictData> dictData,
|
||||
Map<String, RMpPollutionDPO> harmonicVoltageMap, Map<String, RMpPollutionDPO> harmonicCurrentMap,
|
||||
Map<String, RMpPollutionDPO> frequencyDeviationMap, Map<String, RMpPollutionDPO> voltageDeviationMap,
|
||||
Map<String, RMpPollutionDPO> threePhaseVoltageMap, Map<String, RMpPollutionDPO> negativeSequenceMap,
|
||||
Map<String, RMpPollutionDPO> interharmonicVoltageMap, Map<String,RMpPollutionDPO> voltageFlickerMap) {
|
||||
List<RMpPollutionDPO> result = new ArrayList<>();
|
||||
private List<DataPollutionD> processPollutionList(LocalDate local, List<String> lineIds, Map<String, DictData> dictData,
|
||||
Map<String, DataPollutionD> harmonicVoltageMap, Map<String, DataPollutionD> harmonicCurrentMap,
|
||||
Map<String, DataPollutionD> frequencyDeviationMap, Map<String, DataPollutionD> voltageDeviationMap,
|
||||
Map<String, DataPollutionD> threePhaseVoltageMap, Map<String, DataPollutionD> negativeSequenceMap,
|
||||
Map<String, DataPollutionD> interharmonicVoltageMap, Map<String, DataPollutionD> voltageFlickerMap) {
|
||||
List<DataPollutionD> result = new ArrayList<>();
|
||||
DictData dicVHarmonic = dictData.get("V_Harmonic");
|
||||
DictData dicIHarmonic = dictData.get("I_All");
|
||||
DictData I_Neg = dictData.get("I_Neg");
|
||||
@@ -150,64 +185,64 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 谐波电压:取监测点最新的A、B、C三相数据,再取电压总谐波畸变率、各次谐波电压含有率(2~25次)中的最大值,作为结果
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getHarmonicVoltage(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
List<RMpPollutionDPO> list = new ArrayList<>();
|
||||
private Map<String, DataPollutionD> getHarmonicVoltage(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
List<DataPollutionD> list = new ArrayList<>();
|
||||
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
|
||||
lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList()));
|
||||
Map<String, RMpPollutionDPO> threePhase = getThreePhaseData(lineCountEvaluateParam, limitMap);
|
||||
Map<String, RMpPollutionDPO> distortionRate = getDistortionRateData(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> threePhase = getThreePhaseData(lineCountEvaluateParam, limitMap);
|
||||
Map<String, DataPollutionD> distortionRate = getDistortionRateData(lineCountEvaluateParam, limitMap);
|
||||
for (String key : threePhase.keySet()) {
|
||||
list.add(threePhase.get(key));
|
||||
}
|
||||
for (String key : distortionRate.keySet()) {
|
||||
list.add(distortionRate.get(key));
|
||||
}
|
||||
Comparator<RMpPollutionDPO> comparator = Comparator.comparing(RMpPollutionDPO::getValue);
|
||||
Map<String, Optional<RMpPollutionDPO>> outMap = list.stream().collect(Collectors.groupingBy(RMpPollutionDPO::getLineId, Collectors.reducing(BinaryOperator.maxBy(comparator))));
|
||||
Comparator<DataPollutionD> comparator = Comparator.comparing(DataPollutionD::getValue);
|
||||
Map<String, Optional<DataPollutionD>> outMap = list.stream().collect(Collectors.groupingBy(DataPollutionD::getLineId, Collectors.reducing(BinaryOperator.maxBy(comparator))));
|
||||
return process(outMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 出参处理
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> process(Map<String, Optional<RMpPollutionDPO>> outMap) {
|
||||
Map<String, RMpPollutionDPO> map = new HashMap<>();
|
||||
private Map<String, DataPollutionD> process(Map<String, Optional<DataPollutionD>> outMap) {
|
||||
Map<String, DataPollutionD> map = new HashMap<>();
|
||||
for (String key : outMap.keySet()) {
|
||||
map.put(key, outMap.get(key).get());
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
private Map<String, RMpPollutionDPO> getThreePhaseData(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
private Map<String, DataPollutionD> getThreePhaseData(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
|
||||
List<DataVDto> threePhaseList = dataVFeignClient.getDataV(lineCountEvaluateParam).getData();
|
||||
Map<String, List<DataVDto>> dataVMap = threePhaseList.stream().collect(Collectors.groupingBy(DataVDto::getLineId));
|
||||
|
||||
Map<String, RMpPollutionDPO> map = new HashMap<>();
|
||||
Map<String, DataPollutionD> map = new HashMap<>();
|
||||
dataVMap.forEach((lineId, vList) -> {
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
if (limitMap.containsKey(lineId)) {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
double val = vList.stream().mapToDouble(DataVDto::getVThd).max().getAsDouble();
|
||||
double vUnbalance = val / overlimit.getUaberrance();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(vUnbalance);
|
||||
map.put(lineId, RMpPollutionDPO);
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(vUnbalance);
|
||||
map.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
private Map<String, RMpPollutionDPO> getDistortionRateData(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> mapResult = new HashMap<>();
|
||||
private Map<String, DataPollutionD> getDistortionRateData(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> mapResult = new HashMap<>();
|
||||
List<DataHarmDto> distortionRateList = dataHarmRateVFeignClient.getHarmRateVData(lineCountEvaluateParam).getData();
|
||||
|
||||
Map<String, List<DataHarmDto>> harmDataMap = distortionRateList.stream().collect(Collectors.groupingBy(DataHarmDto::getLineId));
|
||||
harmDataMap.forEach((lineId, vList) -> {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
List<RMpPollutionDPO> temList = new ArrayList<>();
|
||||
List<DataPollutionD> temList = new ArrayList<>();
|
||||
for (DataHarmDto dayHarmrateV : vList) {
|
||||
RMpPollutionDPO tem = new RMpPollutionDPO();
|
||||
DataPollutionD tem = new DataPollutionD();
|
||||
double v2 = dayHarmrateV.getV2() / overlimit.getUharm2();
|
||||
double v3 = dayHarmrateV.getV3() / overlimit.getUharm3();
|
||||
double v4 = dayHarmrateV.getV4() / overlimit.getUharm4();
|
||||
@@ -238,10 +273,10 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
tem.setValue(result);
|
||||
temList.add(tem);
|
||||
}
|
||||
RMpPollutionDPO rMpPollutionDPO = new RMpPollutionDPO();
|
||||
rMpPollutionDPO.setLineId(lineId);
|
||||
rMpPollutionDPO.setValue(temList.stream().mapToDouble(RMpPollutionDPO::getValue).max().getAsDouble());
|
||||
mapResult.put(lineId, rMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(temList.stream().mapToDouble(DataPollutionD::getValue).max().getAsDouble());
|
||||
mapResult.put(lineId, dataPollutionD);
|
||||
});
|
||||
|
||||
return mapResult;
|
||||
@@ -250,8 +285,8 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 谐波电流:各次谐波电流(2~25次),取各监测点最新的A、B、C三相数据。
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getHarmonicCurrent(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> map = new HashMap();
|
||||
private Map<String, DataPollutionD> getHarmonicCurrent(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> map = new HashMap();
|
||||
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
|
||||
lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList()));
|
||||
List<DataIDto> list = dataIFeignClient.getDataI(lineCountEvaluateParam).getData();
|
||||
@@ -259,7 +294,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
dataMap.forEach((lineId, valList) -> {
|
||||
if (limitMap.containsKey(lineId)) {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
List<RMpPollutionDPO> temList = new ArrayList<>();
|
||||
List<DataPollutionD> temList = new ArrayList<>();
|
||||
for (DataIDto dayI : valList) {
|
||||
double v2 = dayI.getI2() / overlimit.getIharm2();
|
||||
double v3 = dayI.getI3() / overlimit.getIharm3();
|
||||
@@ -287,16 +322,16 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
double v25 = dayI.getI25() / overlimit.getIharm25();
|
||||
List<Double> data = Stream.of(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25).collect(Collectors.toList());
|
||||
double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(dayI.getLineId());
|
||||
RMpPollutionDPO.setValue(result);
|
||||
temList.add(RMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(dayI.getLineId());
|
||||
dataPollutionD.setValue(result);
|
||||
temList.add(dataPollutionD);
|
||||
}
|
||||
double val = temList.stream().mapToDouble(RMpPollutionDPO::getValue).max().getAsDouble();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(val);
|
||||
map.put(lineId, RMpPollutionDPO);
|
||||
double val = temList.stream().mapToDouble(DataPollutionD::getValue).max().getAsDouble();
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(val);
|
||||
map.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return map;
|
||||
@@ -305,8 +340,8 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 频率偏差:各监测点最新的T相数据,取频率上下偏差的绝对值中的最大值。
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getFrequencyDeviation(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> lineData = new HashMap<>();
|
||||
private Map<String, DataPollutionD> getFrequencyDeviation(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> lineData = new HashMap<>();
|
||||
|
||||
lineCountEvaluateParam.setColumnName("freq_dev,line_id");
|
||||
lineCountEvaluateParam.setValueType(Stream.of("MAX").collect(Collectors.toList()));
|
||||
@@ -319,10 +354,10 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
double dayV = valList.stream().map(it -> Math.abs(it.getFreqDev())).max(Comparator.comparing(Double::doubleValue)).get();
|
||||
double freqDev = dayV / overlimit.getFreqDev();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(freqDev);
|
||||
lineData.put(lineId, RMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(freqDev);
|
||||
lineData.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return lineData;
|
||||
@@ -331,8 +366,8 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 电压偏差:各监测点最新的A、B、C三相数据,取电压上下偏差的绝对值中的最大值。
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getVoltageDeviation(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> lineData = new HashMap<>();
|
||||
private Map<String, DataPollutionD> getVoltageDeviation(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> lineData = new HashMap<>();
|
||||
lineCountEvaluateParam.setColumnName("vu_dev,line_id");
|
||||
lineCountEvaluateParam.setValueType(Stream.of("MAX").collect(Collectors.toList()));
|
||||
lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList()));
|
||||
@@ -344,10 +379,10 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
double dayV = valList.stream().map(it -> Math.abs(it.getVuDev())).max(Comparator.comparing(Double::doubleValue)).get();
|
||||
double vDev = dayV / overlimit.getUvoltageDev();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(vDev);
|
||||
lineData.put(lineId, RMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(vDev);
|
||||
lineData.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return lineData;
|
||||
@@ -356,8 +391,8 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 三相电压不平衡度:各监测点最新的T相数据。
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getThreePhaseVoltageUnbalance(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> lineData = new HashMap<>();
|
||||
private Map<String, DataPollutionD> getThreePhaseVoltageUnbalance(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> lineData = new HashMap<>();
|
||||
lineCountEvaluateParam.setColumnName("v_unbalance,line_id");
|
||||
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
|
||||
lineCountEvaluateParam.setPhasicType(Stream.of("T").collect(Collectors.toList()));
|
||||
@@ -369,10 +404,10 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
double dayV = valList.stream().mapToDouble(DataVDto::getVUnbalance).max().getAsDouble();
|
||||
double vUb = dayV / overlimit.getUbalance();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(vUb);
|
||||
lineData.put(lineId, RMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(vUb);
|
||||
lineData.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return lineData;
|
||||
@@ -381,8 +416,8 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 负序电流:各监测点最新的T相数据。
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getNegativeSequenceCurrent(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> lineData = new HashMap<>();
|
||||
private Map<String, DataPollutionD> getNegativeSequenceCurrent(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> lineData = new HashMap<>();
|
||||
lineCountEvaluateParam.setColumnName("i_neg,line_id");
|
||||
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
|
||||
lineCountEvaluateParam.setPhasicType(Stream.of("T").collect(Collectors.toList()));
|
||||
@@ -393,10 +428,10 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
double dayI = valList.stream().mapToDouble(DataIDto::getINeg).max().getAsDouble();
|
||||
double iNeg = dayI / overlimit.getINeg();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(iNeg);
|
||||
lineData.put(lineId, RMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(iNeg);
|
||||
lineData.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return lineData;
|
||||
@@ -405,8 +440,8 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 间谐波电压含有率:各监测点最新的A、B、C三相数据。
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getInterharmonicVoltage(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> lineData = new HashMap<>();
|
||||
private Map<String, DataPollutionD> getInterharmonicVoltage(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> lineData = new HashMap<>();
|
||||
lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList()));
|
||||
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
|
||||
List<DataHarmDto> dataHarmDtoList = dataHarmRateVFeignClient.getHarmRateVData(lineCountEvaluateParam).getData();
|
||||
@@ -415,7 +450,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
dataMap.forEach((lineId, valList) -> {
|
||||
if (limitMap.containsKey(lineId)) {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
List<RMpPollutionDPO> temList = new ArrayList<>();
|
||||
List<DataPollutionD> temList = new ArrayList<>();
|
||||
for (DataHarmDto dayInharmV : valList) {
|
||||
double v1 = Math.abs(dayInharmV.getV1() / overlimit.getInuharm1());
|
||||
double v2 = Math.abs(dayInharmV.getV2() / overlimit.getInuharm2());
|
||||
@@ -434,17 +469,17 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
double v15 = Math.abs(dayInharmV.getV15() / overlimit.getInuharm15());
|
||||
double v16 = Math.abs(dayInharmV.getV16() / overlimit.getInuharm16());
|
||||
double data = Stream.of(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16).max(Comparator.comparing(Double::doubleValue)).get();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(data);
|
||||
temList.add(RMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(data);
|
||||
temList.add(dataPollutionD);
|
||||
}
|
||||
|
||||
double val = temList.stream().map(RMpPollutionDPO::getValue).max(Comparator.comparing(Double::doubleValue)).get();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(val);
|
||||
lineData.put(lineId, RMpPollutionDPO);
|
||||
double val = temList.stream().map(DataPollutionD::getValue).max(Comparator.comparing(Double::doubleValue)).get();
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(val);
|
||||
lineData.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return lineData;
|
||||
@@ -453,8 +488,8 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
/**
|
||||
* 长时电压闪变:各监测点最新的A、B、C三相数据。
|
||||
*/
|
||||
private Map<String, RMpPollutionDPO> getVoltageFlicker(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, RMpPollutionDPO> lineData = new HashMap<>();
|
||||
private Map<String, DataPollutionD> getVoltageFlicker(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
|
||||
Map<String, DataPollutionD> lineData = new HashMap<>();
|
||||
|
||||
lineCountEvaluateParam.setColumnName("plt");
|
||||
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
|
||||
@@ -467,10 +502,10 @@ public class PollutionServiceImpl implements IPollutionService {
|
||||
Overlimit overlimit = limitMap.get(lineId);
|
||||
double dayPlt = valList.stream().mapToDouble(DataPltDto::getPlt).max().getAsDouble();
|
||||
double plt = dayPlt / overlimit.getFlicker();
|
||||
RMpPollutionDPO RMpPollutionDPO = new RMpPollutionDPO();
|
||||
RMpPollutionDPO.setLineId(lineId);
|
||||
RMpPollutionDPO.setValue(plt);
|
||||
lineData.put(lineId, RMpPollutionDPO);
|
||||
DataPollutionD dataPollutionD = new DataPollutionD();
|
||||
dataPollutionD.setLineId(lineId);
|
||||
dataPollutionD.setValue(plt);
|
||||
lineData.put(lineId, dataPollutionD);
|
||||
}
|
||||
});
|
||||
return lineData;
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.njcn.dataProcess.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.fallback.DataComAssFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.api.fallback.DataIFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.dto.DataIDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataComassesDPO;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIDto;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @version 1.0.0
|
||||
* @date 2022年01月05日 15:11
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/dataComAss", fallbackFactory = DataComAssFeignClientFallbackFactory.class, contextId = "dataComAss")
|
||||
public interface DataComAssFeignClient {
|
||||
|
||||
@PostMapping("/batchInsertion")
|
||||
HttpResult<String> batchInsertion(@RequestBody List<DataComassesDPO> dataIDTOList);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.dataProcess.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.fallback.DataPollutionFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPollutionD;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @version 1.0.0
|
||||
* @date 2022年01月05日 15:11
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/dataPollution", fallbackFactory = DataPollutionFeignClientFallbackFactory.class, contextId = "dataPollution")
|
||||
public interface DataPollutionFeignClient {
|
||||
|
||||
@PostMapping("/batchInsertion")
|
||||
HttpResult<String> batchInsertion(@RequestBody List<DataPollutionD> dataIDTOList);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.njcn.dataProcess.api.fallback;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.DataComAssFeignClient;
|
||||
import com.njcn.dataProcess.pojo.dto.DataComassesDPO;
|
||||
import com.njcn.dataProcess.util.DataProcessingEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 10:19
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DataComAssFeignClientFallbackFactory implements FallbackFactory<DataComAssFeignClient> {
|
||||
|
||||
|
||||
/**
|
||||
* 输出远程请求接口异常日志
|
||||
* @param cause RPC请求异常
|
||||
*/
|
||||
@Override
|
||||
public DataComAssFeignClient create(Throwable cause) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if(cause.getCause() instanceof BusinessException){
|
||||
BusinessException businessException = (BusinessException) cause.getCause();
|
||||
exceptionEnum = DataProcessingEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new DataComAssFeignClient() {
|
||||
|
||||
@Override
|
||||
public HttpResult<String> batchInsertion(List<DataComassesDPO> dataFlucDTOList) {
|
||||
log.error("{}异常,降级处理,异常为:{}","批量插入数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.njcn.dataProcess.api.fallback;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.DataPollutionFeignClient;
|
||||
import com.njcn.dataProcess.api.DataVFeignClient;
|
||||
import com.njcn.dataProcess.dto.DataVDTO;
|
||||
import com.njcn.dataProcess.dto.MeasurementCountDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPollutionD;
|
||||
import com.njcn.dataProcess.pojo.dto.DataVCvtDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataVDto;
|
||||
import com.njcn.dataProcess.util.DataProcessingEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @version 1.0.0
|
||||
* @date 2022年01月05日 15:08
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DataPollutionFeignClientFallbackFactory implements FallbackFactory<DataPollutionFeignClient> {
|
||||
|
||||
|
||||
/**
|
||||
* 输出远程请求接口异常日志
|
||||
* @param cause RPC请求异常
|
||||
*/
|
||||
@Override
|
||||
public DataPollutionFeignClient create(Throwable cause) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if(cause.getCause() instanceof BusinessException){
|
||||
BusinessException businessException = (BusinessException) cause.getCause();
|
||||
exceptionEnum = DataProcessingEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new DataPollutionFeignClient() {
|
||||
|
||||
@Override
|
||||
public HttpResult<String> batchInsertion(List<DataPollutionD> dataVDTOList) {
|
||||
log.error("{}异常,降级处理,异常为:{}","批量插入数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计日表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:13
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionD implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@ApiModelProperty(value = "监测点")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value = "时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value = "污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value = "统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计日表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class DataPollutionOrgD implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计月表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionOrgM implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计季表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionOrgQ implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计年表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionOrgY implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计日表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionSubstationD implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@ApiModelProperty(value = "变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value = "时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value = "污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value = "统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计月表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionSubstationM implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@ApiModelProperty(value = "变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value = "时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value = "污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value = "统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计季表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionSubstationQ implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@ApiModelProperty(value="变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计年表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
public class DataPollutionSubstationY implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@ApiModelProperty(value="变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
}
|
||||
@@ -1,23 +1,28 @@
|
||||
package com.njcn.dataProcess.po.relation;
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2025-03-19
|
||||
* @Description: 监测点污区实体
|
||||
* @Description: 单位污区图统计日表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:13
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_mp_pollution_d")
|
||||
public class RMpPollutionDPO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public class RMpPollutionD implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@TableField(value = "line_id")
|
||||
@ApiModelProperty(value = "监测点")
|
||||
private String lineId;
|
||||
@@ -43,5 +48,5 @@ public class RMpPollutionDPO implements Serializable {
|
||||
@ApiModelProperty(value = "统计值")
|
||||
private Double value;
|
||||
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -25,427 +25,427 @@ public class RStatLimitQualifiedD implements Serializable {
|
||||
@MppMultiId
|
||||
@TableField(value = "time_id")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private LocalDate time;
|
||||
private String time;
|
||||
|
||||
|
||||
/**
|
||||
* 闪变越限次数
|
||||
*/
|
||||
@TableField(value = "flicker_overtime")
|
||||
private Integer flickerOvertime;
|
||||
private Double flickerOvertime;
|
||||
|
||||
|
||||
/**
|
||||
* 频率偏差越限次数
|
||||
*/
|
||||
@TableField(value = "freq_dev_overtime")
|
||||
private Integer freqDevOvertime;
|
||||
private Double freqDevOvertime;
|
||||
|
||||
/**
|
||||
* 电压偏差越限次数
|
||||
*/
|
||||
@TableField(value = "voltage_dev_overtime")
|
||||
private Integer voltageDevOvertime;
|
||||
private Double voltageDevOvertime;
|
||||
|
||||
/**
|
||||
* 三相电压不平衡度越限次数
|
||||
*/
|
||||
@TableField(value = "ubalance_overtime")
|
||||
private Integer ubalanceOvertime;
|
||||
private Double ubalanceOvertime;
|
||||
|
||||
/**
|
||||
* 电压谐波畸变率越限次数
|
||||
*/
|
||||
@TableField(value = "uaberrance_overtime")
|
||||
private Integer uaberranceOvertime;
|
||||
private Double uaberranceOvertime;
|
||||
|
||||
/**
|
||||
* 负序电流限值次数
|
||||
*/
|
||||
@TableField(value = "i_neg_overtime")
|
||||
private Integer iNegOvertime;
|
||||
private Double iNegOvertime;
|
||||
|
||||
/**
|
||||
* 2次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_2_overtime")
|
||||
private Integer uharm2Overtime;
|
||||
private Double uharm2Overtime;
|
||||
|
||||
/**
|
||||
* 3次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_3_overtime")
|
||||
private Integer uharm3Overtime;
|
||||
private Double uharm3Overtime;
|
||||
|
||||
/**
|
||||
* 4次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_4_overtime")
|
||||
private Integer uharm4Overtime;
|
||||
private Double uharm4Overtime;
|
||||
|
||||
/**
|
||||
* 5次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_5_overtime")
|
||||
private Integer uharm5Overtime;
|
||||
private Double uharm5Overtime;
|
||||
|
||||
/**
|
||||
* 6次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_6_overtime")
|
||||
private Integer uharm6Overtime;
|
||||
private Double uharm6Overtime;
|
||||
|
||||
/**
|
||||
* 7次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_7_overtime")
|
||||
private Integer uharm7Overtime;
|
||||
private Double uharm7Overtime;
|
||||
|
||||
/**
|
||||
* 8次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_8_overtime")
|
||||
private Integer uharm8Overtime;
|
||||
private Double uharm8Overtime;
|
||||
|
||||
/**
|
||||
* 9次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_9_overtime")
|
||||
private Integer uharm9Overtime;
|
||||
private Double uharm9Overtime;
|
||||
|
||||
/**
|
||||
* 10次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_10_overtime")
|
||||
private Integer uharm10Overtime;
|
||||
private Double uharm10Overtime;
|
||||
|
||||
/**
|
||||
* 11次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_11_overtime")
|
||||
private Integer uharm11Overtime;
|
||||
private Double uharm11Overtime;
|
||||
|
||||
/**
|
||||
* 12次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_12_overtime")
|
||||
private Integer uharm12Overtime;
|
||||
private Double uharm12Overtime;
|
||||
|
||||
/**
|
||||
* 13次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_13_overtime")
|
||||
private Integer uharm13Overtime;
|
||||
private Double uharm13Overtime;
|
||||
|
||||
/**
|
||||
* 14次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_14_overtime")
|
||||
private Integer uharm14Overtime;
|
||||
private Double uharm14Overtime;
|
||||
|
||||
/**
|
||||
* 15次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_15_overtime")
|
||||
private Integer uharm15Overtime;
|
||||
private Double uharm15Overtime;
|
||||
|
||||
/**
|
||||
* 16次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_16_overtime")
|
||||
private Integer uharm16Overtime;
|
||||
private Double uharm16Overtime;
|
||||
|
||||
/**
|
||||
* 17次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_17_overtime")
|
||||
private Integer uharm17Overtime;
|
||||
private Double uharm17Overtime;
|
||||
|
||||
/**
|
||||
* 18次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_18_overtime")
|
||||
private Integer uharm18Overtime;
|
||||
private Double uharm18Overtime;
|
||||
|
||||
/**
|
||||
* 19次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_19_overtime")
|
||||
private Integer uharm19Overtime;
|
||||
private Double uharm19Overtime;
|
||||
|
||||
/**
|
||||
* 20次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_20_overtime")
|
||||
private Integer uharm20Overtime;
|
||||
private Double uharm20Overtime;
|
||||
|
||||
/**
|
||||
* 21次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_21_overtime")
|
||||
private Integer uharm21Overtime;
|
||||
private Double uharm21Overtime;
|
||||
|
||||
/**
|
||||
* 22次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_22_overtime")
|
||||
private Integer uharm22Overtime;
|
||||
private Double uharm22Overtime;
|
||||
|
||||
/**
|
||||
* 23次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_23_overtime")
|
||||
private Integer uharm23Overtime;
|
||||
private Double uharm23Overtime;
|
||||
|
||||
/**
|
||||
* 24次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_24_overtime")
|
||||
private Integer uharm24Overtime;
|
||||
private Double uharm24Overtime;
|
||||
|
||||
/**
|
||||
* 25次电压谐波含有率越限次数
|
||||
*/
|
||||
@TableField(value = "uharm_25_overtime")
|
||||
private Integer uharm25Overtime;
|
||||
private Double uharm25Overtime;
|
||||
|
||||
/**
|
||||
* 2次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_2_overtime")
|
||||
private Integer iharm2Overtime;
|
||||
private Double iharm2Overtime;
|
||||
|
||||
/**
|
||||
* 3次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_3_overtime")
|
||||
private Integer iharm3Overtime;
|
||||
private Double iharm3Overtime;
|
||||
|
||||
/**
|
||||
* 4次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_4_overtime")
|
||||
private Integer iharm4Overtime;
|
||||
private Double iharm4Overtime;
|
||||
|
||||
/**
|
||||
* 5次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_5_overtime")
|
||||
private Integer iharm5Overtime;
|
||||
private Double iharm5Overtime;
|
||||
|
||||
/**
|
||||
* 6次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_6_overtime")
|
||||
private Integer iharm6Overtime;
|
||||
private Double iharm6Overtime;
|
||||
|
||||
/**
|
||||
* 7次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_7_overtime")
|
||||
private Integer iharm7Overtime;
|
||||
private Double iharm7Overtime;
|
||||
|
||||
/**
|
||||
* 8次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_8_overtime")
|
||||
private Integer iharm8Overtime;
|
||||
private Double iharm8Overtime;
|
||||
|
||||
/**
|
||||
* 9次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_9_overtime")
|
||||
private Integer iharm9Overtime;
|
||||
private Double iharm9Overtime;
|
||||
|
||||
/**
|
||||
* 10次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_10_overtime")
|
||||
private Integer iharm10Overtime;
|
||||
private Double iharm10Overtime;
|
||||
|
||||
/**
|
||||
* 11次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_11_overtime")
|
||||
private Integer iharm11Overtime;
|
||||
private Double iharm11Overtime;
|
||||
|
||||
/**
|
||||
* 12次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_12_overtime")
|
||||
private Integer iharm12Overtime;
|
||||
private Double iharm12Overtime;
|
||||
|
||||
/**
|
||||
* 13次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_13_overtime")
|
||||
private Integer iharm13Overtime;
|
||||
private Double iharm13Overtime;
|
||||
|
||||
/**
|
||||
* 14次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_14_overtime")
|
||||
private Integer iharm14Overtime;
|
||||
private Double iharm14Overtime;
|
||||
|
||||
/**
|
||||
* 15次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_15_overtime")
|
||||
private Integer iharm15Overtime;
|
||||
private Double iharm15Overtime;
|
||||
|
||||
/**
|
||||
* 16次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_16_overtime")
|
||||
private Integer iharm16Overtime;
|
||||
private Double iharm16Overtime;
|
||||
|
||||
/**
|
||||
* 17次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_17_overtime")
|
||||
private Integer iharm17Overtime;
|
||||
private Double iharm17Overtime;
|
||||
|
||||
/**
|
||||
* 18次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_18_overtime")
|
||||
private Integer iharm18Overtime;
|
||||
private Double iharm18Overtime;
|
||||
|
||||
/**
|
||||
* 19次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_19_overtime")
|
||||
private Integer iharm19Overtime;
|
||||
private Double iharm19Overtime;
|
||||
|
||||
/**
|
||||
* 20次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_20_overtime")
|
||||
private Integer iharm20Overtime;
|
||||
private Double iharm20Overtime;
|
||||
|
||||
/**
|
||||
* 21次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_21_overtime")
|
||||
private Integer iharm21Overtime;
|
||||
private Double iharm21Overtime;
|
||||
|
||||
/**
|
||||
* 22次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_22_overtime")
|
||||
private Integer iharm22Overtime;
|
||||
private Double iharm22Overtime;
|
||||
|
||||
/**
|
||||
* 23次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_23_overtime")
|
||||
private Integer iharm23Overtime;
|
||||
private Double iharm23Overtime;
|
||||
|
||||
/**
|
||||
* 24次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_24_overtime")
|
||||
private Integer iharm24Overtime;
|
||||
private Double iharm24Overtime;
|
||||
|
||||
/**
|
||||
* 25次电流谐波幅值越限次数
|
||||
*/
|
||||
@TableField(value = "iharm_25_overtime")
|
||||
private Integer iharm25Overtime;
|
||||
private Double iharm25Overtime;
|
||||
|
||||
/**
|
||||
* 0.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_1_overtime")
|
||||
private Integer inuharm1Overtime;
|
||||
private Double inuharm1Overtime;
|
||||
|
||||
/**
|
||||
* 1.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_2_overtime")
|
||||
private Integer inuharm2Overtime;
|
||||
private Double inuharm2Overtime;
|
||||
|
||||
/**
|
||||
* 2.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_3_overtime")
|
||||
private Integer inuharm3Overtime;
|
||||
private Double inuharm3Overtime;
|
||||
|
||||
/**
|
||||
* 3.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_4_overtime")
|
||||
private Integer inuharm4Overtime;
|
||||
private Double inuharm4Overtime;
|
||||
|
||||
/**
|
||||
* 4.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_5_overtime")
|
||||
private Integer inuharm5Overtime;
|
||||
private Double inuharm5Overtime;
|
||||
|
||||
/**
|
||||
* 5.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_6_overtime")
|
||||
private Integer inuharm6Overtime;
|
||||
private Double inuharm6Overtime;
|
||||
|
||||
/**
|
||||
* 6.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_7_overtime")
|
||||
private Integer inuharm7Overtime;
|
||||
private Double inuharm7Overtime;
|
||||
|
||||
/**
|
||||
* 7.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_8_overtime")
|
||||
private Integer inuharm8Overtime;
|
||||
private Double inuharm8Overtime;
|
||||
|
||||
/**
|
||||
* 8.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_9_overtime")
|
||||
private Integer inuharm9Overtime;
|
||||
private Double inuharm9Overtime;
|
||||
|
||||
/**
|
||||
* 9.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_10_overtime")
|
||||
private Integer inuharm10Overtime;
|
||||
private Double inuharm10Overtime;
|
||||
|
||||
/**
|
||||
* 10.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_11_overtime")
|
||||
private Integer inuharm11Overtime;
|
||||
private Double inuharm11Overtime;
|
||||
|
||||
/**
|
||||
* 11.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_12_overtime")
|
||||
private Integer inuharm12Overtime;
|
||||
private Double inuharm12Overtime;
|
||||
|
||||
/**
|
||||
* 12.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_13_overtime")
|
||||
private Integer inuharm13Overtime;
|
||||
private Double inuharm13Overtime;
|
||||
|
||||
/**
|
||||
* 13.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_14_overtime")
|
||||
private Integer inuharm14Overtime;
|
||||
private Double inuharm14Overtime;
|
||||
|
||||
/**
|
||||
* 14.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_15_overtime")
|
||||
private Integer inuharm15Overtime;
|
||||
private Double inuharm15Overtime;
|
||||
|
||||
/**
|
||||
* 15.5次间谐波电压限值次数
|
||||
*/
|
||||
@TableField(value = "inuharm_16_overtime")
|
||||
private Integer inuharm16Overtime;
|
||||
private Double inuharm16Overtime;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计日表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_org_d")
|
||||
public class RStatPollutionOrgD implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@TableField(value = "org_id")
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计月表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_org_m")
|
||||
public class RStatPollutionOrgM implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@TableField(value = "org_id")
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计季表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_org_q")
|
||||
public class RStatPollutionOrgQ implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@TableField(value = "org_id")
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计年表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:15
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_org_y")
|
||||
public class RStatPollutionOrgY implements Serializable {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@TableField(value = "org_id")
|
||||
@ApiModelProperty(value="单位id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计日表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_substation_d")
|
||||
public class RStatPollutionSubstationD implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@TableField(value = "substation_id")
|
||||
@ApiModelProperty(value = "变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value = "时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value = "污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value = "统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计月表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_substation_m")
|
||||
public class RStatPollutionSubstationM implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@TableField(value = "substation_id")
|
||||
@ApiModelProperty(value = "变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value = "时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value = "污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value = "统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计季表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_substation_q")
|
||||
public class RStatPollutionSubstationQ implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@TableField(value = "substation_id")
|
||||
@ApiModelProperty(value="变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计年表
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:16
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_stat_pollution_substation_y")
|
||||
public class RStatPollutionSubstationY implements Serializable {
|
||||
/**
|
||||
* 变电站id
|
||||
*/
|
||||
@TableField(value = "substation_id")
|
||||
@ApiModelProperty(value="变电站id")
|
||||
private String substationId;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
*/
|
||||
@TableField(value = "pollution_type")
|
||||
@ApiModelProperty(value="污区图统计类型")
|
||||
private String pollutionType;
|
||||
|
||||
/**
|
||||
* 统计值
|
||||
*/
|
||||
@TableField(value = "value")
|
||||
@ApiModelProperty(value="统计值")
|
||||
private Double value;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.njcn.dataProcess.controller;
|
||||
|
||||
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.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.pojo.dto.DataComassesDPO;
|
||||
import com.njcn.dataProcess.service.IDataComAss;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0
|
||||
* @data 2024/11/6 19:48
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RestController
|
||||
@RequestMapping("/dataComAss")
|
||||
@Api(tags = "综合评估数据")
|
||||
public class DataComAssController extends BaseController {
|
||||
|
||||
@QueryBean
|
||||
private IDataComAss dataComAssQuery;
|
||||
|
||||
@InsertBean
|
||||
private IDataComAss dataComAssInsert;
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/batchInsertion")
|
||||
@ApiOperation("批量插入")
|
||||
public HttpResult<String> batchInsertion(@RequestBody List<DataComassesDPO> dataVDTOList) {
|
||||
String methodDescribe = getMethodDescribe("batchInsertion");
|
||||
dataComAssInsert.batchInsertion(dataVDTOList);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.njcn.dataProcess.controller;
|
||||
|
||||
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.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPollutionD;
|
||||
import com.njcn.dataProcess.service.IDataPollution;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.util.List;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0
|
||||
* @data 2024/11/6 19:48
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RestController
|
||||
@RequestMapping("/dataPollution")
|
||||
@Api(tags = "污区图数据")
|
||||
public class DataPollutionController extends BaseController {
|
||||
|
||||
@QueryBean
|
||||
private IDataPollution dataPollutionQuery;
|
||||
|
||||
@InsertBean
|
||||
private IDataPollution dataPollutionInsert;
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/batchInsertion")
|
||||
@ApiOperation("批量插入")
|
||||
public HttpResult<String> batchInsertion(@RequestBody List<DataPollutionD> dataIDTOList) {
|
||||
String methodDescribe = getMethodDescribe("batchInsertion");
|
||||
dataPollutionInsert.batchInsertion(dataIDTOList);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.njcn.dataProcess.pojo.po.RMpPollutionD;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 监测点污区图统计日表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:30
|
||||
*/
|
||||
public interface RMpPollutionDMapper extends MppBaseMapper<RMpPollutionD> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatComassesDPO;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*/
|
||||
public interface RStatDataComAssMapper extends MppBaseMapper<RStatComassesDPO> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgD;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计日表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:30
|
||||
*/
|
||||
public interface RStatPollutionOrgDMapper extends MppBaseMapper<RStatPollutionOrgD> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgM;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计月表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:30
|
||||
*/
|
||||
public interface RStatPollutionOrgMMapper extends MppBaseMapper<RStatPollutionOrgM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgQ;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计季表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:31
|
||||
*/
|
||||
public interface RStatPollutionOrgQMapper extends MppBaseMapper<RStatPollutionOrgQ> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgY;
|
||||
|
||||
/**
|
||||
* @Description: 单位污区图统计年表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:31
|
||||
*/
|
||||
public interface RStatPollutionOrgYMapper extends MppBaseMapper<RStatPollutionOrgY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationD;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计日表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:31
|
||||
*/
|
||||
public interface RStatPollutionSubstationDMapper extends MppBaseMapper<RStatPollutionSubstationD> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationM;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计月表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:31
|
||||
*/
|
||||
public interface RStatPollutionSubstationMMapper extends MppBaseMapper<RStatPollutionSubstationM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationQ;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计季表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:31
|
||||
*/
|
||||
public interface RStatPollutionSubstationQMapper extends MppBaseMapper<RStatPollutionSubstationQ> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationY;
|
||||
|
||||
/**
|
||||
* @Description: 变电站污区图统计年表 Mapper 接口
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:31
|
||||
*/
|
||||
public interface RStatPollutionSubstationYMapper extends MppBaseMapper<RStatPollutionSubstationY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPollutionD;
|
||||
import com.njcn.dataProcess.pojo.po.RMpPollutionD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:40
|
||||
*/
|
||||
public interface IDataPollution extends IMppService<RMpPollutionD> {
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
* @param pollutionList
|
||||
*/
|
||||
void batchInsertion(List<DataPollutionD> pollutionList);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgD;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:40
|
||||
*/
|
||||
public interface IDataPollutionOrgD extends IMppService<RStatPollutionOrgD> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgM;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:40
|
||||
*/
|
||||
public interface IDataPollutionOrgM extends IMppService<RStatPollutionOrgM> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgQ;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0
|
||||
* @data 2024/11/7 10:54
|
||||
*/
|
||||
public interface IDataPollutionOrgQ extends IMppService<RStatPollutionOrgQ> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgY;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0
|
||||
* @data 2024/11/7 10:54
|
||||
*/
|
||||
public interface IDataPollutionOrgY extends IMppService<RStatPollutionOrgY> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationD;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:41
|
||||
*/
|
||||
public interface IDataPollutionSubstationD extends IMppService<RStatPollutionSubstationD> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationM;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:41
|
||||
*/
|
||||
public interface IDataPollutionSubstationM extends IMppService<RStatPollutionSubstationM> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationQ;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:41
|
||||
*/
|
||||
public interface IDataPollutionSubstationQ extends IMppService<RStatPollutionSubstationQ> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationY;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:41
|
||||
*/
|
||||
public interface IDataPollutionSubstationY extends IMppService<RStatPollutionSubstationY> {
|
||||
|
||||
|
||||
}
|
||||
@@ -2,7 +2,6 @@ package com.njcn.dataProcess.service;
|
||||
|
||||
import com.njcn.dataProcess.dto.RmpEventDetailDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.PqsCommunicateDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataComAssMapper;
|
||||
import com.njcn.dataProcess.pojo.dto.DataComassesDPO;
|
||||
import com.njcn.dataProcess.pojo.po.RStatComassesDPO;
|
||||
import com.njcn.dataProcess.service.IDataComAss;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0
|
||||
* @data 2024/11/7 11:02
|
||||
*/
|
||||
@Service("InfluxdbDataComAssImpl")
|
||||
public class InfluxdbDataComAssImpl extends MppServiceImpl<RStatDataComAssMapper, RStatComassesDPO> implements IDataComAss {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataComassesDPO> limitQualifiedList) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -139,10 +139,10 @@ public class InfluxdbDataFlickerImpl extends MppServiceImpl<RStatDataFlickerRela
|
||||
influxQueryWrapper.regular(DataFlicker::getPhasicType, lineParam.getPhasicType());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(lineParam.getGe())) {
|
||||
influxQueryWrapper.ge(lineParam.getColumnName(), lineParam.getGe());
|
||||
influxQueryWrapper.ge(lineParam.getColumnName(), Double.parseDouble(lineParam.getGe()));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(lineParam.getLt())) {
|
||||
influxQueryWrapper.lt(lineParam.getColumnName(), lineParam.getLt());
|
||||
influxQueryWrapper.lt(lineParam.getColumnName(), Double.parseDouble(lineParam.getLt()));
|
||||
}
|
||||
List<DataFlicker> dataFlickers = dataFlickerMapper.selectByQueryWrapper(influxQueryWrapper);
|
||||
return dataFlickers.size();
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RMpPollutionDMapper;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPollutionD;
|
||||
import com.njcn.dataProcess.pojo.po.RMpPollutionD;
|
||||
import com.njcn.dataProcess.service.IDataPollution;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionImpl extends MppServiceImpl<RMpPollutionDMapper, RMpPollutionD> implements IDataPollution {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataPollutionD> pollutionList) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgDMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgD;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgD;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionOrgDImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionOrgDImpl extends MppServiceImpl<RStatPollutionOrgDMapper, RStatPollutionOrgD> implements IDataPollutionOrgD {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgMMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgM;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgM;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionOrgMImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionOrgMImpl extends MppServiceImpl<RStatPollutionOrgMMapper, RStatPollutionOrgM> implements IDataPollutionOrgM {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgQMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgQ;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgQ;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionOrgQImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionOrgQImpl extends MppServiceImpl<RStatPollutionOrgQMapper, RStatPollutionOrgQ> implements IDataPollutionOrgQ {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgYMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgY;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgY;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionOrgYImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionOrgYImpl extends MppServiceImpl<RStatPollutionOrgYMapper, RStatPollutionOrgY> implements IDataPollutionOrgY {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationDMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationD;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationD;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionSubstationDImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionSubstationDImpl extends MppServiceImpl<RStatPollutionSubstationDMapper, RStatPollutionSubstationD> implements IDataPollutionSubstationD {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationMMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationM;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationM;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionSubstationMImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionSubstationMImpl extends MppServiceImpl<RStatPollutionSubstationMMapper, RStatPollutionSubstationM> implements IDataPollutionSubstationM {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationQMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationQ;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationQ;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionSubstationQImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionSubstationQImpl extends MppServiceImpl<RStatPollutionSubstationQMapper, RStatPollutionSubstationQ> implements IDataPollutionSubstationQ {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationYMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationY;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationY;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("InfluxdbDataPollutionSubstationYImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPollutionSubstationYImpl extends MppServiceImpl<RStatPollutionSubstationYMapper, RStatPollutionSubstationY> implements IDataPollutionSubstationY {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -186,10 +186,10 @@ public class InfluxdbDataVImpl extends MppServiceImpl<RStatDataVRelationMapper,
|
||||
influxQueryWrapper.regular(DataV::getValueType, lineParam.getValueType());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(lineParam.getGe())) {
|
||||
influxQueryWrapper.ge(lineParam.getColumnName(), lineParam.getGe());
|
||||
influxQueryWrapper.ge(lineParam.getColumnName(), Double.parseDouble(lineParam.getGe()));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(lineParam.getLt())) {
|
||||
influxQueryWrapper.lt(lineParam.getColumnName(), lineParam.getLt());
|
||||
influxQueryWrapper.lt(lineParam.getColumnName(), Double.parseDouble(lineParam.getLt()));
|
||||
}
|
||||
List<DataV> dataVS = dataVMapper.selectByQueryWrapper(influxQueryWrapper);
|
||||
return dataVS.size();
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataComAssMapper;
|
||||
import com.njcn.dataProcess.pojo.dto.DataComassesDPO;
|
||||
import com.njcn.dataProcess.pojo.po.RStatComassesDPO;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitRateDetailD;
|
||||
import com.njcn.dataProcess.service.IDataComAss;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 10:15
|
||||
*/
|
||||
@Service("RelationDataComAssImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataComAssImpl extends MppServiceImpl<RStatDataComAssMapper, RStatComassesDPO> implements IDataComAss {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataComassesDPO> limitQualifiedList) {
|
||||
List<RStatComassesDPO> result = new ArrayList<>();
|
||||
limitQualifiedList.forEach(item->{
|
||||
RStatComassesDPO limitRate = new RStatComassesDPO();
|
||||
BeanUtils.copyProperties(item, limitRate);
|
||||
result.add(limitRate);
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RMpPollutionDMapper;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPollutionD;
|
||||
import com.njcn.dataProcess.pojo.po.RMpPollutionD;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
|
||||
import com.njcn.dataProcess.service.IDataPollution;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionImpl extends MppServiceImpl<RMpPollutionDMapper, RMpPollutionD> implements IDataPollution {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataPollutionD> pollutionList) {
|
||||
List<RMpPollutionD> result = new ArrayList<>();
|
||||
pollutionList.forEach(item->{
|
||||
RMpPollutionD limitRate = new RMpPollutionD();
|
||||
BeanUtils.copyProperties(item, limitRate);
|
||||
result.add(limitRate);
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgDMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgD;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgD;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionOrgDImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionOrgDImpl extends MppServiceImpl<RStatPollutionOrgDMapper, RStatPollutionOrgD> implements IDataPollutionOrgD {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgMMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgM;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgM;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionOrgMImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionOrgMImpl extends MppServiceImpl<RStatPollutionOrgMMapper, RStatPollutionOrgM> implements IDataPollutionOrgM {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgQMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgQ;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgQ;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionOrgQImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionOrgQImpl extends MppServiceImpl<RStatPollutionOrgQMapper, RStatPollutionOrgQ> implements IDataPollutionOrgQ {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionOrgYMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionOrgY;
|
||||
import com.njcn.dataProcess.service.IDataPollutionOrgY;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionOrgYImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionOrgYImpl extends MppServiceImpl<RStatPollutionOrgYMapper, RStatPollutionOrgY> implements IDataPollutionOrgY {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationDMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationD;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationD;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionSubstationDImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionSubstationDImpl extends MppServiceImpl<RStatPollutionSubstationDMapper, RStatPollutionSubstationD> implements IDataPollutionSubstationD {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationMMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationM;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationM;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionSubstationMImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionSubstationMImpl extends MppServiceImpl<RStatPollutionSubstationMMapper, RStatPollutionSubstationM> implements IDataPollutionSubstationM {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationQMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationQ;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationQ;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionSubstationQImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionSubstationQImpl extends MppServiceImpl<RStatPollutionSubstationQMapper, RStatPollutionSubstationQ> implements IDataPollutionSubstationQ {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatPollutionSubstationYMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatPollutionSubstationY;
|
||||
import com.njcn.dataProcess.service.IDataPollutionSubstationY;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/19 14:44
|
||||
*/
|
||||
@Service("RelationDataPollutionSubstationYImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPollutionSubstationYImpl extends MppServiceImpl<RStatPollutionSubstationYMapper, RStatPollutionSubstationY> implements IDataPollutionSubstationY {
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user