From 3a03a2e9af26212827cd9b04761e0908200d013c Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Sat, 1 Jun 2024 15:47:11 +0800 Subject: [PATCH] =?UTF-8?q?oralce=E6=95=B0=E6=8D=AE=E8=BD=AC=E5=85=A5mysql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/mysql/bo/po/RStatDataHarmrateVD.java | 100 ++++++------ .../com/njcn/mysql/bo/po/RStatDataVD.java | 122 +++++++-------- .../impl/OracleToMysqlServiceImpl.java | 145 ++++++++++-------- .../java/com/njcn/mysql/util/PubUtils.java | 6 +- 4 files changed, 195 insertions(+), 178 deletions(-) diff --git a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataHarmrateVD.java b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataHarmrateVD.java index 0ea9707..5da37c6 100644 --- a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataHarmrateVD.java +++ b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataHarmrateVD.java @@ -39,152 +39,152 @@ public class RStatDataHarmrateVD implements Serializable { private Integer qualityFlag; @TableField(value = "v_1") - private Double v1; + private Float v1; @TableField(value = "v_2") - private Double v2; + private Float v2; @TableField(value = "v_3") - private Double v3; + private Float v3; @TableField(value = "v_4") - private Double v4; + private Float v4; @TableField(value = "v_5") - private Double v5; + private Float v5; @TableField(value = "v_6") - private Double v6; + private Float v6; @TableField(value = "v_7") - private Double v7; + private Float v7; @TableField(value = "v_8") - private Double v8; + private Float v8; @TableField(value = "v_9") - private Double v9; + private Float v9; @TableField(value = "v_10") - private Double v10; + private Float v10; @TableField(value = "v_11") - private Double v11; + private Float v11; @TableField(value = "v_12") - private Double v12; + private Float v12; @TableField(value = "v_13") - private Double v13; + private Float v13; @TableField(value = "v_14") - private Double v14; + private Float v14; @TableField(value = "v_15") - private Double v15; + private Float v15; @TableField(value = "v_16") - private Double v16; + private Float v16; @TableField(value = "v_17") - private Double v17; + private Float v17; @TableField(value = "v_18") - private Double v18; + private Float v18; @TableField(value = "v_19") - private Double v19; + private Float v19; @TableField(value = "v_20") - private Double v20; + private Float v20; @TableField(value = "v_21") - private Double v21; + private Float v21; @TableField(value = "v_22") - private Double v22; + private Float v22; @TableField(value = "v_23") - private Double v23; + private Float v23; @TableField(value = "v_24") - private Double v24; + private Float v24; @TableField(value = "v_25") - private Double v25; + private Float v25; @TableField(value = "v_26") - private Double v26; + private Float v26; @TableField(value = "v_27") - private Double v27; + private Float v27; @TableField(value = "v_28") - private Double v28; + private Float v28; @TableField(value = "v_29") - private Double v29; + private Float v29; @TableField(value = "v_30") - private Double v30; + private Float v30; @TableField(value = "v_31") - private Double v31; + private Float v31; @TableField(value = "v_32") - private Double v32; + private Float v32; @TableField(value = "v_33") - private Double v33; + private Float v33; @TableField(value = "v_34") - private Double v34; + private Float v34; @TableField(value = "v_35") - private Double v35; + private Float v35; @TableField(value = "v_36") - private Double v36; + private Float v36; @TableField(value = "v_37") - private Double v37; + private Float v37; @TableField(value = "v_38") - private Double v38; + private Float v38; @TableField(value = "v_39") - private Double v39; + private Float v39; @TableField(value = "v_40") - private Double v40; + private Float v40; @TableField(value = "v_41") - private Double v41; + private Float v41; @TableField(value = "v_42") - private Double v42; + private Float v42; @TableField(value = "v_43") - private Double v43; + private Float v43; @TableField(value = "v_44") - private Double v44; + private Float v44; @TableField(value = "v_45") - private Double v45; + private Float v45; @TableField(value = "v_46") - private Double v46; + private Float v46; @TableField(value = "v_47") - private Double v47; + private Float v47; @TableField(value = "v_48") - private Double v48; + private Float v48; @TableField(value = "v_49") - private Double v49; + private Float v49; @TableField(value = "v_50") - private Double v50; + private Float v50; } diff --git a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataVD.java b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataVD.java index 4169733..b96025f 100644 --- a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataVD.java +++ b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataVD.java @@ -39,186 +39,186 @@ public class RStatDataVD implements Serializable { private Integer qualityFlag; @TableField(value = "freq") - private Double freq; + private Float freq; @TableField(value = "freq_dev") - private Double freqDev; + private Float freqDev; @TableField(value = "rms") - private Double rms; + private Float rms; @TableField(value = "rms_lvr") - private Double rmsLvr; + private Float rmsLvr; @TableField(value = "v_neg") - private Double vNeg; + private Float vNeg; @TableField(value = "v_pos") - private Double vPos; + private Float vPos; @TableField(value = "v_thd") - private Double vThd; + private Float vThd; @TableField(value = "v_unbalance") - private Double vUnbalance; + private Float vUnbalance; @TableField(value = "v_zero") - private Double vZero; + private Float vZero; @TableField(value = "vl_dev") - private Double vlDev; + private Float vlDev; @TableField(value = "vu_dev") - private Double vuDev; + private Float vuDev; @TableField(value = "v_1") - private Double v1; + private Float v1; @TableField(value = "v_2") - private Double v2; + private Float v2; @TableField(value = "v_3") - private Double v3; + private Float v3; @TableField(value = "v_4") - private Double v4; + private Float v4; @TableField(value = "v_5") - private Double v5; + private Float v5; @TableField(value = "v_6") - private Double v6; + private Float v6; @TableField(value = "v_7") - private Double v7; + private Float v7; @TableField(value = "v_8") - private Double v8; + private Float v8; @TableField(value = "v_9") - private Double v9; + private Float v9; @TableField(value = "v_10") - private Double v10; + private Float v10; @TableField(value = "v_11") - private Double v11; + private Float v11; @TableField(value = "v_12") - private Double v12; + private Float v12; @TableField(value = "v_13") - private Double v13; + private Float v13; @TableField(value = "v_14") - private Double v14; + private Float v14; @TableField(value = "v_15") - private Double v15; + private Float v15; @TableField(value = "v_16") - private Double v16; + private Float v16; @TableField(value = "v_17") - private Double v17; + private Float v17; @TableField(value = "v_18") - private Double v18; + private Float v18; @TableField(value = "v_19") - private Double v19; + private Float v19; @TableField(value = "v_20") - private Double v20; + private Float v20; @TableField(value = "v_21") - private Double v21; + private Float v21; @TableField(value = "v_22") - private Double v22; + private Float v22; @TableField(value = "v_23") - private Double v23; + private Float v23; @TableField(value = "v_24") - private Double v24; + private Float v24; @TableField(value = "v_25") - private Double v25; + private Float v25; @TableField(value = "v_26") - private Double v26; + private Float v26; @TableField(value = "v_27") - private Double v27; + private Float v27; @TableField(value = "v_28") - private Double v28; + private Float v28; @TableField(value = "v_29") - private Double v29; + private Float v29; @TableField(value = "v_30") - private Double v30; + private Float v30; @TableField(value = "v_31") - private Double v31; + private Float v31; @TableField(value = "v_32") - private Double v32; + private Float v32; @TableField(value = "v_33") - private Double v33; + private Float v33; @TableField(value = "v_34") - private Double v34; + private Float v34; @TableField(value = "v_35") - private Double v35; + private Float v35; @TableField(value = "v_36") - private Double v36; + private Float v36; @TableField(value = "v_37") - private Double v37; + private Float v37; @TableField(value = "v_38") - private Double v38; + private Float v38; @TableField(value = "v_39") - private Double v39; + private Float v39; @TableField(value = "v_40") - private Double v40; + private Float v40; @TableField(value = "v_41") - private Double v41; + private Float v41; @TableField(value = "v_42") - private Double v42; + private Float v42; @TableField(value = "v_43") - private Double v43; + private Float v43; @TableField(value = "v_44") - private Double v44; + private Float v44; @TableField(value = "v_45") - private Double v45; + private Float v45; @TableField(value = "v_46") - private Double v46; + private Float v46; @TableField(value = "v_47") - private Double v47; + private Float v47; @TableField(value = "v_48") - private Double v48; + private Float v48; @TableField(value = "v_49") - private Double v49; + private Float v49; @TableField(value = "v_50") - private Double v50; + private Float v50; } diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java index 01b114f..5ef4214 100644 --- a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java @@ -15,9 +15,9 @@ import com.njcn.oracle.bo.po.PqsIntegrity; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; -import java.math.BigDecimal; import java.time.ZoneId; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -94,7 +94,7 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getLineIndex()))) { RStatIntegrityD po = new RStatIntegrityD(); po.setTimeId(data.getTimeid().toInstant().atZone(zoneId).toLocalDate()); - po.setLineIndex(data.getLineIndex()); + po.setLineIndex(oracleRelationMysql.get(data.getLineIndex())); po.setDueTime(data.getDue()); po.setRealTime(data.getReal()); result.add(po); @@ -123,21 +123,58 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { List result = new ArrayList<>(); long system1 = System.currentTimeMillis(); List list = oracleDataService.getDayV(item); - //处理线电压有效值 - if(CollUtil.isNotEmpty(list)){ + List tList = list.stream().filter(type ->Objects.equals(type.getPhasicType(),"T")).collect(Collectors.toList()); + Map dayMap = tList.stream().collect(Collectors.toMap(DayV::getLineid, Function.identity())); list.forEach(data->{ if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getLineid()))) { RStatDataVD po1 = getData2(data,oracleRelationMysql,"AVG"); + //处理rmsLvr,将ab、bc、ca数据分配到a、b、c中 + if (Objects.equals(data.getPhasicType(),"A")) { + po1.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsab()); + } else if (Objects.equals(data.getPhasicType(),"B")) { + po1.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsbc()); + } else if (Objects.equals(data.getPhasicType(),"C")) { + po1.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsca()); + } else if (Objects.equals(data.getPhasicType(),"T")) { + po1.setRmsLvr(0.0f); + } PubUtils.setValuesUsingReflection(po1,data,false,"getV","setV",null); RStatDataVD po2 = getData2(data,oracleRelationMysql,"MAX"); + if (Objects.equals(data.getPhasicType(),"A")) { + po2.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsabMax()); + } else if (Objects.equals(data.getPhasicType(),"B")) { + po2.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsbcMax()); + } else if (Objects.equals(data.getPhasicType(),"C")) { + po2.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmscaMax()); + } else if (Objects.equals(data.getPhasicType(),"T")) { + po2.setRmsLvr(0.0f); + } PubUtils.setValuesUsingReflection(po2,data,true,"getV","setV","Max"); RStatDataVD po3 = getData2(data,oracleRelationMysql,"MIN"); + if (Objects.equals(data.getPhasicType(),"A")) { + po3.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsabMin()); + } else if (Objects.equals(data.getPhasicType(),"B")) { + po3.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsbcMin()); + } else if (Objects.equals(data.getPhasicType(),"C")) { + po3.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmscaMin()); + } else if (Objects.equals(data.getPhasicType(),"T")) { + po3.setRmsLvr(0.0f); + } PubUtils.setValuesUsingReflection(po3,data,true,"getV","setV","Min"); RStatDataVD po4 = getData2(data,oracleRelationMysql,"CP95"); + if (Objects.equals(data.getPhasicType(),"A")) { + po4.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsabCp95()); + } else if (Objects.equals(data.getPhasicType(),"B")) { + po4.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmsbcCp95()); + } else if (Objects.equals(data.getPhasicType(),"C")) { + po4.setRmsLvr(Objects.isNull(dayMap.get(data.getLineid()))?0.0f:dayMap.get(data.getLineid()).getRmscaCp95()); + } else if (Objects.equals(data.getPhasicType(),"T")) { + po4.setRmsLvr(0.0f); + } PubUtils.setValuesUsingReflection(po4,data,true,"getV","setV","Cp95"); result.addAll(Arrays.asList(po1,po2,po3,po4)); } @@ -174,79 +211,59 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { po1.setPhasicType(data.getPhasicType()); po1.setValueType(valueType); if (Objects.equals(valueType,"AVG")) { - po1.setRms(BigDecimal.valueOf(data.getRms()).doubleValue()); - po1.setVuDev(BigDecimal.valueOf(data.getVuDev()).doubleValue()); - po1.setVlDev(BigDecimal.valueOf(data.getVlDev()).doubleValue()); - po1.setFreq(BigDecimal.valueOf(data.getFreq()).doubleValue()); - po1.setFreqDev(BigDecimal.valueOf(data.getFreqDev()).doubleValue()); - po1.setVUnbalance(BigDecimal.valueOf(data.getVUnbalance()).doubleValue()); - po1.setVPos(BigDecimal.valueOf(data.getVPos()).doubleValue()); - po1.setVNeg(BigDecimal.valueOf(data.getVNeg()).doubleValue()); - po1.setVZero(BigDecimal.valueOf(data.getVZero()).doubleValue()); - po1.setVThd(BigDecimal.valueOf(data.getVThd()).doubleValue()); + po1.setRms(data.getRms()); + po1.setVuDev(data.getVuDev()); + po1.setVlDev(data.getVlDev()); + po1.setFreq(data.getFreq()); + po1.setFreqDev(data.getFreqDev()); + po1.setVUnbalance(data.getVUnbalance()); + po1.setVPos(data.getVPos()); + po1.setVNeg(data.getVNeg()); + po1.setVZero(data.getVZero()); + po1.setVThd(data.getVThd()); //异常数据判断 po1.setQualityFlag(PubUtils.judgeData(TargetEnum.DAY_V.getCode(),data)); } else if (Objects.equals(valueType,"MAX")) { - po1.setRms(BigDecimal.valueOf(data.getRmsMax()).doubleValue()); - po1.setVuDev(BigDecimal.valueOf(data.getVuDevMax()).doubleValue()); - po1.setVlDev(BigDecimal.valueOf(data.getVlDevMax()).doubleValue()); - po1.setFreq(BigDecimal.valueOf(data.getFreqMax()).doubleValue()); - po1.setFreqDev(BigDecimal.valueOf(data.getFreqDevMax()).doubleValue()); - po1.setVUnbalance(BigDecimal.valueOf(data.getVUnbalanceMax()).doubleValue()); - po1.setVPos(BigDecimal.valueOf(data.getVPosMax()).doubleValue()); - po1.setVNeg(BigDecimal.valueOf(data.getVNegMax()).doubleValue()); - po1.setVZero(BigDecimal.valueOf(data.getVZeroMax()).doubleValue()); - po1.setVThd(BigDecimal.valueOf(data.getVThdMax()).doubleValue()); + po1.setRms(data.getRmsMax()); + po1.setVuDev(data.getVuDevMax()); + po1.setVlDev(data.getVlDevMax()); + po1.setFreq(data.getFreqMax()); + po1.setFreqDev(data.getFreqDevMax()); + po1.setVUnbalance(data.getVUnbalanceMax()); + po1.setVPos(data.getVPosMax()); + po1.setVNeg(data.getVNegMax()); + po1.setVZero(data.getVZeroMax()); + po1.setVThd(data.getVThdMax()); //异常数据判断 po1.setQualityFlag(PubUtils.judgeData(TargetEnum.DAY_V.getCode(),data)); } else if (Objects.equals(valueType,"MIN")) { - po1.setRms(BigDecimal.valueOf(data.getRmsMin()).doubleValue()); - po1.setVuDev(BigDecimal.valueOf(data.getVuDevMin()).doubleValue()); - po1.setVlDev(BigDecimal.valueOf(data.getVlDevMin()).doubleValue()); - po1.setFreq(BigDecimal.valueOf(data.getFreqMin()).doubleValue()); - po1.setFreqDev(BigDecimal.valueOf(data.getFreqDevMin()).doubleValue()); - po1.setVUnbalance(BigDecimal.valueOf(data.getVUnbalanceMin()).doubleValue()); - po1.setVPos(BigDecimal.valueOf(data.getVPosMin()).doubleValue()); - po1.setVNeg(BigDecimal.valueOf(data.getVNegMin()).doubleValue()); - po1.setVZero(BigDecimal.valueOf(data.getVZeroMin()).doubleValue()); - po1.setVThd(BigDecimal.valueOf(data.getVThdMin()).doubleValue()); + po1.setRms(data.getRmsMin()); + po1.setVuDev(data.getVuDevMin()); + po1.setVlDev(data.getVlDevMin()); + po1.setFreq(data.getFreqMin()); + po1.setFreqDev(data.getFreqDevMin()); + po1.setVUnbalance(data.getVUnbalanceMin()); + po1.setVPos(data.getVPosMin()); + po1.setVNeg(data.getVNegMin()); + po1.setVZero(data.getVZeroMin()); + po1.setVThd(data.getVThdMin()); //异常数据判断 po1.setQualityFlag(PubUtils.judgeData(TargetEnum.DAY_V.getCode(),data)); } else if (Objects.equals(valueType,"CP95")) { - po1.setRms(BigDecimal.valueOf(data.getRmsCp95()).doubleValue()); - po1.setVuDev(BigDecimal.valueOf(data.getVuDevCp95()).doubleValue()); - po1.setVlDev(BigDecimal.valueOf(data.getVlDevCp95()).doubleValue()); - po1.setFreq(BigDecimal.valueOf(data.getFreqCp95()).doubleValue()); - po1.setFreqDev(BigDecimal.valueOf(data.getFreqDevCp95()).doubleValue()); - po1.setVUnbalance(BigDecimal.valueOf(data.getVUnbalanceCp95()).doubleValue()); - po1.setVPos(BigDecimal.valueOf(data.getVPosCp95()).doubleValue()); - po1.setVNeg(BigDecimal.valueOf(data.getVNegCp95()).doubleValue()); - po1.setVZero(BigDecimal.valueOf(data.getVZeroCp95()).doubleValue()); - po1.setVThd(BigDecimal.valueOf(data.getVThdCp95()).doubleValue()); + po1.setRms(data.getRmsCp95()); + po1.setVuDev(data.getVuDevCp95()); + po1.setVlDev(data.getVlDevCp95()); + po1.setFreq(data.getFreqCp95()); + po1.setFreqDev(data.getFreqDevCp95()); + po1.setVUnbalance(data.getVUnbalanceCp95()); + po1.setVPos(data.getVPosCp95()); + po1.setVNeg(data.getVNegCp95()); + po1.setVZero(data.getVZeroCp95()); + po1.setVThd(data.getVThdCp95()); //异常数据判断 po1.setQualityFlag(PubUtils.judgeData(TargetEnum.DAY_V.getCode(),data)); } return po1; } - public void getRmsLvrData(List list) { - Map> map = new HashMap<>(); - Map> dayMap = list.stream().collect(Collectors.groupingBy(DayV::getLineid)); - List tList = list.stream().filter(type ->Objects.equals(type.getPhasicType(),"T")).collect(Collectors.toList()); - tList.forEach(item->{ - if (CollUtil.isNotEmpty(dayMap.get(item.getLineid()))){ - DayV dayV = dayMap.get(item.getLineid()).stream().filter(type ->Objects.equals(type.getPhasicType(),"T")).collect(Collectors.toList()).get(0); - dayMap.get(item.getLineid()).forEach(day->{ - if (Objects.equals(day.getPhasicType(),"A")) { - - } else if (Objects.equals(day.getPhasicType(),"B")) { - - } else if (Objects.equals(day.getPhasicType(),"C")) { - - } - }); - } - }); - } - } diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/util/PubUtils.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/util/PubUtils.java index 3d53a06..79b5f3e 100644 --- a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/util/PubUtils.java +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/util/PubUtils.java @@ -108,9 +108,9 @@ public class PubUtils { Object value = getMethod.invoke(data); if (value != null) { BigDecimal bigDecimalValue = new BigDecimal(value.toString()); - double doubleValue = bigDecimalValue.doubleValue(); - Method setMethod = po1.getClass().getMethod(methodNameSet, Double.class); - setMethod.invoke(po1, doubleValue); + float floatValue = bigDecimalValue.floatValue(); + Method setMethod = po1.getClass().getMethod(methodNameSet, Float.class); + setMethod.invoke(po1, floatValue); } } } catch (Exception e) {