oralce数据转入mysql

This commit is contained in:
xy
2024-05-31 18:35:05 +08:00
parent b3640b840b
commit 69d841eb69
58 changed files with 2602 additions and 1 deletions

View File

@@ -65,6 +65,7 @@ public class OracleMonitorStatusToMysqlServiceImpl implements OracleMonitorStatu
pqDeviceMysqlService.update(new LambdaUpdateWrapper<PqDeviceMysql>()
.set(PqDeviceMysql::getRunFlag,temp.getDevFlag())
.set(PqDeviceMysql::getComFlag,temp.getStatus())
.set(PqDeviceMysql::getUpdateTime,temp.getUpdateTime())
.eq(PqDeviceMysql::getId,id));
});

View File

@@ -0,0 +1,105 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.njcn</groupId>
<artifactId>data-migration</artifactId>
<version>1.0.0</version>
</parent>
<name>mysql-source</name>
<artifactId>mysql-source</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!--java简化开发工具-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--java工具包-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-json</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Actuator监控当前应用的健康虚拟机等信息通过前端以可视化的界面展示出来 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- commons通用包 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<!--API接口文档-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-ui</artifactId>
</dependency>
<!--jackson依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!--此处需要注意的事databind自身依赖的jackson-core/jackson-annotations由于版本偏低会出现异常-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>oracle-source</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,27 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author xy
*/
@Data
@TableName(value = "pq_line_bak")
public class PqLineBak {
/**
* 监测点id
*/
@TableId(value = "id")
private String id;
/**
* oracle监测点id
*/
@TableField(value = "line_id")
private String lineId;
}

View File

@@ -0,0 +1,44 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/27 15:20
*/
@Data
@TableName(value = "r_stat_asses_d")
public class RStatAssesD implements Serializable {
@MppMultiId
@TableField(value = "time_id")
private Date time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@TableField(value = "vu_dev")
private Double vuDev;
@TableField(value = "freq_dev")
private Double freqDev;
@TableField(value = "data_plt")
private Double dataPlt;
@TableField(value = "v_unbalance_cp95")
private Double vUnbalanceCp95;
@TableField(value = "v_thd_cp95")
private Double vThdCp95;
}

View File

@@ -0,0 +1,120 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/27 15:20
*/
@Data
@TableName(value = "r_stat_comasses_d")
public class RStatComassesD implements Serializable {
@MppMultiId
@TableField(value = "time_id")
private Date time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@TableField(value = "freq_dev1")
private Double freqDev1;
@TableField(value = "freq_dev2")
private Double freqDev2;
@TableField(value = "freq_dev3")
private Double freqDev3;
@TableField(value = "freq_dev4")
private Double freqDev4;
@TableField(value = "freq_dev5")
private Double freqDev5;
@TableField(value = "vu_dev1")
private Double vuDev1;
@TableField(value = "vu_dev2")
private Double vuDev2;
@TableField(value = "vu_dev3")
private Double vuDev3;
@TableField(value = "vu_dev4")
private Double vuDev4;
@TableField(value = "vu_dev5")
private Double vuDev5;
@TableField(value = "data_plt1")
private Double dataPst1;
@TableField(value = "data_plt2")
private Double dataPst2;
@TableField(value = "data_plt3")
private Double dataPst3;
@TableField(value = "data_plt4")
private Double dataPst4;
@TableField(value = "data_plt5")
private Double dataPst5;
@TableField(value = "v_unbalance1")
private Double vUnbalance1;
@TableField(value = "v_unbalance2")
private Double vUnbalance2;
@TableField(value = "v_unbalance3")
private Double vUnbalance3;
@TableField(value = "v_unbalance4")
private Double vUnbalance4;
@TableField(value = "v_unbalance5")
private Double vUnbalance5;
@TableField(value = "v_thd1")
private Double vThd1;
@TableField(value = "v_thd2")
private Double vThd2;
@TableField(value = "v_thd3")
private Double vThd3;
@TableField(value = "v_thd4")
private Double vThd4;
@TableField(value = "v_thd5")
private Double vThd5;
@TableField(value = "event1")
private Double event1;
@TableField(value = "event2")
private Double event2;
@TableField(value = "event3")
private Double event3;
@TableField(value = "event4")
private Double event4;
@TableField(value = "event5")
private Double event5;
}

View File

@@ -0,0 +1,50 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/22 19:07
*/
@Data
@TableName(value = "r_stat_data_flicker_d")
public class RStatDataFlickerD implements Serializable {
@MppMultiId
@TableField(value = "time")
private LocalDate time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@MppMultiId
@TableField(value = "phasic_type")
private String phaseType;
@MppMultiId
@TableField(value = "value_type")
private String valueType;
@TableField(value = "quality_flag")
private Integer qualityFlag;
@TableField(value = "fluc")
private Double fluc;
@TableField(value = "plt")
private Double plt;
@TableField(value = "pst")
private Double pst;
}

View File

