添加电压含有率
This commit is contained in:
@@ -47,6 +47,23 @@ public class MessageDataV {
|
|||||||
@JsonProperty("MIN_VRMS")
|
@JsonProperty("MIN_VRMS")
|
||||||
private Double minVrms;
|
private Double minVrms;
|
||||||
|
|
||||||
|
//95值 电压有效值
|
||||||
|
@JsonProperty("G_VRMS_LVR")
|
||||||
|
private Double gVrmsLvr;
|
||||||
|
|
||||||
|
|
||||||
|
//平均值 电压有效值
|
||||||
|
@JsonProperty("VRMS_LVR")
|
||||||
|
private Double vrmsLvr;
|
||||||
|
|
||||||
|
//最大值 电压有效值
|
||||||
|
@JsonProperty("MAX_VRMS_LVR")
|
||||||
|
private Double maxVrmsLvr;
|
||||||
|
|
||||||
|
//最小值 电压有效值
|
||||||
|
@JsonProperty("MIN_VRMS_LVR")
|
||||||
|
private Double minVrmsLvr;
|
||||||
|
|
||||||
//95值 电压总谐波畸变率
|
//95值 电压总谐波畸变率
|
||||||
@JsonProperty("G_VTHD")
|
@JsonProperty("G_VTHD")
|
||||||
private Double gVthd;
|
private Double gVthd;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.njcn.stat.utils;
|
|||||||
|
|
||||||
|
|
||||||
import com.njcn.dataProcess.dto.DataHarmphasicVDTO;
|
import com.njcn.dataProcess.dto.DataHarmphasicVDTO;
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||||
import com.njcn.dataProcess.dto.DataInharmVDTO;
|
import com.njcn.dataProcess.dto.DataInharmVDTO;
|
||||||
import com.njcn.dataProcess.dto.DataVDTO;
|
import com.njcn.dataProcess.dto.DataVDTO;
|
||||||
import com.njcn.stat.messagedto.MessageDataV;
|
import com.njcn.stat.messagedto.MessageDataV;
|
||||||
@@ -278,7 +279,7 @@ public class BeanVConverter {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//T项
|
//T项
|
||||||
public static DataVDTO messageDataVTODataV(MessageDataVT messageDataVT){
|
public static DataVDTO messageDataVTODataV(MessageDataVT messageDataVT,MessageDataV messageDataVa,MessageDataV messageDataVb,MessageDataV messageDataVc){
|
||||||
DataVDTO dataVRelation = new DataVDTO();
|
DataVDTO dataVRelation = new DataVDTO();
|
||||||
if(Objects.nonNull(messageDataVT)){
|
if(Objects.nonNull(messageDataVT)){
|
||||||
dataVRelation.setFreq(messageDataVT.getFreq());
|
dataVRelation.setFreq(messageDataVT.getFreq());
|
||||||
@@ -308,7 +309,29 @@ public class BeanVConverter {
|
|||||||
dataVRelation.setVPosCp95(messageDataVT.getGvpseq());
|
dataVRelation.setVPosCp95(messageDataVT.getGvpseq());
|
||||||
dataVRelation.setVNegCp95(messageDataVT.getGvnseq());
|
dataVRelation.setVNegCp95(messageDataVT.getGvnseq());
|
||||||
dataVRelation.setVZeroCp95(messageDataVT.getGvzseq());
|
dataVRelation.setVZeroCp95(messageDataVT.getGvzseq());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if(Objects.nonNull(messageDataVa)){
|
||||||
|
dataVRelation.setRmsab(messageDataVa.getVrmsLvr());
|
||||||
|
dataVRelation.setRmsabMax(messageDataVa.getMaxVrmsLvr());
|
||||||
|
dataVRelation.setRmsabMin(messageDataVa.getMinVrmsLvr());
|
||||||
|
dataVRelation.setRmsabCp95(messageDataVa.getGVrmsLvr());
|
||||||
|
}
|
||||||
|
if(Objects.nonNull(messageDataVb)){
|
||||||
|
dataVRelation.setRmsab(messageDataVb.getVrmsLvr());
|
||||||
|
dataVRelation.setRmsabMax(messageDataVb.getMaxVrmsLvr());
|
||||||
|
dataVRelation.setRmsabMin(messageDataVb.getMinVrmsLvr());
|
||||||
|
dataVRelation.setRmsabCp95(messageDataVb.getGVrmsLvr());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Objects.nonNull(messageDataVc)){
|
||||||
|
dataVRelation.setRmsbc(messageDataVc.getVrmsLvr());
|
||||||
|
dataVRelation.setRmsbcMax(messageDataVc.getMaxVrmsLvr());
|
||||||
|
dataVRelation.setRmsbcMin(messageDataVc.getMinVrmsLvr());
|
||||||
|
dataVRelation.setRmsbcCp95(messageDataVc.getGVrmsLvr());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return dataVRelation;
|
return dataVRelation;
|
||||||
}
|
}
|
||||||
@@ -739,4 +762,213 @@ public class BeanVConverter {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DataHarmrateVDTO messageDataVTODataHarmprateV(MessageDataV a) {
|
||||||
|
DataHarmrateVDTO dataHarmrateVDTO = new DataHarmrateVDTO();
|
||||||
|
if(Objects.nonNull(a)){
|
||||||
|
|
||||||
|
|
||||||
|
dataHarmrateVDTO.setV2(a.getV2());
|
||||||
|
dataHarmrateVDTO.setV3(a.getV3());
|
||||||
|
dataHarmrateVDTO.setV4(a.getV4());
|
||||||
|
dataHarmrateVDTO.setV5(a.getV5());
|
||||||
|
dataHarmrateVDTO.setV6(a.getV6());
|
||||||
|
dataHarmrateVDTO.setV7(a.getV7());
|
||||||
|
dataHarmrateVDTO.setV8(a.getV8());
|
||||||
|
dataHarmrateVDTO.setV9(a.getV9());
|
||||||
|
dataHarmrateVDTO.setV10(a.getV10());
|
||||||
|
dataHarmrateVDTO.setV11(a.getV11());
|
||||||
|
dataHarmrateVDTO.setV12(a.getV12());
|
||||||
|
dataHarmrateVDTO.setV13(a.getV13());
|
||||||
|
dataHarmrateVDTO.setV14(a.getV14());
|
||||||
|
dataHarmrateVDTO.setV15(a.getV15());
|
||||||
|
dataHarmrateVDTO.setV16(a.getV16());
|
||||||
|
dataHarmrateVDTO.setV17(a.getV17());
|
||||||
|
dataHarmrateVDTO.setV18(a.getV18());
|
||||||
|
dataHarmrateVDTO.setV19(a.getV19());
|
||||||
|
dataHarmrateVDTO.setV20(a.getV20());
|
||||||
|
dataHarmrateVDTO.setV21(a.getV21());
|
||||||
|
dataHarmrateVDTO.setV22(a.getV22());
|
||||||
|
dataHarmrateVDTO.setV23(a.getV23());
|
||||||
|
dataHarmrateVDTO.setV24(a.getV24());
|
||||||
|
dataHarmrateVDTO.setV25(a.getV25());
|
||||||
|
dataHarmrateVDTO.setV26(a.getV26());
|
||||||
|
dataHarmrateVDTO.setV27(a.getV27());
|
||||||
|
dataHarmrateVDTO.setV28(a.getV28());
|
||||||
|
dataHarmrateVDTO.setV29(a.getV29());
|
||||||
|
dataHarmrateVDTO.setV30(a.getV30());
|
||||||
|
dataHarmrateVDTO.setV31(a.getV31());
|
||||||
|
dataHarmrateVDTO.setV32(a.getV32());
|
||||||
|
dataHarmrateVDTO.setV33(a.getV33());
|
||||||
|
dataHarmrateVDTO.setV34(a.getV34());
|
||||||
|
dataHarmrateVDTO.setV35(a.getV35());
|
||||||
|
dataHarmrateVDTO.setV36(a.getV36());
|
||||||
|
dataHarmrateVDTO.setV37(a.getV37());
|
||||||
|
dataHarmrateVDTO.setV38(a.getV38());
|
||||||
|
dataHarmrateVDTO.setV39(a.getV39());
|
||||||
|
dataHarmrateVDTO.setV40(a.getV40());
|
||||||
|
dataHarmrateVDTO.setV41(a.getV41());
|
||||||
|
dataHarmrateVDTO.setV42(a.getV42());
|
||||||
|
dataHarmrateVDTO.setV43(a.getV43());
|
||||||
|
dataHarmrateVDTO.setV44(a.getV44());
|
||||||
|
dataHarmrateVDTO.setV45(a.getV45());
|
||||||
|
dataHarmrateVDTO.setV46(a.getV46());
|
||||||
|
dataHarmrateVDTO.setV47(a.getV47());
|
||||||
|
dataHarmrateVDTO.setV48(a.getV48());
|
||||||
|
dataHarmrateVDTO.setV49(a.getV49());
|
||||||
|
dataHarmrateVDTO.setV50(a.getV50());
|
||||||
|
|
||||||
|
dataHarmrateVDTO.setV2Max(a.getMaxV2());
|
||||||
|
dataHarmrateVDTO.setV3Max(a.getMaxV3());
|
||||||
|
dataHarmrateVDTO.setV4Max(a.getMaxV4());
|
||||||
|
dataHarmrateVDTO.setV5Max(a.getMaxV5());
|
||||||
|
dataHarmrateVDTO.setV6Max(a.getMaxV6());
|
||||||
|
dataHarmrateVDTO.setV7Max(a.getMaxV7());
|
||||||
|
dataHarmrateVDTO.setV8Max(a.getMaxV8());
|
||||||
|
dataHarmrateVDTO.setV9Max(a.getMaxV9());
|
||||||
|
dataHarmrateVDTO.setV10Max(a.getMaxV10());
|
||||||
|
dataHarmrateVDTO.setV11Max(a.getMaxV11());
|
||||||
|
dataHarmrateVDTO.setV12Max(a.getMaxV12());
|
||||||
|
dataHarmrateVDTO.setV13Max(a.getMaxV13());
|
||||||
|
dataHarmrateVDTO.setV14Max(a.getMaxV14());
|
||||||
|
dataHarmrateVDTO.setV15Max(a.getMaxV15());
|
||||||
|
dataHarmrateVDTO.setV16Max(a.getMaxV16());
|
||||||
|
dataHarmrateVDTO.setV17Max(a.getMaxV17());
|
||||||
|
dataHarmrateVDTO.setV18Max(a.getMaxV18());
|
||||||
|
dataHarmrateVDTO.setV19Max(a.getMaxV19());
|
||||||
|
dataHarmrateVDTO.setV20Max(a.getMaxV20());
|
||||||
|
dataHarmrateVDTO.setV21Max(a.getMaxV21());
|
||||||
|
dataHarmrateVDTO.setV22Max(a.getMaxV22());
|
||||||
|
dataHarmrateVDTO.setV23Max(a.getMaxV23());
|
||||||
|
dataHarmrateVDTO.setV24Max(a.getMaxV24());
|
||||||
|
dataHarmrateVDTO.setV25Max(a.getMaxV25());
|
||||||
|
dataHarmrateVDTO.setV26Max(a.getMaxV26());
|
||||||
|
dataHarmrateVDTO.setV27Max(a.getMaxV27());
|
||||||
|
dataHarmrateVDTO.setV28Max(a.getMaxV28());
|
||||||
|
dataHarmrateVDTO.setV29Max(a.getMaxV29());
|
||||||
|
dataHarmrateVDTO.setV30Max(a.getMaxV30());
|
||||||
|
dataHarmrateVDTO.setV31Max(a.getMaxV31());
|
||||||
|
dataHarmrateVDTO.setV32Max(a.getMaxV32());
|
||||||
|
dataHarmrateVDTO.setV33Max(a.getMaxV33());
|
||||||
|
dataHarmrateVDTO.setV34Max(a.getMaxV34());
|
||||||
|
dataHarmrateVDTO.setV35Max(a.getMaxV35());
|
||||||
|
dataHarmrateVDTO.setV36Max(a.getMaxV36());
|
||||||
|
dataHarmrateVDTO.setV37Max(a.getMaxV37());
|
||||||
|
dataHarmrateVDTO.setV38Max(a.getMaxV38());
|
||||||
|
dataHarmrateVDTO.setV39Max(a.getMaxV39());
|
||||||
|
dataHarmrateVDTO.setV40Max(a.getMaxV40());
|
||||||
|
dataHarmrateVDTO.setV41Max(a.getMaxV41());
|
||||||
|
dataHarmrateVDTO.setV42Max(a.getMaxV42());
|
||||||
|
dataHarmrateVDTO.setV43Max(a.getMaxV43());
|
||||||
|
dataHarmrateVDTO.setV44Max(a.getMaxV44());
|
||||||
|
dataHarmrateVDTO.setV45Max(a.getMaxV45());
|
||||||
|
dataHarmrateVDTO.setV46Max(a.getMaxV46());
|
||||||
|
dataHarmrateVDTO.setV47Max(a.getMaxV47());
|
||||||
|
dataHarmrateVDTO.setV48Max(a.getMaxV48());
|
||||||
|
dataHarmrateVDTO.setV49Max(a.getMaxV49());
|
||||||
|
dataHarmrateVDTO.setV50Max(a.getMaxV50());
|
||||||
|
|
||||||
|
dataHarmrateVDTO.setV2Min(a.getMinV2());
|
||||||
|
dataHarmrateVDTO.setV3Min(a.getMinV3());
|
||||||
|
dataHarmrateVDTO.setV4Min(a.getMinV4());
|
||||||
|
dataHarmrateVDTO.setV5Min(a.getMinV5());
|
||||||
|
dataHarmrateVDTO.setV6Min(a.getMinV6());
|
||||||
|
dataHarmrateVDTO.setV7Min(a.getMinV7());
|
||||||
|
dataHarmrateVDTO.setV8Min(a.getMinV8());
|
||||||
|
dataHarmrateVDTO.setV9Min(a.getMinV9());
|
||||||
|
dataHarmrateVDTO.setV10Min(a.getMinV10());
|
||||||
|
dataHarmrateVDTO.setV11Min(a.getMinV11());
|
||||||
|
dataHarmrateVDTO.setV12Min(a.getMinV12());
|
||||||
|
dataHarmrateVDTO.setV13Min(a.getMinV13());
|
||||||
|
dataHarmrateVDTO.setV14Min(a.getMinV14());
|
||||||
|
dataHarmrateVDTO.setV15Min(a.getMinV15());
|
||||||
|
dataHarmrateVDTO.setV16Min(a.getMinV16());
|
||||||
|
dataHarmrateVDTO.setV17Min(a.getMinV17());
|
||||||
|
dataHarmrateVDTO.setV18Min(a.getMinV18());
|
||||||
|
dataHarmrateVDTO.setV19Min(a.getMinV19());
|
||||||
|
dataHarmrateVDTO.setV20Min(a.getMinV20());
|
||||||
|
dataHarmrateVDTO.setV21Min(a.getMinV21());
|
||||||
|
dataHarmrateVDTO.setV22Min(a.getMinV22());
|
||||||
|
dataHarmrateVDTO.setV23Min(a.getMinV23());
|
||||||
|
dataHarmrateVDTO.setV24Min(a.getMinV24());
|
||||||
|
dataHarmrateVDTO.setV25Min(a.getMinV25());
|
||||||
|
dataHarmrateVDTO.setV26Min(a.getMinV26());
|
||||||
|
dataHarmrateVDTO.setV27Min(a.getMinV27());
|
||||||
|
dataHarmrateVDTO.setV28Min(a.getMinV28());
|
||||||
|
dataHarmrateVDTO.setV29Min(a.getMinV29());
|
||||||
|
dataHarmrateVDTO.setV30Min(a.getMinV30());
|
||||||
|
dataHarmrateVDTO.setV31Min(a.getMinV31());
|
||||||
|
dataHarmrateVDTO.setV32Min(a.getMinV32());
|
||||||
|
dataHarmrateVDTO.setV33Min(a.getMinV33());
|
||||||
|
dataHarmrateVDTO.setV34Min(a.getMinV34());
|
||||||
|
dataHarmrateVDTO.setV35Min(a.getMinV35());
|
||||||
|
dataHarmrateVDTO.setV36Min(a.getMinV36());
|
||||||
|
dataHarmrateVDTO.setV37Min(a.getMinV37());
|
||||||
|
dataHarmrateVDTO.setV38Min(a.getMinV38());
|
||||||
|
dataHarmrateVDTO.setV39Min(a.getMinV39());
|
||||||
|
dataHarmrateVDTO.setV40Min(a.getMinV40());
|
||||||
|
dataHarmrateVDTO.setV41Min(a.getMinV41());
|
||||||
|
dataHarmrateVDTO.setV42Min(a.getMinV42());
|
||||||
|
dataHarmrateVDTO.setV43Min(a.getMinV43());
|
||||||
|
dataHarmrateVDTO.setV44Min(a.getMinV44());
|
||||||
|
dataHarmrateVDTO.setV45Min(a.getMinV45());
|
||||||
|
dataHarmrateVDTO.setV46Min(a.getMinV46());
|
||||||
|
dataHarmrateVDTO.setV47Min(a.getMinV47());
|
||||||
|
dataHarmrateVDTO.setV48Min(a.getMinV48());
|
||||||
|
dataHarmrateVDTO.setV49Min(a.getMinV49());
|
||||||
|
dataHarmrateVDTO.setV50Min(a.getMinV50());
|
||||||
|
|
||||||
|
dataHarmrateVDTO.setV2Cp95(a.getGv2());
|
||||||
|
dataHarmrateVDTO.setV3Cp95(a.getGv3());
|
||||||
|
dataHarmrateVDTO.setV4Cp95(a.getGv4());
|
||||||
|
dataHarmrateVDTO.setV5Cp95(a.getGv5());
|
||||||
|
dataHarmrateVDTO.setV6Cp95(a.getGv6());
|
||||||
|
dataHarmrateVDTO.setV7Cp95(a.getGv7());
|
||||||
|
dataHarmrateVDTO.setV8Cp95(a.getGv8());
|
||||||
|
dataHarmrateVDTO.setV9Cp95(a.getGv9());
|
||||||
|
dataHarmrateVDTO.setV10Cp95(a.getGv10());
|
||||||
|
dataHarmrateVDTO.setV11Cp95(a.getGv11());
|
||||||
|
dataHarmrateVDTO.setV12Cp95(a.getGv12());
|
||||||
|
dataHarmrateVDTO.setV13Cp95(a.getGv13());
|
||||||
|
dataHarmrateVDTO.setV14Cp95(a.getGv14());
|
||||||
|
dataHarmrateVDTO.setV15Cp95(a.getGv15());
|
||||||
|
dataHarmrateVDTO.setV16Cp95(a.getGv16());
|
||||||
|
dataHarmrateVDTO.setV17Cp95(a.getGv17());
|
||||||
|
dataHarmrateVDTO.setV18Cp95(a.getGv18());
|
||||||
|
dataHarmrateVDTO.setV19Cp95(a.getGv19());
|
||||||
|
dataHarmrateVDTO.setV20Cp95(a.getGv20());
|
||||||
|
dataHarmrateVDTO.setV21Cp95(a.getGv21());
|
||||||
|
dataHarmrateVDTO.setV22Cp95(a.getGv22());
|
||||||
|
dataHarmrateVDTO.setV23Cp95(a.getGv23());
|
||||||
|
dataHarmrateVDTO.setV24Cp95(a.getGv24());
|
||||||
|
dataHarmrateVDTO.setV25Cp95(a.getGv25());
|
||||||
|
dataHarmrateVDTO.setV26Cp95(a.getGv26());
|
||||||
|
dataHarmrateVDTO.setV27Cp95(a.getGv27());
|
||||||
|
dataHarmrateVDTO.setV28Cp95(a.getGv28());
|
||||||
|
dataHarmrateVDTO.setV29Cp95(a.getGv29());
|
||||||
|
dataHarmrateVDTO.setV30Cp95(a.getGv30());
|
||||||
|
dataHarmrateVDTO.setV31Cp95(a.getGv31());
|
||||||
|
dataHarmrateVDTO.setV32Cp95(a.getGv32());
|
||||||
|
dataHarmrateVDTO.setV33Cp95(a.getGv33());
|
||||||
|
dataHarmrateVDTO.setV34Cp95(a.getGv34());
|
||||||
|
dataHarmrateVDTO.setV35Cp95(a.getGv35());
|
||||||
|
dataHarmrateVDTO.setV36Cp95(a.getGv36());
|
||||||
|
dataHarmrateVDTO.setV37Cp95(a.getGv37());
|
||||||
|
dataHarmrateVDTO.setV38Cp95(a.getGv38());
|
||||||
|
dataHarmrateVDTO.setV39Cp95(a.getGv39());
|
||||||
|
dataHarmrateVDTO.setV40Cp95(a.getGv40());
|
||||||
|
dataHarmrateVDTO.setV41Cp95(a.getGv41());
|
||||||
|
dataHarmrateVDTO.setV42Cp95(a.getGv42());
|
||||||
|
dataHarmrateVDTO.setV43Cp95(a.getGv43());
|
||||||
|
dataHarmrateVDTO.setV44Cp95(a.getGv44());
|
||||||
|
dataHarmrateVDTO.setV45Cp95(a.getGv45());
|
||||||
|
dataHarmrateVDTO.setV46Cp95(a.getGv46());
|
||||||
|
dataHarmrateVDTO.setV47Cp95(a.getGv47());
|
||||||
|
dataHarmrateVDTO.setV48Cp95(a.getGv48());
|
||||||
|
dataHarmrateVDTO.setV49Cp95(a.getGv49());
|
||||||
|
dataHarmrateVDTO.setV50Cp95(a.getGv50());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return dataHarmrateVDTO;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
|
|||||||
//12张表数据
|
//12张表数据
|
||||||
List<DataVDTO> dataVList = new ArrayList<>();
|
List<DataVDTO> dataVList = new ArrayList<>();
|
||||||
List<DataHarmphasicVDTO> dataHarmphasicVDTOList = new ArrayList<>();
|
List<DataHarmphasicVDTO> dataHarmphasicVDTOList = new ArrayList<>();
|
||||||
|
List<DataHarmrateVDTO> dataHarmrateVDTOList = new ArrayList<>();
|
||||||
List<DataInharmVDTO> dataInharmVDTOList = new ArrayList<>();
|
List<DataInharmVDTO> dataInharmVDTOList = new ArrayList<>();
|
||||||
List<DataIDTO> dataIDTOList = new ArrayList<>();
|
List<DataIDTO> dataIDTOList = new ArrayList<>();
|
||||||
List<DataHarmphasicIDTO> dataHarmphasicIDTOList = new ArrayList<>();
|
List<DataHarmphasicIDTO> dataHarmphasicIDTOList = new ArrayList<>();
|
||||||
@@ -70,8 +71,7 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
|
|||||||
DataVDTO dataVa = BeanVConverter.messageDataVTODataV(v.getA());
|
DataVDTO dataVa = BeanVConverter.messageDataVTODataV(v.getA());
|
||||||
DataVDTO dataVb = BeanVConverter.messageDataVTODataV(v.getB());
|
DataVDTO dataVb = BeanVConverter.messageDataVTODataV(v.getB());
|
||||||
DataVDTO dataVc = BeanVConverter.messageDataVTODataV(v.getC());
|
DataVDTO dataVc = BeanVConverter.messageDataVTODataV(v.getC());
|
||||||
DataVDTO dataVt = BeanVConverter.messageDataVTODataV(v.getT());
|
DataVDTO dataVt = BeanVConverter.messageDataVTODataV(v.getT(),v.getA(),v.getB(),v.getC());
|
||||||
|
|
||||||
dataVa.setTimeid(localDateTime);
|
dataVa.setTimeid(localDateTime);
|
||||||
dataVa.setLineid(lineId);
|
dataVa.setLineid(lineId);
|
||||||
dataVa.setPhasicType("A");
|
dataVa.setPhasicType("A");
|
||||||
@@ -135,6 +135,24 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
|
|||||||
dataInharmVc.setPhasicType("C");
|
dataInharmVc.setPhasicType("C");
|
||||||
dataInharmVc.setQualityflag(flag);
|
dataInharmVc.setQualityflag(flag);
|
||||||
|
|
||||||
|
DataHarmrateVDTO dataHarmrateVDTOa = BeanVConverter.messageDataVTODataHarmprateV(v.getA());
|
||||||
|
DataHarmrateVDTO dataHarmrateVDTOb = BeanVConverter.messageDataVTODataHarmprateV(v.getB());
|
||||||
|
DataHarmrateVDTO dataHarmrateVDTOc = BeanVConverter.messageDataVTODataHarmprateV(v.getC());
|
||||||
|
dataHarmrateVDTOa.setTimeid(localDateTime);
|
||||||
|
dataHarmrateVDTOa.setLineid(lineId);
|
||||||
|
dataHarmrateVDTOa.setPhasicType("A");
|
||||||
|
dataHarmrateVDTOa.setQualityflag(flag);
|
||||||
|
|
||||||
|
dataHarmrateVDTOb.setTimeid(localDateTime);
|
||||||
|
dataHarmrateVDTOb.setLineid(lineId);
|
||||||
|
dataHarmrateVDTOb.setPhasicType("B");
|
||||||
|
dataHarmrateVDTOb.setQualityflag(flag);
|
||||||
|
|
||||||
|
dataHarmrateVDTOc.setTimeid(localDateTime);
|
||||||
|
dataHarmrateVDTOc.setLineid(lineId);
|
||||||
|
dataHarmrateVDTOc.setPhasicType("C");
|
||||||
|
dataHarmrateVDTOc.setQualityflag(flag);
|
||||||
|
|
||||||
dataInharmVDTOList.add(dataInharmVa);
|
dataInharmVDTOList.add(dataInharmVa);
|
||||||
dataInharmVDTOList.add(dataInharmVb);
|
dataInharmVDTOList.add(dataInharmVb);
|
||||||
dataInharmVDTOList.add(dataInharmVc);
|
dataInharmVDTOList.add(dataInharmVc);
|
||||||
@@ -142,6 +160,10 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
|
|||||||
dataVList.add(dataVb);
|
dataVList.add(dataVb);
|
||||||
dataVList.add(dataVc);
|
dataVList.add(dataVc);
|
||||||
dataVList.add(dataVt);
|
dataVList.add(dataVt);
|
||||||
|
dataHarmrateVDTOList.add(dataHarmrateVDTOa);
|
||||||
|
dataHarmrateVDTOList.add(dataHarmrateVDTOb);
|
||||||
|
dataHarmrateVDTOList.add(dataHarmrateVDTOc);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//解析出电流数据ABCT
|
//解析出电流数据ABCT
|
||||||
@@ -471,6 +493,7 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
|
|||||||
});
|
});
|
||||||
LnDataDTO lnDataDTO = new LnDataDTO();
|
LnDataDTO lnDataDTO = new LnDataDTO();
|
||||||
lnDataDTO.setDataVList(dataVList);
|
lnDataDTO.setDataVList(dataVList);
|
||||||
|
lnDataDTO.setDataHarmrateVDTOList(dataHarmrateVDTOList);
|
||||||
lnDataDTO.setDataHarmphasicVDTOList(dataHarmphasicVDTOList);
|
lnDataDTO.setDataHarmphasicVDTOList(dataHarmphasicVDTOList);
|
||||||
lnDataDTO.setDataInharmVDTOList(dataInharmVDTOList);
|
lnDataDTO.setDataInharmVDTOList(dataInharmVDTOList);
|
||||||
lnDataDTO.setDataIDTOList(dataIDTOList);
|
lnDataDTO.setDataIDTOList(dataIDTOList);
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import java.util.List;
|
|||||||
public class LnDataDTO {
|
public class LnDataDTO {
|
||||||
private List<DataVDTO> dataVList;
|
private List<DataVDTO> dataVList;
|
||||||
private List<DataHarmphasicVDTO> dataHarmphasicVDTOList;
|
private List<DataHarmphasicVDTO> dataHarmphasicVDTOList;
|
||||||
|
private List<DataHarmrateVDTO> dataHarmrateVDTOList;
|
||||||
private List<DataInharmVDTO> dataInharmVDTOList;
|
private List<DataInharmVDTO> dataInharmVDTOList;
|
||||||
private List<DataIDTO> dataIDTOList;
|
private List<DataIDTO> dataIDTOList;
|
||||||
private List<DataHarmphasicIDTO> dataHarmphasicIDTOList;
|
private List<DataHarmphasicIDTO> dataHarmphasicIDTOList;
|
||||||
|
|||||||
@@ -44,6 +44,24 @@
|
|||||||
<version>1.0.0</version>
|
<version>1.0.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.njcn</groupId>
|
||||||
|
<artifactId>common-device-biz</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>pqs-influx</artifactId>
|
||||||
|
<groupId>com.njcn</groupId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.njcn.platform</groupId>
|
||||||
|
<artifactId>message-api</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import org.springframework.context.annotation.DependsOn;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@DependsOn("proxyMapperRegister")
|
@DependsOn("proxyMapperRegister")
|
||||||
@MapperScan("com.njcn.**.mapper")
|
@MapperScan("com.njcn.**.mapper")
|
||||||
|
@EnableFeignClients(basePackages = "com.njcn")
|
||||||
@SpringBootApplication(scanBasePackages = "com.njcn")
|
@SpringBootApplication(scanBasePackages = "com.njcn")
|
||||||
public class DataProcessBootApplication {
|
public class DataProcessBootApplication {
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.njcn.dataProcess.controller;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.constant.OperateType;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.dataProcess.annotation.InsertBean;
|
||||||
|
import com.njcn.dataProcess.annotation.QueryBean;
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmphasicIDTO;
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||||
|
import com.njcn.dataProcess.po.influx.DataHarmrateV;
|
||||||
|
import com.njcn.dataProcess.service.IDataHarmphasicI;
|
||||||
|
import com.njcn.dataProcess.service.IDataHarmrateV;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author hongawen
|
||||||
|
* @version 1.0
|
||||||
|
* @data 2024/11/6 19:48
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@Slf4j
|
||||||
|
@Controller
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/dataHarmratev")
|
||||||
|
@Api(tags = "谐波电流角度数据")
|
||||||
|
public class DataHarmrateVController extends BaseController {
|
||||||
|
|
||||||
|
@QueryBean
|
||||||
|
private IDataHarmrateV dataHarmrateVQuery;
|
||||||
|
|
||||||
|
@InsertBean
|
||||||
|
private IDataHarmrateV dataHarmrateVInsert;
|
||||||
|
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||||
|
@PostMapping("/batchInsertion")
|
||||||
|
@ApiOperation("批量插入")
|
||||||
|
public HttpResult<String> batchInsertion(@RequestBody List<DataHarmrateVDTO> dataHarmrateVDTOList) {
|
||||||
|
String methodDescribe = getMethodDescribe("batchInsertion");
|
||||||
|
|
||||||
|
dataHarmrateVInsert.batchInsertion(dataHarmrateVDTOList);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,161 @@
|
|||||||
|
package com.njcn.dataProcess.controller;//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.annotation.QueryBean;
|
||||||
|
import com.njcn.dataProcess.api.DataVFeignClient;
|
||||||
|
import com.njcn.dataProcess.service.IDataV;
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
|
import com.njcn.message.api.ProduceFeignClient;
|
||||||
|
import com.njcn.message.message.RecallMessage;
|
||||||
|
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 {
|
||||||
|
|
||||||
|
@QueryBean
|
||||||
|
private IDataV dataVQuery;
|
||||||
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
|
private final ProduceFeignClient produceFeignClient;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 算法保存
|
||||||
|
*/
|
||||||
|
@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 = dataVQuery.monitoringTime(temp, LocalDateTimeUtil.format(localDate, DatePattern.NORM_DATE_PATTERN));
|
||||||
|
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.setMessageBody(JSONObject.toJSONString(message));
|
||||||
|
|
||||||
|
produceFeignClient.recall(message);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
message.setData(param);
|
||||||
|
// baseMessage.setMessageBody(JSONObject.toJSONString(message));
|
||||||
|
produceFeignClient.recall(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.njcn.dataProcess.dao.imapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.njcn.dataProcess.po.influx.DataHarmphasicV;
|
||||||
|
import com.njcn.dataProcess.po.influx.DataHarmrateV;
|
||||||
|
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-12-28
|
||||||
|
*/
|
||||||
|
public interface DataHarmrateVMapper extends InfluxDbBaseMapper<DataHarmrateV> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.dataProcess.service;
|
||||||
|
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmphasicIDTO;
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2024/11/18 11:17【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDataHarmrateV {
|
||||||
|
void batchInsertion(List<DataHarmrateVDTO> dataHarmrateVDTOList);
|
||||||
|
}
|
||||||
@@ -22,6 +22,9 @@ public class LnDataDealServiceImpl implements LnDataDealService {
|
|||||||
private IDataHarmphasicI dataHarmphasicIInsert;
|
private IDataHarmphasicI dataHarmphasicIInsert;
|
||||||
@InsertBean
|
@InsertBean
|
||||||
private IDataHarmphasicV dataHarmphasicVInsert;
|
private IDataHarmphasicV dataHarmphasicVInsert;
|
||||||
|
|
||||||
|
@InsertBean
|
||||||
|
private IDataHarmrateV dataHarmrateVInsert;
|
||||||
@InsertBean
|
@InsertBean
|
||||||
private IDataHarmpowerP dataHarmpowerPService;
|
private IDataHarmpowerP dataHarmpowerPService;
|
||||||
@InsertBean
|
@InsertBean
|
||||||
@@ -42,6 +45,7 @@ public class LnDataDealServiceImpl implements LnDataDealService {
|
|||||||
@Override
|
@Override
|
||||||
public void batchInsertion(LnDataDTO lnDataDTO) {
|
public void batchInsertion(LnDataDTO lnDataDTO) {
|
||||||
dataVService.batchInsertion(lnDataDTO.getDataVList());
|
dataVService.batchInsertion(lnDataDTO.getDataVList());
|
||||||
|
dataHarmrateVInsert.batchInsertion(lnDataDTO.getDataHarmrateVDTOList());
|
||||||
dataFlickerInsert.batchInsertion(lnDataDTO.getDataFlickerDTOList());
|
dataFlickerInsert.batchInsertion(lnDataDTO.getDataFlickerDTOList());
|
||||||
dataFlucInsert.batchInsertion(lnDataDTO.getDataFlucDTOList());
|
dataFlucInsert.batchInsertion(lnDataDTO.getDataFlucDTOList());
|
||||||
dataHarmphasicIInsert.batchInsertion(lnDataDTO.getDataHarmphasicIDTOList());
|
dataHarmphasicIInsert.batchInsertion(lnDataDTO.getDataHarmphasicIDTOList());
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.njcn.dataProcess.service.impl.influxdb;
|
||||||
|
|
||||||
|
import com.njcn.dataProcess.dao.imapper.DataHarmphasicVMapper;
|
||||||
|
import com.njcn.dataProcess.dao.imapper.DataHarmrateVMapper;
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmphasicVDTO;
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||||
|
import com.njcn.dataProcess.po.influx.DataHarmphasicV;
|
||||||
|
import com.njcn.dataProcess.po.influx.DataHarmrateV;
|
||||||
|
import com.njcn.dataProcess.service.IDataHarmphasicV;
|
||||||
|
import com.njcn.dataProcess.service.IDataHarmrateV;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.commons.collections4.ListUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2024/11/18 14:33【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service("InfluxdbDataHarmrateVImpl")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class InfluxdbDataHarmrateVImpl implements IDataHarmrateV {
|
||||||
|
|
||||||
|
private final DataHarmrateVMapper dataHarmrateVMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void batchInsertion(List<DataHarmrateVDTO> dataHarmrateVDTOList) {
|
||||||
|
int totalCount = dataHarmrateVDTOList.size();
|
||||||
|
if(totalCount<=0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<DataHarmrateV> collect = dataHarmrateVDTOList.stream().flatMap(temp -> DataHarmrateV.relationToInfluxDB(temp).stream()).collect(Collectors.toList());
|
||||||
|
int minSize = Math.min(1200000, collect.size());
|
||||||
|
|
||||||
|
List<List<DataHarmrateV>> partition = ListUtils.partition(collect, minSize);
|
||||||
|
for (List<DataHarmrateV> dataHarmrateVList : partition) {
|
||||||
|
List<DataHarmrateV> sublistAsOriginalListType = new ArrayList<>(dataHarmrateVList);
|
||||||
|
|
||||||
|
dataHarmrateVMapper.insertBatch(sublistAsOriginalListType);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.njcn.dataProcess.service.impl.relation;
|
||||||
|
|
||||||
|
import com.njcn.dataProcess.dao.relation.mapper.DataHarmphasicVRelationMapper;
|
||||||
|
import com.njcn.dataProcess.dao.relation.mapper.DataHarmrateVRelationMapper;
|
||||||
|
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||||
|
import com.njcn.dataProcess.po.relation.DataHarmphasicV;
|
||||||
|
import com.njcn.dataProcess.po.relation.DataHarmrateV;
|
||||||
|
import com.njcn.dataProcess.service.IDataHarmrateV;
|
||||||
|
import com.njcn.dataProcess.util.BeanFeildUtils;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.commons.collections4.ListUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2025/02/21 下午 3:15【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service("RelationDataHarmrateVImpl")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RelationDataHarmrateVImpl implements IDataHarmrateV {
|
||||||
|
private final DataHarmrateVRelationMapper dataHarmrateVRelationMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void batchInsertion(List<DataHarmrateVDTO> dataHarmrateVDTOList) {
|
||||||
|
int totalCount = dataHarmrateVDTOList.size();
|
||||||
|
int minSize = Math.min(120, totalCount);
|
||||||
|
|
||||||
|
if(totalCount<=0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<DataHarmrateV> collect = dataHarmrateVDTOList.stream().map(temp -> {
|
||||||
|
DataHarmrateV dataHarmrateV = new DataHarmrateV();
|
||||||
|
BeanUtils.copyProperties(temp, dataHarmrateV, BeanFeildUtils.getNullPropertyNames(temp));
|
||||||
|
return dataHarmrateV;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
collect = collect.stream().collect(Collectors.toMap(
|
||||||
|
temp -> temp.getTimeid() + temp.getLineid() + temp.getPhasicType(),
|
||||||
|
temp -> temp,
|
||||||
|
(exist, replace) -> exist
|
||||||
|
)).values().stream().collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<List<DataHarmrateV>> partition = ListUtils.partition(collect, minSize);
|
||||||
|
for (List<DataHarmrateV> dataHarmphasicVList : partition) {
|
||||||
|
dataHarmrateVRelationMapper.insertBatchSomeColumn(dataHarmphasicVList);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user