初始版本提交

This commit is contained in:
hzj
2025-01-17 13:35:20 +08:00
parent 862c6ee672
commit 92f98231f2
59 changed files with 11344 additions and 2 deletions

View File

@@ -16,5 +16,33 @@
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-db</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-microservice</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>data-processing-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>message-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,28 @@
package com.njcn.stat.api;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.message.messagedto.MessageDataDTO;
import com.njcn.stat.api.fallback.MessAnalysisFeignClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* Description:
* Date: 2025/01/15 下午 3:52【需求编号】
*
* @author clam
* @version V1.0.0
*/
@FeignClient(
value = "front-analysis-boot",
path = "/messageAnalysis",
fallbackFactory = MessAnalysisFeignClientFallbackFactory.class,
contextId = "analysis")
public interface MessAnalysisFeignClient {
@PostMapping("/analysis")
HttpResult<String> analysis(@RequestBody List<MessageDataDTO> messageList);
}

View File

@@ -0,0 +1,45 @@
package com.njcn.stat.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.message.messagedto.MessageDataDTO;
import com.njcn.stat.api.MessAnalysisFeignClient;
import com.njcn.stat.utils.StatEnumUtil;
import lombok.extern.slf4j.Slf4j;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Description:
* Date: 2025/01/15 下午 3:55【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@Component
public class MessAnalysisFeignClientFallbackFactory implements FallbackFactory<MessAnalysisFeignClient> {
@Override
public MessAnalysisFeignClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = StatEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new MessAnalysisFeignClient() {
@Override
public HttpResult<String> analysis(List<MessageDataDTO> messageList) {
log.error("{}异常,降级处理,异常为:{}", "消息数据解析", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,23 @@
package com.njcn.stat.enums;
import lombok.Getter;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月20日 09:56
*/
@Getter
public enum StatResponseEnum {
STAT_COMMON_ERROR("A00550","稳态数据解析模块异常"),
;
private final String code;
private final String message;
StatResponseEnum(String code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,47 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2024/11/28 8:41【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class EventDTO {
/**
* MAG : 56.23
* DUR : 23
* STARTTIME : 1512097260000
* ENDTIME : 1512097283000
* DISKIND : 01
* CFG_FILE : fbb0a92db093e1bca6d9571ad68d9f43
* DAT_FILE : 33bbc16993eab29950196b35ef44c93a
* PHASIC : unknow
*/
@JsonProperty("MAG")
private double mag;
@JsonProperty("DUR")
private Double dur;
@JsonProperty("STARTTIME")
private LocalDateTime starttime;
@JsonProperty("ENDTIME")
private LocalDateTime endtime;
@JsonProperty("DISKIND")
private String diskind;
@JsonProperty("CFG_FILE")
private String cfgFile;
@JsonProperty("DAT_FILE")
private String datFile;
@JsonProperty("PHASIC")
private String phasic;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,77 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* Description:
* Date: 2024/11/8 13:49【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageDataIT {
//负序电流 95值
@JsonProperty("G_INSEQ")
private Float gInseq;
//负序电流 平均值
@JsonProperty("INSEQ")
private Float inseq;
//负序电流 最大值
@JsonProperty("MAX_INSEQ")
private Float maxInseq;
//负序电流 最小值
@JsonProperty("MIN_INSEQ")
private Float minInseq;
//负序电流不平衡 95值
@JsonProperty("G_I_UNBAN")
private Float gIUnban;
//负序电流不平衡 平均值
@JsonProperty("I_UNBAN")
private Float iUnban;
//负序电流不平衡 最大值
@JsonProperty("MAX_I_UNBAN")
private Float maxIUnban;
//负序电流不平衡 最小值
@JsonProperty("MIN_I_UNBAN")
private Float minIUnban;
//零序电流 95值
@JsonProperty("G_IZSEQ")
private Float gIzseq;
//零序电流 平均值
@JsonProperty("IZSEQ")
private Float izseq;
//零序电流 最大值
@JsonProperty("MAX_IZSEQ")
private Float maxIzseq;
//零序电流 最小值
@JsonProperty("MIN_IZSEQ")
private Float minIzseq;
//零序电流不平衡 95值
@JsonProperty("G_IZSEQ_UNBAN")
private Float gIzseqUnban;
//零序电流不平衡 平均值
@JsonProperty("IZSEQ_UNBAN")
private Float izseqUnban;
//零序电流不平衡 最大值
@JsonProperty("MAX_IZSEQ_UNBAN")
private Float maxIzseqUnban;
//零序电流不平衡 最小值
@JsonProperty("MIN_IZSEQ_UNBAN")
private Float minIzseqUnban;
//正序电流 95值
@JsonProperty("G_IPSEQ")
private Float gIpseq;
//正序电流 平均值
@JsonProperty("IPSEQ")
private Float ipseq;
//正序电流 最大值
@JsonProperty("MAX_IPSEQ")
private Float maxIpseq;
//正序电流 最小值
@JsonProperty("MIN_IPSEQ")
private Float minIpseq;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,137 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* Description:
* Date: 2024/11/13 10:21【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageDataPT {
/*功率因数 95值*/
@JsonProperty("G_PF")
private Float gPf;
/*功率因数 平均值*/
@JsonProperty("PF")
private Float pf;
/*功率因数 最大值*/
@JsonProperty("MAX_PF")
private Float maxPf;
/*功率因数 最小值*/
@JsonProperty("MIN_PF")
private Float minPf;
/*基波功率因数 95值*/
@JsonProperty("G_DF")
private Float gDf;
/*基波功率因数 平均值*/
@JsonProperty("DF")
private Float df;
/*基波功率因数 最大值*/
@JsonProperty("MAX_DF")
private Float maxDf;
/*基波功率因数 最小值*/
@JsonProperty("MIN_DF")
private Float minDf;
/*视在功率 95值*/
@JsonProperty("G_S")
private Float gs;
/*视在功率 平均值*/
@JsonProperty("S")
private Float s;
/*视在功率 最大值*/
@JsonProperty("MAX_S")
private Float maxS;
/*视在功率 最小值*/
@JsonProperty("MIN_S")
private Float minS;
/*无功功率 95值*/
@JsonProperty("G_Q")
private Float gq;
/*无功功率 平均值*/
@JsonProperty("Q")
private Float q;
/*无功功率 最大值*/
@JsonProperty("MAX_Q")
private Float maxQ;
/*无功功率 最小值*/
@JsonProperty("MIN_Q")
private Float minQ;
/*有功功率 95值*/
@JsonProperty("G_P")
private Float gp;
/*有功功率 平均值*/
@JsonProperty("P")
private Float p;
/*有功功率 最大值*/
@JsonProperty("MAX_P")
private Float maxP;
/*有功功率 最小值*/
@JsonProperty("MIN_P")
private Float minP;
/*等效视在功率 95值*/
@JsonProperty("G_EQVVA")
private Float gEqvva;
/*等效视在功率 平均值*/
@JsonProperty("EQVVA")
private Float eqvva;
/*等效视在功率 最大值*/
@JsonProperty("MAX_EQVVA")
private Float maxEqvva;
/*等效视在功率 最小值*/
@JsonProperty("MIN_EQVVA")
private Float minEqvva;
/*等效功率因数 95值*/
@JsonProperty("G_EQVPF")
private Float gEqvpf;
/*等效功率因数 平均值*/
@JsonProperty("EQVPF")
private Float eqvpf;
/*等效功率因数 最大值*/
@JsonProperty("MAX_EQVPF")
private Float maxEqvpf;
/*等效功率因数 最小值*/
@JsonProperty("MIN_EQVPF")
private Float minEqvpf;
/*基波正序视在功率 95值*/
@JsonProperty("G_FUNDPOSVA")
private Float gFundposva;
/*基波正序视在功率 平均值*/
@JsonProperty("FUNDPOSVA")
private Float fundposva;
/*基波正序视在功率 最大值*/
@JsonProperty("MAX_FUNDPOSVA")
private Float maxFundposva;
/*基波正序视在功率 最小值*/
@JsonProperty("MIN_FUNDPOSVA")
private Float minFundposva;
/*不平衡视在功率 95值*/
@JsonProperty("G_IMBVA")
private Float gImbva;
/*不平衡视在功率 平均值*/
@JsonProperty("IMBVA")
private Float imbva;
/*不平衡视在功率 最大值*/
@JsonProperty("MAX_IMBVA")
private Float maxImbva;
/*不平衡视在功率 最小值*/
@JsonProperty("MIN_IMBVA")
private Float minImbva;
/*非基波等效视在功率 95值*/
@JsonProperty("G_NONFUNDPOSVA")
private Float gNonfundposva;
/*非基波等效视在功率 平均值*/
@JsonProperty("NONFUNDPOSVA")
private Float nonfundposva;
/*非基波等效视在功率 最大值*/
@JsonProperty("MAX_NONFUNDPOSVA")
private Float maxNonfundposva;
/*非基波等效视在功率 最小值*/
@JsonProperty("MIN_NONFUNDPOSVA")
private Float minNonfundposva;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,103 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* Description:
* Date: 2024/11/8 13:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageDataVT {
//负序电压 95值
@JsonProperty("G_VNSEQ")
private Float gvnseq;
//负序电压 平均值
@JsonProperty("VNSEQ")
private Float vnseq;
//负序电压 最大值
@JsonProperty("MAX_VNSEQ")
private Float maxvnseq;
//负序电压 最小值
@JsonProperty("MIN_VNSEQ")
private Float minvnseq;
//负序电压不平衡 95值
@JsonProperty("G_V_UNBAN")
private Float gvunban;
//负序电压不平衡 平均值
@JsonProperty("V_UNBAN")
private Float vunban;
//负序电压不平衡 最大值
@JsonProperty("MAX_V_UNBAN")
private Float maxvunban;
//负序电压不平衡 最小值
@JsonProperty("MIN_V_UNBAN")
private Float minvunban;
//零序电压 95值
@JsonProperty("G_VZSEQ")
private Float gvzseq;
//零序电压 平均值
@JsonProperty("VZSEQ")
private Float vzseq;
//零序电压 最大值
@JsonProperty("MAX_VZSEQ")
private Float maxvzseq;
//零序电压 最小值
@JsonProperty("MIN_VZSEQ")
private Float minvzseq;
//零序电压不平衡 95值
@JsonProperty("G_VZSEQ_UNBAN")
private Float gvzsequnban;
//零序电压不平衡 平均值
@JsonProperty("VZSEQ_UNBAN")
private Float vzsequnban;
//零序电压不平衡 最大值
@JsonProperty("MAX_VZSEQ_UNBAN")
private Float maxvzsequnban;
//零序电压不平衡 最小值
@JsonProperty("MIN_VZSEQ_UNBAN")
private Float minvzsequnban;
//频率 95值
@JsonProperty("G_FREQ")
private Float gfreq;
//频率 平均值
@JsonProperty("FREQ")
private Float freq;
//频率 最大值
@JsonProperty("MAX_FREQ")
private Float maxfreq;
//频率 最小值
@JsonProperty("MIN_FREQ")
private Float minfreq;
//频率偏差 95值
@JsonProperty("G_DELTA_FREQ")
private Float gdeltafreq;
//频率偏差 平均值
@JsonProperty("DELTA_FREQ")
private Float deltafreq;
//频率偏差 最大值
@JsonProperty("MAX_DELTA_FREQ")
private Float maxdeltafreq;
//频率偏差 最小值
@JsonProperty("MIN_DELTA_FREQ")
private Float mindeltafreq;
//正序电压 95值
@JsonProperty("G_VPSEQ")
private Float gvpseq;
//正序电压 平均值
@JsonProperty("VPSEQ")
private Float vpseq;
//正序电压 最大值
@JsonProperty("MAX_VPSEQ")
private Float maxvpseq;
//正序电压 最小值
@JsonProperty("MIN_VPSEQ")
private Float minvpseq;
}

View File

@@ -0,0 +1,31 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2024/11/8 14:11【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageEventDataSet implements Serializable {
private Integer FLAG;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime TIME;
@JsonProperty("VOLTAGE")
private EventDTO volTage;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.stat.messagedto;
import lombok.Data;
/**
* Description:
* Date: 2024/11/26 16:42【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageFl {
private MessagePlt a;
private MessagePlt b;
private MessagePlt c;
}

View File

@@ -0,0 +1,25 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* Description:
* Date: 2024/11/13 14:56【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageFluc {
//电压变动幅度
@JsonProperty("FLUC")
private Float fluc;
//电压变动频度
@JsonProperty("FLUCF")
private Float flucf;
//短时间闪变值
@JsonProperty("PST")
private Float pst;
}

View File

@@ -0,0 +1,31 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2024/11/8 14:11【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageFlucDataSet implements Serializable {
private Integer FLAG;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime TIME;
@JsonProperty("F_S")
private MessageFs fs;
}

View File

@@ -0,0 +1,17 @@
package com.njcn.stat.messagedto;
import lombok.Data;
/**
* Description:
* Date: 2024/11/26 16:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageFs {
private MessageFluc a;
private MessageFluc b;
private MessageFluc c;
}

View File

@@ -0,0 +1,31 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2024/11/8 14:11【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageHarmonicDataSet implements Serializable {
private Integer FLAG;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime TIME;
private MessageV V;
private MessageI I;
private MessageP PQ;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.stat.messagedto;
import lombok.Data;
/**
* Description:
* Date: 2024/11/8 14:18【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageI {
private MessageDataI a;
private MessageDataI b;
private MessageDataI c;
private MessageDataIT t;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.stat.messagedto;
import lombok.Data;
/**
* Description:
* Date: 2024/11/13 14:18【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageP {
private MessageDataP a;
private MessageDataP b;
private MessageDataP c;
private MessageDataPT t;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* Description:
* Date: 2024/11/13 14:56【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessagePlt {
//长时间闪变值
@JsonProperty("PLT")
private Float plt;
}

View File

@@ -0,0 +1,31 @@
package com.njcn.stat.messagedto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2024/11/8 14:11【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessagePltDataSet implements Serializable {
private Integer FLAG;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime TIME;
@JsonProperty("F_L")
private MessageFl fl;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.stat.messagedto;
import lombok.Data;
/**
* Description:
* Date: 2024/11/8 14:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageV {
private MessageDataV a;
private MessageDataV b;
private MessageDataV c;
private MessageDataVT t;
}

View File

@@ -0,0 +1,709 @@
package com.njcn.stat.utils;
import com.njcn.dataProcess.dto.DataHarmphasicIDTO;
import com.njcn.dataProcess.dto.DataIDTO;
import com.njcn.stat.messagedto.MessageDataI;
import com.njcn.stat.messagedto.MessageDataIT;
import com.njcn.dataProcess.dto.DataInharmIDTO;
import java.util.Objects;
/**
* Description:
* Date: 2024/11/12 14:16【需求编号】
*
* @author clam
* @version V1.0.0
*/
public class BeanIConverter {
//A,B,C三项
public static DataIDTO messageDataITODataI(MessageDataI messageDataI){
DataIDTO dataI = new DataIDTO();
if(Objects.nonNull(messageDataI)){
dataI.setRms(messageDataI.getIrms());
dataI.setIThd(messageDataI.getIthd());
dataI.setRmsMax(messageDataI.getMaxIrms());
dataI.setIThdMax(messageDataI.getMaxIthd());
dataI.setRmsMin(messageDataI.getMinIrms());
dataI.setIThdMin(messageDataI.getMinIthd());
dataI.setRmsCp95(messageDataI.getGIrms());
dataI.setIThdCp95(messageDataI.getGIthd());
dataI.setI1(messageDataI.getI1());
dataI.setI2(messageDataI.getI2());
dataI.setI3(messageDataI.getI3());
dataI.setI4(messageDataI.getI4());
dataI.setI5(messageDataI.getI5());
dataI.setI6(messageDataI.getI6());
dataI.setI7(messageDataI.getI7());
dataI.setI8(messageDataI.getI8());
dataI.setI9(messageDataI.getI9());
dataI.setI10(messageDataI.getI10());
dataI.setI11(messageDataI.getI11());
dataI.setI12(messageDataI.getI12());
dataI.setI13(messageDataI.getI13());
dataI.setI14(messageDataI.getI14());
dataI.setI15(messageDataI.getI15());
dataI.setI16(messageDataI.getI16());
dataI.setI17(messageDataI.getI17());
dataI.setI18(messageDataI.getI18());
dataI.setI19(messageDataI.getI19());
dataI.setI20(messageDataI.getI20());
dataI.setI21(messageDataI.getI21());
dataI.setI22(messageDataI.getI22());
dataI.setI23(messageDataI.getI23());
dataI.setI24(messageDataI.getI24());
dataI.setI25(messageDataI.getI25());
dataI.setI26(messageDataI.getI26());
dataI.setI27(messageDataI.getI27());
dataI.setI28(messageDataI.getI28());
dataI.setI29(messageDataI.getI29());
dataI.setI30(messageDataI.getI30());
dataI.setI31(messageDataI.getI31());
dataI.setI32(messageDataI.getI32());
dataI.setI33(messageDataI.getI33());
dataI.setI34(messageDataI.getI34());
dataI.setI35(messageDataI.getI35());
dataI.setI36(messageDataI.getI36());
dataI.setI37(messageDataI.getI37());
dataI.setI38(messageDataI.getI38());
dataI.setI39(messageDataI.getI39());
dataI.setI40(messageDataI.getI40());
dataI.setI41(messageDataI.getI41());
dataI.setI42(messageDataI.getI42());
dataI.setI43(messageDataI.getI43());
dataI.setI44(messageDataI.getI44());
dataI.setI45(messageDataI.getI45());
dataI.setI46(messageDataI.getI46());
dataI.setI47(messageDataI.getI47());
dataI.setI48(messageDataI.getI48());
dataI.setI49(messageDataI.getI49());
dataI.setI50(messageDataI.getI50());
dataI.setI1Max(messageDataI.getMaxI1());
dataI.setI2Max(messageDataI.getMaxI2());
dataI.setI3Max(messageDataI.getMaxI3());
dataI.setI4Max(messageDataI.getMaxI4());
dataI.setI5Max(messageDataI.getMaxI5());
dataI.setI6Max(messageDataI.getMaxI6());
dataI.setI7Max(messageDataI.getMaxI7());
dataI.setI8Max(messageDataI.getMaxI8());
dataI.setI9Max(messageDataI.getMaxI9());
dataI.setI10Max(messageDataI.getMaxI10());
dataI.setI11Max(messageDataI.getMaxI11());
dataI.setI12Max(messageDataI.getMaxI12());
dataI.setI13Max(messageDataI.getMaxI13());
dataI.setI14Max(messageDataI.getMaxI14());
dataI.setI15Max(messageDataI.getMaxI15());
dataI.setI16Max(messageDataI.getMaxI16());
dataI.setI17Max(messageDataI.getMaxI17());
dataI.setI18Max(messageDataI.getMaxI18());
dataI.setI19Max(messageDataI.getMaxI19());
dataI.setI20Max(messageDataI.getMaxI20());
dataI.setI21Max(messageDataI.getMaxI21());
dataI.setI22Max(messageDataI.getMaxI22());
dataI.setI23Max(messageDataI.getMaxI23());
dataI.setI24Max(messageDataI.getMaxI24());
dataI.setI25Max(messageDataI.getMaxI25());
dataI.setI26Max(messageDataI.getMaxI26());
dataI.setI27Max(messageDataI.getMaxI27());
dataI.setI28Max(messageDataI.getMaxI28());
dataI.setI29Max(messageDataI.getMaxI29());
dataI.setI30Max(messageDataI.getMaxI30());
dataI.setI31Max(messageDataI.getMaxI31());
dataI.setI32Max(messageDataI.getMaxI32());
dataI.setI33Max(messageDataI.getMaxI33());
dataI.setI34Max(messageDataI.getMaxI34());
dataI.setI35Max(messageDataI.getMaxI35());
dataI.setI36Max(messageDataI.getMaxI36());
dataI.setI37Max(messageDataI.getMaxI37());
dataI.setI38Max(messageDataI.getMaxI38());
dataI.setI39Max(messageDataI.getMaxI39());
dataI.setI40Max(messageDataI.getMaxI40());
dataI.setI41Max(messageDataI.getMaxI41());
dataI.setI42Max(messageDataI.getMaxI42());
dataI.setI43Max(messageDataI.getMaxI43());
dataI.setI44Max(messageDataI.getMaxI44());
dataI.setI45Max(messageDataI.getMaxI45());
dataI.setI46Max(messageDataI.getMaxI46());
dataI.setI47Max(messageDataI.getMaxI47());
dataI.setI48Max(messageDataI.getMaxI48());
dataI.setI49Max(messageDataI.getMaxI49());
dataI.setI50Max(messageDataI.getMaxI50());
dataI.setI1Min(messageDataI.getMinI1());
dataI.setI2Min(messageDataI.getMinI2());
dataI.setI3Min(messageDataI.getMinI3());
dataI.setI4Min(messageDataI.getMinI4());
dataI.setI5Min(messageDataI.getMinI5());
dataI.setI6Min(messageDataI.getMinI6());
dataI.setI7Min(messageDataI.getMinI7());
dataI.setI8Min(messageDataI.getMinI8());
dataI.setI9Min(messageDataI.getMinI9());
dataI.setI10Min(messageDataI.getMinI10());
dataI.setI11Min(messageDataI.getMinI11());
dataI.setI12Min(messageDataI.getMinI12());
dataI.setI13Min(messageDataI.getMinI13());
dataI.setI14Min(messageDataI.getMinI14());
dataI.setI15Min(messageDataI.getMinI15());
dataI.setI16Min(messageDataI.getMinI16());
dataI.setI17Min(messageDataI.getMinI17());
dataI.setI18Min(messageDataI.getMinI18());
dataI.setI19Min(messageDataI.getMinI19());
dataI.setI20Min(messageDataI.getMinI20());
dataI.setI21Min(messageDataI.getMinI21());
dataI.setI22Min(messageDataI.getMinI22());
dataI.setI23Min(messageDataI.getMinI23());
dataI.setI24Min(messageDataI.getMinI24());
dataI.setI25Min(messageDataI.getMinI25());
dataI.setI26Min(messageDataI.getMinI26());
dataI.setI27Min(messageDataI.getMinI27());
dataI.setI28Min(messageDataI.getMinI28());
dataI.setI29Min(messageDataI.getMinI29());
dataI.setI30Min(messageDataI.getMinI30());
dataI.setI31Min(messageDataI.getMinI31());
dataI.setI32Min(messageDataI.getMinI32());
dataI.setI33Min(messageDataI.getMinI33());
dataI.setI34Min(messageDataI.getMinI34());
dataI.setI35Min(messageDataI.getMinI35());
dataI.setI36Min(messageDataI.getMinI36());
dataI.setI37Min(messageDataI.getMinI37());
dataI.setI38Min(messageDataI.getMinI38());
dataI.setI39Min(messageDataI.getMinI39());
dataI.setI40Min(messageDataI.getMinI40());
dataI.setI41Min(messageDataI.getMinI41());
dataI.setI42Min(messageDataI.getMinI42());
dataI.setI43Min(messageDataI.getMinI43());
dataI.setI44Min(messageDataI.getMinI44());
dataI.setI45Min(messageDataI.getMinI45());
dataI.setI46Min(messageDataI.getMinI46());
dataI.setI47Min(messageDataI.getMinI47());
dataI.setI48Min(messageDataI.getMinI48());
dataI.setI49Min(messageDataI.getMinI49());
dataI.setI50Min(messageDataI.getMinI50());
dataI.setI1Cp95(messageDataI.getGi1());
dataI.setI2Cp95(messageDataI.getGi2());
dataI.setI3Cp95(messageDataI.getGi3());
dataI.setI4Cp95(messageDataI.getGi4());
dataI.setI5Cp95(messageDataI.getGi5());
dataI.setI6Cp95(messageDataI.getGi6());
dataI.setI7Cp95(messageDataI.getGi7());
dataI.setI8Cp95(messageDataI.getGi8());
dataI.setI9Cp95(messageDataI.getGi9());
dataI.setI10Cp95(messageDataI.getGi10());
dataI.setI11Cp95(messageDataI.getGi11());
dataI.setI12Cp95(messageDataI.getGi12());
dataI.setI13Cp95(messageDataI.getGi13());
dataI.setI14Cp95(messageDataI.getGi14());
dataI.setI15Cp95(messageDataI.getGi15());
dataI.setI16Cp95(messageDataI.getGi16());
dataI.setI17Cp95(messageDataI.getGi17());
dataI.setI18Cp95(messageDataI.getGi18());
dataI.setI19Cp95(messageDataI.getGi19());
dataI.setI20Cp95(messageDataI.getGi20());
dataI.setI21Cp95(messageDataI.getGi21());
dataI.setI22Cp95(messageDataI.getGi22());
dataI.setI23Cp95(messageDataI.getGi23());
dataI.setI24Cp95(messageDataI.getGi24());
dataI.setI25Cp95(messageDataI.getGi25());
dataI.setI26Cp95(messageDataI.getGi26());
dataI.setI27Cp95(messageDataI.getGi27());
dataI.setI28Cp95(messageDataI.getGi28());
dataI.setI29Cp95(messageDataI.getGi29());
dataI.setI30Cp95(messageDataI.getGi30());
dataI.setI31Cp95(messageDataI.getGi31());
dataI.setI32Cp95(messageDataI.getGi32());
dataI.setI33Cp95(messageDataI.getGi33());
dataI.setI34Cp95(messageDataI.getGi34());
dataI.setI35Cp95(messageDataI.getGi35());
dataI.setI36Cp95(messageDataI.getGi36());
dataI.setI37Cp95(messageDataI.getGi37());
dataI.setI38Cp95(messageDataI.getGi38());
dataI.setI39Cp95(messageDataI.getGi39());
dataI.setI40Cp95(messageDataI.getGi40());
dataI.setI41Cp95(messageDataI.getGi41());
dataI.setI42Cp95(messageDataI.getGi42());
dataI.setI43Cp95(messageDataI.getGi43());
dataI.setI44Cp95(messageDataI.getGi44());
dataI.setI45Cp95(messageDataI.getGi45());
dataI.setI46Cp95(messageDataI.getGi46());
dataI.setI47Cp95(messageDataI.getGi47());
dataI.setI48Cp95(messageDataI.getGi48());
dataI.setI49Cp95(messageDataI.getGi49());
dataI.setI50Cp95(messageDataI.getGi50());
}
return dataI;
};
//T项
public static DataIDTO messageDataITODataI(MessageDataIT messageDataIT){
DataIDTO dataI = new DataIDTO();
if(Objects.nonNull(messageDataIT)){
dataI.setIUnbalance(messageDataIT.getIUnban());
dataI.setIPos(messageDataIT.getIpseq());
dataI.setINeg(messageDataIT.getInseq());
dataI.setIZero(messageDataIT.getIzseq());
dataI.setIUnbalanceMax(messageDataIT.getMaxIUnban());
dataI.setIPosMax(messageDataIT.getMaxIpseq());
dataI.setINegMax(messageDataIT.getMaxInseq());
dataI.setIZeroMax(messageDataIT.getMaxIzseq());
dataI.setIUnbalanceMin(messageDataIT.getMinIUnban());
dataI.setIPosMin(messageDataIT.getMinIpseq());
dataI.setINegMin(messageDataIT.getMinInseq());
dataI.setIZeroMin(messageDataIT.getMinIzseq());
dataI.setIUnbalanceCp95(messageDataIT.getGIUnban());
dataI.setIPosCp95(messageDataIT.getGIpseq());
dataI.setINegCp95(messageDataIT.getGInseq());
dataI.setIZeroCp95(messageDataIT.getGIzseq());
}
return dataI;
}
//谐波电压相角
public static DataHarmphasicIDTO messageDataITODataHarmphasicI(MessageDataI messageDataI){
DataHarmphasicIDTO dataHarmphasicI = new DataHarmphasicIDTO();
if(Objects.nonNull(messageDataI)){
dataHarmphasicI.setI1(1.00f);
dataHarmphasicI.setI2(messageDataI.getIa2());
dataHarmphasicI.setI3(messageDataI.getIa3());
dataHarmphasicI.setI4(messageDataI.getIa4());
dataHarmphasicI.setI5(messageDataI.getIa5());
dataHarmphasicI.setI6(messageDataI.getIa6());
dataHarmphasicI.setI7(messageDataI.getIa7());
dataHarmphasicI.setI8(messageDataI.getIa8());
dataHarmphasicI.setI9(messageDataI.getIa9());
dataHarmphasicI.setI10(messageDataI.getIa10());
dataHarmphasicI.setI11(messageDataI.getIa11());
dataHarmphasicI.setI12(messageDataI.getIa12());
dataHarmphasicI.setI13(messageDataI.getIa13());
dataHarmphasicI.setI14(messageDataI.getIa14());
dataHarmphasicI.setI15(messageDataI.getIa15());
dataHarmphasicI.setI16(messageDataI.getIa16());
dataHarmphasicI.setI17(messageDataI.getIa17());
dataHarmphasicI.setI18(messageDataI.getIa18());
dataHarmphasicI.setI19(messageDataI.getIa19());
dataHarmphasicI.setI20(messageDataI.getIa20());
dataHarmphasicI.setI21(messageDataI.getIa21());
dataHarmphasicI.setI22(messageDataI.getIa22());
dataHarmphasicI.setI23(messageDataI.getIa23());
dataHarmphasicI.setI24(messageDataI.getIa24());
dataHarmphasicI.setI25(messageDataI.getIa25());
dataHarmphasicI.setI26(messageDataI.getIa26());
dataHarmphasicI.setI27(messageDataI.getIa27());
dataHarmphasicI.setI28(messageDataI.getIa28());
dataHarmphasicI.setI29(messageDataI.getIa29());
dataHarmphasicI.setI30(messageDataI.getIa30());
dataHarmphasicI.setI31(messageDataI.getIa31());
dataHarmphasicI.setI32(messageDataI.getIa32());
dataHarmphasicI.setI33(messageDataI.getIa33());
dataHarmphasicI.setI34(messageDataI.getIa34());
dataHarmphasicI.setI35(messageDataI.getIa35());
dataHarmphasicI.setI36(messageDataI.getIa36());
dataHarmphasicI.setI37(messageDataI.getIa37());
dataHarmphasicI.setI38(messageDataI.getIa38());
dataHarmphasicI.setI39(messageDataI.getIa39());
dataHarmphasicI.setI40(messageDataI.getIa40());
dataHarmphasicI.setI41(messageDataI.getIa41());
dataHarmphasicI.setI42(messageDataI.getIa42());
dataHarmphasicI.setI43(messageDataI.getIa43());
dataHarmphasicI.setI44(messageDataI.getIa44());
dataHarmphasicI.setI45(messageDataI.getIa45());
dataHarmphasicI.setI46(messageDataI.getIa46());
dataHarmphasicI.setI47(messageDataI.getIa47());
dataHarmphasicI.setI48(messageDataI.getIa48());
dataHarmphasicI.setI49(messageDataI.getIa49());
dataHarmphasicI.setI50(messageDataI.getIa50());
dataHarmphasicI.setI1Max(1.00f);
dataHarmphasicI.setI2Max(messageDataI.getMaxIa2());
dataHarmphasicI.setI3Max(messageDataI.getMaxIa3());
dataHarmphasicI.setI4Max(messageDataI.getMaxIa4());
dataHarmphasicI.setI5Max(messageDataI.getMaxIa5());
dataHarmphasicI.setI6Max(messageDataI.getMaxIa6());
dataHarmphasicI.setI7Max(messageDataI.getMaxIa7());
dataHarmphasicI.setI8Max(messageDataI.getMaxIa8());
dataHarmphasicI.setI9Max(messageDataI.getMaxIa9());
dataHarmphasicI.setI10Max(messageDataI.getMaxIa10());
dataHarmphasicI.setI11Max(messageDataI.getMaxIa11());
dataHarmphasicI.setI12Max(messageDataI.getMaxIa12());
dataHarmphasicI.setI13Max(messageDataI.getMaxIa13());
dataHarmphasicI.setI14Max(messageDataI.getMaxIa14());
dataHarmphasicI.setI15Max(messageDataI.getMaxIa15());
dataHarmphasicI.setI16Max(messageDataI.getMaxIa16());
dataHarmphasicI.setI17Max(messageDataI.getMaxIa17());
dataHarmphasicI.setI18Max(messageDataI.getMaxIa18());
dataHarmphasicI.setI19Max(messageDataI.getMaxIa19());
dataHarmphasicI.setI20Max(messageDataI.getMaxIa20());
dataHarmphasicI.setI21Max(messageDataI.getMaxIa21());
dataHarmphasicI.setI22Max(messageDataI.getMaxIa22());
dataHarmphasicI.setI23Max(messageDataI.getMaxIa23());
dataHarmphasicI.setI24Max(messageDataI.getMaxIa24());
dataHarmphasicI.setI25Max(messageDataI.getMaxIa25());
dataHarmphasicI.setI26Max(messageDataI.getMaxIa26());
dataHarmphasicI.setI27Max(messageDataI.getMaxIa27());
dataHarmphasicI.setI28Max(messageDataI.getMaxIa28());
dataHarmphasicI.setI29Max(messageDataI.getMaxIa29());
dataHarmphasicI.setI30Max(messageDataI.getMaxIa30());
dataHarmphasicI.setI31Max(messageDataI.getMaxIa31());
dataHarmphasicI.setI32Max(messageDataI.getMaxIa32());
dataHarmphasicI.setI33Max(messageDataI.getMaxIa33());
dataHarmphasicI.setI34Max(messageDataI.getMaxIa34());
dataHarmphasicI.setI35Max(messageDataI.getMaxIa35());
dataHarmphasicI.setI36Max(messageDataI.getMaxIa36());
dataHarmphasicI.setI37Max(messageDataI.getMaxIa37());
dataHarmphasicI.setI38Max(messageDataI.getMaxIa38());
dataHarmphasicI.setI39Max(messageDataI.getMaxIa39());
dataHarmphasicI.setI40Max(messageDataI.getMaxIa40());
dataHarmphasicI.setI41Max(messageDataI.getMaxIa41());
dataHarmphasicI.setI42Max(messageDataI.getMaxIa42());
dataHarmphasicI.setI43Max(messageDataI.getMaxIa43());
dataHarmphasicI.setI44Max(messageDataI.getMaxIa44());
dataHarmphasicI.setI45Max(messageDataI.getMaxIa45());
dataHarmphasicI.setI46Max(messageDataI.getMaxIa46());
dataHarmphasicI.setI47Max(messageDataI.getMaxIa47());
dataHarmphasicI.setI48Max(messageDataI.getMaxIa48());
dataHarmphasicI.setI49Max(messageDataI.getMaxIa49());
dataHarmphasicI.setI50Max(messageDataI.getMaxIa50());
dataHarmphasicI.setI1Min(1.00f);
dataHarmphasicI.setI2Min(messageDataI.getMinIa2());
dataHarmphasicI.setI3Min(messageDataI.getMinIa3());
dataHarmphasicI.setI4Min(messageDataI.getMinIa4());
dataHarmphasicI.setI5Min(messageDataI.getMinIa5());
dataHarmphasicI.setI6Min(messageDataI.getMinIa6());
dataHarmphasicI.setI7Min(messageDataI.getMinIa7());
dataHarmphasicI.setI8Min(messageDataI.getMinIa8());
dataHarmphasicI.setI9Min(messageDataI.getMinIa9());
dataHarmphasicI.setI10Min(messageDataI.getMinIa10());
dataHarmphasicI.setI11Min(messageDataI.getMinIa11());
dataHarmphasicI.setI12Min(messageDataI.getMinIa12());
dataHarmphasicI.setI13Min(messageDataI.getMinIa13());
dataHarmphasicI.setI14Min(messageDataI.getMinIa14());
dataHarmphasicI.setI15Min(messageDataI.getMinIa15());
dataHarmphasicI.setI16Min(messageDataI.getMinIa16());
dataHarmphasicI.setI17Min(messageDataI.getMinIa17());
dataHarmphasicI.setI18Min(messageDataI.getMinIa18());
dataHarmphasicI.setI19Min(messageDataI.getMinIa19());
dataHarmphasicI.setI20Min(messageDataI.getMinIa20());
dataHarmphasicI.setI21Min(messageDataI.getMinIa21());
dataHarmphasicI.setI22Min(messageDataI.getMinIa22());
dataHarmphasicI.setI23Min(messageDataI.getMinIa23());
dataHarmphasicI.setI24Min(messageDataI.getMinIa24());
dataHarmphasicI.setI25Min(messageDataI.getMinIa25());
dataHarmphasicI.setI26Min(messageDataI.getMinIa26());
dataHarmphasicI.setI27Min(messageDataI.getMinIa27());
dataHarmphasicI.setI28Min(messageDataI.getMinIa28());
dataHarmphasicI.setI29Min(messageDataI.getMinIa29());
dataHarmphasicI.setI30Min(messageDataI.getMinIa30());
dataHarmphasicI.setI31Min(messageDataI.getMinIa31());
dataHarmphasicI.setI32Min(messageDataI.getMinIa32());
dataHarmphasicI.setI33Min(messageDataI.getMinIa33());
dataHarmphasicI.setI34Min(messageDataI.getMinIa34());
dataHarmphasicI.setI35Min(messageDataI.getMinIa35());
dataHarmphasicI.setI36Min(messageDataI.getMinIa36());
dataHarmphasicI.setI37Min(messageDataI.getMinIa37());
dataHarmphasicI.setI38Min(messageDataI.getMinIa38());
dataHarmphasicI.setI39Min(messageDataI.getMinIa39());
dataHarmphasicI.setI40Min(messageDataI.getMinIa40());
dataHarmphasicI.setI41Min(messageDataI.getMinIa41());
dataHarmphasicI.setI42Min(messageDataI.getMinIa42());
dataHarmphasicI.setI43Min(messageDataI.getMinIa43());
dataHarmphasicI.setI44Min(messageDataI.getMinIa44());
dataHarmphasicI.setI45Min(messageDataI.getMinIa45());
dataHarmphasicI.setI46Min(messageDataI.getMinIa46());
dataHarmphasicI.setI47Min(messageDataI.getMinIa47());
dataHarmphasicI.setI48Min(messageDataI.getMinIa48());
dataHarmphasicI.setI49Min(messageDataI.getMinIa49());
dataHarmphasicI.setI50Min(messageDataI.getMinIa50());
dataHarmphasicI.setI1Cp95(1.00f);
dataHarmphasicI.setI2Cp95(messageDataI.getGIa2());
dataHarmphasicI.setI3Cp95(messageDataI.getGIa3());
dataHarmphasicI.setI4Cp95(messageDataI.getGIa4());
dataHarmphasicI.setI5Cp95(messageDataI.getGIa5());
dataHarmphasicI.setI6Cp95(messageDataI.getGIa6());
dataHarmphasicI.setI7Cp95(messageDataI.getGIa7());
dataHarmphasicI.setI8Cp95(messageDataI.getGIa8());
dataHarmphasicI.setI9Cp95(messageDataI.getGIa9());
dataHarmphasicI.setI10Cp95(messageDataI.getGIa10());
dataHarmphasicI.setI11Cp95(messageDataI.getGIa11());
dataHarmphasicI.setI12Cp95(messageDataI.getGIa12());
dataHarmphasicI.setI13Cp95(messageDataI.getGIa13());
dataHarmphasicI.setI14Cp95(messageDataI.getGIa14());
dataHarmphasicI.setI15Cp95(messageDataI.getGIa15());
dataHarmphasicI.setI16Cp95(messageDataI.getGIa16());
dataHarmphasicI.setI17Cp95(messageDataI.getGIa17());
dataHarmphasicI.setI18Cp95(messageDataI.getGIa18());
dataHarmphasicI.setI19Cp95(messageDataI.getGIa19());
dataHarmphasicI.setI20Cp95(messageDataI.getGIa20());
dataHarmphasicI.setI21Cp95(messageDataI.getGIa21());
dataHarmphasicI.setI22Cp95(messageDataI.getGIa22());
dataHarmphasicI.setI23Cp95(messageDataI.getGIa23());
dataHarmphasicI.setI24Cp95(messageDataI.getGIa24());
dataHarmphasicI.setI25Cp95(messageDataI.getGIa25());
dataHarmphasicI.setI26Cp95(messageDataI.getGIa26());
dataHarmphasicI.setI27Cp95(messageDataI.getGIa27());
dataHarmphasicI.setI28Cp95(messageDataI.getGIa28());
dataHarmphasicI.setI29Cp95(messageDataI.getGIa29());
dataHarmphasicI.setI30Cp95(messageDataI.getGIa30());
dataHarmphasicI.setI31Cp95(messageDataI.getGIa31());
dataHarmphasicI.setI32Cp95(messageDataI.getGIa32());
dataHarmphasicI.setI33Cp95(messageDataI.getGIa33());
dataHarmphasicI.setI34Cp95(messageDataI.getGIa34());
dataHarmphasicI.setI35Cp95(messageDataI.getGIa35());
dataHarmphasicI.setI36Cp95(messageDataI.getGIa36());
dataHarmphasicI.setI37Cp95(messageDataI.getGIa37());
dataHarmphasicI.setI38Cp95(messageDataI.getGIa38());
dataHarmphasicI.setI39Cp95(messageDataI.getGIa39());
dataHarmphasicI.setI40Cp95(messageDataI.getGIa40());
dataHarmphasicI.setI41Cp95(messageDataI.getGIa41());
dataHarmphasicI.setI42Cp95(messageDataI.getGIa42());
dataHarmphasicI.setI43Cp95(messageDataI.getGIa43());
dataHarmphasicI.setI44Cp95(messageDataI.getGIa44());
dataHarmphasicI.setI45Cp95(messageDataI.getGIa45());
dataHarmphasicI.setI46Cp95(messageDataI.getGIa46());
dataHarmphasicI.setI47Cp95(messageDataI.getGIa47());
dataHarmphasicI.setI48Cp95(messageDataI.getGIa48());
dataHarmphasicI.setI49Cp95(messageDataI.getGIa49());
dataHarmphasicI.setI50Cp95(messageDataI.getGIa50());
}
return dataHarmphasicI;
}
public static DataInharmIDTO messageDataITODataInharmI(MessageDataI messageDataI){
DataInharmIDTO dataInharmI = new DataInharmIDTO();
if(Objects.nonNull(messageDataI)){
dataInharmI.setI1(messageDataI.getSi0());
dataInharmI.setI2(messageDataI.getSi1());
dataInharmI.setI3(messageDataI.getSi2());
dataInharmI.setI4(messageDataI.getSi3());
dataInharmI.setI5(messageDataI.getSi4());
dataInharmI.setI6(messageDataI.getSi5());
dataInharmI.setI7(messageDataI.getSi6());
dataInharmI.setI8(messageDataI.getSi7());
dataInharmI.setI9(messageDataI.getSi8());
dataInharmI.setI10(messageDataI.getSi9());
dataInharmI.setI11(messageDataI.getSi10());
dataInharmI.setI12(messageDataI.getSi11());
dataInharmI.setI13(messageDataI.getSi12());
dataInharmI.setI14(messageDataI.getSi13());
dataInharmI.setI15(messageDataI.getSi14());
dataInharmI.setI16(messageDataI.getSi15());
dataInharmI.setI17(messageDataI.getSi16());
dataInharmI.setI18(messageDataI.getSi17());
dataInharmI.setI19(messageDataI.getSi18());
dataInharmI.setI20(messageDataI.getSi19());
dataInharmI.setI21(messageDataI.getSi20());
dataInharmI.setI22(messageDataI.getSi21());
dataInharmI.setI23(messageDataI.getSi22());
dataInharmI.setI24(messageDataI.getSi23());
dataInharmI.setI25(messageDataI.getSi24());
dataInharmI.setI26(messageDataI.getSi25());
dataInharmI.setI27(messageDataI.getSi26());
dataInharmI.setI28(messageDataI.getSi27());
dataInharmI.setI29(messageDataI.getSi28());
dataInharmI.setI30(messageDataI.getSi29());
dataInharmI.setI31(messageDataI.getSi30());
dataInharmI.setI32(messageDataI.getSi31());
dataInharmI.setI33(messageDataI.getSi32());
dataInharmI.setI34(messageDataI.getSi33());
dataInharmI.setI35(messageDataI.getSi34());
dataInharmI.setI36(messageDataI.getSi35());
dataInharmI.setI37(messageDataI.getSi36());
dataInharmI.setI38(messageDataI.getSi37());
dataInharmI.setI39(messageDataI.getSi38());
dataInharmI.setI40(messageDataI.getSi39());
dataInharmI.setI41(messageDataI.getSi40());
dataInharmI.setI42(messageDataI.getSi41());
dataInharmI.setI43(messageDataI.getSi42());
dataInharmI.setI44(messageDataI.getSi43());
dataInharmI.setI45(messageDataI.getSi44());
dataInharmI.setI46(messageDataI.getSi45());
dataInharmI.setI47(messageDataI.getSi46());
dataInharmI.setI48(messageDataI.getSi47());
dataInharmI.setI49(messageDataI.getSi48());
dataInharmI.setI50(messageDataI.getSi49());
dataInharmI.setI1Max(messageDataI.getMaxSi0());
dataInharmI.setI2Max(messageDataI.getMaxSi1());
dataInharmI.setI3Max(messageDataI.getMaxSi2());
dataInharmI.setI4Max(messageDataI.getMaxSi3());
dataInharmI.setI5Max(messageDataI.getMaxSi4());
dataInharmI.setI6Max(messageDataI.getMaxSi5());
dataInharmI.setI7Max(messageDataI.getMaxSi6());
dataInharmI.setI8Max(messageDataI.getMaxSi7());
dataInharmI.setI9Max(messageDataI.getMaxSi8());
dataInharmI.setI10Max(messageDataI.getMaxSi9());
dataInharmI.setI11Max(messageDataI.getMaxSi10());
dataInharmI.setI12Max(messageDataI.getMaxSi11());
dataInharmI.setI13Max(messageDataI.getMaxSi12());
dataInharmI.setI14Max(messageDataI.getMaxSi13());
dataInharmI.setI15Max(messageDataI.getMaxSi14());
dataInharmI.setI16Max(messageDataI.getMaxSi15());
dataInharmI.setI17Max(messageDataI.getMaxSi16());
dataInharmI.setI18Max(messageDataI.getMaxSi17());
dataInharmI.setI19Max(messageDataI.getMaxSi18());
dataInharmI.setI20Max(messageDataI.getMaxSi19());
dataInharmI.setI21Max(messageDataI.getMaxSi20());
dataInharmI.setI22Max(messageDataI.getMaxSi21());
dataInharmI.setI23Max(messageDataI.getMaxSi22());
dataInharmI.setI24Max(messageDataI.getMaxSi23());
dataInharmI.setI25Max(messageDataI.getMaxSi24());
dataInharmI.setI26Max(messageDataI.getMaxSi25());
dataInharmI.setI27Max(messageDataI.getMaxSi26());
dataInharmI.setI28Max(messageDataI.getMaxSi27());
dataInharmI.setI29Max(messageDataI.getMaxSi28());
dataInharmI.setI30Max(messageDataI.getMaxSi29());
dataInharmI.setI31Max(messageDataI.getMaxSi30());
dataInharmI.setI32Max(messageDataI.getMaxSi31());
dataInharmI.setI33Max(messageDataI.getMaxSi32());
dataInharmI.setI34Max(messageDataI.getMaxSi33());
dataInharmI.setI35Max(messageDataI.getMaxSi34());
dataInharmI.setI36Max(messageDataI.getMaxSi35());
dataInharmI.setI37Max(messageDataI.getMaxSi36());
dataInharmI.setI38Max(messageDataI.getMaxSi37());
dataInharmI.setI39Max(messageDataI.getMaxSi38());
dataInharmI.setI40Max(messageDataI.getMaxSi39());
dataInharmI.setI41Max(messageDataI.getMaxSi40());
dataInharmI.setI42Max(messageDataI.getMaxSi41());
dataInharmI.setI43Max(messageDataI.getMaxSi42());
dataInharmI.setI44Max(messageDataI.getMaxSi43());
dataInharmI.setI45Max(messageDataI.getMaxSi44());
dataInharmI.setI46Max(messageDataI.getMaxSi45());
dataInharmI.setI47Max(messageDataI.getMaxSi46());
dataInharmI.setI48Max(messageDataI.getMaxSi47());
dataInharmI.setI49Max(messageDataI.getMaxSi48());
dataInharmI.setI50Max(messageDataI.getMaxSi49());
dataInharmI.setI1Min(messageDataI.getMinSi0());
dataInharmI.setI2Min(messageDataI.getMinSi1());
dataInharmI.setI3Min(messageDataI.getMinSi2());
dataInharmI.setI4Min(messageDataI.getMinSi3());
dataInharmI.setI5Min(messageDataI.getMinSi4());
dataInharmI.setI6Min(messageDataI.getMinSi5());
dataInharmI.setI7Min(messageDataI.getMinSi6());
dataInharmI.setI8Min(messageDataI.getMinSi7());
dataInharmI.setI9Min(messageDataI.getMinSi8());
dataInharmI.setI10Min(messageDataI.getMinSi9());
dataInharmI.setI11Min(messageDataI.getMinSi10());
dataInharmI.setI12Min(messageDataI.getMinSi11());
dataInharmI.setI13Min(messageDataI.getMinSi12());
dataInharmI.setI14Min(messageDataI.getMinSi13());
dataInharmI.setI15Min(messageDataI.getMinSi14());
dataInharmI.setI16Min(messageDataI.getMinSi15());
dataInharmI.setI17Min(messageDataI.getMinSi16());
dataInharmI.setI18Min(messageDataI.getMinSi17());
dataInharmI.setI19Min(messageDataI.getMinSi18());
dataInharmI.setI20Min(messageDataI.getMinSi19());
dataInharmI.setI21Min(messageDataI.getMinSi20());
dataInharmI.setI22Min(messageDataI.getMinSi21());
dataInharmI.setI23Min(messageDataI.getMinSi22());
dataInharmI.setI24Min(messageDataI.getMinSi23());
dataInharmI.setI25Min(messageDataI.getMinSi24());
dataInharmI.setI26Min(messageDataI.getMinSi25());
dataInharmI.setI27Min(messageDataI.getMinSi26());
dataInharmI.setI28Min(messageDataI.getMinSi27());
dataInharmI.setI29Min(messageDataI.getMinSi28());
dataInharmI.setI30Min(messageDataI.getMinSi29());
dataInharmI.setI31Min(messageDataI.getMinSi30());
dataInharmI.setI32Min(messageDataI.getMinSi31());
dataInharmI.setI33Min(messageDataI.getMinSi32());
dataInharmI.setI34Min(messageDataI.getMinSi33());
dataInharmI.setI35Min(messageDataI.getMinSi34());
dataInharmI.setI36Min(messageDataI.getMinSi35());
dataInharmI.setI37Min(messageDataI.getMinSi36());
dataInharmI.setI38Min(messageDataI.getMinSi37());
dataInharmI.setI39Min(messageDataI.getMinSi38());
dataInharmI.setI40Min(messageDataI.getMinSi39());
dataInharmI.setI41Min(messageDataI.getMinSi40());
dataInharmI.setI42Min(messageDataI.getMinSi41());
dataInharmI.setI43Min(messageDataI.getMinSi42());
dataInharmI.setI44Min(messageDataI.getMinSi43());
dataInharmI.setI45Min(messageDataI.getMinSi44());
dataInharmI.setI46Min(messageDataI.getMinSi45());
dataInharmI.setI47Min(messageDataI.getMinSi46());
dataInharmI.setI48Min(messageDataI.getMinSi47());
dataInharmI.setI49Min(messageDataI.getMinSi48());
dataInharmI.setI50Min(messageDataI.getMinSi49());
dataInharmI.setI1Cp95(messageDataI.getGSi0());
dataInharmI.setI2Cp95(messageDataI.getGSi1());
dataInharmI.setI3Cp95(messageDataI.getGSi2());
dataInharmI.setI4Cp95(messageDataI.getGSi3());
dataInharmI.setI5Cp95(messageDataI.getGSi4());
dataInharmI.setI6Cp95(messageDataI.getGSi5());
dataInharmI.setI7Cp95(messageDataI.getGSi6());
dataInharmI.setI8Cp95(messageDataI.getGSi7());
dataInharmI.setI9Cp95(messageDataI.getGSi8());
dataInharmI.setI10Cp95(messageDataI.getGSi9());
dataInharmI.setI11Cp95(messageDataI.getGSi10());
dataInharmI.setI12Cp95(messageDataI.getGSi11());
dataInharmI.setI13Cp95(messageDataI.getGSi12());
dataInharmI.setI14Cp95(messageDataI.getGSi13());
dataInharmI.setI15Cp95(messageDataI.getGSi14());
dataInharmI.setI16Cp95(messageDataI.getGSi15());
dataInharmI.setI17Cp95(messageDataI.getGSi16());
dataInharmI.setI18Cp95(messageDataI.getGSi17());
dataInharmI.setI19Cp95(messageDataI.getGSi18());
dataInharmI.setI20Cp95(messageDataI.getGSi19());
dataInharmI.setI21Cp95(messageDataI.getGSi20());
dataInharmI.setI22Cp95(messageDataI.getGSi21());
dataInharmI.setI23Cp95(messageDataI.getGSi22());
dataInharmI.setI24Cp95(messageDataI.getGSi23());
dataInharmI.setI25Cp95(messageDataI.getGSi24());
dataInharmI.setI26Cp95(messageDataI.getGSi25());
dataInharmI.setI27Cp95(messageDataI.getGSi26());
dataInharmI.setI28Cp95(messageDataI.getGSi27());
dataInharmI.setI29Cp95(messageDataI.getGSi28());
dataInharmI.setI30Cp95(messageDataI.getGSi29());
dataInharmI.setI31Cp95(messageDataI.getGSi30());
dataInharmI.setI32Cp95(messageDataI.getGSi31());
dataInharmI.setI33Cp95(messageDataI.getGSi32());
dataInharmI.setI34Cp95(messageDataI.getGSi33());
dataInharmI.setI35Cp95(messageDataI.getGSi34());
dataInharmI.setI36Cp95(messageDataI.getGSi35());
dataInharmI.setI37Cp95(messageDataI.getGSi36());
dataInharmI.setI38Cp95(messageDataI.getGSi37());
dataInharmI.setI39Cp95(messageDataI.getGSi38());
dataInharmI.setI40Cp95(messageDataI.getGSi39());
dataInharmI.setI41Cp95(messageDataI.getGSi40());
dataInharmI.setI42Cp95(messageDataI.getGSi41());
dataInharmI.setI43Cp95(messageDataI.getGSi42());
dataInharmI.setI44Cp95(messageDataI.getGSi43());
dataInharmI.setI45Cp95(messageDataI.getGSi44());
dataInharmI.setI46Cp95(messageDataI.getGSi45());
dataInharmI.setI47Cp95(messageDataI.getGSi46());
dataInharmI.setI48Cp95(messageDataI.getGSi47());
dataInharmI.setI49Cp95(messageDataI.getGSi48());
dataInharmI.setI50Cp95(messageDataI.getGSi49());
}
return dataInharmI;
}
}

View File

@@ -0,0 +1,764 @@
package com.njcn.stat.utils;
import com.njcn.dataProcess.dto.DataHarmpowerPDTO;
import com.njcn.dataProcess.dto.DataHarmpowerQDTO;
import com.njcn.dataProcess.dto.DataHarmpowerSDTO;
import com.njcn.stat.messagedto.MessageDataP;
import com.njcn.stat.messagedto.MessageDataPT;
import java.util.Objects;
/**
* Description:
* Date: 2024/11/13 10:36【需求编号】
*
* @author clam
* @version V1.0.0
*/
public class BeanPConverter {
//A,B,C三项
public static DataHarmpowerPDTO messageDataPTODataHarmpowerP(MessageDataP messageDataP){
DataHarmpowerPDTO dataHarmpower = new DataHarmpowerPDTO();
if(Objects.nonNull(messageDataP)){
dataHarmpower.setPf(messageDataP.getPf());
dataHarmpower.setDf(messageDataP.getDf());
dataHarmpower.setP(messageDataP.getP());
dataHarmpower.setPfMax(messageDataP.getMaxPf());
dataHarmpower.setDfMax(messageDataP.getMaxDf());
dataHarmpower.setPMax(messageDataP.getMaxP());
dataHarmpower.setPfMin(messageDataP.getMinPf());
dataHarmpower.setDfMin(messageDataP.getMinDf());
dataHarmpower.setPMin(messageDataP.getMinP());
dataHarmpower.setPfCp95(messageDataP.getGPf());
dataHarmpower.setDfCp95(messageDataP.getGDf());
dataHarmpower.setPCp95(messageDataP.getGp());
dataHarmpower.setP1(messageDataP.getPFund());
dataHarmpower.setP2(messageDataP.getP2());
dataHarmpower.setP3(messageDataP.getP3());
dataHarmpower.setP4(messageDataP.getP4());
dataHarmpower.setP5(messageDataP.getP5());
dataHarmpower.setP6(messageDataP.getP6());
dataHarmpower.setP7(messageDataP.getP7());
dataHarmpower.setP8(messageDataP.getP8());
dataHarmpower.setP9(messageDataP.getP9());
dataHarmpower.setP10(messageDataP.getP10());
dataHarmpower.setP11(messageDataP.getP11());
dataHarmpower.setP12(messageDataP.getP12());
dataHarmpower.setP13(messageDataP.getP13());
dataHarmpower.setP14(messageDataP.getP14());
dataHarmpower.setP15(messageDataP.getP15());
dataHarmpower.setP16(messageDataP.getP16());
dataHarmpower.setP17(messageDataP.getP17());
dataHarmpower.setP18(messageDataP.getP18());
dataHarmpower.setP19(messageDataP.getP19());
dataHarmpower.setP20(messageDataP.getP20());
dataHarmpower.setP21(messageDataP.getP21());
dataHarmpower.setP22(messageDataP.getP22());
dataHarmpower.setP23(messageDataP.getP23());
dataHarmpower.setP24(messageDataP.getP24());
dataHarmpower.setP25(messageDataP.getP25());
dataHarmpower.setP26(messageDataP.getP26());
dataHarmpower.setP27(messageDataP.getP27());
dataHarmpower.setP28(messageDataP.getP28());
dataHarmpower.setP29(messageDataP.getP29());
dataHarmpower.setP30(messageDataP.getP30());
dataHarmpower.setP31(messageDataP.getP31());
dataHarmpower.setP32(messageDataP.getP32());
dataHarmpower.setP33(messageDataP.getP33());
dataHarmpower.setP34(messageDataP.getP34());
dataHarmpower.setP35(messageDataP.getP35());
dataHarmpower.setP36(messageDataP.getP36());
dataHarmpower.setP37(messageDataP.getP37());
dataHarmpower.setP38(messageDataP.getP38());
dataHarmpower.setP39(messageDataP.getP39());
dataHarmpower.setP40(messageDataP.getP40());
dataHarmpower.setP41(messageDataP.getP41());
dataHarmpower.setP42(messageDataP.getP42());
dataHarmpower.setP43(messageDataP.getP43());
dataHarmpower.setP44(messageDataP.getP44());
dataHarmpower.setP45(messageDataP.getP45());
dataHarmpower.setP46(messageDataP.getP46());
dataHarmpower.setP47(messageDataP.getP47());
dataHarmpower.setP48(messageDataP.getP48());
dataHarmpower.setP49(messageDataP.getP49());
dataHarmpower.setP50(messageDataP.getP50());
dataHarmpower.setP1Max(messageDataP.getMaxPfund());
dataHarmpower.setP2Max(messageDataP.getMaxP2());
dataHarmpower.setP3Max(messageDataP.getMaxP3());
dataHarmpower.setP4Max(messageDataP.getMaxP4());
dataHarmpower.setP5Max(messageDataP.getMaxP5());
dataHarmpower.setP6Max(messageDataP.getMaxP6());
dataHarmpower.setP7Max(messageDataP.getMaxP7());
dataHarmpower.setP8Max(messageDataP.getMaxP8());
dataHarmpower.setP9Max(messageDataP.getMaxP9());
dataHarmpower.setP10Max(messageDataP.getMaxP10());
dataHarmpower.setP11Max(messageDataP.getMaxP11());
dataHarmpower.setP12Max(messageDataP.getMaxP12());
dataHarmpower.setP13Max(messageDataP.getMaxP13());
dataHarmpower.setP14Max(messageDataP.getMaxP14());
dataHarmpower.setP15Max(messageDataP.getMaxP15());
dataHarmpower.setP16Max(messageDataP.getMaxP16());
dataHarmpower.setP17Max(messageDataP.getMaxP17());
dataHarmpower.setP18Max(messageDataP.getMaxP18());
dataHarmpower.setP19Max(messageDataP.getMaxP19());
dataHarmpower.setP20Max(messageDataP.getMaxP20());
dataHarmpower.setP21Max(messageDataP.getMaxP21());
dataHarmpower.setP22Max(messageDataP.getMaxP22());
dataHarmpower.setP23Max(messageDataP.getMaxP23());
dataHarmpower.setP24Max(messageDataP.getMaxP24());
dataHarmpower.setP25Max(messageDataP.getMaxP25());
dataHarmpower.setP26Max(messageDataP.getMaxP26());
dataHarmpower.setP27Max(messageDataP.getMaxP27());
dataHarmpower.setP28Max(messageDataP.getMaxP28());
dataHarmpower.setP29Max(messageDataP.getMaxP29());
dataHarmpower.setP30Max(messageDataP.getMaxP30());
dataHarmpower.setP31Max(messageDataP.getMaxP31());
dataHarmpower.setP32Max(messageDataP.getMaxP32());
dataHarmpower.setP33Max(messageDataP.getMaxP33());
dataHarmpower.setP34Max(messageDataP.getMaxP34());
dataHarmpower.setP35Max(messageDataP.getMaxP35());
dataHarmpower.setP36Max(messageDataP.getMaxP36());
dataHarmpower.setP37Max(messageDataP.getMaxP37());
dataHarmpower.setP38Max(messageDataP.getMaxP38());
dataHarmpower.setP39Max(messageDataP.getMaxP39());
dataHarmpower.setP40Max(messageDataP.getMaxP40());
dataHarmpower.setP41Max(messageDataP.getMaxP41());
dataHarmpower.setP42Max(messageDataP.getMaxP42());
dataHarmpower.setP43Max(messageDataP.getMaxP43());
dataHarmpower.setP44Max(messageDataP.getMaxP44());
dataHarmpower.setP45Max(messageDataP.getMaxP45());
dataHarmpower.setP46Max(messageDataP.getMaxP46());
dataHarmpower.setP47Max(messageDataP.getMaxP47());
dataHarmpower.setP48Max(messageDataP.getMaxP48());
dataHarmpower.setP49Max(messageDataP.getMaxP49());
dataHarmpower.setP50Max(messageDataP.getMaxP50());
dataHarmpower.setP1Min(messageDataP.getMinPfund());
dataHarmpower.setP2Min(messageDataP.getMinP2());
dataHarmpower.setP3Min(messageDataP.getMinP3());
dataHarmpower.setP4Min(messageDataP.getMinP4());
dataHarmpower.setP5Min(messageDataP.getMinP5());
dataHarmpower.setP6Min(messageDataP.getMinP6());
dataHarmpower.setP7Min(messageDataP.getMinP7());
dataHarmpower.setP8Min(messageDataP.getMinP8());
dataHarmpower.setP9Min(messageDataP.getMinP9());
dataHarmpower.setP10Min(messageDataP.getMinP10());
dataHarmpower.setP11Min(messageDataP.getMinP11());
dataHarmpower.setP12Min(messageDataP.getMinP12());
dataHarmpower.setP13Min(messageDataP.getMinP13());
dataHarmpower.setP14Min(messageDataP.getMinP14());
dataHarmpower.setP15Min(messageDataP.getMinP15());
dataHarmpower.setP16Min(messageDataP.getMinP16());
dataHarmpower.setP17Min(messageDataP.getMinP17());
dataHarmpower.setP18Min(messageDataP.getMinP18());
dataHarmpower.setP19Min(messageDataP.getMinP19());
dataHarmpower.setP20Min(messageDataP.getMinP20());
dataHarmpower.setP21Min(messageDataP.getMinP21());
dataHarmpower.setP22Min(messageDataP.getMinP22());
dataHarmpower.setP23Min(messageDataP.getMinP23());
dataHarmpower.setP24Min(messageDataP.getMinP24());
dataHarmpower.setP25Min(messageDataP.getMinP25());
dataHarmpower.setP26Min(messageDataP.getMinP26());
dataHarmpower.setP27Min(messageDataP.getMinP27());
dataHarmpower.setP28Min(messageDataP.getMinP28());
dataHarmpower.setP29Min(messageDataP.getMinP29());
dataHarmpower.setP30Min(messageDataP.getMinP30());
dataHarmpower.setP31Min(messageDataP.getMinP31());
dataHarmpower.setP32Min(messageDataP.getMinP32());
dataHarmpower.setP33Min(messageDataP.getMinP33());
dataHarmpower.setP34Min(messageDataP.getMinP34());
dataHarmpower.setP35Min(messageDataP.getMinP35());
dataHarmpower.setP36Min(messageDataP.getMinP36());
dataHarmpower.setP37Min(messageDataP.getMinP37());
dataHarmpower.setP38Min(messageDataP.getMinP38());
dataHarmpower.setP39Min(messageDataP.getMinP39());
dataHarmpower.setP40Min(messageDataP.getMinP40());
dataHarmpower.setP41Min(messageDataP.getMinP41());
dataHarmpower.setP42Min(messageDataP.getMinP42());
dataHarmpower.setP43Min(messageDataP.getMinP43());
dataHarmpower.setP44Min(messageDataP.getMinP44());
dataHarmpower.setP45Min(messageDataP.getMinP45());
dataHarmpower.setP46Min(messageDataP.getMinP46());
dataHarmpower.setP47Min(messageDataP.getMinP47());
dataHarmpower.setP48Min(messageDataP.getMinP48());
dataHarmpower.setP49Min(messageDataP.getMinP49());
dataHarmpower.setP50Min(messageDataP.getMinP50());
dataHarmpower.setP1Cp95(messageDataP.getGPfund());
dataHarmpower.setP2Cp95(messageDataP.getGp2());
dataHarmpower.setP3Cp95(messageDataP.getGp3());
dataHarmpower.setP4Cp95(messageDataP.getGp4());
dataHarmpower.setP5Cp95(messageDataP.getGp5());
dataHarmpower.setP6Cp95(messageDataP.getGp6());
dataHarmpower.setP7Cp95(messageDataP.getGp7());
dataHarmpower.setP8Cp95(messageDataP.getGp8());
dataHarmpower.setP9Cp95(messageDataP.getGp9());
dataHarmpower.setP10Cp95(messageDataP.getGp10());
dataHarmpower.setP11Cp95(messageDataP.getGp11());
dataHarmpower.setP12Cp95(messageDataP.getGp12());
dataHarmpower.setP13Cp95(messageDataP.getGp13());
dataHarmpower.setP14Cp95(messageDataP.getGp14());
dataHarmpower.setP15Cp95(messageDataP.getGp15());
dataHarmpower.setP16Cp95(messageDataP.getGp16());
dataHarmpower.setP17Cp95(messageDataP.getGp17());
dataHarmpower.setP18Cp95(messageDataP.getGp18());
dataHarmpower.setP19Cp95(messageDataP.getGp19());
dataHarmpower.setP20Cp95(messageDataP.getGp20());
dataHarmpower.setP21Cp95(messageDataP.getGp21());
dataHarmpower.setP22Cp95(messageDataP.getGp22());
dataHarmpower.setP23Cp95(messageDataP.getGp23());
dataHarmpower.setP24Cp95(messageDataP.getGp24());
dataHarmpower.setP25Cp95(messageDataP.getGp25());
dataHarmpower.setP26Cp95(messageDataP.getGp26());
dataHarmpower.setP27Cp95(messageDataP.getGp27());
dataHarmpower.setP28Cp95(messageDataP.getGp28());
dataHarmpower.setP29Cp95(messageDataP.getGp29());
dataHarmpower.setP30Cp95(messageDataP.getGp30());
dataHarmpower.setP31Cp95(messageDataP.getGp31());
dataHarmpower.setP32Cp95(messageDataP.getGp32());
dataHarmpower.setP33Cp95(messageDataP.getGp33());
dataHarmpower.setP34Cp95(messageDataP.getGp34());
dataHarmpower.setP35Cp95(messageDataP.getGp35());
dataHarmpower.setP36Cp95(messageDataP.getGp36());
dataHarmpower.setP37Cp95(messageDataP.getGp37());
dataHarmpower.setP38Cp95(messageDataP.getGp38());
dataHarmpower.setP39Cp95(messageDataP.getGp39());
dataHarmpower.setP40Cp95(messageDataP.getGp40());
dataHarmpower.setP41Cp95(messageDataP.getGp41());
dataHarmpower.setP42Cp95(messageDataP.getGp42());
dataHarmpower.setP43Cp95(messageDataP.getGp43());
dataHarmpower.setP44Cp95(messageDataP.getGp44());
dataHarmpower.setP45Cp95(messageDataP.getGp45());
dataHarmpower.setP46Cp95(messageDataP.getGp46());
dataHarmpower.setP47Cp95(messageDataP.getGp47());
dataHarmpower.setP48Cp95(messageDataP.getGp48());
dataHarmpower.setP49Cp95(messageDataP.getGp49());
dataHarmpower.setP50Cp95(messageDataP.getGp50());
}
return dataHarmpower;
}
//T项
public static DataHarmpowerPDTO messageDataPTODataHarmpowerP(MessageDataPT messageDataPT){
DataHarmpowerPDTO dataHarmpower = new DataHarmpowerPDTO();
if(Objects.nonNull(messageDataPT)){
dataHarmpower.setPf(messageDataPT.getPf());
dataHarmpower.setDf(messageDataPT.getDf());
dataHarmpower.setP(messageDataPT.getP());
dataHarmpower.setPfMax(messageDataPT.getMaxPf());
dataHarmpower.setDfMax(messageDataPT.getMaxDf());
dataHarmpower.setPMax(messageDataPT.getMaxP());
dataHarmpower.setPfMin(messageDataPT.getMinPf());
dataHarmpower.setDfMin(messageDataPT.getMinDf());
dataHarmpower.setPMin(messageDataPT.getMinP());
dataHarmpower.setPfCp95(messageDataPT.getGPf());
dataHarmpower.setDfCp95(messageDataPT.getGDf());
dataHarmpower.setPCp95(messageDataPT.getGp());
}
return dataHarmpower;
}
//A,B,C三项
public static DataHarmpowerSDTO messageDataPTODataHarmpowerS(MessageDataP messageDataP){
DataHarmpowerSDTO dataHarmpowerS = new DataHarmpowerSDTO();
if(Objects.nonNull(messageDataP)){
// dataHarmpowerS.setTimeid();
// dataHarmpowerS.setLineid();
// dataHarmpowerS.setPhasicType();
// dataHarmpowerS.setQualityflag();
dataHarmpowerS.setS(messageDataP.getS());
// dataHarmpowerS.setS1(messageDataP.getS1());
dataHarmpowerS.setS2(messageDataP.getS2());
dataHarmpowerS.setS3(messageDataP.getS3());
dataHarmpowerS.setS4(messageDataP.getS4());
dataHarmpowerS.setS5(messageDataP.getS5());
dataHarmpowerS.setS6(messageDataP.getS6());
dataHarmpowerS.setS7(messageDataP.getS7());
dataHarmpowerS.setS8(messageDataP.getS8());
dataHarmpowerS.setS9(messageDataP.getS9());
dataHarmpowerS.setS10(messageDataP.getS10());
dataHarmpowerS.setS11(messageDataP.getS11());
dataHarmpowerS.setS12(messageDataP.getS12());
dataHarmpowerS.setS13(messageDataP.getS13());
dataHarmpowerS.setS14(messageDataP.getS14());
dataHarmpowerS.setS15(messageDataP.getS15());
dataHarmpowerS.setS16(messageDataP.getS16());
dataHarmpowerS.setS17(messageDataP.getS17());
dataHarmpowerS.setS18(messageDataP.getS18());
dataHarmpowerS.setS19(messageDataP.getS19());
dataHarmpowerS.setS20(messageDataP.getS20());
dataHarmpowerS.setS21(messageDataP.getS21());
dataHarmpowerS.setS22(messageDataP.getS22());
dataHarmpowerS.setS23(messageDataP.getS23());
dataHarmpowerS.setS24(messageDataP.getS24());
dataHarmpowerS.setS25(messageDataP.getS25());
dataHarmpowerS.setS26(messageDataP.getS26());
dataHarmpowerS.setS27(messageDataP.getS27());
dataHarmpowerS.setS28(messageDataP.getS28());
dataHarmpowerS.setS29(messageDataP.getS29());
dataHarmpowerS.setS30(messageDataP.getS30());
dataHarmpowerS.setS31(messageDataP.getS31());
dataHarmpowerS.setS32(messageDataP.getS32());
dataHarmpowerS.setS33(messageDataP.getS33());
dataHarmpowerS.setS34(messageDataP.getS34());
dataHarmpowerS.setS35(messageDataP.getS35());
dataHarmpowerS.setS36(messageDataP.getS36());
dataHarmpowerS.setS37(messageDataP.getS37());
dataHarmpowerS.setS38(messageDataP.getS38());
dataHarmpowerS.setS39(messageDataP.getS39());
dataHarmpowerS.setS40(messageDataP.getS40());
dataHarmpowerS.setS41(messageDataP.getS41());
dataHarmpowerS.setS42(messageDataP.getS42());
dataHarmpowerS.setS43(messageDataP.getS43());
dataHarmpowerS.setS44(messageDataP.getS44());
dataHarmpowerS.setS45(messageDataP.getS45());
dataHarmpowerS.setS46(messageDataP.getS46());
dataHarmpowerS.setS47(messageDataP.getS47());
dataHarmpowerS.setS48(messageDataP.getS48());
dataHarmpowerS.setS49(messageDataP.getS49());
dataHarmpowerS.setS50(messageDataP.getS50());
dataHarmpowerS.setSMax(messageDataP.getMaxS());
// dataHarmpowerS.setS1Max();
dataHarmpowerS.setS2Max(messageDataP.getMaxS2());
dataHarmpowerS.setS3Max(messageDataP.getMaxS3());
dataHarmpowerS.setS4Max(messageDataP.getMaxS4());
dataHarmpowerS.setS5Max(messageDataP.getMaxS5());
dataHarmpowerS.setS6Max(messageDataP.getMaxS6());
dataHarmpowerS.setS7Max(messageDataP.getMaxS7());
dataHarmpowerS.setS8Max(messageDataP.getMaxS8());
dataHarmpowerS.setS9Max(messageDataP.getMaxS9());
dataHarmpowerS.setS10Max(messageDataP.getMaxS10());
dataHarmpowerS.setS11Max(messageDataP.getMaxS11());
dataHarmpowerS.setS12Max(messageDataP.getMaxS12());
dataHarmpowerS.setS13Max(messageDataP.getMaxS13());
dataHarmpowerS.setS14Max(messageDataP.getMaxS14());
dataHarmpowerS.setS15Max(messageDataP.getMaxS15());
dataHarmpowerS.setS16Max(messageDataP.getMaxS16());
dataHarmpowerS.setS17Max(messageDataP.getMaxS17());
dataHarmpowerS.setS18Max(messageDataP.getMaxS18());
dataHarmpowerS.setS19Max(messageDataP.getMaxS19());
dataHarmpowerS.setS20Max(messageDataP.getMaxS20());
dataHarmpowerS.setS21Max(messageDataP.getMaxS21());
dataHarmpowerS.setS22Max(messageDataP.getMaxS22());
dataHarmpowerS.setS23Max(messageDataP.getMaxS23());
dataHarmpowerS.setS24Max(messageDataP.getMaxS24());
dataHarmpowerS.setS25Max(messageDataP.getMaxS25());
dataHarmpowerS.setS26Max(messageDataP.getMaxS26());
dataHarmpowerS.setS27Max(messageDataP.getMaxS27());
dataHarmpowerS.setS28Max(messageDataP.getMaxS28());
dataHarmpowerS.setS29Max(messageDataP.getMaxS29());
dataHarmpowerS.setS30Max(messageDataP.getMaxS30());
dataHarmpowerS.setS31Max(messageDataP.getMaxS31());
dataHarmpowerS.setS32Max(messageDataP.getMaxS32());
dataHarmpowerS.setS33Max(messageDataP.getMaxS33());
dataHarmpowerS.setS34Max(messageDataP.getMaxS34());
dataHarmpowerS.setS35Max(messageDataP.getMaxS35());
dataHarmpowerS.setS36Max(messageDataP.getMaxS36());
dataHarmpowerS.setS37Max(messageDataP.getMaxS37());
dataHarmpowerS.setS38Max(messageDataP.getMaxS38());
dataHarmpowerS.setS39Max(messageDataP.getMaxS39());
dataHarmpowerS.setS40Max(messageDataP.getMaxS40());
dataHarmpowerS.setS41Max(messageDataP.getMaxS41());
dataHarmpowerS.setS42Max(messageDataP.getMaxS42());
dataHarmpowerS.setS43Max(messageDataP.getMaxS43());
dataHarmpowerS.setS44Max(messageDataP.getMaxS44());
dataHarmpowerS.setS45Max(messageDataP.getMaxS45());
dataHarmpowerS.setS46Max(messageDataP.getMaxS46());
dataHarmpowerS.setS47Max(messageDataP.getMaxS47());
dataHarmpowerS.setS48Max(messageDataP.getMaxS48());
dataHarmpowerS.setS49Max(messageDataP.getMaxS49());
dataHarmpowerS.setS50Max(messageDataP.getMaxS50());
dataHarmpowerS.setSMin(messageDataP.getMinS());
// dataHarmpowerS.setS1Min();
dataHarmpowerS.setS2Min(messageDataP.getMinS2());
dataHarmpowerS.setS3Min(messageDataP.getMinS3());
dataHarmpowerS.setS4Min(messageDataP.getMinS4());
dataHarmpowerS.setS5Min(messageDataP.getMinS5());
dataHarmpowerS.setS6Min(messageDataP.getMinS6());
dataHarmpowerS.setS7Min(messageDataP.getMinS7());
dataHarmpowerS.setS8Min(messageDataP.getMinS8());
dataHarmpowerS.setS9Min(messageDataP.getMinS9());
dataHarmpowerS.setS10Min(messageDataP.getMinS10());
dataHarmpowerS.setS11Min(messageDataP.getMinS11());
dataHarmpowerS.setS12Min(messageDataP.getMinS12());
dataHarmpowerS.setS13Min(messageDataP.getMinS13());
dataHarmpowerS.setS14Min(messageDataP.getMinS14());
dataHarmpowerS.setS15Min(messageDataP.getMinS15());
dataHarmpowerS.setS16Min(messageDataP.getMinS16());
dataHarmpowerS.setS17Min(messageDataP.getMinS17());
dataHarmpowerS.setS18Min(messageDataP.getMinS18());
dataHarmpowerS.setS19Min(messageDataP.getMinS19());
dataHarmpowerS.setS20Min(messageDataP.getMinS20());
dataHarmpowerS.setS21Min(messageDataP.getMinS21());
dataHarmpowerS.setS22Min(messageDataP.getMinS22());
dataHarmpowerS.setS23Min(messageDataP.getMinS23());
dataHarmpowerS.setS24Min(messageDataP.getMinS24());
dataHarmpowerS.setS25Min(messageDataP.getMinS25());
dataHarmpowerS.setS26Min(messageDataP.getMinS26());
dataHarmpowerS.setS27Min(messageDataP.getMinS27());
dataHarmpowerS.setS28Min(messageDataP.getMinS28());
dataHarmpowerS.setS29Min(messageDataP.getMinS29());
dataHarmpowerS.setS30Min(messageDataP.getMinS30());
dataHarmpowerS.setS31Min(messageDataP.getMinS31());
dataHarmpowerS.setS32Min(messageDataP.getMinS32());
dataHarmpowerS.setS33Min(messageDataP.getMinS33());
dataHarmpowerS.setS34Min(messageDataP.getMinS34());
dataHarmpowerS.setS35Min(messageDataP.getMinS35());
dataHarmpowerS.setS36Min(messageDataP.getMinS36());
dataHarmpowerS.setS37Min(messageDataP.getMinS37());
dataHarmpowerS.setS38Min(messageDataP.getMinS38());
dataHarmpowerS.setS39Min(messageDataP.getMinS39());
dataHarmpowerS.setS40Min(messageDataP.getMinS40());
dataHarmpowerS.setS41Min(messageDataP.getMinS41());
dataHarmpowerS.setS42Min(messageDataP.getMinS42());
dataHarmpowerS.setS43Min(messageDataP.getMinS43());
dataHarmpowerS.setS44Min(messageDataP.getMinS44());
dataHarmpowerS.setS45Min(messageDataP.getMinS45());
dataHarmpowerS.setS46Min(messageDataP.getMinS46());
dataHarmpowerS.setS47Min(messageDataP.getMinS47());
dataHarmpowerS.setS48Min(messageDataP.getMinS48());
dataHarmpowerS.setS49Min(messageDataP.getMinS49());
dataHarmpowerS.setS50Min(messageDataP.getMinS50());
dataHarmpowerS.setSCp95(messageDataP.getGs());
// dataHarmpowerS.setS1Cp95();
dataHarmpowerS.setS2Cp95(messageDataP.getGs2());
dataHarmpowerS.setS3Cp95(messageDataP.getGs3());
dataHarmpowerS.setS4Cp95(messageDataP.getGs4());
dataHarmpowerS.setS5Cp95(messageDataP.getGs5());
dataHarmpowerS.setS6Cp95(messageDataP.getGs6());
dataHarmpowerS.setS7Cp95(messageDataP.getGs7());
dataHarmpowerS.setS8Cp95(messageDataP.getGs8());
dataHarmpowerS.setS9Cp95(messageDataP.getGs9());
dataHarmpowerS.setS10Cp95(messageDataP.getGs10());
dataHarmpowerS.setS11Cp95(messageDataP.getGs11());
dataHarmpowerS.setS12Cp95(messageDataP.getGs12());
dataHarmpowerS.setS13Cp95(messageDataP.getGs13());
dataHarmpowerS.setS14Cp95(messageDataP.getGs14());
dataHarmpowerS.setS15Cp95(messageDataP.getGs15());
dataHarmpowerS.setS16Cp95(messageDataP.getGs16());
dataHarmpowerS.setS17Cp95(messageDataP.getGs17());
dataHarmpowerS.setS18Cp95(messageDataP.getGs18());
dataHarmpowerS.setS19Cp95(messageDataP.getGs19());
dataHarmpowerS.setS20Cp95(messageDataP.getGs20());
dataHarmpowerS.setS21Cp95(messageDataP.getGs21());
dataHarmpowerS.setS22Cp95(messageDataP.getGs22());
dataHarmpowerS.setS23Cp95(messageDataP.getGs23());
dataHarmpowerS.setS24Cp95(messageDataP.getGs24());
dataHarmpowerS.setS25Cp95(messageDataP.getGs25());
dataHarmpowerS.setS26Cp95(messageDataP.getGs26());
dataHarmpowerS.setS27Cp95(messageDataP.getGs27());
dataHarmpowerS.setS28Cp95(messageDataP.getGs28());
dataHarmpowerS.setS29Cp95(messageDataP.getGs29());
dataHarmpowerS.setS30Cp95(messageDataP.getGs30());
dataHarmpowerS.setS31Cp95(messageDataP.getGs31());
dataHarmpowerS.setS32Cp95(messageDataP.getGs32());
dataHarmpowerS.setS33Cp95(messageDataP.getGs33());
dataHarmpowerS.setS34Cp95(messageDataP.getGs34());
dataHarmpowerS.setS35Cp95(messageDataP.getGs35());
dataHarmpowerS.setS36Cp95(messageDataP.getGs36());
dataHarmpowerS.setS37Cp95(messageDataP.getGs37());
dataHarmpowerS.setS38Cp95(messageDataP.getGs38());
dataHarmpowerS.setS39Cp95(messageDataP.getGs39());
dataHarmpowerS.setS40Cp95(messageDataP.getGs40());
dataHarmpowerS.setS41Cp95(messageDataP.getGs41());
dataHarmpowerS.setS42Cp95(messageDataP.getGs42());
dataHarmpowerS.setS43Cp95(messageDataP.getGs43());
dataHarmpowerS.setS44Cp95(messageDataP.getGs44());
dataHarmpowerS.setS45Cp95(messageDataP.getGs45());
dataHarmpowerS.setS46Cp95(messageDataP.getGs46());
dataHarmpowerS.setS47Cp95(messageDataP.getGs47());
dataHarmpowerS.setS48Cp95(messageDataP.getGs48());
dataHarmpowerS.setS49Cp95(messageDataP.getGs49());
dataHarmpowerS.setS50Cp95(messageDataP.getGs50());
}
return dataHarmpowerS;
}
//T项
public static DataHarmpowerSDTO messageDataPTODataHarmpowerS(MessageDataPT messageDataPT){
DataHarmpowerSDTO dataHarmpowerS = new DataHarmpowerSDTO();
if(Objects.nonNull(messageDataPT)){
dataHarmpowerS.setS(messageDataPT.getP());
dataHarmpowerS.setSMax(messageDataPT.getMaxP());
dataHarmpowerS.setSMin(messageDataPT.getMinP());
dataHarmpowerS.setSCp95(messageDataPT.getGp());
}
return dataHarmpowerS;
}
//A,B,C三项
public static DataHarmpowerQDTO messageDataPTODataHarmpowerQ(MessageDataP messageDataP) {
DataHarmpowerQDTO dataHarmpowerQ = new DataHarmpowerQDTO();
if(Objects.nonNull(messageDataP)){
// dataHarmpowerQ.setTimeid();
// dataHarmpowerQ.setLineid();
// dataHarmpowerQ.setPhasicType();
// dataHarmpowerQ.setQualityflag();
dataHarmpowerQ.setQ(messageDataP.getQ());
// dataHarmpowerS.setS1(messageDataP.getS1());
dataHarmpowerQ.setQ2(messageDataP.getQ2());
dataHarmpowerQ.setQ3(messageDataP.getQ3());
dataHarmpowerQ.setQ4(messageDataP.getQ4());
dataHarmpowerQ.setQ5(messageDataP.getQ5());
dataHarmpowerQ.setQ6(messageDataP.getQ6());
dataHarmpowerQ.setQ7(messageDataP.getQ7());
dataHarmpowerQ.setQ8(messageDataP.getQ8());
dataHarmpowerQ.setQ9(messageDataP.getQ9());
dataHarmpowerQ.setQ10(messageDataP.getQ10());
dataHarmpowerQ.setQ11(messageDataP.getQ11());
dataHarmpowerQ.setQ12(messageDataP.getQ12());
dataHarmpowerQ.setQ13(messageDataP.getQ13());
dataHarmpowerQ.setQ14(messageDataP.getQ14());
dataHarmpowerQ.setQ15(messageDataP.getQ15());
dataHarmpowerQ.setQ16(messageDataP.getQ16());
dataHarmpowerQ.setQ17(messageDataP.getQ17());
dataHarmpowerQ.setQ18(messageDataP.getQ18());
dataHarmpowerQ.setQ19(messageDataP.getQ19());
dataHarmpowerQ.setQ20(messageDataP.getQ20());
dataHarmpowerQ.setQ21(messageDataP.getQ21());
dataHarmpowerQ.setQ22(messageDataP.getQ22());
dataHarmpowerQ.setQ23(messageDataP.getQ23());
dataHarmpowerQ.setQ24(messageDataP.getQ24());
dataHarmpowerQ.setQ25(messageDataP.getQ25());
dataHarmpowerQ.setQ26(messageDataP.getQ26());
dataHarmpowerQ.setQ27(messageDataP.getQ27());
dataHarmpowerQ.setQ28(messageDataP.getQ28());
dataHarmpowerQ.setQ29(messageDataP.getQ29());
dataHarmpowerQ.setQ30(messageDataP.getQ30());
dataHarmpowerQ.setQ31(messageDataP.getQ31());
dataHarmpowerQ.setQ32(messageDataP.getQ32());
dataHarmpowerQ.setQ33(messageDataP.getQ33());
dataHarmpowerQ.setQ34(messageDataP.getQ34());
dataHarmpowerQ.setQ35(messageDataP.getQ35());
dataHarmpowerQ.setQ36(messageDataP.getQ36());
dataHarmpowerQ.setQ37(messageDataP.getQ37());
dataHarmpowerQ.setQ38(messageDataP.getQ38());
dataHarmpowerQ.setQ39(messageDataP.getQ39());
dataHarmpowerQ.setQ40(messageDataP.getQ40());
dataHarmpowerQ.setQ41(messageDataP.getQ41());
dataHarmpowerQ.setQ42(messageDataP.getQ42());
dataHarmpowerQ.setQ43(messageDataP.getQ43());
dataHarmpowerQ.setQ44(messageDataP.getQ44());
dataHarmpowerQ.setQ45(messageDataP.getQ45());
dataHarmpowerQ.setQ46(messageDataP.getQ46());
dataHarmpowerQ.setQ47(messageDataP.getQ47());
dataHarmpowerQ.setQ48(messageDataP.getQ48());
dataHarmpowerQ.setQ49(messageDataP.getQ49());
dataHarmpowerQ.setQ50(messageDataP.getQ50());
dataHarmpowerQ.setQMax(messageDataP.getMaxQ());
// dataHarmpowerS.setS1Max();
dataHarmpowerQ.setQ2Max(messageDataP.getMaxQ2());
dataHarmpowerQ.setQ3Max(messageDataP.getMaxQ3());
dataHarmpowerQ.setQ4Max(messageDataP.getMaxQ4());
dataHarmpowerQ.setQ5Max(messageDataP.getMaxQ5());
dataHarmpowerQ.setQ6Max(messageDataP.getMaxQ6());
dataHarmpowerQ.setQ7Max(messageDataP.getMaxQ7());
dataHarmpowerQ.setQ8Max(messageDataP.getMaxQ8());
dataHarmpowerQ.setQ9Max(messageDataP.getMaxQ9());
dataHarmpowerQ.setQ10Max(messageDataP.getMaxQ10());
dataHarmpowerQ.setQ11Max(messageDataP.getMaxQ11());
dataHarmpowerQ.setQ12Max(messageDataP.getMaxQ12());
dataHarmpowerQ.setQ13Max(messageDataP.getMaxQ13());
dataHarmpowerQ.setQ14Max(messageDataP.getMaxQ14());
dataHarmpowerQ.setQ15Max(messageDataP.getMaxQ15());
dataHarmpowerQ.setQ16Max(messageDataP.getMaxQ16());
dataHarmpowerQ.setQ17Max(messageDataP.getMaxQ17());
dataHarmpowerQ.setQ18Max(messageDataP.getMaxQ18());
dataHarmpowerQ.setQ19Max(messageDataP.getMaxQ19());
dataHarmpowerQ.setQ20Max(messageDataP.getMaxQ20());
dataHarmpowerQ.setQ21Max(messageDataP.getMaxQ21());
dataHarmpowerQ.setQ22Max(messageDataP.getMaxQ22());
dataHarmpowerQ.setQ23Max(messageDataP.getMaxQ23());
dataHarmpowerQ.setQ24Max(messageDataP.getMaxQ24());
dataHarmpowerQ.setQ25Max(messageDataP.getMaxQ25());
dataHarmpowerQ.setQ26Max(messageDataP.getMaxQ26());
dataHarmpowerQ.setQ27Max(messageDataP.getMaxQ27());
dataHarmpowerQ.setQ28Max(messageDataP.getMaxQ28());
dataHarmpowerQ.setQ29Max(messageDataP.getMaxQ29());
dataHarmpowerQ.setQ30Max(messageDataP.getMaxQ30());
dataHarmpowerQ.setQ31Max(messageDataP.getMaxQ31());
dataHarmpowerQ.setQ32Max(messageDataP.getMaxQ32());
dataHarmpowerQ.setQ33Max(messageDataP.getMaxQ33());
dataHarmpowerQ.setQ34Max(messageDataP.getMaxQ34());
dataHarmpowerQ.setQ35Max(messageDataP.getMaxQ35());
dataHarmpowerQ.setQ36Max(messageDataP.getMaxQ36());
dataHarmpowerQ.setQ37Max(messageDataP.getMaxQ37());
dataHarmpowerQ.setQ38Max(messageDataP.getMaxQ38());
dataHarmpowerQ.setQ39Max(messageDataP.getMaxQ39());
dataHarmpowerQ.setQ40Max(messageDataP.getMaxQ40());
dataHarmpowerQ.setQ41Max(messageDataP.getMaxQ41());
dataHarmpowerQ.setQ42Max(messageDataP.getMaxQ42());
dataHarmpowerQ.setQ43Max(messageDataP.getMaxQ43());
dataHarmpowerQ.setQ44Max(messageDataP.getMaxQ44());
dataHarmpowerQ.setQ45Max(messageDataP.getMaxQ45());
dataHarmpowerQ.setQ46Max(messageDataP.getMaxQ46());
dataHarmpowerQ.setQ47Max(messageDataP.getMaxQ47());
dataHarmpowerQ.setQ48Max(messageDataP.getMaxQ48());
dataHarmpowerQ.setQ49Max(messageDataP.getMaxQ49());
dataHarmpowerQ.setQ50Max(messageDataP.getMaxQ50());
dataHarmpowerQ.setQMin(messageDataP.getMinQ());
// dataHarmpowerS.setS1Min();
dataHarmpowerQ.setQ2Min(messageDataP.getMinQ2());
dataHarmpowerQ.setQ3Min(messageDataP.getMinQ3());
dataHarmpowerQ.setQ4Min(messageDataP.getMinQ4());
dataHarmpowerQ.setQ5Min(messageDataP.getMinQ5());
dataHarmpowerQ.setQ6Min(messageDataP.getMinQ6());
dataHarmpowerQ.setQ7Min(messageDataP.getMinQ7());
dataHarmpowerQ.setQ8Min(messageDataP.getMinQ8());
dataHarmpowerQ.setQ9Min(messageDataP.getMinQ9());
dataHarmpowerQ.setQ10Min(messageDataP.getMinQ10());
dataHarmpowerQ.setQ11Min(messageDataP.getMinQ11());
dataHarmpowerQ.setQ12Min(messageDataP.getMinQ12());
dataHarmpowerQ.setQ13Min(messageDataP.getMinQ13());
dataHarmpowerQ.setQ14Min(messageDataP.getMinQ14());
dataHarmpowerQ.setQ15Min(messageDataP.getMinQ15());
dataHarmpowerQ.setQ16Min(messageDataP.getMinQ16());
dataHarmpowerQ.setQ17Min(messageDataP.getMinQ17());
dataHarmpowerQ.setQ18Min(messageDataP.getMinQ18());
dataHarmpowerQ.setQ19Min(messageDataP.getMinQ19());
dataHarmpowerQ.setQ20Min(messageDataP.getMinQ20());
dataHarmpowerQ.setQ21Min(messageDataP.getMinQ21());
dataHarmpowerQ.setQ22Min(messageDataP.getMinQ22());
dataHarmpowerQ.setQ23Min(messageDataP.getMinQ23());
dataHarmpowerQ.setQ24Min(messageDataP.getMinQ24());
dataHarmpowerQ.setQ25Min(messageDataP.getMinQ25());
dataHarmpowerQ.setQ26Min(messageDataP.getMinQ26());
dataHarmpowerQ.setQ27Min(messageDataP.getMinQ27());
dataHarmpowerQ.setQ28Min(messageDataP.getMinQ28());
dataHarmpowerQ.setQ29Min(messageDataP.getMinQ29());
dataHarmpowerQ.setQ30Min(messageDataP.getMinQ30());
dataHarmpowerQ.setQ31Min(messageDataP.getMinQ31());
dataHarmpowerQ.setQ32Min(messageDataP.getMinQ32());
dataHarmpowerQ.setQ33Min(messageDataP.getMinQ33());
dataHarmpowerQ.setQ34Min(messageDataP.getMinQ34());
dataHarmpowerQ.setQ35Min(messageDataP.getMinQ35());
dataHarmpowerQ.setQ36Min(messageDataP.getMinQ36());
dataHarmpowerQ.setQ37Min(messageDataP.getMinQ37());
dataHarmpowerQ.setQ38Min(messageDataP.getMinQ38());
dataHarmpowerQ.setQ39Min(messageDataP.getMinQ39());
dataHarmpowerQ.setQ40Min(messageDataP.getMinQ40());
dataHarmpowerQ.setQ41Min(messageDataP.getMinQ41());
dataHarmpowerQ.setQ42Min(messageDataP.getMinQ42());
dataHarmpowerQ.setQ43Min(messageDataP.getMinQ43());
dataHarmpowerQ.setQ44Min(messageDataP.getMinQ44());
dataHarmpowerQ.setQ45Min(messageDataP.getMinQ45());
dataHarmpowerQ.setQ46Min(messageDataP.getMinQ46());
dataHarmpowerQ.setQ47Min(messageDataP.getMinQ47());
dataHarmpowerQ.setQ48Min(messageDataP.getMinQ48());
dataHarmpowerQ.setQ49Min(messageDataP.getMinQ49());
dataHarmpowerQ.setQ50Min(messageDataP.getMinQ50());
dataHarmpowerQ.setQCp95(messageDataP.getGq());
// dataHarmpowerS.setS1Cp95();
dataHarmpowerQ.setQ2Cp95(messageDataP.getGq2());
dataHarmpowerQ.setQ3Cp95(messageDataP.getGq3());
dataHarmpowerQ.setQ4Cp95(messageDataP.getGq4());
dataHarmpowerQ.setQ5Cp95(messageDataP.getGq5());
dataHarmpowerQ.setQ6Cp95(messageDataP.getGq6());
dataHarmpowerQ.setQ7Cp95(messageDataP.getGq7());
dataHarmpowerQ.setQ8Cp95(messageDataP.getGq8());
dataHarmpowerQ.setQ9Cp95(messageDataP.getGq9());
dataHarmpowerQ.setQ10Cp95(messageDataP.getGq10());
dataHarmpowerQ.setQ11Cp95(messageDataP.getGq11());
dataHarmpowerQ.setQ12Cp95(messageDataP.getGq12());
dataHarmpowerQ.setQ13Cp95(messageDataP.getGq13());
dataHarmpowerQ.setQ14Cp95(messageDataP.getGq14());
dataHarmpowerQ.setQ15Cp95(messageDataP.getGq15());
dataHarmpowerQ.setQ16Cp95(messageDataP.getGq16());
dataHarmpowerQ.setQ17Cp95(messageDataP.getGq17());
dataHarmpowerQ.setQ18Cp95(messageDataP.getGq18());
dataHarmpowerQ.setQ19Cp95(messageDataP.getGq19());
dataHarmpowerQ.setQ20Cp95(messageDataP.getGq20());
dataHarmpowerQ.setQ21Cp95(messageDataP.getGq21());
dataHarmpowerQ.setQ22Cp95(messageDataP.getGq22());
dataHarmpowerQ.setQ23Cp95(messageDataP.getGq23());
dataHarmpowerQ.setQ24Cp95(messageDataP.getGq24());
dataHarmpowerQ.setQ25Cp95(messageDataP.getGq25());
dataHarmpowerQ.setQ26Cp95(messageDataP.getGq26());
dataHarmpowerQ.setQ27Cp95(messageDataP.getGq27());
dataHarmpowerQ.setQ28Cp95(messageDataP.getGq28());
dataHarmpowerQ.setQ29Cp95(messageDataP.getGq29());
dataHarmpowerQ.setQ30Cp95(messageDataP.getGq30());
dataHarmpowerQ.setQ31Cp95(messageDataP.getGq31());
dataHarmpowerQ.setQ32Cp95(messageDataP.getGq32());
dataHarmpowerQ.setQ33Cp95(messageDataP.getGq33());
dataHarmpowerQ.setQ34Cp95(messageDataP.getGq34());
dataHarmpowerQ.setQ35Cp95(messageDataP.getGq35());
dataHarmpowerQ.setQ36Cp95(messageDataP.getGq36());
dataHarmpowerQ.setQ37Cp95(messageDataP.getGq37());
dataHarmpowerQ.setQ38Cp95(messageDataP.getGq38());
dataHarmpowerQ.setQ39Cp95(messageDataP.getGq39());
dataHarmpowerQ.setQ40Cp95(messageDataP.getGq40());
dataHarmpowerQ.setQ41Cp95(messageDataP.getGq41());
dataHarmpowerQ.setQ42Cp95(messageDataP.getGq42());
dataHarmpowerQ.setQ43Cp95(messageDataP.getGq43());
dataHarmpowerQ.setQ44Cp95(messageDataP.getGq44());
dataHarmpowerQ.setQ45Cp95(messageDataP.getGq45());
dataHarmpowerQ.setQ46Cp95(messageDataP.getGq46());
dataHarmpowerQ.setQ47Cp95(messageDataP.getGq47());
dataHarmpowerQ.setQ48Cp95(messageDataP.getGq48());
dataHarmpowerQ.setQ49Cp95(messageDataP.getGq49());
dataHarmpowerQ.setQ50Cp95(messageDataP.getGq50());
}
return dataHarmpowerQ;
}
//T项
public static DataHarmpowerQDTO messageDataPTODataHarmpowerQ(MessageDataPT messageDataPT){
DataHarmpowerQDTO dataHarmpowerQ = new DataHarmpowerQDTO();
if(Objects.nonNull(messageDataPT)){
dataHarmpowerQ.setQ(messageDataPT.getP());
dataHarmpowerQ.setQMax(messageDataPT.getMaxP());
dataHarmpowerQ.setQMin(messageDataPT.getMinP());
dataHarmpowerQ.setQCp95(messageDataPT.getGp());
}
return dataHarmpowerQ;
}
}

View File

@@ -0,0 +1,742 @@
package com.njcn.stat.utils;
import com.njcn.dataProcess.dto.DataHarmphasicVDTO;
import com.njcn.dataProcess.dto.DataInharmVDTO;
import com.njcn.dataProcess.dto.DataVDTO;
import com.njcn.stat.messagedto.MessageDataV;
import com.njcn.stat.messagedto.MessageDataVT;
import java.util.Objects;
/**
* Description:
* Date: 2024/11/12 14:16【需求编号】
*
* @author clam
* @version V1.0.0
*/
public class BeanVConverter {
//A,B,C三项
public static DataVDTO messageDataVTODataV(MessageDataV messageDataV){
DataVDTO dataVRelation = new DataVDTO();
if(Objects.nonNull(messageDataV)){
dataVRelation.setRms(messageDataV.getVrms());
dataVRelation.setVThd(messageDataV.getVthd());
dataVRelation.setRmsMin(messageDataV.getMinVrms());
dataVRelation.setVThdMin(messageDataV.getMinVthd());
dataVRelation.setRmsMax(messageDataV.getMaxVrms());
dataVRelation.setVThdMax(messageDataV.getMaxVthd());
dataVRelation.setRmsCp95(messageDataV.getGVrms());
dataVRelation.setVThdCp95(messageDataV.getGVthd());
// dataV.setRmsabCp95();
// dataV.setRmsbcCp95();
// dataV.setRmscaCp95();
//根据电压偏差正负赋值
if (messageDataV.getDeltaV() >= 0) {
dataVRelation.setVlDev(messageDataV.getDeltaV());
} else {
dataVRelation.setVuDev(messageDataV.getDeltaV());
}
if (messageDataV.getGDeltaV() >= 0) {
dataVRelation.setVlDevCp95(messageDataV.getGDeltaV());
} else {
dataVRelation.setVuDevCp95(messageDataV.getGDeltaV());
}
if (messageDataV.getDeltaV() >= 0) {
dataVRelation.setVlDevMax(messageDataV.getDeltaV());
} else {
dataVRelation.setVuDevMax(messageDataV.getDeltaV());
}
if (messageDataV.getDeltaV() >= 0) {
dataVRelation.setVlDevMin(messageDataV.getDeltaV());
} else {
dataVRelation.setVuDevMin(messageDataV.getDeltaV());
}
dataVRelation.setV1(messageDataV.getV1());
dataVRelation.setV2(messageDataV.getV2());
dataVRelation.setV3(messageDataV.getV3());
dataVRelation.setV4(messageDataV.getV4());
dataVRelation.setV5(messageDataV.getV5());
dataVRelation.setV6(messageDataV.getV6());
dataVRelation.setV7(messageDataV.getV7());
dataVRelation.setV8(messageDataV.getV8());
dataVRelation.setV9(messageDataV.getV9());
dataVRelation.setV10(messageDataV.getV10());
dataVRelation.setV11(messageDataV.getV11());
dataVRelation.setV12(messageDataV.getV12());
dataVRelation.setV13(messageDataV.getV13());
dataVRelation.setV14(messageDataV.getV14());
dataVRelation.setV15(messageDataV.getV15());
dataVRelation.setV16(messageDataV.getV16());
dataVRelation.setV17(messageDataV.getV17());
dataVRelation.setV18(messageDataV.getV18());
dataVRelation.setV19(messageDataV.getV19());
dataVRelation.setV20(messageDataV.getV20());
dataVRelation.setV21(messageDataV.getV21());
dataVRelation.setV22(messageDataV.getV22());
dataVRelation.setV23(messageDataV.getV23());
dataVRelation.setV24(messageDataV.getV24());
dataVRelation.setV25(messageDataV.getV25());
dataVRelation.setV26(messageDataV.getV26());
dataVRelation.setV27(messageDataV.getV27());
dataVRelation.setV28(messageDataV.getV28());
dataVRelation.setV29(messageDataV.getV29());
dataVRelation.setV30(messageDataV.getV30());
dataVRelation.setV31(messageDataV.getV31());
dataVRelation.setV32(messageDataV.getV32());
dataVRelation.setV33(messageDataV.getV33());
dataVRelation.setV34(messageDataV.getV34());
dataVRelation.setV35(messageDataV.getV35());
dataVRelation.setV36(messageDataV.getV36());
dataVRelation.setV37(messageDataV.getV37());
dataVRelation.setV38(messageDataV.getV38());
dataVRelation.setV39(messageDataV.getV39());
dataVRelation.setV40(messageDataV.getV40());
dataVRelation.setV41(messageDataV.getV41());
dataVRelation.setV42(messageDataV.getV42());
dataVRelation.setV43(messageDataV.getV43());
dataVRelation.setV44(messageDataV.getV44());
dataVRelation.setV45(messageDataV.getV45());
dataVRelation.setV46(messageDataV.getV46());
dataVRelation.setV47(messageDataV.getV47());
dataVRelation.setV48(messageDataV.getV48());
dataVRelation.setV49(messageDataV.getV49());
dataVRelation.setV50(messageDataV.getV50());
dataVRelation.setV1Max(messageDataV.getMaxV1());
dataVRelation.setV2Max(messageDataV.getMaxV2());
dataVRelation.setV3Max(messageDataV.getMaxV3());
dataVRelation.setV4Max(messageDataV.getMaxV4());
dataVRelation.setV5Max(messageDataV.getMaxV5());
dataVRelation.setV6Max(messageDataV.getMaxV6());
dataVRelation.setV7Max(messageDataV.getMaxV7());
dataVRelation.setV8Max(messageDataV.getMaxV8());
dataVRelation.setV9Max(messageDataV.getMaxV9());
dataVRelation.setV10Max(messageDataV.getMaxV10());
dataVRelation.setV11Max(messageDataV.getMaxV11());
dataVRelation.setV12Max(messageDataV.getMaxV12());
dataVRelation.setV13Max(messageDataV.getMaxV13());
dataVRelation.setV14Max(messageDataV.getMaxV14());
dataVRelation.setV15Max(messageDataV.getMaxV15());
dataVRelation.setV16Max(messageDataV.getMaxV16());
dataVRelation.setV17Max(messageDataV.getMaxV17());
dataVRelation.setV18Max(messageDataV.getMaxV18());
dataVRelation.setV19Max(messageDataV.getMaxV19());
dataVRelation.setV20Max(messageDataV.getMaxV20());
dataVRelation.setV21Max(messageDataV.getMaxV21());
dataVRelation.setV22Max(messageDataV.getMaxV22());
dataVRelation.setV23Max(messageDataV.getMaxV23());
dataVRelation.setV24Max(messageDataV.getMaxV24());
dataVRelation.setV25Max(messageDataV.getMaxV25());
dataVRelation.setV26Max(messageDataV.getMaxV26());
dataVRelation.setV27Max(messageDataV.getMaxV27());
dataVRelation.setV28Max(messageDataV.getMaxV28());
dataVRelation.setV29Max(messageDataV.getMaxV29());
dataVRelation.setV30Max(messageDataV.getMaxV30());
dataVRelation.setV31Max(messageDataV.getMaxV31());
dataVRelation.setV32Max(messageDataV.getMaxV32());
dataVRelation.setV33Max(messageDataV.getMaxV33());
dataVRelation.setV34Max(messageDataV.getMaxV34());
dataVRelation.setV35Max(messageDataV.getMaxV35());
dataVRelation.setV36Max(messageDataV.getMaxV36());
dataVRelation.setV37Max(messageDataV.getMaxV37());
dataVRelation.setV38Max(messageDataV.getMaxV38());
dataVRelation.setV39Max(messageDataV.getMaxV39());
dataVRelation.setV40Max(messageDataV.getMaxV40());
dataVRelation.setV41Max(messageDataV.getMaxV41());
dataVRelation.setV42Max(messageDataV.getMaxV42());
dataVRelation.setV43Max(messageDataV.getMaxV43());
dataVRelation.setV44Max(messageDataV.getMaxV44());
dataVRelation.setV45Max(messageDataV.getMaxV45());
dataVRelation.setV46Max(messageDataV.getMaxV46());
dataVRelation.setV47Max(messageDataV.getMaxV47());
dataVRelation.setV48Max(messageDataV.getMaxV48());
dataVRelation.setV49Max(messageDataV.getMaxV49());
dataVRelation.setV50Max(messageDataV.getMaxV50());
dataVRelation.setV1Min( messageDataV.getMinV1());
dataVRelation.setV2Min( messageDataV.getMinV2());
dataVRelation.setV3Min( messageDataV.getMinV3());
dataVRelation.setV4Min( messageDataV.getMinV4());
dataVRelation.setV5Min( messageDataV.getMinV5());
dataVRelation.setV6Min( messageDataV.getMinV6());
dataVRelation.setV7Min( messageDataV.getMinV7());
dataVRelation.setV8Min( messageDataV.getMinV8());
dataVRelation.setV9Min( messageDataV.getMinV9());
dataVRelation.setV10Min( messageDataV.getMinV10());
dataVRelation.setV11Min( messageDataV.getMinV11());
dataVRelation.setV12Min( messageDataV.getMinV12());
dataVRelation.setV13Min( messageDataV.getMinV13());
dataVRelation.setV14Min( messageDataV.getMinV14());
dataVRelation.setV15Min( messageDataV.getMinV15());
dataVRelation.setV16Min( messageDataV.getMinV16());
dataVRelation.setV17Min( messageDataV.getMinV17());
dataVRelation.setV18Min( messageDataV.getMinV18());
dataVRelation.setV19Min( messageDataV.getMinV19());
dataVRelation.setV20Min( messageDataV.getMinV20());
dataVRelation.setV21Min( messageDataV.getMinV21());
dataVRelation.setV22Min( messageDataV.getMinV22());
dataVRelation.setV23Min( messageDataV.getMinV23());
dataVRelation.setV24Min( messageDataV.getMinV24());
dataVRelation.setV25Min( messageDataV.getMinV25());
dataVRelation.setV26Min( messageDataV.getMinV26());
dataVRelation.setV27Min( messageDataV.getMinV27());
dataVRelation.setV28Min( messageDataV.getMinV28());
dataVRelation.setV29Min( messageDataV.getMinV29());
dataVRelation.setV30Min( messageDataV.getMinV30());
dataVRelation.setV31Min( messageDataV.getMinV31());
dataVRelation.setV32Min( messageDataV.getMinV32());
dataVRelation.setV33Min( messageDataV.getMinV33());
dataVRelation.setV34Min( messageDataV.getMinV34());
dataVRelation.setV35Min( messageDataV.getMinV35());
dataVRelation.setV36Min( messageDataV.getMinV36());
dataVRelation.setV37Min( messageDataV.getMinV37());
dataVRelation.setV38Min( messageDataV.getMinV38());
dataVRelation.setV39Min( messageDataV.getMinV39());
dataVRelation.setV40Min( messageDataV.getMinV40());
dataVRelation.setV41Min( messageDataV.getMinV41());
dataVRelation.setV42Min( messageDataV.getMinV42());
dataVRelation.setV43Min( messageDataV.getMinV43());
dataVRelation.setV44Min( messageDataV.getMinV44());
dataVRelation.setV45Min( messageDataV.getMinV45());
dataVRelation.setV46Min( messageDataV.getMinV46());
dataVRelation.setV47Min( messageDataV.getMinV47());
dataVRelation.setV48Min( messageDataV.getMinV48());
dataVRelation.setV49Min( messageDataV.getMinV49());
dataVRelation.setV50Min( messageDataV.getMinV50());
dataVRelation.setV1Cp95(messageDataV.getGv1());
dataVRelation.setV2Cp95(messageDataV.getGv2());
dataVRelation.setV3Cp95(messageDataV.getGv3());
dataVRelation.setV4Cp95(messageDataV.getGv4());
dataVRelation.setV5Cp95(messageDataV.getGv5());
dataVRelation.setV6Cp95(messageDataV.getGv6());
dataVRelation.setV7Cp95(messageDataV.getGv7());
dataVRelation.setV8Cp95(messageDataV.getGv8());
dataVRelation.setV9Cp95(messageDataV.getGv9());
dataVRelation.setV10Cp95(messageDataV.getGv10());
dataVRelation.setV11Cp95(messageDataV.getGv11());
dataVRelation.setV12Cp95(messageDataV.getGv12());
dataVRelation.setV13Cp95(messageDataV.getGv13());
dataVRelation.setV14Cp95(messageDataV.getGv14());
dataVRelation.setV15Cp95(messageDataV.getGv15());
dataVRelation.setV16Cp95(messageDataV.getGv16());
dataVRelation.setV17Cp95(messageDataV.getGv17());
dataVRelation.setV18Cp95(messageDataV.getGv18());
dataVRelation.setV19Cp95(messageDataV.getGv19());
dataVRelation.setV20Cp95(messageDataV.getGv20());
dataVRelation.setV21Cp95(messageDataV.getGv21());
dataVRelation.setV22Cp95(messageDataV.getGv22());
dataVRelation.setV23Cp95(messageDataV.getGv23());
dataVRelation.setV24Cp95(messageDataV.getGv24());
dataVRelation.setV25Cp95(messageDataV.getGv25());
dataVRelation.setV26Cp95(messageDataV.getGv26());
dataVRelation.setV27Cp95(messageDataV.getGv27());
dataVRelation.setV28Cp95(messageDataV.getGv28());
dataVRelation.setV29Cp95(messageDataV.getGv29());
dataVRelation.setV30Cp95(messageDataV.getGv30());
dataVRelation.setV31Cp95(messageDataV.getGv31());
dataVRelation.setV32Cp95(messageDataV.getGv32());
dataVRelation.setV33Cp95(messageDataV.getGv33());
dataVRelation.setV34Cp95(messageDataV.getGv34());
dataVRelation.setV35Cp95(messageDataV.getGv35());
dataVRelation.setV36Cp95(messageDataV.getGv36());
dataVRelation.setV37Cp95(messageDataV.getGv37());
dataVRelation.setV38Cp95(messageDataV.getGv38());
dataVRelation.setV39Cp95(messageDataV.getGv39());
dataVRelation.setV40Cp95(messageDataV.getGv40());
dataVRelation.setV41Cp95(messageDataV.getGv41());
dataVRelation.setV42Cp95(messageDataV.getGv42());
dataVRelation.setV43Cp95(messageDataV.getGv43());
dataVRelation.setV44Cp95(messageDataV.getGv44());
dataVRelation.setV45Cp95(messageDataV.getGv45());
dataVRelation.setV46Cp95(messageDataV.getGv46());
dataVRelation.setV47Cp95(messageDataV.getGv47());
dataVRelation.setV48Cp95(messageDataV.getGv48());
dataVRelation.setV49Cp95(messageDataV.getGv49());
dataVRelation.setV50Cp95(messageDataV.getGv50());
}
return dataVRelation;
};
//T项
public static DataVDTO messageDataVTODataV(MessageDataVT messageDataVT){
DataVDTO dataVRelation = new DataVDTO();
if(Objects.nonNull(messageDataVT)){
dataVRelation.setFreq(messageDataVT.getFreq());
dataVRelation.setFreqDev(messageDataVT.getDeltafreq());
dataVRelation.setVUnbalance(messageDataVT.getVunban());
dataVRelation.setVPos(messageDataVT.getVpseq());
dataVRelation.setVNeg(messageDataVT.getVnseq());
dataVRelation.setVZero(messageDataVT.getVzseq());
dataVRelation.setFreqMax(messageDataVT.getMaxfreq());
dataVRelation.setFreqDevMax(messageDataVT.getMaxdeltafreq());
dataVRelation.setVUnbalanceMax(messageDataVT.getMaxvunban());
dataVRelation.setVPosMax(messageDataVT.getMaxvpseq());
dataVRelation.setVNegMax(messageDataVT.getMaxvnseq());
dataVRelation.setVZeroMax(messageDataVT.getMaxvzseq());
dataVRelation.setFreqMin(messageDataVT.getMinfreq());
dataVRelation.setFreqDevMin(messageDataVT.getMindeltafreq());
dataVRelation.setVUnbalanceMin(messageDataVT.getMinvunban());
dataVRelation.setVPosMin(messageDataVT.getMinvpseq());
dataVRelation.setVNegMin(messageDataVT.getMinvnseq());
dataVRelation.setVZeroMin(messageDataVT.getMinvzseq());
dataVRelation.setFreqCp95(messageDataVT.getGfreq());
dataVRelation.setFreqDevCp95(messageDataVT.getGdeltafreq());
dataVRelation.setVUnbalanceCp95(messageDataVT.getGvunban());
dataVRelation.setVPosCp95(messageDataVT.getGvpseq());
dataVRelation.setVNegCp95(messageDataVT.getGvnseq());
dataVRelation.setVZeroCp95(messageDataVT.getGvzseq());
}
return dataVRelation;
}
//间谐波
public static DataInharmVDTO messageDataVTODataInharmV(MessageDataV messageDataV){
DataInharmVDTO dataInharmV = new DataInharmVDTO();
if(Objects.nonNull(messageDataV)){
dataInharmV.setV1(messageDataV.getSv0());
dataInharmV.setV2(messageDataV.getSv1());
dataInharmV.setV3(messageDataV.getSv2());
dataInharmV.setV4(messageDataV.getSv3());
dataInharmV.setV5(messageDataV.getSv4());
dataInharmV.setV6(messageDataV.getSv5());
dataInharmV.setV7(messageDataV.getSv6());
dataInharmV.setV8(messageDataV.getSv7());
dataInharmV.setV9(messageDataV.getSv8());
dataInharmV.setV10(messageDataV.getSv9());
dataInharmV.setV11(messageDataV.getSv10());
dataInharmV.setV12(messageDataV.getSv11());
dataInharmV.setV13(messageDataV.getSv12());
dataInharmV.setV14(messageDataV.getSv13());
dataInharmV.setV15(messageDataV.getSv14());
dataInharmV.setV16(messageDataV.getSv15());
dataInharmV.setV17(messageDataV.getSv16());
dataInharmV.setV18(messageDataV.getSv17());
dataInharmV.setV19(messageDataV.getSv18());
dataInharmV.setV20(messageDataV.getSv19());
dataInharmV.setV21(messageDataV.getSv20());
dataInharmV.setV22(messageDataV.getSv21());
dataInharmV.setV23(messageDataV.getSv22());
dataInharmV.setV24(messageDataV.getSv23());
dataInharmV.setV25(messageDataV.getSv24());
dataInharmV.setV26(messageDataV.getSv25());
dataInharmV.setV27(messageDataV.getSv26());
dataInharmV.setV28(messageDataV.getSv27());
dataInharmV.setV29(messageDataV.getSv28());
dataInharmV.setV30(messageDataV.getSv29());
dataInharmV.setV31(messageDataV.getSv30());
dataInharmV.setV32(messageDataV.getSv31());
dataInharmV.setV33(messageDataV.getSv32());
dataInharmV.setV34(messageDataV.getSv33());
dataInharmV.setV35(messageDataV.getSv34());
dataInharmV.setV36(messageDataV.getSv35());
dataInharmV.setV37(messageDataV.getSv36());
dataInharmV.setV38(messageDataV.getSv37());
dataInharmV.setV39(messageDataV.getSv38());
dataInharmV.setV40(messageDataV.getSv39());
dataInharmV.setV41(messageDataV.getSv40());
dataInharmV.setV42(messageDataV.getSv41());
dataInharmV.setV43(messageDataV.getSv42());
dataInharmV.setV44(messageDataV.getSv43());
dataInharmV.setV45(messageDataV.getSv44());
dataInharmV.setV46(messageDataV.getSv45());
dataInharmV.setV47(messageDataV.getSv46());
dataInharmV.setV48(messageDataV.getSv47());
dataInharmV.setV49(messageDataV.getSv48());
dataInharmV.setV50(messageDataV.getSv49());
dataInharmV.setV1Max(messageDataV.getMaxSv0());
dataInharmV.setV2Max(messageDataV.getMaxSv1());
dataInharmV.setV3Max(messageDataV.getMaxSv2());
dataInharmV.setV4Max(messageDataV.getMaxSv3());
dataInharmV.setV5Max(messageDataV.getMaxSv4());
dataInharmV.setV6Max(messageDataV.getMaxSv5());
dataInharmV.setV7Max(messageDataV.getMaxSv6());
dataInharmV.setV8Max(messageDataV.getMaxSv7());
dataInharmV.setV9Max(messageDataV.getMaxSv8());
dataInharmV.setV10Max(messageDataV.getMaxSv9());
dataInharmV.setV11Max(messageDataV.getMaxSv10());
dataInharmV.setV12Max(messageDataV.getMaxSv11());
dataInharmV.setV13Max(messageDataV.getMaxSv12());
dataInharmV.setV14Max(messageDataV.getMaxSv13());
dataInharmV.setV15Max(messageDataV.getMaxSv14());
dataInharmV.setV16Max(messageDataV.getMaxSv15());
dataInharmV.setV17Max(messageDataV.getMaxSv16());
dataInharmV.setV18Max(messageDataV.getMaxSv17());
dataInharmV.setV19Max(messageDataV.getMaxSv18());
dataInharmV.setV20Max(messageDataV.getMaxSv19());
dataInharmV.setV21Max(messageDataV.getMaxSv20());
dataInharmV.setV22Max(messageDataV.getMaxSv21());
dataInharmV.setV23Max(messageDataV.getMaxSv22());
dataInharmV.setV24Max(messageDataV.getMaxSv23());
dataInharmV.setV25Max(messageDataV.getMaxSv24());
dataInharmV.setV26Max(messageDataV.getMaxSv25());
dataInharmV.setV27Max(messageDataV.getMaxSv26());
dataInharmV.setV28Max(messageDataV.getMaxSv27());
dataInharmV.setV29Max(messageDataV.getMaxSv28());
dataInharmV.setV30Max(messageDataV.getMaxSv29());
dataInharmV.setV31Max(messageDataV.getMaxSv30());
dataInharmV.setV32Max(messageDataV.getMaxSv31());
dataInharmV.setV33Max(messageDataV.getMaxSv32());
dataInharmV.setV34Max(messageDataV.getMaxSv33());
dataInharmV.setV35Max(messageDataV.getMaxSv34());
dataInharmV.setV36Max(messageDataV.getMaxSv35());
dataInharmV.setV37Max(messageDataV.getMaxSv36());
dataInharmV.setV38Max(messageDataV.getMaxSv37());
dataInharmV.setV39Max(messageDataV.getMaxSv38());
dataInharmV.setV40Max(messageDataV.getMaxSv39());
dataInharmV.setV41Max(messageDataV.getMaxSv40());
dataInharmV.setV42Max(messageDataV.getMaxSv41());
dataInharmV.setV43Max(messageDataV.getMaxSv42());
dataInharmV.setV44Max(messageDataV.getMaxSv43());
dataInharmV.setV45Max(messageDataV.getMaxSv44());
dataInharmV.setV46Max(messageDataV.getMaxSv45());
dataInharmV.setV47Max(messageDataV.getMaxSv46());
dataInharmV.setV48Max(messageDataV.getMaxSv47());
dataInharmV.setV49Max(messageDataV.getMaxSv48());
dataInharmV.setV50Max(messageDataV.getMaxSv49());
dataInharmV.setV1Min(messageDataV.getMinSv0());
dataInharmV.setV2Min(messageDataV.getMinSv1());
dataInharmV.setV3Min(messageDataV.getMinSv2());
dataInharmV.setV4Min(messageDataV.getMinSv3());
dataInharmV.setV5Min(messageDataV.getMinSv4());
dataInharmV.setV6Min(messageDataV.getMinSv5());
dataInharmV.setV7Min(messageDataV.getMinSv6());
dataInharmV.setV8Min(messageDataV.getMinSv7());
dataInharmV.setV9Min(messageDataV.getMinSv8());
dataInharmV.setV10Min(messageDataV.getMinSv9());
dataInharmV.setV11Min(messageDataV.getMinSv10());
dataInharmV.setV12Min(messageDataV.getMinSv11());
dataInharmV.setV13Min(messageDataV.getMinSv12());
dataInharmV.setV14Min(messageDataV.getMinSv13());
dataInharmV.setV15Min(messageDataV.getMinSv14());
dataInharmV.setV16Min(messageDataV.getMinSv15());
dataInharmV.setV17Min(messageDataV.getMinSv16());
dataInharmV.setV18Min(messageDataV.getMinSv17());
dataInharmV.setV19Min(messageDataV.getMinSv18());
dataInharmV.setV20Min(messageDataV.getMinSv19());
dataInharmV.setV21Min(messageDataV.getMinSv20());
dataInharmV.setV22Min(messageDataV.getMinSv21());
dataInharmV.setV23Min(messageDataV.getMinSv22());
dataInharmV.setV24Min(messageDataV.getMinSv23());
dataInharmV.setV25Min(messageDataV.getMinSv24());
dataInharmV.setV26Min(messageDataV.getMinSv25());
dataInharmV.setV27Min(messageDataV.getMinSv26());
dataInharmV.setV28Min(messageDataV.getMinSv27());
dataInharmV.setV29Min(messageDataV.getMinSv28());
dataInharmV.setV30Min(messageDataV.getMinSv29());
dataInharmV.setV31Min(messageDataV.getMinSv30());
dataInharmV.setV32Min(messageDataV.getMinSv31());
dataInharmV.setV33Min(messageDataV.getMinSv32());
dataInharmV.setV34Min(messageDataV.getMinSv33());
dataInharmV.setV35Min(messageDataV.getMinSv34());
dataInharmV.setV36Min(messageDataV.getMinSv35());
dataInharmV.setV37Min(messageDataV.getMinSv36());
dataInharmV.setV38Min(messageDataV.getMinSv37());
dataInharmV.setV39Min(messageDataV.getMinSv38());
dataInharmV.setV40Min(messageDataV.getMinSv39());
dataInharmV.setV41Min(messageDataV.getMinSv40());
dataInharmV.setV42Min(messageDataV.getMinSv41());
dataInharmV.setV43Min(messageDataV.getMinSv42());
dataInharmV.setV44Min(messageDataV.getMinSv43());
dataInharmV.setV45Min(messageDataV.getMinSv44());
dataInharmV.setV46Min(messageDataV.getMinSv45());
dataInharmV.setV47Min(messageDataV.getMinSv46());
dataInharmV.setV48Min(messageDataV.getMinSv47());
dataInharmV.setV49Min(messageDataV.getMinSv48());
dataInharmV.setV50Min(messageDataV.getMinSv49());
dataInharmV.setV1Cp95(messageDataV.getGSv0());
dataInharmV.setV2Cp95(messageDataV.getGSv1());
dataInharmV.setV3Cp95(messageDataV.getGSv2());
dataInharmV.setV4Cp95(messageDataV.getGSv3());
dataInharmV.setV5Cp95(messageDataV.getGSv4());
dataInharmV.setV6Cp95(messageDataV.getGSv5());
dataInharmV.setV7Cp95(messageDataV.getGSv6());
dataInharmV.setV8Cp95(messageDataV.getGSv7());
dataInharmV.setV9Cp95(messageDataV.getGSv8());
dataInharmV.setV10Cp95(messageDataV.getGSv9());
dataInharmV.setV11Cp95(messageDataV.getGSv10());
dataInharmV.setV12Cp95(messageDataV.getGSv11());
dataInharmV.setV13Cp95(messageDataV.getGSv12());
dataInharmV.setV14Cp95(messageDataV.getGSv13());
dataInharmV.setV15Cp95(messageDataV.getGSv14());
dataInharmV.setV16Cp95(messageDataV.getGSv15());
dataInharmV.setV17Cp95(messageDataV.getGSv16());
dataInharmV.setV18Cp95(messageDataV.getGSv17());
dataInharmV.setV19Cp95(messageDataV.getGSv18());
dataInharmV.setV20Cp95(messageDataV.getGSv19());
dataInharmV.setV21Cp95(messageDataV.getGSv20());
dataInharmV.setV22Cp95(messageDataV.getGSv21());
dataInharmV.setV23Cp95(messageDataV.getGSv22());
dataInharmV.setV24Cp95(messageDataV.getGSv23());
dataInharmV.setV25Cp95(messageDataV.getGSv24());
dataInharmV.setV26Cp95(messageDataV.getGSv25());
dataInharmV.setV27Cp95(messageDataV.getGSv26());
dataInharmV.setV28Cp95(messageDataV.getGSv27());
dataInharmV.setV29Cp95(messageDataV.getGSv28());
dataInharmV.setV30Cp95(messageDataV.getGSv29());
dataInharmV.setV31Cp95(messageDataV.getGSv30());
dataInharmV.setV32Cp95(messageDataV.getGSv31());
dataInharmV.setV33Cp95(messageDataV.getGSv32());
dataInharmV.setV34Cp95(messageDataV.getGSv33());
dataInharmV.setV35Cp95(messageDataV.getGSv34());
dataInharmV.setV36Cp95(messageDataV.getGSv35());
dataInharmV.setV37Cp95(messageDataV.getGSv36());
dataInharmV.setV38Cp95(messageDataV.getGSv37());
dataInharmV.setV39Cp95(messageDataV.getGSv38());
dataInharmV.setV40Cp95(messageDataV.getGSv39());
dataInharmV.setV41Cp95(messageDataV.getGSv40());
dataInharmV.setV42Cp95(messageDataV.getGSv41());
dataInharmV.setV43Cp95(messageDataV.getGSv42());
dataInharmV.setV44Cp95(messageDataV.getGSv43());
dataInharmV.setV45Cp95(messageDataV.getGSv44());
dataInharmV.setV46Cp95(messageDataV.getGSv45());
dataInharmV.setV47Cp95(messageDataV.getGSv46());
dataInharmV.setV48Cp95(messageDataV.getGSv47());
dataInharmV.setV49Cp95(messageDataV.getGSv48());
dataInharmV.setV50Cp95(messageDataV.getGSv49());
}
return dataInharmV;
}
//谐波电压相角
public static DataHarmphasicVDTO messageDataVTODataHarmphasicV(MessageDataV messageDataV){
DataHarmphasicVDTO dataHarmphasicV = new DataHarmphasicVDTO();
if (Objects.nonNull(messageDataV)){
dataHarmphasicV.setV1(1.00f);
dataHarmphasicV.setV2(messageDataV.getVa2());
dataHarmphasicV.setV3(messageDataV.getVa3());
dataHarmphasicV.setV4(messageDataV.getVa4());
dataHarmphasicV.setV5(messageDataV.getVa5());
dataHarmphasicV.setV6(messageDataV.getVa6());
dataHarmphasicV.setV7(messageDataV.getVa7());
dataHarmphasicV.setV8(messageDataV.getVa8());
dataHarmphasicV.setV9(messageDataV.getVa9());
dataHarmphasicV.setV10(messageDataV.getVa10());
dataHarmphasicV.setV11(messageDataV.getVa11());
dataHarmphasicV.setV12(messageDataV.getVa12());
dataHarmphasicV.setV13(messageDataV.getVa13());
dataHarmphasicV.setV14(messageDataV.getVa14());
dataHarmphasicV.setV15(messageDataV.getVa15());
dataHarmphasicV.setV16(messageDataV.getVa16());
dataHarmphasicV.setV17(messageDataV.getVa17());
dataHarmphasicV.setV18(messageDataV.getVa18());
dataHarmphasicV.setV19(messageDataV.getVa19());
dataHarmphasicV.setV20(messageDataV.getVa20());
dataHarmphasicV.setV21(messageDataV.getVa21());
dataHarmphasicV.setV22(messageDataV.getVa22());
dataHarmphasicV.setV23(messageDataV.getVa23());
dataHarmphasicV.setV24(messageDataV.getVa24());
dataHarmphasicV.setV25(messageDataV.getVa25());
dataHarmphasicV.setV26(messageDataV.getVa26());
dataHarmphasicV.setV27(messageDataV.getVa27());
dataHarmphasicV.setV28(messageDataV.getVa28());
dataHarmphasicV.setV29(messageDataV.getVa29());
dataHarmphasicV.setV30(messageDataV.getVa30());
dataHarmphasicV.setV31(messageDataV.getVa31());
dataHarmphasicV.setV32(messageDataV.getVa32());
dataHarmphasicV.setV33(messageDataV.getVa33());
dataHarmphasicV.setV34(messageDataV.getVa34());
dataHarmphasicV.setV35(messageDataV.getVa35());
dataHarmphasicV.setV36(messageDataV.getVa36());
dataHarmphasicV.setV37(messageDataV.getVa37());
dataHarmphasicV.setV38(messageDataV.getVa38());
dataHarmphasicV.setV39(messageDataV.getVa39());
dataHarmphasicV.setV40(messageDataV.getVa40());
dataHarmphasicV.setV41(messageDataV.getVa41());
dataHarmphasicV.setV42(messageDataV.getVa42());
dataHarmphasicV.setV43(messageDataV.getVa43());
dataHarmphasicV.setV44(messageDataV.getVa44());
dataHarmphasicV.setV45(messageDataV.getVa45());
dataHarmphasicV.setV46(messageDataV.getVa46());
dataHarmphasicV.setV47(messageDataV.getVa47());
dataHarmphasicV.setV48(messageDataV.getVa48());
dataHarmphasicV.setV49(messageDataV.getVa49());
dataHarmphasicV.setV50(messageDataV.getVa50());
dataHarmphasicV.setV1Max(1.00f);
dataHarmphasicV.setV2Max(messageDataV.getMaxVa2());
dataHarmphasicV.setV3Max(messageDataV.getMaxVa3());
dataHarmphasicV.setV4Max(messageDataV.getMaxVa4());
dataHarmphasicV.setV5Max(messageDataV.getMaxVa5());
dataHarmphasicV.setV6Max(messageDataV.getMaxVa6());
dataHarmphasicV.setV7Max(messageDataV.getMaxVa7());
dataHarmphasicV.setV8Max(messageDataV.getMaxVa8());
dataHarmphasicV.setV9Max(messageDataV.getMaxVa9());
dataHarmphasicV.setV10Max(messageDataV.getMaxVa10());
dataHarmphasicV.setV11Max(messageDataV.getMaxVa11());
dataHarmphasicV.setV12Max(messageDataV.getMaxVa12());
dataHarmphasicV.setV13Max(messageDataV.getMaxVa13());
dataHarmphasicV.setV14Max(messageDataV.getMaxVa14());
dataHarmphasicV.setV15Max(messageDataV.getMaxVa15());
dataHarmphasicV.setV16Max(messageDataV.getMaxVa16());
dataHarmphasicV.setV17Max(messageDataV.getMaxVa17());
dataHarmphasicV.setV18Max(messageDataV.getMaxVa18());
dataHarmphasicV.setV19Max(messageDataV.getMaxVa19());
dataHarmphasicV.setV20Max(messageDataV.getMaxVa20());
dataHarmphasicV.setV21Max(messageDataV.getMaxVa21());
dataHarmphasicV.setV22Max(messageDataV.getMaxVa22());
dataHarmphasicV.setV23Max(messageDataV.getMaxVa23());
dataHarmphasicV.setV24Max(messageDataV.getMaxVa24());
dataHarmphasicV.setV25Max(messageDataV.getMaxVa25());
dataHarmphasicV.setV26Max(messageDataV.getMaxVa26());
dataHarmphasicV.setV27Max(messageDataV.getMaxVa27());
dataHarmphasicV.setV28Max(messageDataV.getMaxVa28());
dataHarmphasicV.setV29Max(messageDataV.getMaxVa29());
dataHarmphasicV.setV30Max(messageDataV.getMaxVa30());
dataHarmphasicV.setV31Max(messageDataV.getMaxVa31());
dataHarmphasicV.setV32Max(messageDataV.getMaxVa32());
dataHarmphasicV.setV33Max(messageDataV.getMaxVa33());
dataHarmphasicV.setV34Max(messageDataV.getMaxVa34());
dataHarmphasicV.setV35Max(messageDataV.getMaxVa35());
dataHarmphasicV.setV36Max(messageDataV.getMaxVa36());
dataHarmphasicV.setV37Max(messageDataV.getMaxVa37());
dataHarmphasicV.setV38Max(messageDataV.getMaxVa38());
dataHarmphasicV.setV39Max(messageDataV.getMaxVa39());
dataHarmphasicV.setV40Max(messageDataV.getMaxVa40());
dataHarmphasicV.setV41Max(messageDataV.getMaxVa41());
dataHarmphasicV.setV42Max(messageDataV.getMaxVa42());
dataHarmphasicV.setV43Max(messageDataV.getMaxVa43());
dataHarmphasicV.setV44Max(messageDataV.getMaxVa44());
dataHarmphasicV.setV45Max(messageDataV.getMaxVa45());
dataHarmphasicV.setV46Max(messageDataV.getMaxVa46());
dataHarmphasicV.setV47Max(messageDataV.getMaxVa47());
dataHarmphasicV.setV48Max(messageDataV.getMaxVa48());
dataHarmphasicV.setV49Max(messageDataV.getMaxVa49());
dataHarmphasicV.setV50Max(messageDataV.getMaxVa50());
dataHarmphasicV.setV1Min(1.00f);
dataHarmphasicV.setV2Min(messageDataV.getMinVa2());
dataHarmphasicV.setV3Min(messageDataV.getMinVa3());
dataHarmphasicV.setV4Min(messageDataV.getMinVa4());
dataHarmphasicV.setV5Min(messageDataV.getMinVa5());
dataHarmphasicV.setV6Min(messageDataV.getMinVa6());
dataHarmphasicV.setV7Min(messageDataV.getMinVa7());
dataHarmphasicV.setV8Min(messageDataV.getMinVa8());
dataHarmphasicV.setV9Min(messageDataV.getMinVa9());
dataHarmphasicV.setV10Min(messageDataV.getMinVa10());
dataHarmphasicV.setV11Min(messageDataV.getMinVa11());
dataHarmphasicV.setV12Min(messageDataV.getMinVa12());
dataHarmphasicV.setV13Min(messageDataV.getMinVa13());
dataHarmphasicV.setV14Min(messageDataV.getMinVa14());
dataHarmphasicV.setV15Min(messageDataV.getMinVa15());
dataHarmphasicV.setV16Min(messageDataV.getMinVa16());
dataHarmphasicV.setV17Min(messageDataV.getMinVa17());
dataHarmphasicV.setV18Min(messageDataV.getMinVa18());
dataHarmphasicV.setV19Min(messageDataV.getMinVa19());
dataHarmphasicV.setV20Min(messageDataV.getMinVa20());
dataHarmphasicV.setV21Min(messageDataV.getMinVa21());
dataHarmphasicV.setV22Min(messageDataV.getMinVa22());
dataHarmphasicV.setV23Min(messageDataV.getMinVa23());
dataHarmphasicV.setV24Min(messageDataV.getMinVa24());
dataHarmphasicV.setV25Min(messageDataV.getMinVa25());
dataHarmphasicV.setV26Min(messageDataV.getMinVa26());
dataHarmphasicV.setV27Min(messageDataV.getMinVa27());
dataHarmphasicV.setV28Min(messageDataV.getMinVa28());
dataHarmphasicV.setV29Min(messageDataV.getMinVa29());
dataHarmphasicV.setV30Min(messageDataV.getMinVa30());
dataHarmphasicV.setV31Min(messageDataV.getMinVa31());
dataHarmphasicV.setV32Min(messageDataV.getMinVa32());
dataHarmphasicV.setV33Min(messageDataV.getMinVa33());
dataHarmphasicV.setV34Min(messageDataV.getMinVa34());
dataHarmphasicV.setV35Min(messageDataV.getMinVa35());
dataHarmphasicV.setV36Min(messageDataV.getMinVa36());
dataHarmphasicV.setV37Min(messageDataV.getMinVa37());
dataHarmphasicV.setV38Min(messageDataV.getMinVa38());
dataHarmphasicV.setV39Min(messageDataV.getMinVa39());
dataHarmphasicV.setV40Min(messageDataV.getMinVa40());
dataHarmphasicV.setV41Min(messageDataV.getMinVa41());
dataHarmphasicV.setV42Min(messageDataV.getMinVa42());
dataHarmphasicV.setV43Min(messageDataV.getMinVa43());
dataHarmphasicV.setV44Min(messageDataV.getMinVa44());
dataHarmphasicV.setV45Min(messageDataV.getMinVa45());
dataHarmphasicV.setV46Min(messageDataV.getMinVa46());
dataHarmphasicV.setV47Min(messageDataV.getMinVa47());
dataHarmphasicV.setV48Min(messageDataV.getMinVa48());
dataHarmphasicV.setV49Min(messageDataV.getMinVa49());
dataHarmphasicV.setV50Min(messageDataV.getMinVa50());
dataHarmphasicV.setV1Cp95(1.00f);
dataHarmphasicV.setV2Cp95(messageDataV.getGVa2());
dataHarmphasicV.setV3Cp95(messageDataV.getGVa3());
dataHarmphasicV.setV4Cp95(messageDataV.getGVa4());
dataHarmphasicV.setV5Cp95(messageDataV.getGVa5());
dataHarmphasicV.setV6Cp95(messageDataV.getGVa6());
dataHarmphasicV.setV7Cp95(messageDataV.getGVa7());
dataHarmphasicV.setV8Cp95(messageDataV.getGVa8());
dataHarmphasicV.setV9Cp95(messageDataV.getGVa9());
dataHarmphasicV.setV10Cp95(messageDataV.getGVa10());
dataHarmphasicV.setV11Cp95(messageDataV.getGVa11());
dataHarmphasicV.setV12Cp95(messageDataV.getGVa12());
dataHarmphasicV.setV13Cp95(messageDataV.getGVa13());
dataHarmphasicV.setV14Cp95(messageDataV.getGVa14());
dataHarmphasicV.setV15Cp95(messageDataV.getGVa15());
dataHarmphasicV.setV16Cp95(messageDataV.getGVa16());
dataHarmphasicV.setV17Cp95(messageDataV.getGVa17());
dataHarmphasicV.setV18Cp95(messageDataV.getGVa18());
dataHarmphasicV.setV19Cp95(messageDataV.getGVa19());
dataHarmphasicV.setV20Cp95(messageDataV.getGVa20());
dataHarmphasicV.setV21Cp95(messageDataV.getGVa21());
dataHarmphasicV.setV22Cp95(messageDataV.getGVa22());
dataHarmphasicV.setV23Cp95(messageDataV.getGVa23());
dataHarmphasicV.setV24Cp95(messageDataV.getGVa24());
dataHarmphasicV.setV25Cp95(messageDataV.getGVa25());
dataHarmphasicV.setV26Cp95(messageDataV.getGVa26());
dataHarmphasicV.setV27Cp95(messageDataV.getGVa27());
dataHarmphasicV.setV28Cp95(messageDataV.getGVa28());
dataHarmphasicV.setV29Cp95(messageDataV.getGVa29());
dataHarmphasicV.setV30Cp95(messageDataV.getGVa30());
dataHarmphasicV.setV31Cp95(messageDataV.getGVa31());
dataHarmphasicV.setV32Cp95(messageDataV.getGVa32());
dataHarmphasicV.setV33Cp95(messageDataV.getGVa33());
dataHarmphasicV.setV34Cp95(messageDataV.getGVa34());
dataHarmphasicV.setV35Cp95(messageDataV.getGVa35());
dataHarmphasicV.setV36Cp95(messageDataV.getGVa36());
dataHarmphasicV.setV37Cp95(messageDataV.getGVa37());
dataHarmphasicV.setV38Cp95(messageDataV.getGVa38());
dataHarmphasicV.setV39Cp95(messageDataV.getGVa39());
dataHarmphasicV.setV40Cp95(messageDataV.getGVa40());
dataHarmphasicV.setV41Cp95(messageDataV.getGVa41());
dataHarmphasicV.setV42Cp95(messageDataV.getGVa42());
dataHarmphasicV.setV43Cp95(messageDataV.getGVa43());
dataHarmphasicV.setV44Cp95(messageDataV.getGVa44());
dataHarmphasicV.setV45Cp95(messageDataV.getGVa45());
dataHarmphasicV.setV46Cp95(messageDataV.getGVa46());
dataHarmphasicV.setV47Cp95(messageDataV.getGVa47());
dataHarmphasicV.setV48Cp95(messageDataV.getGVa48());
dataHarmphasicV.setV49Cp95(messageDataV.getGVa49());
dataHarmphasicV.setV50Cp95(messageDataV.getGVa50());
}
return dataHarmphasicV;
}
}

View File

@@ -0,0 +1,47 @@
package com.njcn.stat.utils;
import cn.hutool.core.util.StrUtil;
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.common.utils.EnumUtils;
import com.njcn.message.enums.MessageResponseEnum;
import com.njcn.stat.enums.StatResponseEnum;
import javax.validation.constraints.NotNull;
import java.util.Objects;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月20日 10:03
*/
public class StatEnumUtil {
/**
* 获取HarmonicResponseEnum实例
*/
public static StatResponseEnum getStatEnumResponseEnumByMessage(@NotNull Object value) {
StatResponseEnum statResponseEnum;
try {
String message = value.toString();
if(message.indexOf(StrUtil.C_COMMA)>0){
value = message.substring(message.indexOf(StrUtil.C_COMMA)+1);
}
statResponseEnum = EnumUtils.valueOf(StatResponseEnum.class, value, StatResponseEnum.class.getMethod(BusinessException.GET_MESSAGE_METHOD));
return Objects.isNull(statResponseEnum) ? StatResponseEnum.STAT_COMMON_ERROR : statResponseEnum;
} catch (NoSuchMethodException e) {
throw new BusinessException(CommonResponseEnum.INTERNAL_ERROR);
}
}
public static Enum<?> getExceptionEnum(HttpResult<Object> result){
//如果返回错误,且为内部错误,则直接抛出异常
CommonResponseEnum commonResponseEnum = EnumUtils.getCommonResponseEnumByCode(result.getCode());
if (commonResponseEnum == CommonResponseEnum.DEVICE_RESPONSE_ENUM) {
return getStatEnumResponseEnumByMessage(result.getMessage());
}
return commonResponseEnum;
}
}

View File

@@ -0,0 +1,38 @@
package com.njcn.stat;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest
extends TestCase
{
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest( String testName )
{
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite()
{
return new TestSuite( AppTest.class );
}
/**
* Rigourous Test :-)
*/
public void testApp()
{
assertTrue( true );
}
}

View File

@@ -38,6 +38,29 @@
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>message-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>data-processing-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>stat-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
</dependencies>
<build>

View File

@@ -0,0 +1,49 @@
package com.njcn.stat.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
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.message.messagedto.MessageDataDTO;
import com.njcn.stat.service.MessageAnalysisService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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;
/**
* Description:
* Date: 2025/01/15 下午 2:10【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/messageAnalysis")
@Api(tags = "数据解析")
@AllArgsConstructor
public class MessageAnalysisController extends BaseController {
private final MessageAnalysisService messageAnalysisService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/analysis")
@ApiOperation("数据解析")
public HttpResult<String> analysis(@RequestBody List<MessageDataDTO> messageList){
String methodDescribe = getMethodDescribe("analysis");
messageAnalysisService.analysis(messageList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, CommonResponseEnum.SUCCESS.getMessage(), methodDescribe);
}
}

View File

@@ -0,0 +1,17 @@
package com.njcn.stat.service;
import com.njcn.message.messagedto.MessageDataDTO;
import java.util.List;
/**
* Description:
* Date: 2025/01/15 下午 2:51【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface MessageAnalysisService {
void analysis(List<MessageDataDTO> messageList);
}

View File

@@ -0,0 +1,487 @@
package com.njcn.stat.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.njcn.dataProcess.api.LnDataDealFeignClient;
import com.njcn.dataProcess.api.RmpEventDetailFeignClient;
import com.njcn.dataProcess.dto.*;
import com.njcn.message.enums.DataTypeEnum;
import com.njcn.message.messagedto.MessageDataDTO;
import com.njcn.stat.messagedto.*;
import com.njcn.stat.service.MessageAnalysisService;
import com.njcn.stat.utils.BeanIConverter;
import com.njcn.stat.utils.BeanPConverter;
import com.njcn.stat.utils.BeanVConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* Description:
* Date: 2025/01/15 下午 2:51【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class MessageAnalysisServiceImpl implements MessageAnalysisService {
@Autowired
private LnDataDealFeignClient lnDataDealFeignClient;
@Autowired
private RmpEventDetailFeignClient rmpEventDetailFeignClient;
@Override
public void analysis(List<MessageDataDTO> messageList) {
//12张表数据
List<DataVDTO> dataVList = new ArrayList<>();
List<DataHarmphasicVDTO> dataHarmphasicVDTOList = new ArrayList<>();
List<DataInharmVDTO> dataInharmVDTOList = new ArrayList<>();
List<DataIDTO> dataIDTOList = new ArrayList<>();
List<DataHarmphasicIDTO> dataHarmphasicIDTOList = new ArrayList<>();
List<DataInharmIDTO> dataInharmIDTOList = new ArrayList<>();
List<DataHarmpowerPDTO> dataHarmpowerPDTOList = new ArrayList<>();
List<DataHarmpowerSDTO> dataHarmpowerSDTOList = new ArrayList<>();
List<DataHarmpowerQDTO> dataHarmpowerQDTOList = new ArrayList<>();
List<DataFlucDTO> dataFlucDTOList = new ArrayList<>();
List<DataPltDTO> dataPltDTOList = new ArrayList<>();
List<DataFlickerDTO> dataFlickerDTOList = new ArrayList<>();
messageList.forEach(messageDataDTO->{
Integer dataType = messageDataDTO.getDataType();
String lineId = messageDataDTO.getMonitor();
String value = messageDataDTO.getValue();
if(Objects.equals(DataTypeEnum.HARMONIC.getCode(),dataType)){
MessageHarmonicDataSet messageHarmonicDataSet = JSONObject.parseObject(value, MessageHarmonicDataSet.class);
LocalDateTime localDateTime = messageHarmonicDataSet.getTIME();
Integer flag = messageHarmonicDataSet.getFLAG();
MessageP pq = messageHarmonicDataSet.getPQ();
MessageV v = messageHarmonicDataSet.getV();
MessageI i = messageHarmonicDataSet.getI();
//解析出电压数据ABCT
if(Objects.nonNull(v)){
DataVDTO dataVa = BeanVConverter.messageDataVTODataV(v.getA());
DataVDTO dataVb = BeanVConverter.messageDataVTODataV(v.getB());
DataVDTO dataVc = BeanVConverter.messageDataVTODataV(v.getC());
DataVDTO dataVt = BeanVConverter.messageDataVTODataV(v.getT());
dataVa.setTimeid(localDateTime);
dataVa.setLineid(lineId);
dataVa.setPhasicType("A");
dataVa.setQualityflag(flag);
dataVb.setTimeid(localDateTime);
dataVb.setLineid(lineId);
dataVb.setPhasicType("B");
dataVb.setQualityflag(flag);
dataVc.setTimeid(localDateTime);
dataVc.setLineid(lineId);
dataVc.setPhasicType("C");
dataVc.setQualityflag(flag);
dataVt.setTimeid(localDateTime);
dataVt.setLineid(lineId);
dataVt.setPhasicType("T");
dataVt.setQualityflag(flag);
DataHarmphasicVDTO dataHarmphasicVa = BeanVConverter.messageDataVTODataHarmphasicV(v.getA());
DataHarmphasicVDTO dataHarmphasicVb = BeanVConverter.messageDataVTODataHarmphasicV(v.getB());
DataHarmphasicVDTO dataHarmphasicVc = BeanVConverter.messageDataVTODataHarmphasicV(v.getC());
dataHarmphasicVa.setTimeid(localDateTime);
dataHarmphasicVa.setLineid(lineId);
dataHarmphasicVa.setPhasicType("A");
dataHarmphasicVa.setQualityflag(flag);
dataHarmphasicVb.setTimeid(localDateTime);
dataHarmphasicVb.setLineid(lineId);
dataHarmphasicVb.setPhasicType("B");
dataHarmphasicVb.setQualityflag(flag);
dataHarmphasicVc.setTimeid(localDateTime);
dataHarmphasicVc.setLineid(lineId);
dataHarmphasicVc.setPhasicType("C");
dataHarmphasicVc.setQualityflag(flag);
dataHarmphasicVDTOList.add(dataHarmphasicVa);
dataHarmphasicVDTOList.add(dataHarmphasicVb);
dataHarmphasicVDTOList.add(dataHarmphasicVc);
DataInharmVDTO dataInharmVa = BeanVConverter.messageDataVTODataInharmV(v.getA());
DataInharmVDTO dataInharmVb = BeanVConverter.messageDataVTODataInharmV(v.getB());
DataInharmVDTO dataInharmVc = BeanVConverter.messageDataVTODataInharmV(v.getC());
dataInharmVa.setTimeid(localDateTime);
dataInharmVa.setLineid(lineId);
dataInharmVa.setPhasicType("A");
dataInharmVa.setQualityflag(flag);
dataInharmVb.setTimeid(localDateTime);
dataInharmVb.setLineid(lineId);
dataInharmVb.setPhasicType("B");
dataInharmVb.setQualityflag(flag);
dataInharmVc.setTimeid(localDateTime);
dataInharmVc.setLineid(lineId);
dataInharmVc.setPhasicType("C");
dataInharmVc.setQualityflag(flag);
dataInharmVDTOList.add(dataInharmVa);
dataInharmVDTOList.add(dataInharmVb);
dataInharmVDTOList.add(dataInharmVc);
dataVList.add(dataVa);
dataVList.add(dataVb);
dataVList.add(dataVc);
dataVList.add(dataVt);
}
//解析出电流数据ABCT
if(Objects.nonNull(i)){
DataIDTO dataIa = BeanIConverter.messageDataITODataI(i.getA());
DataIDTO dataIb = BeanIConverter.messageDataITODataI(i.getB());
DataIDTO dataIc = BeanIConverter.messageDataITODataI(i.getC());
DataIDTO dataIt = BeanIConverter.messageDataITODataI(i.getT());
dataIa.setTimeid(localDateTime);
dataIa.setLineid(lineId);
dataIa.setPhasicType("A");
dataIa.setQualityflag(flag);
dataIb.setTimeid(localDateTime);
dataIb.setLineid(lineId);
dataIb.setPhasicType("B");
dataIb.setQualityflag(flag);
dataIc.setTimeid(localDateTime);
dataIc.setLineid(lineId);
dataIc.setPhasicType("C");
dataIc.setQualityflag(flag);
dataIt.setTimeid(localDateTime);
dataIt.setLineid(lineId);
dataIt.setPhasicType("T");
dataIt.setQualityflag(flag);
dataIDTOList.add(dataIa);
dataIDTOList.add(dataIb);
dataIDTOList.add(dataIc);
dataIDTOList.add(dataIt);
DataHarmphasicIDTO dataHarmphasicIa = BeanIConverter.messageDataITODataHarmphasicI(i.getA());
DataHarmphasicIDTO dataHarmphasicIb = BeanIConverter.messageDataITODataHarmphasicI(i.getB());
DataHarmphasicIDTO dataHarmphasicIc = BeanIConverter.messageDataITODataHarmphasicI(i.getC());
dataHarmphasicIa.setTimeid(localDateTime);
dataHarmphasicIa.setLineid(lineId);
dataHarmphasicIa.setPhasicType("A");
dataHarmphasicIa.setQualityflag(flag);
dataHarmphasicIb.setTimeid(localDateTime);
dataHarmphasicIb.setLineid(lineId);
dataHarmphasicIb.setPhasicType("B");
dataHarmphasicIb.setQualityflag(flag);
dataHarmphasicIc.setTimeid(localDateTime);
dataHarmphasicIc.setLineid(lineId);
dataHarmphasicIc.setPhasicType("C");
dataHarmphasicIc.setQualityflag(flag);
dataHarmphasicIDTOList.add(dataHarmphasicIa);
dataHarmphasicIDTOList.add(dataHarmphasicIb);
dataHarmphasicIDTOList.add(dataHarmphasicIc);
DataInharmIDTO dataInharmIa = BeanIConverter.messageDataITODataInharmI(i.getA());
DataInharmIDTO dataInharmIb = BeanIConverter.messageDataITODataInharmI(i.getB());
DataInharmIDTO dataInharmIc = BeanIConverter.messageDataITODataInharmI(i.getC());
dataInharmIa.setTimeid(localDateTime);
dataInharmIa.setLineid(lineId);
dataInharmIa.setPhasicType("A");
dataInharmIa.setQualityflag(flag);
dataInharmIb.setTimeid(localDateTime);
dataInharmIb.setLineid(lineId);
dataInharmIb.setPhasicType("B");
dataInharmIb.setQualityflag(flag);
dataInharmIc.setTimeid(localDateTime);
dataInharmIc.setLineid(lineId);
dataInharmIc.setPhasicType("C");
dataInharmIc.setQualityflag(flag);
dataInharmIDTOList.add(dataInharmIa);
dataInharmIDTOList.add(dataInharmIb);
dataInharmIDTOList.add(dataInharmIc);
}
//解析出功率数据ABC
if(Objects.nonNull(pq)){
DataHarmpowerPDTO dataHarmpowerPa = BeanPConverter.messageDataPTODataHarmpowerP(pq.getA());
DataHarmpowerPDTO dataHarmpowerPb = BeanPConverter.messageDataPTODataHarmpowerP(pq.getB());
DataHarmpowerPDTO dataHarmpowerPc = BeanPConverter.messageDataPTODataHarmpowerP(pq.getC());
DataHarmpowerPDTO dataHarmpowerPt = BeanPConverter.messageDataPTODataHarmpowerP(pq.getT());
dataHarmpowerPa.setTimeid(localDateTime);
dataHarmpowerPa.setLineid(lineId);
dataHarmpowerPa.setPhasicType("A");
dataHarmpowerPa.setQualityflag(flag);
dataHarmpowerPb.setTimeid(localDateTime);
dataHarmpowerPb.setLineid(lineId);
dataHarmpowerPb.setPhasicType("B");
dataHarmpowerPb.setQualityflag(flag);
dataHarmpowerPc.setTimeid(localDateTime);
dataHarmpowerPc.setLineid(lineId);
dataHarmpowerPc.setPhasicType("C");
dataHarmpowerPc.setQualityflag(flag);
dataHarmpowerPt.setTimeid(localDateTime);
dataHarmpowerPt.setLineid(lineId);
dataHarmpowerPt.setPhasicType("T");
dataHarmpowerPt.setQualityflag(flag);
dataHarmpowerPDTOList.add(dataHarmpowerPa);
dataHarmpowerPDTOList.add(dataHarmpowerPb);
dataHarmpowerPDTOList.add(dataHarmpowerPc);
dataHarmpowerPDTOList.add(dataHarmpowerPt);
DataHarmpowerSDTO dataHarmpowerSa = BeanPConverter.messageDataPTODataHarmpowerS(pq.getA());
DataHarmpowerSDTO dataHarmpowerSb =BeanPConverter.messageDataPTODataHarmpowerS(pq.getB());
DataHarmpowerSDTO dataHarmpowerSc =BeanPConverter.messageDataPTODataHarmpowerS(pq.getC());
DataHarmpowerSDTO dataHarmpowerSt =BeanPConverter.messageDataPTODataHarmpowerS(pq.getT());
dataHarmpowerSa.setTimeid(localDateTime);
dataHarmpowerSa.setLineid(lineId);
dataHarmpowerSa.setPhasicType("A");
dataHarmpowerSa.setQualityflag(flag);
dataHarmpowerSb.setTimeid(localDateTime);
dataHarmpowerSb.setLineid(lineId);
dataHarmpowerSb.setPhasicType("B");
dataHarmpowerSb.setQualityflag(flag);
dataHarmpowerSc.setTimeid(localDateTime);
dataHarmpowerSc.setLineid(lineId);
dataHarmpowerSc.setPhasicType("C");
dataHarmpowerSc.setQualityflag(flag);
dataHarmpowerSt.setTimeid(localDateTime);
dataHarmpowerSt.setLineid(lineId);
dataHarmpowerSt.setPhasicType("T");
dataHarmpowerSt.setQualityflag(flag);
dataHarmpowerSDTOList.add(dataHarmpowerSa);
dataHarmpowerSDTOList.add(dataHarmpowerSb);
dataHarmpowerSDTOList.add(dataHarmpowerSc);
dataHarmpowerSDTOList.add(dataHarmpowerSt);
DataHarmpowerQDTO dataHarmpowerQa = BeanPConverter.messageDataPTODataHarmpowerQ(pq.getA());
DataHarmpowerQDTO dataHarmpowerQb =BeanPConverter.messageDataPTODataHarmpowerQ(pq.getB());
DataHarmpowerQDTO dataHarmpowerQc =BeanPConverter.messageDataPTODataHarmpowerQ(pq.getC());
DataHarmpowerQDTO dataHarmpowerQt =BeanPConverter.messageDataPTODataHarmpowerQ(pq.getT());
dataHarmpowerQa.setTimeid(localDateTime);
dataHarmpowerQa.setLineid(lineId);
dataHarmpowerQa.setPhasicType("A");
dataHarmpowerQa.setQualityflag(flag);
dataHarmpowerQb.setTimeid(localDateTime);
dataHarmpowerQb.setLineid(lineId);
dataHarmpowerQb.setPhasicType("B");
dataHarmpowerQb.setQualityflag(flag);
dataHarmpowerQc.setTimeid(localDateTime);
dataHarmpowerQc.setLineid(lineId);
dataHarmpowerQc.setPhasicType("C");
dataHarmpowerQc.setQualityflag(flag);
dataHarmpowerQt.setTimeid(localDateTime);
dataHarmpowerQt.setLineid(lineId);
dataHarmpowerQt.setPhasicType("T");
dataHarmpowerQt.setQualityflag(flag);
dataHarmpowerQDTOList.add(dataHarmpowerQa);
dataHarmpowerQDTOList.add(dataHarmpowerQb);
dataHarmpowerQDTOList.add(dataHarmpowerQc);
dataHarmpowerQDTOList.add(dataHarmpowerQt);
}
}else if(Objects.equals(DataTypeEnum.FLUC.getCode(),dataType)){
MessageFlucDataSet messageFlucDataSet = JSONObject.parseObject(value, MessageFlucDataSet.class);
LocalDateTime localDateTime = messageFlucDataSet.getTIME(); //LocalDateTime.ofInstant(messageFlucDataSet.getTIME(), ZoneId.systemDefault()).withNano(0).withSecond(0);
Integer flag = messageFlucDataSet.getFLAG();
MessageFs fs = messageFlucDataSet.getFs();
//短时闪变ABC
if(Objects.nonNull(fs)){
MessageFluc a = fs.getA();
MessageFluc b = fs.getB();
MessageFluc c = fs.getC();
DataFlucDTO dataFlucA = new DataFlucDTO();
DataFlucDTO dataFlucB = new DataFlucDTO();
DataFlucDTO dataFlucC = new DataFlucDTO();
dataFlucA.setTimeid(localDateTime);
dataFlucA.setLineid(lineId);
dataFlucA.setPhasicType("A");
dataFlucA.setFluc(a.getFluc());
dataFlucA.setFluccf(a.getFlucf());
dataFlucA.setQualityflag(flag);
dataFlucB.setTimeid(localDateTime);
dataFlucB.setLineid(lineId);
dataFlucB.setPhasicType("B");
dataFlucB.setFluc(b.getFluc());
dataFlucB.setFluccf(b.getFlucf());
dataFlucB.setQualityflag(flag);
dataFlucC.setTimeid(localDateTime);
dataFlucC.setLineid(lineId);
dataFlucC.setPhasicType("C");
dataFlucC.setFluc(c.getFluc());
dataFlucC.setFluccf(c.getFlucf());
dataFlucC.setQualityflag(flag);
dataFlucDTOList.add(dataFlucA);
dataFlucDTOList.add(dataFlucB);
dataFlucDTOList.add(dataFlucC);
DataFlickerDTO dataFlickerA = new DataFlickerDTO();
DataFlickerDTO dataFlickerB = new DataFlickerDTO();
DataFlickerDTO dataFlickerC = new DataFlickerDTO();
dataFlickerA.setTimeid(localDateTime);
dataFlickerA.setLineid(lineId);
dataFlickerA.setPhasicType("A");
dataFlickerA.setPst(a.getPst());
dataFlickerA.setQualityflag(flag);
dataFlickerB.setTimeid(localDateTime);
dataFlickerB.setLineid(lineId);
dataFlickerB.setPhasicType("B");
dataFlickerB.setPst(b.getPst());
dataFlickerB.setQualityflag(flag);
dataFlickerC.setTimeid(localDateTime);
dataFlickerC.setLineid(lineId);
dataFlickerC.setPhasicType("C");
dataFlickerC.setPst(c.getPst());
dataFlickerC.setQualityflag(flag);
dataFlickerDTOList.add(dataFlickerA);
dataFlickerDTOList.add(dataFlickerB);
dataFlickerDTOList.add(dataFlickerC);
}
}else if(Objects.equals(DataTypeEnum.PLT.getCode(),dataType)){
MessagePltDataSet messagePltDataSet = JSONObject.parseObject(value, MessagePltDataSet.class);
LocalDateTime localDateTime = messagePltDataSet.getTIME();
Integer flag = messagePltDataSet.getFLAG();
MessageFl fl = messagePltDataSet.getFl();
//长时闪变ABC
if(Objects.nonNull(fl)){
MessagePlt a = fl.getA();
MessagePlt b =fl.getB();
MessagePlt c = fl.getC();
DataPltDTO dataPlta = new DataPltDTO();
DataPltDTO dataPltb = new DataPltDTO();
DataPltDTO dataPltc = new DataPltDTO();
dataPlta.setTimeid(localDateTime);
dataPlta.setLineid(lineId);
dataPlta.setPhasicType("A");
dataPlta.setPlt(a.getPlt());
dataPlta.setQualityflag(flag);
dataPltb.setTimeid(localDateTime);
dataPltb.setLineid(lineId);
dataPltb.setPhasicType("B");
dataPltb.setPlt(b.getPlt());
dataPltb.setQualityflag(flag);
dataPltc.setTimeid(localDateTime);
dataPltc.setLineid(lineId);
dataPltc.setPhasicType("C");
dataPltc.setPlt(c.getPlt());
dataPltc.setQualityflag(flag);
dataPltDTOList.add(dataPlta);
dataPltDTOList.add(dataPltb);
dataPltDTOList.add(dataPltc);
}
}else if(Objects.equals(DataTypeEnum.EVENT.getCode(),dataType)){
MessageEventDataSet messageEventDataSet = JSONObject.parseObject(value, MessageEventDataSet.class);
RmpEventDetailDTO rmpEventDetailDTO = new RmpEventDetailDTO();
EventDTO volTage = messageEventDataSet.getVolTage();
if(Objects.nonNull(volTage)){
rmpEventDetailDTO.setMeasurementPointId(lineId);
rmpEventDetailDTO.setEventType(volTage.getDiskind());
rmpEventDetailDTO.setAdvanceType(volTage.getDiskind());
rmpEventDetailDTO.setStartTime(volTage.getStarttime());
rmpEventDetailDTO.setDuration(volTage.getDur());
rmpEventDetailDTO.setFeatureAmplitude(volTage.getMag());
rmpEventDetailDTO.setPhase(volTage.getPhasic());
rmpEventDetailDTO.setWavePath(volTage.getCfgFile().substring(0, volTage.getCfgFile().lastIndexOf("/")));
rmpEventDetailFeignClient.batchInsertion(rmpEventDetailDTO);
}
}
});
LnDataDTO lnDataDTO = new LnDataDTO();
lnDataDTO.setDataVList(dataVList);
lnDataDTO.setDataHarmphasicVDTOList(dataHarmphasicVDTOList);
lnDataDTO.setDataInharmVDTOList(dataInharmVDTOList);
lnDataDTO.setDataIDTOList(dataIDTOList);
lnDataDTO.setDataHarmphasicIDTOList(dataHarmphasicIDTOList);
lnDataDTO.setDataInharmIDTOList(dataInharmIDTOList);
lnDataDTO.setDataHarmpowerPDTOList(dataHarmpowerPDTOList);
lnDataDTO.setDataHarmpowerSDTOList(dataHarmpowerSDTOList);
lnDataDTO.setDataHarmpowerQDTOList(dataHarmpowerQDTOList);
lnDataDTO.setDataFlucDTOList(dataFlucDTOList);
lnDataDTO.setDataPltDTOList(dataPltDTOList);
lnDataDTO.setDataFlickerDTOList(dataFlickerDTOList);
lnDataDealFeignClient.batchInsertion(lnDataDTO);
}
}

View File

@@ -29,7 +29,7 @@ spring:
shared-configs:
- data-id: share-config.yaml
refresh: true
- data-Id: algorithm-config.yaml
- data-Id: data-platform.yaml
refresh: true
main:
allow-bean-definition-overriding: true

View File

@@ -17,5 +17,22 @@
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-db</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-microservice</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,30 @@
package com.njcn.message.api;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.message.api.fallback.ProduceFeignClientFallbackFactory;
import com.njcn.message.message.DeviceRebootMessage;
import com.njcn.message.message.RecallMessage;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* Description:
* Date: 2025/01/15 下午 3:52【需求编号】
*
* @author clam
* @version V1.0.0
*/
@FeignClient(
value = "message-boot",
path = "/produce",
fallbackFactory = ProduceFeignClientFallbackFactory.class,
contextId = "message")
public interface ProduceFeignClient {
@PostMapping("/recall")
public HttpResult<Boolean> recall(@RequestBody RecallMessage message);
@PostMapping("/askRestartDevice")
public HttpResult<Boolean> askRestartDevice(@RequestBody DeviceRebootMessage message);
}

View File

@@ -0,0 +1,51 @@
package com.njcn.message.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.message.api.ProduceFeignClient;
import com.njcn.message.message.DeviceRebootMessage;
import com.njcn.message.message.RecallMessage;
import com.njcn.message.utils.MessageEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* Description:
* Date: 2025/01/15 下午 3:55【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@Component
public class ProduceFeignClientFallbackFactory implements FallbackFactory<ProduceFeignClient> {
@Override
public ProduceFeignClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = MessageEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new ProduceFeignClient() {
@Override
public HttpResult<Boolean> recall(RecallMessage message) {
log.error("{}异常,降级处理,异常为:{}", "数据补招消息推送", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<Boolean> askRestartDevice(DeviceRebootMessage message) {
log.error("{}异常,降级处理,异常为:{}", "消息数据解析", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,18 @@
package com.njcn.message.constant;
/**
* @author xy
*/
public interface BusinessResource {
/***
* App
*/
String APP_RESOURCE = "APP";
/***
* Web
*/
String WEB_RESOURCE = "WEB";
}

View File

@@ -0,0 +1,88 @@
package com.njcn.message.constant;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年08月10日 15:30
*/
public interface BusinessTopic {
/**
* 治理主送推送数据接收主题
*/
String NJCN_APP_AUTO_DATA_TOPIC = "njcnAppAutoDataTopic";
/**
* 治理事件接收主题
*/
String NJCN_APP_EVENT_TOPIC = "njcnAppEventTopic";
/**
* 治理告警接收主题
*/
String NJCN_APP_WARN_TOPIC = "njcnAppWarnTopic";
/**
* 治理文件接收主题
*/
String NJCN_APP_FILE_TOPIC = "njcnAppFileTopic";
String NJCN_APP_FILE_STREAM_TOPIC = "njcnAppFileStreamTopic";
String CONTROL_TOPIC = "control_Topic";
String ASK_REAL_DATA_TOPIC = "ask_real_data_topic";
String RECALL_TOPIC = "recall_Topic";
/********************************数据中心*********************************/
String RMP_EVENT_DETAIL_TOPIC = "rmpEventDetailTopic";
interface AppDataTag {
/**
* 统计数据tag
*/
String STAT_TAG = "stat";
/**
* 实时数据tag
*/
String RT_TAG = "rt";
}
interface AppEventTag {
/**
* 暂态事件(录波)tag
*/
String EVENT_TAG = "event";
}
interface AppWarnTag {
/**
* 告警事件tag
*/
String WARN_TAG = "warn";
}
interface FileTag {
/**
* 文件信息tag
*/
String INFO_TAG = "fileInfo";
/**
* 文件流tag
*/
String STREAM_TAG = "streamInfo";
}
}

View File

@@ -0,0 +1,31 @@
package com.njcn.message.constant;
/**
* Description:
* Date: 2024/12/17 10:04【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface DeviceRebootType {
/***
* 1. 新增终端台账
*/
String ADD_TERMINAL = "add_terminal";
/***
* 1. 删除终端台账
*/
String DELETE_TERMINAL = "delete_terminal";
/***
*修改终端 新增/删除/监测点台账
*/
String LEDGER_MODIFY = "ledger_modify";
/**
* Icd变更
*/
String ICD_CHANGE = "icd_change";
}

View File

@@ -0,0 +1,18 @@
package com.njcn.message.constant;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年08月18日 11:31
*/
public interface MessageStatus {
/***
* 状态为 成功、处理中时,打回不处理
* 状态为 失败,可以继续处理
*/
String SUCCESS = "success";
String BEING_PROCESSED = "being processed";
String FAIL = "fail";
}

View File

@@ -0,0 +1,31 @@
package com.njcn.message.enums;
import lombok.Getter;
/**
* Description:
* Date: 2024/11/13 15:24【需求编号】
*01:稳态02:短时闪变03:长时闪变04:暂态05:告警
* @author clam
* @version V1.0.0
*/
@Getter
public enum DataTypeEnum {
HARMONIC(1, "稳态"),
FLUC(2, "短时闪变"),
PLT(3, "长时闪变"),
EVENT(4, "暂态"),
ALARM(5, "告警"),;
private final Integer code;
private final String message;
DataTypeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,23 @@
package com.njcn.message.enums;
import lombok.Getter;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月20日 09:56
*/
@Getter
public enum MessageResponseEnum {
MESSAGE_COMMON_ERROR("A00550","消息模块异常"),
;
private final String code;
private final String message;
MessageResponseEnum(String code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,20 @@
package com.njcn.message.message;
import lombok.Data;
/**
* Description:
* Date: 2024/12/13 10:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class AskRealDataMessage {
private String devSeries;
private String line;
private Boolean realData = true;
private Boolean soeData = true;
//默认要60s数据3s*20所以这里默认20
private Integer limit = 20;
}

View File

@@ -0,0 +1,67 @@
package com.njcn.message.message;
import lombok.Data;
import java.util.List;
/**
* Description:
* Date: 2024/12/13 10:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class DeviceRebootMessage {
private String code;
private DeviceInfo data;
@Data
public static class DeviceInfo {
//终端索引
private String id;
//终端ip
private String ip;
//终端型号
private String devType;
//挂载单位
private String org_name;
//组织名称
private String port;
//终端端口
private String stationName;
//变电站名
private String name;
//终端序列号
private String updateTime;
//数据更新时间
private String manufacturer;
//终端厂商
private String status;
//终端状态
private String series;
//终端识别码
private String devKey;
//
private List<MonitorInfo> monitorData;
@Data
public static class MonitorInfo {
//监测点索引
private String id;
//名称
private String name;
//监测点逻辑号
private String lineNo;
//监测点电压等级
private String voltageLevel;
//监测点接线方式
private String ptType;
private String status;
}
}
}

View File

@@ -0,0 +1,34 @@
package com.njcn.message.message;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Description:
* Date: 2024/11/7 15:05【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class RecallMessage {
private List<RecallDTO> data;
@Data
public static class RecallDTO {
/**
* monitorId : ["id1","id2","id3"]
* dataType : 稳态
* timeInterval : ["2024-01-01 12:52:51~2024-01-01 13:53:00","2024-01-02 12:52:51~2024-01-02 13:53:00","2024-01-03 12:52:51~2024-01-03 13:53:00","2024-01-04 12:52:51~2024-01-04 13:53:00"]
*/
@ApiModelProperty("0/1稳态/暂态)")
private String dataType;
private List<String> monitorId;
private List<String> timeInterval;
}
}

View File

@@ -0,0 +1,21 @@
package com.njcn.message.messagedto;
import com.njcn.middle.rocket.domain.BaseMessage;
import lombok.Data;
import java.io.Serializable;
/**
* Description:
* Date: 2024/11/8 14:09【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class MessageDataDTO extends BaseMessage implements Serializable {
private Integer dataType;
private String monitor;
private String value;
}

View File

@@ -0,0 +1,46 @@
package com.njcn.message.utils;
import cn.hutool.core.util.StrUtil;
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.common.utils.EnumUtils;
import com.njcn.message.enums.MessageResponseEnum;
import javax.validation.constraints.NotNull;
import java.util.Objects;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月20日 10:03
*/
public class MessageEnumUtil {
/**
* 获取HarmonicResponseEnum实例
*/
public static MessageResponseEnum getMessageEnumResponseEnumByMessage(@NotNull Object value) {
MessageResponseEnum harmonicResponseEnum;
try {
String message = value.toString();
if(message.indexOf(StrUtil.C_COMMA)>0){
value = message.substring(message.indexOf(StrUtil.C_COMMA)+1);
}
harmonicResponseEnum = EnumUtils.valueOf(MessageResponseEnum.class, value, MessageResponseEnum.class.getMethod(BusinessException.GET_MESSAGE_METHOD));
return Objects.isNull(harmonicResponseEnum) ? MessageResponseEnum.MESSAGE_COMMON_ERROR : harmonicResponseEnum;
} catch (NoSuchMethodException e) {
throw new BusinessException(CommonResponseEnum.INTERNAL_ERROR);
}
}
public static Enum<?> getExceptionEnum(HttpResult<Object> result){
//如果返回错误,且为内部错误,则直接抛出异常
CommonResponseEnum commonResponseEnum = EnumUtils.getCommonResponseEnumByCode(result.getCode());
if (commonResponseEnum == CommonResponseEnum.DEVICE_RESPONSE_ENUM) {
return getMessageEnumResponseEnumByMessage(result.getMessage());
}
return commonResponseEnum;
}
}

View File

@@ -0,0 +1,38 @@
package com.njcn.middle.rocket.domain;
import cn.hutool.core.util.IdUtil;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年08月04日 10:53
*/
@Data
public class BaseMessage {
/**
* 业务键用于RocketMQ控制台查看消费情况
* 为了保证唯一性使用雪花算法生成一个随机id
*/
protected String key = IdUtil.getSnowflake().nextIdStr();
/**
* 发送消息来源,用于排查问题
*/
protected String source = "";
/**
* 发送时间
*/
protected LocalDateTime sendTime = LocalDateTime.now();
/**
* 重试次数,用于判断重试次数,超过重试次数发送异常警告
*/
protected Integer retryTimes = 0;
protected String messageBoy;
}

View File

@@ -38,6 +38,74 @@
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-swagger</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-db</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-redis</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>rocket-mq-springboot-starter</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>message-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>stat-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>event-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.njcn.platform</groupId>
<artifactId>rt-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>pq-device-api</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<artifactId>pqs-influx</artifactId>
<groupId>com.njcn</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<version>2.7.12</version>
</dependency>
</dependencies>
<build>

View File

@@ -4,6 +4,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.DependsOn;
/**
@@ -12,6 +13,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
@Slf4j
@EnableFeignClients(basePackages = "com.njcn")
@SpringBootApplication(scanBasePackages = "com.njcn")
@DependsOn("proxyMapperRegister")
public class MessageBootApplication {
public static void main(String[] args) {

View File

@@ -0,0 +1,174 @@
package com.njcn.message.consumer;
import com.alibaba.fastjson.JSONObject;
import com.njcn.message.constant.MessageStatus;
import com.njcn.message.messagedto.MessageDataDTO;
import com.njcn.middle.rocket.constant.EnhanceMessageConstant;
import com.njcn.middle.rocket.handler.EnhanceConsumerMessageHandler;
import com.njcn.redis.pojo.enums.RedisKeyEnum;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.stat.api.MessAnalysisFeignClient;
import com.njcn.system.api.RocketMqLogFeignClient;
import com.njcn.system.pojo.po.RocketmqMsgErrorLog;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/8/11 15:32
*/
@Component
@RocketMQMessageListener(
topic = "LN_Topic",
consumerGroup = "ln_consumer",
selectorExpression = "Test_Tag||Test_Keys",
consumeThreadNumber = 10,
enableMsgTrace = true
)
@Slf4j
public class FrontDataConsumer extends EnhanceConsumerMessageHandler<MessageDataDTO> implements RocketMQListener<String> {
@Autowired
private MessAnalysisFeignClient messAnalysisFeignClient;
@Resource
private RedisUtil redisUtil;
@Resource
private RocketMqLogFeignClient rocketMqLogFeignClient;
private List<MessageDataDTO> messageList = new ArrayList<>(120);
@Override
public void onMessage(String baseMessage) {
MessageDataDTO messageDataDTO = JSONObject.parseObject(baseMessage,MessageDataDTO.class);
super.dispatchMessage(messageDataDTO);
}
/***
* 通过redis分布式锁判断当前消息所处状态
* 1、null 查不到该key的数据属于第一次消费放行
* 2、fail 上次消息消费时发生异常,放行
* 3、being processed 正在处理,打回去
* 4、success 最近72小时消费成功避免重复消费打回去
*/
@Override
public boolean filter(MessageDataDTO message) {
String keyStatus = redisUtil.getStringByKey(message.getKey());
if (Objects.isNull(keyStatus) || keyStatus.equalsIgnoreCase(MessageStatus.FAIL)) {
redisUtil.saveByKeyWithExpire(message.getKey(), MessageStatus.BEING_PROCESSED, 60L);
return false;
}
return true;
}
/**
* 消费成功缓存到redis72小时避免重复消费
*/
@Override
protected void consumeSuccess(MessageDataDTO message) {
redisUtil.saveByKeyWithExpire(message.getKey(), MessageStatus.SUCCESS, RedisKeyEnum.ROCKET_MQ_KEY.getTime());
}
@Override
protected void handleMessage(MessageDataDTO message) {
synchronized (messageList) {
messageList.add(message);
if (messageList.size() >= 120) {
saveToDatabase();
}
}
}
/**
* 发生异常时,进行错误信息入库保存
* 默认没有实现类子类可以实现该方法调用feign接口进行入库保存
*/
@Override
protected void saveExceptionMsgLog(MessageDataDTO message, String identity, Exception exception) {
redisUtil.saveByKeyWithExpire(message.getKey(), MessageStatus.FAIL, RedisKeyEnum.ROCKET_MQ_KEY.getTime());
RocketmqMsgErrorLog rocketmqMsgErrorLog = new RocketmqMsgErrorLog();
rocketmqMsgErrorLog.setMsgKey(message.getKey());
rocketmqMsgErrorLog.setResource(message.getSource());
if (identity.equalsIgnoreCase(EnhanceMessageConstant.IDENTITY_SINGLE)) {
//数据库字段配置长度200避免插入失败大致分析异常原因
String exceptionMsg = exception.getMessage();
if(exceptionMsg.length() > 200){
exceptionMsg = exceptionMsg.substring(0,180);
}
rocketmqMsgErrorLog.setRecord(exceptionMsg);
//如果是当前消息重试的则略过
if(!message.getSource().startsWith(EnhanceMessageConstant.RETRY_PREFIX)){
//单次消费异常
rocketMqLogFeignClient.add(rocketmqMsgErrorLog);
}
} else {
rocketmqMsgErrorLog.setRecord("重试消费" + super.getMaxRetryTimes() + "次,依旧消费失败。");
//重试N次后依然消费异常
rocketMqLogFeignClient.add(rocketmqMsgErrorLog);
}
}
/***
* 处理失败后,是否重试
* 一般开启
*/
@Override
protected boolean isRetry() {
return false;
}
/***
* 消费失败是否抛出异常,抛出异常后就不再消费了
*/
@Override
protected boolean throwException() {
return false;
}
//50个消息做一组插入数据库
public void saveToDatabase(){
try {
long start = System.currentTimeMillis();
messAnalysisFeignClient.analysis(messageList);
long end = System.currentTimeMillis();
log.info("处理120条消息所需时间------------"+(end-start));
}catch (Exception e){{
log.info(e.toString());
}
}finally{
messageList.clear();
}
}
}

View File

@@ -0,0 +1,142 @@
package com.njcn.message.consumer;
import com.alibaba.fastjson.JSONObject;
import com.njcn.message.constant.MessageStatus;
import com.njcn.message.messagedto.MessageDataDTO;
import com.njcn.message.websocket.WebSocketServer;
import com.njcn.middle.rocket.constant.EnhanceMessageConstant;
import com.njcn.middle.rocket.handler.EnhanceConsumerMessageHandler;
import com.njcn.redis.pojo.enums.AppRedisKey;
import com.njcn.redis.pojo.enums.RedisKeyEnum;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.system.api.RocketMqLogFeignClient;
import com.njcn.system.pojo.po.RocketmqMsgErrorLog;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Objects;
/**
* Description:
* Date: 2024/12/13 10:06【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Component
@RocketMQMessageListener(
topic = "Real_Time_Data_Topic",
consumerGroup = "real_time_consumer",
selectorExpression = "Test_Tag||Test_Keys",
consumeThreadNumber = 10,
enableMsgTrace = true
)
@Slf4j
public class RealTimeDataConsumer extends EnhanceConsumerMessageHandler<MessageDataDTO> implements RocketMQListener<String> {
@Resource
private RedisUtil redisUtil;
@Resource
private RocketMqLogFeignClient rocketMqLogFeignClient;
@Override
public void onMessage(String message) {
MessageDataDTO messageDataDTO = JSONObject.parseObject(message,MessageDataDTO.class);
super.dispatchMessage(messageDataDTO);
}
/***
* 通过redis分布式锁判断当前消息所处状态
* 1、null 查不到该key的数据属于第一次消费放行
* 2、fail 上次消息消费时发生异常,放行
* 3、being processed 正在处理,打回去
* 4、success 最近72小时消费成功避免重复消费打回去
*/
@Override
public boolean filter(MessageDataDTO message) {
String keyStatus = redisUtil.getStringByKey(AppRedisKey.RMQ_CONSUME_KEY.concat(message.getKey()));
if (Objects.isNull(keyStatus) || keyStatus.equalsIgnoreCase(MessageStatus.FAIL)) {
redisUtil.saveByKeyWithExpire(AppRedisKey.RMQ_CONSUME_KEY.concat(message.getKey()), MessageStatus.BEING_PROCESSED, 30L);
return false;
}
return true;
}
/**
* 消费成功缓存到redis72小时避免重复消费
*/
@Override
protected void consumeSuccess(MessageDataDTO message) {
redisUtil.saveByKeyWithExpire(message.getKey(), MessageStatus.SUCCESS, RedisKeyEnum.ROCKET_MQ_KEY.getTime());
}
@Override
protected void handleMessage(MessageDataDTO message) {
String lineId = message.getMonitor();
WebSocketServer.sendInfo(JSONObject.toJSONString(message),lineId);
//删除推送的lineId
redisUtil.delete("AskRealData:".concat(lineId));
}
/**
* 发生异常时,进行错误信息入库保存
* 默认没有实现类子类可以实现该方法调用feign接口进行入库保存
*/
@Override
protected void saveExceptionMsgLog(MessageDataDTO message, String identity, Exception exception) {
redisUtil.saveByKeyWithExpire(message.getKey(), MessageStatus.FAIL, RedisKeyEnum.ROCKET_MQ_KEY.getTime());
RocketmqMsgErrorLog rocketmqMsgErrorLog = new RocketmqMsgErrorLog();
rocketmqMsgErrorLog.setMsgKey(message.getKey());
rocketmqMsgErrorLog.setResource(message.getSource());
if (identity.equalsIgnoreCase(EnhanceMessageConstant.IDENTITY_SINGLE)) {
//数据库字段配置长度200避免插入失败大致分析异常原因
String exceptionMsg = exception.getMessage();
if(exceptionMsg.length() > 200){
exceptionMsg = exceptionMsg.substring(0,180);
}
rocketmqMsgErrorLog.setRecord(exceptionMsg);
//如果是当前消息重试的则略过
if(!message.getSource().startsWith(EnhanceMessageConstant.RETRY_PREFIX)){
//单次消费异常
rocketMqLogFeignClient.add(rocketmqMsgErrorLog);
}
} else {
rocketmqMsgErrorLog.setRecord("重试消费" + super.getMaxRetryTimes() + "次,依旧消费失败。");
//重试N次后依然消费异常
rocketMqLogFeignClient.add(rocketmqMsgErrorLog);
}
}
/***
* 处理失败后,是否重试
* 一般开启
*/
@Override
protected boolean isRetry() {
return true;
}
/***
* 消费失败是否抛出异常,抛出异常后就不再消费了
*/
@Override
protected boolean throwException() {
return false;
}
}

View File

@@ -0,0 +1,62 @@
package com.njcn.message.produce;
import com.alibaba.fastjson.JSONObject;
import com.njcn.common.pojo.annotation.OperateInfo;
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.message.message.DeviceRebootMessage;
import com.njcn.message.message.RecallMessage;
import com.njcn.message.produce.template.DeviceRebootMessageTemplate;
import com.njcn.message.produce.template.RecallMessaggeTemplate;
import com.njcn.middle.rocket.domain.BaseMessage;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
* Description:
* Date: 2025/01/15 下午 7:21【需求编号】
*
* @author clam
* @version V1.0.0
*/
@RestController
@RequiredArgsConstructor
@Api(tags = "消息生产者")
@RequestMapping("/produce")
public class ProduceController extends BaseController {
private final RecallMessaggeTemplate recallMessaggeTemplate;
private final DeviceRebootMessageTemplate deviceRebootMessageTemplate;
@PostMapping("/recall")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("数据补招消息推送")
@ApiImplicitParam(name = "param", value = "参数", required = true)
public HttpResult<Boolean> recall(@RequestParam RecallMessage message){
String methodDescribe = getMethodDescribe("recall");
BaseMessage baseMessage = new BaseMessage();
baseMessage.setMessageBoy(JSONObject.toJSONString(message));
recallMessaggeTemplate.sendMember(baseMessage);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@PostMapping("/askRestartDevice")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("请求前置重启进程消息推送")
@ApiImplicitParam(name = "param", value = "参数", required = true)
public HttpResult<Boolean> askRestartDevice(@RequestBody DeviceRebootMessage message){
String methodDescribe = getMethodDescribe("recall");
BaseMessage baseMessage = new BaseMessage();
baseMessage.setMessageBoy(JSONObject.toJSONString(message));
deviceRebootMessageTemplate.sendMember(baseMessage);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -0,0 +1,30 @@
package com.njcn.message.produce.template;
import com.njcn.message.constant.BusinessResource;
import com.njcn.message.constant.BusinessTopic;
import com.njcn.middle.rocket.domain.BaseMessage;
import com.njcn.middle.rocket.template.RocketMQEnhanceTemplate;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.stereotype.Component;
/**
* Description:
* Date: 2024/12/13 15:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Component
public class AskRealDataMessaggeTemplate extends RocketMQEnhanceTemplate {
public AskRealDataMessaggeTemplate(RocketMQTemplate template) {
super(template);
}
public SendResult sendMember(BaseMessage askRealDataMessage) {
askRealDataMessage.setSource(BusinessResource.WEB_RESOURCE);
askRealDataMessage.setKey("Test_Keys");
return send(BusinessTopic.ASK_REAL_DATA_TOPIC,"Test_Tag" , askRealDataMessage);
}
}

View File

@@ -0,0 +1,30 @@
package com.njcn.message.produce.template;
import com.njcn.message.constant.BusinessResource;
import com.njcn.message.constant.BusinessTopic;
import com.njcn.middle.rocket.domain.BaseMessage;
import com.njcn.middle.rocket.template.RocketMQEnhanceTemplate;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.stereotype.Component;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/8/11 15:28
*/
@Component
public class DeviceRebootMessageTemplate extends RocketMQEnhanceTemplate {
public DeviceRebootMessageTemplate(RocketMQTemplate template) {
super(template);
}
public SendResult sendMember(BaseMessage baseMessage) {
baseMessage.setSource(BusinessResource.WEB_RESOURCE);
baseMessage.setKey("Test_Keys");
return send(BusinessTopic.CONTROL_TOPIC,"Test_Tag", baseMessage);
}
}

View File

@@ -0,0 +1,30 @@
package com.njcn.message.produce.template;
import com.njcn.message.constant.BusinessResource;
import com.njcn.message.constant.BusinessTopic;
import com.njcn.middle.rocket.domain.BaseMessage;
import com.njcn.middle.rocket.template.RocketMQEnhanceTemplate;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.stereotype.Component;
/**
* Description:
* Date: 2024/12/13 15:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Component
public class RecallMessaggeTemplate extends RocketMQEnhanceTemplate {
public RecallMessaggeTemplate(RocketMQTemplate template) {
super(template);
}
public SendResult sendMember(BaseMessage recallMessage) {
recallMessage.setSource(BusinessResource.WEB_RESOURCE);
recallMessage.setKey("Test_Keys");
return send(BusinessTopic.RECALL_TOPIC,"Test_Tag" , recallMessage);
}
}

View File

@@ -0,0 +1,156 @@
//package com.njcn.message.websocket;
//
//import cn.hutool.core.date.DatePattern;
//import cn.hutool.core.date.LocalDateTimeUtil;
//import com.alibaba.fastjson.JSONObject;
//import com.njcn.common.pojo.annotation.OperateInfo;
//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.api.DataVFeignClient;
//import com.njcn.message.message.RecallMessage;
//import com.njcn.message.produce.template.RecallMessaggeTemplate;
//import com.njcn.middle.rocket.domain.BaseMessage;
//import com.njcn.web.controller.BaseController;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiImplicitParam;
//import io.swagger.annotations.ApiOperation;
//import lombok.RequiredArgsConstructor;
//import org.springframework.util.CollectionUtils;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.time.LocalDate;
//import java.time.LocalDateTime;
//import java.time.LocalTime;
//import java.time.format.DateTimeFormatter;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.stream.Collectors;
//import java.util.stream.Stream;
//
//
///**
// * @author hongawen
// */
//@RestController
//@RequiredArgsConstructor
//@Api(tags = "数据补招")
//@RequestMapping("/data")
//public class DataRecallController extends BaseController {
//
// private final DataVFeignClient dataVFeignClient;
// private final CommTerminalGeneralClient commTerminalGeneralClient;
// private final RecallMessaggeTemplate recallMessaggeTemplate;
//
//
//
// /**
// * 算法保存
// */
// @PostMapping("/recall")
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
// @ApiOperation("数据补招")
// @ApiImplicitParam(name = "param", value = "参数", required = true)
// public HttpResult<Boolean> recall(@RequestBody List<RecallMessage.RecallDTO> param) {
// String methodDescribe = getMethodDescribe("recall");
// RecallMessage message = new RecallMessage();
// BaseMessage baseMessage = new BaseMessage();
//
// if(CollectionUtils.isEmpty(param)){
// LocalDate localDate =LocalDate.now().plusDays(-1);
// List<String> runMonitorIds = commTerminalGeneralClient.getRunMonitorIds().getData();
// List<RecallMessage.RecallDTO> recallDTOList = new ArrayList<>();
// runMonitorIds.forEach(temp->{
// LineDevGetDTO data = commTerminalGeneralClient.getMonitorDetail(temp).getData();
// Integer timeInterval = data.getTimeInterval();
// List<LocalDateTime> localDateTimeList = generateTimeIntervals(localDate, timeInterval);
// List<LocalDateTime> data1 = dataVFeignClient.monitoringTime(temp, LocalDateTimeUtil.format(localDate, DatePattern.NORM_DATE_PATTERN)).getData();
// localDateTimeList.removeAll(data1);
// if(!CollectionUtils.isEmpty(localDateTimeList)){
// List<String> timePeriod = mergeTimeIntervals(localDateTimeList, timeInterval);
// RecallMessage.RecallDTO recallDTO = new RecallMessage.RecallDTO();
// recallDTO.setDataType("0");
// recallDTO.setMonitorId(Stream.of(temp).collect(Collectors.toList()));
// recallDTO.setTimeInterval(timePeriod);
//
// recallDTOList.add(recallDTO);
// }
// });
// if(!CollectionUtils.isEmpty(recallDTOList)){
//
// message.setData(recallDTOList);
// baseMessage.setMessageBoy(JSONObject.toJSONString(message));
//
// recallMessaggeTemplate.sendMember(baseMessage);
// }
// }else {
// message.setData(param);
// baseMessage.setMessageBoy(JSONObject.toJSONString(message));
// recallMessaggeTemplate.sendMember(baseMessage);
// }
//
//
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
//
// }
//
// public List<LocalDateTime> generateTimeIntervals(LocalDate date, int intervalMinutes) {
// List<LocalDateTime> dateTimeList = new ArrayList<>();
//
// // Create the starting LocalDateTime
// LocalDateTime startDateTime = LocalDateTime.of(date, LocalTime.MIDNIGHT);
//
// // Create the ending LocalDateTime
// LocalDateTime endDateTime = LocalDateTime.of(date, LocalTime.MAX);
//
// // Generate LocalDateTime list with the given interval
// LocalDateTime currentDateTime = startDateTime;
// while (!currentDateTime.isAfter(endDateTime)) {
// dateTimeList.add(currentDateTime);
// currentDateTime = currentDateTime.plusMinutes(intervalMinutes);
// }
//
// return dateTimeList;
// }
//
// public static List<String> mergeTimeIntervals(List<LocalDateTime> times, int intervalMinutes) {
// List<String> mergedIntervals = new ArrayList<>();
// if (times == null || times.isEmpty()) {
// return mergedIntervals;
// }
//
// // Sort the list to ensure the times are in order
// times.sort(LocalDateTime::compareTo);
//
// LocalDateTime start = times.get(0);
// LocalDateTime end = start;
//
// for (int i = 1; i < times.size(); i++) {
// LocalDateTime current = times.get(i);
// if (current.isAfter(end.plusMinutes(intervalMinutes))) {
// // If the current time is more than interval minutes after the end, close the current interval
// mergedIntervals.add(formatInterval(start, end));
// start = current; // Start a new interval
// }
// end = current; // Update the end of the current interval
// }
//
// // Add the last interval
// mergedIntervals.add(formatInterval(start, end));
//
// return mergedIntervals;
// }
//
// private static String formatInterval(LocalDateTime start, LocalDateTime end) {
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// return start.format(formatter) + "~" + end.format(formatter);
// }
//
//
//
//}

View File

@@ -0,0 +1,35 @@
package com.njcn.message.websocket;
import com.njcn.redis.utils.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Description:
* Date: 2025/01/14 上午 10:24【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Component
@EnableScheduling
public class ScheduledTasks {
@Autowired
private RedisUtil redisUtil;
@Scheduled(fixedRate = 15000) // 每15s执行一次
public void reportCurrentTime() {
List<String> likeListAllValues = (List<String>) redisUtil.getLikeListAllValues("AskRealData:");
likeListAllValues.forEach(temp->{
String lineId = temp.replace("AskRealData:","");
WebSocketServer.sendInfo("前置连接存在问题",lineId);
redisUtil.delete(temp);
});
}
}

View File

@@ -0,0 +1,41 @@
package com.njcn.message.websocket;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean;
/**
* Description:
* Date: 2024/12/13 15:09【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
/**
* 通信文本消息和二进制缓存区大小
* 避免对接 第三方 报文过大时Websocket 1009 错误
*
* @return
*/
@Bean
public ServletServerContainerFactoryBean createWebSocketContainer() {
ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
// 在此处设置bufferSize
container.setMaxTextMessageBufferSize(10240000);
container.setMaxBinaryMessageBufferSize(10240000);
container.setMaxSessionIdleTimeout(15 * 60000L);
return container;
}
}

View File

@@ -0,0 +1,220 @@
package com.njcn.message.websocket;
import com.alibaba.fastjson.JSONObject;
import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
import com.njcn.message.message.AskRealDataMessage;
import com.njcn.message.produce.template.AskRealDataMessaggeTemplate;
import com.njcn.middle.rocket.domain.BaseMessage;
import com.njcn.redis.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Description:
* Date: 2024/12/13 15:11【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@Component
@ServerEndpoint(value ="/api/pushMessage/{userIdAndlineId}")
public class WebSocketServer {
private static AskRealDataMessaggeTemplate askRealDataMessaggeTemplate;
private static RedisUtil redisUtil;
@Autowired
public void setAskRealDataMessaggeTemplate(AskRealDataMessaggeTemplate askRealDataMessaggeTemplate) {
WebSocketServer.askRealDataMessaggeTemplate = askRealDataMessaggeTemplate;
}
@Autowired
public void setRedisUtil( RedisUtil redisUtil) {
WebSocketServer.redisUtil = redisUtil;
}
private static LineFeignClient lineFeignClient;
// 注入的时候,给类的 service 注入
@Autowired
public void setLineFeignClient(LineFeignClient lineFeignClient) {
WebSocketServer.lineFeignClient = lineFeignClient;
}
/**
* 静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
*/
private static int onlineCount = 0;
/**
* concurrent包的线程安全Set用来存放每个客户端对应的WebSocket对象。
*/
private static ConcurrentHashMap<String, WebSocketServer> webSocketMap = new ConcurrentHashMap<>();
/**
* 与某个客户端的连接会话,需要通过它来给客户端发送数据
*/
private Session session;
/**
* 接收userId
*/
private String userIdAndlineId = "";
/**
* 连接建立成
* 功调用的方法
*/
@OnOpen
public void onOpen(Session session, @PathParam("userIdAndlineId") String userIdAndlineId) {
//lineId 是 userid+","+lineId
this.session = session;
this.userIdAndlineId = userIdAndlineId;
if (webSocketMap.containsKey(userIdAndlineId)) {
webSocketMap.remove(userIdAndlineId);
//加入set中
webSocketMap.put(userIdAndlineId, this);
} else {
//加入set中
webSocketMap.put(userIdAndlineId, this);
//在线数加1
addOnlineCount();
}
sendMessage("连接成功");
}
/**
* 连接关闭
* 调用的方法
*/
@OnClose
public void onClose() {
if (webSocketMap.containsKey(userIdAndlineId)) {
webSocketMap.remove(userIdAndlineId);
//从set中删除
subOnlineCount();
}
log.info("监测点退出:" + userIdAndlineId + ",当前在线监测点数为:" + getOnlineCount());
}
/**
* 收到客户端消
* 息后调用的方法
*
* @param message 客户端发送过来的消息
**/
@OnMessage
public void onMessage(String message, Session session) {
//会每30s发送请求1次
log.info("监测点消息:" + userIdAndlineId + ",报文:" + message);
AskRealDataMessage askRealDataMessage = new AskRealDataMessage();
String[] split = userIdAndlineId.split(",");
askRealDataMessage.setLine(split[1]);
//测试设备187
// askRealDataMessage.setDevSeries("fed656b21f89abb06204e8e4dc6c375a");
LineDetailDataVO data = lineFeignClient.getLineDetailData(split[1]).getData();
askRealDataMessage.setDevSeries(data.getDevId());
BaseMessage baseMessage = new BaseMessage();
baseMessage.setMessageBoy(JSONObject.toJSONString(askRealDataMessage));
// 发送消息到topic1
askRealDataMessaggeTemplate.sendMember(baseMessage);
redisUtil.saveByKey("AskRealData:".concat(split[1]),"AskRealData:".concat(split[1]));
log.info("监测点连接:" + userIdAndlineId + ",当前在线监测点数为:" + getOnlineCount());
}
/**
* @param session
* @param error
*/
@OnError
public void onError(Session session, Throwable error) {
log.error("监测点错误:" + this.userIdAndlineId + ",原因:" + error.getMessage());
error.printStackTrace();
}
/**
* 实现服务
* 器主动推送
*/
public void sendMessage(String message) {
try {
this.session.getBasicRemote().sendText(message);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 发送自定
* 义消息
**/
public static void sendInfo(String message, String lineId) {
log.info("发送消息到:" + lineId + ",报文:" + message);
if (StringUtils.isNotBlank(lineId)) {
Map<String, String> stringStringMap = WebSocketServer.filterMapByKey(webSocketMap, lineId);
stringStringMap.forEach((k,v)->{
webSocketMap.get(k).sendMessage(message);
});
} else {
log.error("监测点" + lineId + ",不在线!");
}
}
/**
* 获得此时的
* 在线监测点
*
* @return
*/
public static synchronized int getOnlineCount() {
return onlineCount;
}
/**
* 在线监测点
* 数加1
*/
public static synchronized void addOnlineCount() {
WebSocketServer.onlineCount++;
}
/**
* 在线监测点
* 数减1
*/
public static synchronized void subOnlineCount() {
WebSocketServer.onlineCount--;
}
/**
* 过滤所有键包含指定字符串的条目
* @param map 原始的Map
* @param substring 要检查的子字符串
* @return 过滤的Map
*/
public static Map<String, String> filterMapByKey(ConcurrentHashMap<String, WebSocketServer> map, String substring) {
Map<String, String> result = new HashMap<>();
for (Map.Entry<String, WebSocketServer> entry : map.entrySet()) {
if (entry.getKey().contains(substring)) {
result.put(entry.getKey(), entry.getValue().toString());
}
}
return result;
}
}