@@ -0,0 +1,190 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 14:18
*/
@Data
@TableName(value = "r_stat_data_harmrate_v_d")
public class RStatDataHarmrateVD implements Serializable {
@MppMultiId
@TableField(value = "time")
private LocalDate time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@MppMultiId
@TableField(value = "phasic_type")
private String phaseType;
@MppMultiId
@TableField(value = "value_type")
private String valueType;
@TableField(value = "quality_flag")
private Integer qualityFlag;
@TableField(value = "v_1")
private Double v1;
@TableField(value = "v_2")
private Double v2;
@TableField(value = "v_3")
private Double v3;
@TableField(value = "v_4")
private Double v4;
@TableField(value = "v_5")
private Double v5;
@TableField(value = "v_6")
private Double v6;
@TableField(value = "v_7")
private Double v7;
@TableField(value = "v_8")
private Double v8;
@TableField(value = "v_9")
private Double v9;
@TableField(value = "v_10")
private Double v10;
@TableField(value = "v_11")
private Double v11;
@TableField(value = "v_12")
private Double v12;
@TableField(value = "v_13")
private Double v13;
@TableField(value = "v_14")
private Double v14;
@TableField(value = "v_15")
private Double v15;
@TableField(value = "v_16")
private Double v16;
@TableField(value = "v_17")
private Double v17;
@TableField(value = "v_18")
private Double v18;
@TableField(value = "v_19")
private Double v19;
@TableField(value = "v_20")
private Double v20;
@TableField(value = "v_21")
private Double v21;
@TableField(value = "v_22")
private Double v22;
@TableField(value = "v_23")
private Double v23;
@TableField(value = "v_24")
private Double v24;
@TableField(value = "v_25")
private Double v25;
@TableField(value = "v_26")
private Double v26;
@TableField(value = "v_27")
private Double v27;
@TableField(value = "v_28")
private Double v28;
@TableField(value = "v_29")
private Double v29;
@TableField(value = "v_30")
private Double v30;
@TableField(value = "v_31")
private Double v31;
@TableField(value = "v_32")
private Double v32;
@TableField(value = "v_33")
private Double v33;
@TableField(value = "v_34")
private Double v34;
@TableField(value = "v_35")
private Double v35;
@TableField(value = "v_36")
private Double v36;
@TableField(value = "v_37")
private Double v37;
@TableField(value = "v_38")
private Double v38;
@TableField(value = "v_39")
private Double v39;
@TableField(value = "v_40")
private Double v40;
@TableField(value = "v_41")
private Double v41;
@TableField(value = "v_42")
private Double v42;
@TableField(value = "v_43")
private Double v43;
@TableField(value = "v_44")
private Double v44;
@TableField(value = "v_45")
private Double v45;
@TableField(value = "v_46")
private Double v46;
@TableField(value = "v_47")
private Double v47;
@TableField(value = "v_48")
private Double v48;
@TableField(value = "v_49")
private Double v49;
@TableField(value = "v_50")
private Double v50;
}

View File

@@ -0,0 +1,209 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 14:29
*/
@Data
@TableName(value = "r_stat_data_i_d")
public class RStatDataID implements Serializable {
@MppMultiId
@TableField(value = "time")
private LocalDate time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@MppMultiId
@TableField(value = "phasic_type")
private String phaseType;
@MppMultiId
@TableField(value = "value_type")
private String valueType;
@TableField(value = "quality_flag")
private Integer qualityFlag;
@TableField(value = "i_neg")
private Double iNeg;
@TableField(value = "i_pos")
private Double iPos;
@TableField(value = "i_thd")
private Double iThd;
@TableField(value = "i_unbalance")
private Double iUnbalance;
@TableField(value = "i_zero")
private Double iZero;
@TableField(value = "rms")
private Double rms;
@TableField(value = "i_1")
private Double i1;
@TableField(value = "i_2")
private Double i2;
@TableField(value = "i_3")
private Double i3;
@TableField(value = "i_4")
private Double i4;
@TableField(value = "i_5")
private Double i5;
@TableField(value = "i_6")
private Double i6;
@TableField(value = "i_7")
private Double i7;
@TableField(value = "i_8")
private Double i8;
@TableField(value = "i_9")
private Double i9;
@TableField(value = "i_10")
private Double i10;
@TableField(value = "i_11")
private Double i11;
@TableField(value = "i_12")
private Double i12;
@TableField(value = "i_13")
private Double i13;
@TableField(value = "i_14")
private Double i14;
@TableField(value = "i_15")
private Double i15;
@TableField(value = "i_16")
private Double i16;
@TableField(value = "i_17")
private Double i17;
@TableField(value = "i_18")
private Double i18;
@TableField(value = "i_19")
private Double i19;
@TableField(value = "i_20")
private Double i20;
@TableField(value = "i_21")
private Double i21;
@TableField(value = "i_22")
private Double i22;
@TableField(value = "i_23")
private Double i23;
@TableField(value = "i_24")
private Double i24;
@TableField(value = "i_25")
private Double i25;
@TableField(value = "i_26")
private Double i26;
@TableField(value = "i_27")
private Double i27;
@TableField(value = "i_28")
private Double i28;
@TableField(value = "i_29")
private Double i29;
@TableField(value = "i_30")
private Double i30;
@TableField(value = "i_31")
private Double i31;
@TableField(value = "i_32")
private Double i32;
@TableField(value = "i_33")
private Double i33;
@TableField(value = "i_34")
private Double i34;
@TableField(value = "i_35")
private Double i35;
@TableField(value = "i_36")
private Double i36;
@TableField(value = "i_37")
private Double i37;
@TableField(value = "i_38")
private Double i38;
@TableField(value = "i_39")
private Double i39;
@TableField(value = "i_40")
private Double i40;
@TableField(value = "i_41")
private Double i41;
@TableField(value = "i_42")
private Double i42;
@TableField(value = "i_43")
private Double i43;
@TableField(value = "i_44")
private Double i44;
@TableField(value = "i_45")
private Double i45;
@TableField(value = "i_46")
private Double i46;
@TableField(value = "i_47")
private Double i47;
@TableField(value = "i_48")
private Double i48;
@TableField(value = "i_49")
private Double i49;
@TableField(value = "i_50")
private Double i50;
}

View File

