oralce数据转入mysql

This commit is contained in:
xy
2024-06-01 15:47:11 +08:00
parent b003b33802
commit 3a03a2e9af
4 changed files with 195 additions and 178 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<RStatDataVD> result = new ArrayList<>();
long system1 = System.currentTimeMillis();
List<DayV> list = oracleDataService.getDayV(item);
//处理线电压有效值
if(CollUtil.isNotEmpty(list)){
List<DayV> tList = list.stream().filter(type ->Objects.equals(type.getPhasicType(),"T")).collect(Collectors.toList());
Map<String, DayV> 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<DayV> list) {
Map<String,List<Float>> map = new HashMap<>();
Map<String, List<DayV>> dayMap = list.stream().collect(Collectors.groupingBy(DayV::getLineid));
List<DayV> 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")) {
}
});
}
});
}
}

View File

@@ -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) {