@@ -0,0 +1,191 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 14:36
*/
@Data
@TableName(value = "r_stat_data_inharm_v_d")
public class RStatDataInharmVD implements Serializable {
@MppMultiId
@TableField(value = "time")
private LocalDate time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@MppMultiId
@TableField(value = "phasic_type")
private String phaseType;
@MppMultiId
@TableField(value = "value_type")
private String valueType;
@TableField(value = "quality_flag")
private Integer qualityFlag;
@TableField(value = "v_1")
private Double v1;
@TableField(value = "v_2")
private Double v2;
@TableField(value = "v_3")
private Double v3;
@TableField(value = "v_4")
private Double v4;
@TableField(value = "v_5")
private Double v5;
@TableField(value = "v_6")
private Double v6;
@TableField(value = "v_7")
private Double v7;
@TableField(value = "v_8")
private Double v8;
@TableField(value = "v_9")
private Double v9;
@TableField(value = "v_10")
private Double v10;
@TableField(value = "v_11")
private Double v11;
@TableField(value = "v_12")
private Double v12;
@TableField(value = "v_13")
private Double v13;
@TableField(value = "v_14")
private Double v14;
@TableField(value = "v_15")
private Double v15;
@TableField(value = "v_16")
private Double v16;
@TableField(value = "v_17")
private Double v17;
@TableField(value = "v_18")
private Double v18;
@TableField(value = "v_19")
private Double v19;
@TableField(value = "v_20")
private Double v20;
@TableField(value = "v_21")
private Double v21;
@TableField(value = "v_22")
private Double v22;
@TableField(value = "v_23")
private Double v23;
@TableField(value = "v_24")
private Double v24;
@TableField(value = "v_25")
private Double v25;
@TableField(value = "v_26")
private Double v26;
@TableField(value = "v_27")
private Double v27;
@TableField(value = "v_28")
private Double v28;
@TableField(value = "v_29")
private Double v29;
@TableField(value = "v_30")
private Double v30;
@TableField(value = "v_31")
private Double v31;
@TableField(value = "v_32")
private Double v32;
@TableField(value = "v_33")
private Double v33;
@TableField(value = "v_34")
private Double v34;
@TableField(value = "v_35")
private Double v35;
@TableField(value = "v_36")
private Double v36;
@TableField(value = "v_37")
private Double v37;
@TableField(value = "v_38")
private Double v38;
@TableField(value = "v_39")
private Double v39;
@TableField(value = "v_40")
private Double v40;
@TableField(value = "v_41")
private Double v41;
@TableField(value = "v_42")
private Double v42;
@TableField(value = "v_43")
private Double v43;
@TableField(value = "v_44")
private Double v44;
@TableField(value = "v_45")
private Double v45;
@TableField(value = "v_46")
private Double v46;
@TableField(value = "v_47")
private Double v47;
@TableField(value = "v_48")
private Double v48;
@TableField(value = "v_49")
private Double v49;
@TableField(value = "v_50")
private Double v50;
}

View File

@@ -0,0 +1,44 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 14:46
*/
@Data
@TableName(value = "r_stat_data_plt_d")
public class RStatDataPltD implements Serializable {
@MppMultiId
@TableField(value = "time")
private LocalDate time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@MppMultiId
@TableField(value = "phasic_type")
private String phaseType;
@MppMultiId
@TableField(value = "value_type")
private String valueType;
@TableField(value = "quality_flag")
private Integer qualityFlag;
@TableField(value = "plt")
private Double plt;
}

View File

@@ -0,0 +1,224 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 14:29
*/
@Data
@TableName(value = "r_stat_data_v_d")
public class RStatDataVD implements Serializable {
@MppMultiId
@TableField(value = "time")
private LocalDate time;
@MppMultiId
@TableField(value = "line_id")
private String lineId;
@MppMultiId
@TableField(value = "phasic_type")
private String phasicType;
@MppMultiId
@TableField(value = "value_type")
private String valueType;
@TableField(value = "quality_flag")
private Integer qualityFlag;
@TableField(value = "freq")
private Double freq;
@TableField(value = "freq_dev")
private Double freqDev;
@TableField(value = "rms")
private Double rms;
@TableField(value = "rms_lvr")
private Double rmsLvr;
@TableField(value = "v_neg")
private Double vNeg;
@TableField(value = "v_pos")
private Double vPos;
@TableField(value = "v_thd")
private Double vThd;
@TableField(value = "v_unbalance")
private Double vUnbalance;
@TableField(value = "v_zero")
private Double vZero;
@TableField(value = "vl_dev")
private Double vlDev;
@TableField(value = "vu_dev")
private Double vuDev;
@TableField(value = "v_1")
private Double v1;
@TableField(value = "v_2")
private Double v2;
@TableField(value = "v_3")
private Double v3;
@TableField(value = "v_4")
private Double v4;
@TableField(value = "v_5")
private Double v5;
@TableField(value = "v_6")
private Double v6;
@TableField(value = "v_7")
private Double v7;
@TableField(value = "v_8")
private Double v8;
@TableField(value = "v_9")
private Double v9;
@TableField(value = "v_10")
private Double v10;
@TableField(value = "v_11")
private Double v11;
@TableField(value = "v_12")
private Double v12;
@TableField(value = "v_13")
private Double v13;
@TableField(value = "v_14")
private Double v14;
@TableField(value = "v_15")
private Double v15;
@TableField(value = "v_16")
private Double v16;
@TableField(value = "v_17")
private Double v17;
@TableField(value = "v_18")
private Double v18;
@TableField(value = "v_19")
private Double v19;
@TableField(value = "v_20")
private Double v20;
@TableField(value = "v_21")
private Double v21;
@TableField(value = "v_22")
private Double v22;
@TableField(value = "v_23")
private Double v23;
@TableField(value = "v_24")
private Double v24;
@TableField(value = "v_25")
private Double v25;
@TableField(value = "v_26")
private Double v26;
@TableField(value = "v_27")
private Double v27;
@TableField(value = "v_28")
private Double v28;
@TableField(value = "v_29")
private Double v29;
@TableField(value = "v_30")
private Double v30;
@TableField(value = "v_31")
private Double v31;
@TableField(value = "v_32")
private Double v32;
@TableField(value = "v_33")
private Double v33;
@TableField(value = "v_34")
private Double v34;
@TableField(value = "v_35")
private Double v35;
@TableField(value = "v_36")
private Double v36;
@TableField(value = "v_37")
private Double v37;
@TableField(value = "v_38")
private Double v38;
@TableField(value = "v_39")
private Double v39;
@TableField(value = "v_40")
private Double v40;
@TableField(value = "v_41")
private Double v41;
@TableField(value = "v_42")
private Double v42;
@TableField(value = "v_43")
private Double v43;
@TableField(value = "v_44")
private Double v44;
@TableField(value = "v_45")
private Double v45;
@TableField(value = "v_46")
private Double v46;
@TableField(value = "v_47")
private Double v47;
@TableField(value = "v_48")
private Double v48;
@TableField(value = "v_49")
private Double v49;
@TableField(value = "v_50")
private Double v50;
}

View File

@@ -0,0 +1,38 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.time.LocalDate;
/**
* <p>
* 数据完整性日表
* </p>
*
* @author hongawen
* @since 2023-03-28
*/
@Data
@TableName("r_stat_integrity_d")
public class RStatIntegrityD {
private static final long serialVersionUID = 1L;
@MppMultiId
private LocalDate timeId;
@MppMultiId
private String lineIndex;
private Integer dueTime;
private Integer realTime;
@TableField(exist = false)
private Float integrityData;
}

View File

@@ -0,0 +1,469 @@
package com.njcn.mysql.bo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "r_stat_limit_target_d")
public class RStatLimitTargetD {
/**
* 监测点ID合格率的变电站/装置/母线/线路序号
*/
@MppMultiId
@TableField(value = "my_index")
private String lineId;
/**
* 数据类型,A表示A相B表示B相,C表示C相,M表示ABC三项总和T表示总
*/
@MppMultiId
@TableField(value = "phasic_type")
private String phasicType;
/**
* 合格率时间
*/
@MppMultiId
@TableField(value = "time_id")
private LocalDate time;
/**
* 总计算次数
*/
@TableField(value = "all_time")
private Integer allTime;
/**
* 闪变总计算次数
*/
@TableField(value = "flicker_all_time")
private Integer flickerAllTime;
/**
* 闪变越限次数
*/
@TableField(value = "flicker_overtime")
private Integer flickerOvertime;
/**
* 频率偏差越限次数
*/
@TableField(value = "freq_dev_overtime")
private Integer freqDevOvertime;
/**
* 电压偏差越限次数
*/
@TableField(value = "voltage_dev_overtime")
private Integer voltageDevOvertime;
/**
* 电压不平衡度越限次数
*/
@TableField(value = "ubalance_overtime")
private Integer ubalanceOvertime;
/**
* 电压谐波畸变率越限次数
*/
@TableField(value = "uaberrance_overtime")
private Integer uaberranceOvertime;
/**
* 负序电流限值次数
*/
@TableField(value = "i_neg_overtime")
private Integer iNegOvertime;
/**
* 2次电压谐波含有率越限次数
*/
@TableField(value = "uharm_2_overtime")
private Integer uharm2Overtime;
/**
* 3次电压谐波含有率越限次数
*/
@TableField(value = "uharm_3_overtime")
private Integer uharm3Overtime;
/**
* 4次电压谐波含有率越限次数
*/
@TableField(value = "uharm_4_overtime")
private Integer uharm4Overtime;
/**
* 5次电压谐波含有率越限次数
*/
@TableField(value = "uharm_5_overtime")
private Integer uharm5Overtime;
/**
* 6次电压谐波含有率越限次数
*/
@TableField(value = "uharm_6_overtime")
private Integer uharm6Overtime;
/**
* 7次电压谐波含有率越限次数
*/
@TableField(value = "uharm_7_overtime")
private Integer uharm7Overtime;
/**
* 8次电压谐波含有率越限次数
*/
@TableField(value = "uharm_8_overtime")
private Integer uharm8Overtime;
/**
* 9次电压谐波含有率越限次数
*/
@TableField(value = "uharm_9_overtime")
private Integer uharm9Overtime;
/**
* 10次电压谐波含有率越限次数
*/
@TableField(value = "uharm_10_overtime")
private Integer uharm10Overtime;
/**
* 11次电压谐波含有率越限次数
*/
@TableField(value = "uharm_11_overtime")
private Integer uharm11Overtime;
/**
* 12次电压谐波含有率越限次数
*/
@TableField(value = "uharm_12_overtime")
private Integer uharm12Overtime;
/**
* 13次电压谐波含有率越限次数
*/
@TableField(value = "uharm_13_overtime")
private Integer uharm13Overtime;
/**
* 14次电压谐波含有率越限次数
*/
@TableField(value = "uharm_14_overtime")
private Integer uharm14Overtime;
/**
* 15次电压谐波含有率越限次数
*/
@TableField(value = "uharm_15_overtime")
private Integer uharm15Overtime;
/**
* 16次电压谐波含有率越限次数
*/
@TableField(value = "uharm_16_overtime")
private Integer uharm16Overtime;
/**
* 17次电压谐波含有率越限次数
*/
@TableField(value = "uharm_17_overtime")
private Integer uharm17Overtime;
/**
* 18次电压谐波含有率越限次数
*/
@TableField(value = "uharm_18_overtime")
private Integer uharm18Overtime;
/**
* 19次电压谐波含有率越限次数
*/
@TableField(value = "uharm_19_overtime")
private Integer uharm19Overtime;
/**
* 20次电压谐波含有率越限次数
*/
@TableField(value = "uharm_20_overtime")
private Integer uharm20Overtime;
/**
* 21次电压谐波含有率越限次数
*/
@TableField(value = "uharm_21_overtime")
private Integer uharm21Overtime;
/**
* 22次电压谐波含有率越限次数
*/
@TableField(value = "uharm_22_overtime")
private Integer uharm22Overtime;
/**
* 23次电压谐波含有率越限次数
*/
@TableField(value = "uharm_23_overtime")
private Integer uharm23Overtime;
/**
* 24次电压谐波含有率越限次数
*/
@TableField(value = "uharm_24_overtime")
private Integer uharm24Overtime;
/**
* 25次电压谐波含有率越限次数
*/
@TableField(value = "uharm_25_overtime")
private Integer uharm25Overtime;
/**
* 2次电流谐波幅值越限次数
*/
@TableField(value = "iharm_2_overtime")
private Integer iharm2Overtime;
/**
* 3次电流谐波幅值越限次数
*/
@TableField(value = "iharm_3_overtime")
private Integer iharm3Overtime;
/**
* 4次电流谐波幅值越限次数
*/
@TableField(value = "iharm_4_overtime")
private Integer iharm4Overtime;
/**
* 5次电流谐波幅值越限次数
*/
@TableField(value = "iharm_5_overtime")
private Integer iharm5Overtime;
/**
* 6次电流谐波幅值越限次数
*/
@TableField(value = "iharm_6_overtime")
private Integer iharm6Overtime;
/**
* 7次电流谐波幅值越限次数
*/
@TableField(value = "iharm_7_overtime")
private Integer iharm7Overtime;
/**
* 8次电流谐波幅值越限次数
*/
@TableField(value = "iharm_8_overtime")
private Integer iharm8Overtime;
/**
* 9次电流谐波幅值越限次数
*/
@TableField(value = "iharm_9_overtime")
private Integer iharm9Overtime;
/**
* 10次电流谐波幅值越限次数
*/
@TableField(value = "iharm_10_overtime")
private Integer iharm10Overtime;
/**
* 11次电流谐波幅值越限次数
*/
@TableField(value = "iharm_11_overtime")
private Integer iharm11Overtime;
/**
* 12次电流谐波幅值越限次数
*/
@TableField(value = "iharm_12_overtime")
private Integer iharm12Overtime;
/**
* 13次电流谐波幅值越限次数
*/
@TableField(value = "iharm_13_overtime")
private Integer iharm13Overtime;
/**
* 14次电流谐波幅值越限次数
*/
@TableField(value = "iharm_14_overtime")
private Integer iharm14Overtime;
/**
* 15次电流谐波幅值越限次数
*/
@TableField(value = "iharm_15_overtime")
private Integer iharm15Overtime;
/**
* 16次电流谐波幅值越限次数
*/
@TableField(value = "iharm_16_overtime")
private Integer iharm16Overtime;
/**
* 17次电流谐波幅值越限次数
*/
@TableField(value = "iharm_17_overtime")
private Integer iharm17Overtime;
/**
* 18次电流谐波幅值越限次数
*/
@TableField(value = "iharm_18_overtime")
private Integer iharm18Overtime;
/**
* 19次电流谐波幅值越限次数
*/
@TableField(value = "iharm_19_overtime")
private Integer iharm19Overtime;
/**
* 20次电流谐波幅值越限次数
*/
@TableField(value = "iharm_20_overtime")
private Integer iharm20Overtime;
/**
* 21次电流谐波幅值越限次数
*/
@TableField(value = "iharm_21_overtime")
private Integer iharm21Overtime;
/**
* 22次电流谐波幅值越限次数
*/
@TableField(value = "iharm_22_overtime")
private Integer iharm22Overtime;
/**
* 23次电流谐波幅值越限次数
*/
@TableField(value = "iharm_23_overtime")
private Integer iharm23Overtime;
/**
* 24次电流谐波幅值越限次数
*/
@TableField(value = "iharm_24_overtime")
private Integer iharm24Overtime;
/**
* 25次电流谐波幅值越限次数
*/
@TableField(value = "iharm_25_overtime")
private Integer iharm25Overtime;
/**
* 0.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_1_overtime")
private Integer inuharm1Overtime;
/**
* 1.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_2_overtime")
private Integer inuharm2Overtime;
/**
* 2.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_3_overtime")
private Integer inuharm3Overtime;
/**
* 3.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_4_overtime")
private Integer inuharm4Overtime;
/**
* 4.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_5_overtime")
private Integer inuharm5Overtime;
/**
* 5.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_6_overtime")
private Integer inuharm6Overtime;
/**
* 6.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_7_overtime")
private Integer inuharm7Overtime;
/**
* 7.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_8_overtime")
private Integer inuharm8Overtime;
/**
* 8.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_9_overtime")
private Integer inuharm9Overtime;
/**
* 9.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_10_overtime")
private Integer inuharm10Overtime;
/**
* 10.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_11_overtime")
private Integer inuharm11Overtime;
/**
* 11.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_12_overtime")
private Integer inuharm12Overtime;
/**
* 12.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_13_overtime")
private Integer inuharm13Overtime;
/**
* 13.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_14_overtime")
private Integer inuharm14Overtime;
/**
* 14.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_15_overtime")
private Integer inuharm15Overtime;
/**
* 15.5次间谐波电压限值次数
*/
@TableField(value = "inuharm_16_overtime")
private Integer inuharm16Overtime;
}

View File

@@ -0,0 +1,15 @@
package com.njcn.mysql.service;
import com.njcn.oracle.bo.po.DayHarmrateV;
import java.util.List;
public interface OracleDataService {
/**
* 查询oracle中DAY_HARMRATE_V数据
* @param time
* @return
*/
List<DayHarmrateV> getDayHarmRate(String time);
}

View File

@@ -0,0 +1,28 @@
package com.njcn.mysql.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.mysql.service.OracleDataService;
import com.njcn.oracle.bo.po.DataFlicker;
import com.njcn.oracle.bo.po.DayHarmrateV;
import com.njcn.oracle.mapper.DayHarmrateVMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@AllArgsConstructor
public class OracleDataServiceImpl implements OracleDataService {
private final DayHarmrateVMapper dayHarmrateVMapper;
@Override
public List<DayHarmrateV> getDayHarmRate(String time) {
// time = LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(time, DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
LambdaQueryWrapper<DayHarmrateV> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time);
return dayHarmrateVMapper.selectList(lambdaQueryWrapper);
}
}

View File

@@ -0,0 +1,104 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.njcn</groupId>
<artifactId>mysql-data</artifactId>
<version>1.0.0</version>
</parent>
<name>mysql-target</name>
<artifactId>mysql-target</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--docker仓库地址-->
<docker.server.url>192.168.1.83</docker.server.url>
<!--docker远程守护进程的url-->
<docker.url>http://${docker.server.url}:2375</docker.url>
<!--docker远程harborurl-->
<docker.repostory>${docker.server.url}:8090</docker.repostory>
<!--docker远程项目仓库名-->
<docker.registry.name>njcn</docker.registry.name>
<docker.operate>site</docker.operate>
</properties>
<dependencies>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>mysql-source</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<finalName>mysqlTarget</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version>
<executions>
<!--执行mvn package,即执行 mvn clean package docker:build-->
<execution>
<id>build-image</id>
<phase>${docker.operate}</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!--<serverId>36dockerHarbor</serverId>-->
<registryUrl>http://${docker.repostory}</registryUrl>
<!-- 镜像名称 -->
<imageName>${docker.repostory}/${docker.registry.name}/${project.artifactId}</imageName>
<!-- 指定标签 -->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!-- 指定远程 Docker API地址 -->
<dockerHost>${docker.url}</dockerHost>
<dockerDirectory>${basedir}/</dockerDirectory>
<!-- 复制 jar包到docker容器指定目录-->
<resources>
<resource>
<targetPath>/ROOT</targetPath>
<!-- 用于指定需要复制的根目录,${project.build.directory}表示target目录 -->
<directory>${project.build.directory}</directory>
<!-- 用于指定需要复制的文件,${project.build.finalName}.jar就是打包后的target目录下的jar包名称 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,20 @@
package com.njcn.mysql;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration;
import org.springframework.scheduling.annotation.EnableAsync;
@Slf4j
@EnableAsync
@MapperScan("com.njcn.**.mapper")
@SpringBootApplication(scanBasePackages = "com.njcn", exclude = {SecurityAutoConfiguration.class, SecurityFilterAutoConfiguration.class})
public class MysqlDataApplication {
public static void main(String[] args) {
SpringApplication.run(MysqlDataApplication.class, args);
}
}

View File

@@ -0,0 +1,38 @@
package com.njcn.mysql.controller;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.njcn.mysql.service.OracleToMysqlService;
import com.njcn.oracle.bo.param.DataAsynParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Validated
@Slf4j
@RestController
@RequestMapping("/dataConversion")
@Api(tags = "oracle数据转入mysql")
@AllArgsConstructor
public class OracleToMysqlController {
private final OracleToMysqlService oracleToMysqlService;
@GetMapping("/dayHarmRateV")
@ApiOperation("day_harmrate_v转成r_stat_data_harmrate_v_d")
public Boolean dayHarmRateVSync(@RequestParam("startDateTime")String startDateTime, @RequestParam("endDateTime")String endDateTime) {
DataAsynParam dataAsynParam = new DataAsynParam();
dataAsynParam.setStartDateTime(LocalDateTimeUtil.parse(startDateTime, DatePattern.NORM_DATE_PATTERN));
dataAsynParam.setEndDateTime(LocalDateTimeUtil.parse(endDateTime, DatePattern.NORM_DATE_PATTERN));
oracleToMysqlService.insertDayHarmRateV(startDateTime,endDateTime);
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
}
}

View File

@@ -0,0 +1,7 @@
package com.njcn.mysql.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.mysql.bo.po.PqLineBak;
public interface PqLineBakMapper extends BaseMapper<PqLineBak> {
}

View File

@@ -0,0 +1,8 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatAssesD;
public interface RStatAssesDMapper extends MppBaseMapper<RStatAssesD> {
}

View File

@@ -0,0 +1,7 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatComassesD;
public interface RStatComassesDMapper extends MppBaseMapper<RStatComassesD> {
}

View File

@@ -0,0 +1,7 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatDataFlickerD;
public interface RStatDataFlickerDMapper extends MppBaseMapper<RStatDataFlickerD> {
}

View File

@@ -0,0 +1,7 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatDataHarmrateVD;
public interface RStatDataHarmRateVDMapper extends MppBaseMapper<RStatDataHarmrateVD> {
}

View File

@@ -0,0 +1,7 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatDataID;
public interface RStatDataIDMapper extends MppBaseMapper<RStatDataID> {
}

View File

@@ -0,0 +1,7 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatDataInharmVD;
public interface RStatDataInHarmVDMapper extends MppBaseMapper<RStatDataInharmVD> {
}

View File

@@ -0,0 +1,8 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatDataPltD;
public interface RStatDataPltDMapper extends MppBaseMapper<RStatDataPltD> {
}

View File

@@ -0,0 +1,8 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatDataVD;
public interface RStatDataVDMapper extends MppBaseMapper<RStatDataVD> {
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.mysql.bo.po.RStatIntegrityD;
public interface RStatIntegrityDMapper extends MppBaseMapper<RStatIntegrityD> {
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatAssesDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatComassesDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatDataFlickerDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatDataHarmRateVDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatDataIDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatDataInHarmVDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatIntegrityDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatDataPltDMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.mysql.mapper.RStatDataVDMapper">
</mapper>

View File

@@ -0,0 +1,8 @@
package com.njcn.mysql.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.mysql.bo.po.PqLineBak;
public interface IPqLineBakService extends IService<PqLineBak> {
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.mysql.bo.po.RStatDataFlickerD;
import java.util.List;
public interface IRStatDataFlickerDService extends IMppService<RStatDataFlickerD> {
void insert(List<RStatDataFlickerD> list);
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.mysql.bo.po.RStatDataHarmrateVD;
import java.util.List;
public interface IRStatDataHarmRateVDService extends IMppService<RStatDataHarmrateVD> {
void insert(List<RStatDataHarmrateVD> list);
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.mysql.bo.po.RStatDataID;
import java.util.List;
public interface IRStatDataIDService extends IMppService<RStatDataID> {
void insert(List<RStatDataID> list);
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.mysql.bo.po.RStatDataInharmVD;
import java.util.List;
public interface IRStatDataInharmVDService extends IMppService<RStatDataInharmVD> {
void insert(List<RStatDataInharmVD> list);
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.mysql.bo.po.RStatDataPltD;
import java.util.List;
public interface IRStatDataPltDService extends IMppService<RStatDataPltD> {
void insert(List<RStatDataPltD> list);
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.mysql.bo.po.RStatDataVD;
import java.util.List;
public interface IRStatDataVDService extends IMppService<RStatDataVD> {
void insert(List<RStatDataVD> list);
}

View File

@@ -0,0 +1,4 @@
package com.njcn.mysql.service;
public interface MysqlService {
}

View File

@@ -0,0 +1,11 @@
package com.njcn.mysql.service;
public interface OracleToMysqlService {
/**
* r_stat_data_harmrate_v_d数据插入
* @param startTime
* @param endTime
*/
void insertDayHarmRateV(String startTime, String endTime);
}

View File

@@ -0,0 +1,152 @@
package com.njcn.mysql.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import com.njcn.mysql.bo.po.PqLineBak;
import com.njcn.mysql.bo.po.RStatDataHarmrateVD;
import com.njcn.mysql.service.IPqLineBakService;
import com.njcn.mysql.service.IRStatDataHarmRateVDService;
import com.njcn.mysql.service.OracleDataService;
import com.njcn.mysql.service.OracleToMysqlService;
import com.njcn.mysql.util.PubUtils;
import com.njcn.oracle.bo.po.DayHarmrateV;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author xy
*/
@Service
@AllArgsConstructor
public class OracleToMysqlServiceImpl implements OracleToMysqlService {
private final OracleDataService oracleDataService;
private final IPqLineBakService pqLineBakService;
private final IRStatDataHarmRateVDService rStatDataHarmRateVDService;
@Override
public void insertDayHarmRateV(String startTime, String endTime) {
List<RStatDataHarmrateVD> result = new ArrayList<>();
List<String> timeList = PubUtils.getTimeList(startTime,endTime);
List<PqLineBak> bakList = pqLineBakService.list();
//lineId:Oracle监测点ID id:Mysql监测点ID
Map<String, String> oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId));
ZoneId zoneId = ZoneId.systemDefault();
timeList.forEach(item->{
System.out.println("数据查询时间:" + item);
List<DayHarmrateV> list = oracleDataService.getDayHarmRate(item);
if(CollUtil.isNotEmpty(list)){
System.out.println("oracle数据量:" + list.size());
list.forEach(data->{
RStatDataHarmrateVD po1 = new RStatDataHarmrateVD();
po1.setTime(data.getTimeid().toInstant().atZone(zoneId).toLocalDate());
if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getLineid()))) {
po1.setLineId(oracleRelationMysql.get(data.getLineid()));
po1.setPhaseType(data.getPhasicType());
po1.setValueType("AVG");
//异常数据判断
List<Float> avgData1 = this.getData(data);
boolean quality1 = avgData1.stream().anyMatch(o->o>30.0 || o<0.0);
if (quality1) {
po1.setQualityFlag(1);
}
setValuesUsingReflection(po1,data,false,"getV","setV",null);
RStatDataHarmrateVD po2 = new RStatDataHarmrateVD();
po2.setTime(data.getTimeid().toInstant().atZone(zoneId).toLocalDate());
po2.setLineId(oracleRelationMysql.get(data.getLineid()));
po2.setPhaseType(data.getPhasicType());
po2.setValueType("MAX");
List<Float> avgData2 = this.getData(data);
boolean quality2 = avgData2.stream().anyMatch(o->o>30 || o<0.0);
if (quality2) {
po2.setQualityFlag(1);
}
setValuesUsingReflection(po2,data,true,"getV","setV","Max");
RStatDataHarmrateVD po3 = new RStatDataHarmrateVD();
po3.setTime(data.getTimeid().toInstant().atZone(zoneId).toLocalDate());
po3.setLineId(oracleRelationMysql.get(data.getLineid()));
po3.setPhaseType(data.getPhasicType());
po3.setValueType("MIN");
List<Float> avgData3 = this.getData(data);
boolean quality3 = avgData3.stream().anyMatch(o->o>30.0 || o<0.0);
if (quality3) {
po3.setQualityFlag(1);
}
setValuesUsingReflection(po3,data,true,"getV","setV","Min");
RStatDataHarmrateVD po4 = new RStatDataHarmrateVD();
po4.setTime(data.getTimeid().toInstant().atZone(zoneId).toLocalDate());
po4.setLineId(oracleRelationMysql.get(data.getLineid()));
po4.setPhaseType(data.getPhasicType());
po4.setValueType("CP95");
List<Float> avgData4 = this.getData(data);
boolean quality4 = avgData4.stream().anyMatch(o->o>30.0 || o<0.0);
if (quality4) {
po4.setQualityFlag(1);
}
setValuesUsingReflection(po4,data,true,"getV","setV","Cp95");
result.addAll(Arrays.asList(po1,po2,po3,po4));
}
});
}
if(CollUtil.isNotEmpty(result)){
rStatDataHarmRateVDService.insert(result);
}
});
}
public List<Float> getData(Object data) {
List<Float> avgData = new ArrayList<>();
try {
for (int i = 1; i <= 50; i++) {
String methodName = "getV" + i;
Method method = data.getClass().getMethod(methodName);
Float value = (Float) method.invoke(data);
avgData.add(value);
}
} catch (Exception e) {
e.printStackTrace();
}
return avgData;
}
public void setValuesUsingReflection(Object po1, Object data, boolean judge, String getString, String setString, String getEndString) {
try {
for (int i = 1; i <= 50; i++) {
String methodNameGet;
if (judge) {
methodNameGet = getString + i + getEndString;
} else {
methodNameGet = getString + i;
}
String methodNameSet = setString + i;
Method getMethod = data.getClass().getMethod(methodNameGet);
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);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,13 @@
package com.njcn.mysql.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.mysql.bo.po.PqLineBak;
import com.njcn.mysql.mapper.PqLineBakMapper;
import com.njcn.mysql.service.IPqLineBakService;
import org.springframework.stereotype.Service;
@DS("target")
@Service
public class PqLineBakServiceImpl extends ServiceImpl<PqLineBakMapper, PqLineBak> implements IPqLineBakService {
}

View File

@@ -0,0 +1,24 @@
package com.njcn.mysql.service.impl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.mysql.bo.po.RStatDataFlickerD;
import com.njcn.mysql.mapper.RStatDataFlickerDMapper;
import com.njcn.mysql.service.IRStatDataFlickerDService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 9:53
*/
@Service
public class RStatDataFlickerDServiceImpl extends MppServiceImpl<RStatDataFlickerDMapper, RStatDataFlickerD> implements IRStatDataFlickerDService {
@Override
public void insert(List<RStatDataFlickerD> list) {
this.saveOrUpdateBatchByMultiId(list,50);
}
}

View File

@@ -0,0 +1,27 @@
package com.njcn.mysql.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.mysql.bo.po.RStatDataHarmrateVD;
import com.njcn.mysql.mapper.RStatDataHarmRateVDMapper;
import com.njcn.mysql.service.IRStatDataHarmRateVDService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 9:53
*/
@DS("target")
@Service
public class RStatDataHarmRateVDServiceImpl extends MppServiceImpl<RStatDataHarmRateVDMapper, RStatDataHarmrateVD> implements IRStatDataHarmRateVDService {
@Override
public void insert(List<RStatDataHarmrateVD> list) {
this.saveOrUpdateBatchByMultiId(list,50);
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.mysql.service.impl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.mysql.bo.po.RStatDataID;
import com.njcn.mysql.mapper.RStatDataIDMapper;
import com.njcn.mysql.service.IRStatDataIDService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 9:53
*/
@Service
public class RStatDataIDServiceImpl extends MppServiceImpl<RStatDataIDMapper, RStatDataID> implements IRStatDataIDService {
@Override
public void insert(List<RStatDataID> list) {
this.saveOrUpdateBatchByMultiId(list,50);
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.mysql.service.impl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.mysql.bo.po.RStatDataInharmVD;
import com.njcn.mysql.mapper.RStatDataInHarmVDMapper;
import com.njcn.mysql.service.IRStatDataInharmVDService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 9:53
*/
@Service
public class RStatDataInharmVDServiceImpl extends MppServiceImpl<RStatDataInHarmVDMapper, RStatDataInharmVD> implements IRStatDataInharmVDService {
@Override
public void insert(List<RStatDataInharmVD> list) {
this.saveOrUpdateBatchByMultiId(list,50);
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.mysql.service.impl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.mysql.bo.po.RStatDataPltD;
import com.njcn.mysql.mapper.RStatDataPltDMapper;
import com.njcn.mysql.service.IRStatDataPltDService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 9:53
*/
@Service
public class RStatDataPltDServiceImpl extends MppServiceImpl<RStatDataPltDMapper, RStatDataPltD> implements IRStatDataPltDService {
@Override
public void insert(List<RStatDataPltD> list) {
this.saveOrUpdateBatchByMultiId(list,50);
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.mysql.service.impl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.mysql.bo.po.RStatDataVD;
import com.njcn.mysql.mapper.RStatDataVDMapper;
import com.njcn.mysql.service.IRStatDataVDService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/24 9:53
*/
@Service
public class RStatDataVDServiceImpl extends MppServiceImpl<RStatDataVDMapper, RStatDataVD> implements IRStatDataVDService {
@Override
public void insert(List<RStatDataVD> list) {
this.saveOrUpdateBatchByMultiId(list,50);
}
}

View File

@@ -0,0 +1,53 @@
package com.njcn.mysql.util;
import cn.hutool.core.date.DatePattern;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class PubUtils {
/**
* 根据传递的时间范围获取每天时间集合
* @param timeBegin
* @param timeEnd
* @return
*/
public static List<String> getTimeList(String timeBegin, String timeEnd) {
List<String> timeStringList=new ArrayList<>();
try {
SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.NORM_DATE_PATTERN);
Date begin = sdf.parse(timeBegin);
Date end = sdf.parse(timeEnd);
List<Date> lDate = new ArrayList<>();
lDate.add(begin);
Calendar calBegin = Calendar.getInstance();
// 使用给定的 Date 设置此 Calendar 的时间
calBegin.setTime(begin);
Calendar calEnd = Calendar.getInstance();
// 使用给定的 Date 设置此 Calendar 的时间
calEnd.setTime(end);
// 测试此日期是否在指定日期之后
while (end.after(calBegin.getTime()))
{
// 根据日历的规则,为给定的日历字段添加或减去指定的时间量
calBegin.add(Calendar.DAY_OF_MONTH, 1);
lDate.add(calBegin.getTime());
}
for (Date datePes :lDate){
String format = sdf.format(datePes);
timeStringList.add(format);
}
} catch (Exception e) {
e.printStackTrace();
}
return timeStringList;
}
}

View File

@@ -0,0 +1,96 @@
#文件位置配置
business:
#分片次数一定为24的约数1 2 3 4 6 8 12 24
slice: 4
server:
port: 8093
spring:
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
dynamic:
druid:
initial-size: 10
# 初始化大小,最小,最大
min-idle: 20
maxActive: 500
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
testWhileIdle: true
testOnBorrow: true
validation-query: SELECT 1 from dual
testOnReturn: false
# 打开PSCache并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,wall
filter:
wall:
config:
multi-statement-allow: true
none-base-statement-allow: true
enabled: true
# 配置DruidStatFilter
web-stat-filter:
enabled: true
url-pattern: "/*"
exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
# 配置DruidStatViewServlet
stat-view-servlet:
enabled: true
url-pattern: "/druid/*"
# IP白名单(没有配置或者为空,则允许所有访问)
allow: #127.0.0.1,192.168.163.1
# IP黑名单 (存在共同时deny优先于allow)
deny: #192.168.1.73
# 禁用HTML页面上的“Reset All”功能
reset-enable: false
# 登录名
login-username: admin
# 登录密码
login-password: njcnpqs
query-timeout: 36000
primary: master
strict: false
datasource:
# master:
# url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
# username: pqsadmin_jb
# password: pqsadmin
# driver-class-name: oracle.jdbc.driver.OracleDriver
# target:
# url: jdbc:mysql://127.0.0.1:3306/pqsinfo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT
# username: root
# password: 123456
# driver-class-name: com.mysql.cj.jdbc.Driver
master:
url: jdbc:oracle:thin:@10.118.135.139:1521:pqsbase
username: pqsadmin
password: Pqsadmin123
driver-class-name: oracle.jdbc.driver.OracleDriver
target:
url: jdbc:mysql://10.118.135.128:13306/pqsinfo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT
username: root
password: njcnpqs
driver-class-name: com.mysql.cj.jdbc.Driver
#mybatis配置信息
mybatis-plus:
#别名扫描
type-aliases-package: com.njcn.oracle.bo
mapper-locations: classpath*:com/njcn/**/mapping/*.xml
configuration:
#驼峰命名
map-underscore-to-camel-case: true
#配置sql日志输出
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#关闭日志输出
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
global-config:
db-config:
#指定主键生成策略
id-type: assign_uuid

View File

@@ -8,7 +8,13 @@
<artifactId>data-migration</artifactId>
<version>1.0.0</version>
</parent>
<packaging>pom</packaging>
<name>灿能数据迁移mysql目标库</name>
<modules>
<module>mysql-source</module>
<module>mysql-target</module>
</modules>
<artifactId>mysql-data</artifactId>
<properties>

View File

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;
@@ -23,7 +25,7 @@ public class DayHarmrateV implements Serializable {
private static final long serialVersionUID = 1L;
@TableField("TIMEID")
private LocalDateTime timeid;
private Date timeid;
@TableField("LINEID")
private String lineid;
@TableField("PHASIC_TYPE")