From 3880d431cd501e32b1662b057a2b579e51336963 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Sat, 1 Jun 2024 18:41:01 +0800 Subject: [PATCH] =?UTF-8?q?1.oracle=E5=90=8C=E6=AD=A5mysql=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OracleToInfluxDBController.java | 9 +- .../com/njcn/mysql/bo/po/RStatDataID.java | 112 ++++---- .../njcn/mysql/service/OracleDataService.java | 19 ++ .../service/impl/OracleDataServiceImpl.java | 26 +- .../controller/OracleToMysqlController.java | 28 ++ .../mysql/service/IRStatAssesDService.java | 19 ++ .../mysql/service/IRStatComassesDService.java | 19 ++ .../mysql/service/OracleToMysqlService.java | 41 +++ .../impl/OracleToMysqlServiceImpl.java | 244 +++++++++++++++++- .../service/impl/RStatAssesDServiceImpl.java | 29 +++ .../impl/RStatComassesDServiceImpl.java | 28 ++ .../service/impl/RStatDataIDServiceImpl.java | 2 + .../java/com/njcn/oracle/bo/po/PqsAsses.java | 42 +++ .../com/njcn/oracle/bo/po/PqsComAsses.java | 111 ++++++++ .../njcn/oracle/mapper/PqsAssesMapper.java | 8 + .../njcn/oracle/mapper/PqsComAssesMapper.java | 8 + .../oracle/mapper/mapping/PqsAssesMapper.xml | 5 + .../mapper/mapping/PqsComAssesMapper.xml | 5 + 18 files changed, 691 insertions(+), 64 deletions(-) create mode 100644 mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatAssesDService.java create mode 100644 mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatComassesDService.java create mode 100644 mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatAssesDServiceImpl.java create mode 100644 mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatComassesDServiceImpl.java create mode 100644 oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsAsses.java create mode 100644 oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsComAsses.java create mode 100644 oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsAssesMapper.java create mode 100644 oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsComAssesMapper.java create mode 100644 oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsAssesMapper.xml create mode 100644 oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsComAssesMapper.xml diff --git a/influx-data/influx-target/src/main/java/com/njcn/influx/controller/OracleToInfluxDBController.java b/influx-data/influx-target/src/main/java/com/njcn/influx/controller/OracleToInfluxDBController.java index 58ae7c1..52cece9 100644 --- a/influx-data/influx-target/src/main/java/com/njcn/influx/controller/OracleToInfluxDBController.java +++ b/influx-data/influx-target/src/main/java/com/njcn/influx/controller/OracleToInfluxDBController.java @@ -3,6 +3,7 @@ package com.njcn.influx.controller; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import com.njcn.influx.service.OracleEventDetailToMysqlService; +import com.njcn.influx.service.OracleMonitorStatusToMysqlService; import com.njcn.influx.service.OracleToInfluxDBService; import com.njcn.influx.service.PqsOnlineratePOService; import com.njcn.oracle.bo.param.DataAsynParam; @@ -37,6 +38,7 @@ public class OracleToInfluxDBController { private final OracleToInfluxDBService oracleToInfluxDBService; private final PqsOnlineratePOService pqsOnlineratePOService; private final OracleEventDetailToMysqlService oracleEventDetailToMysqlService; + private final OracleMonitorStatusToMysqlService oracleMonitorStatusToMysqlService; @PostMapping("/dataSync") @@ -83,5 +85,10 @@ public class OracleToInfluxDBController { } return true; } - + @GetMapping("/mSync") + @ApiOperation("监测点信息同步") + public Boolean monitorTimeSync() { + oracleMonitorStatusToMysqlService.monitorTimeSync(); + return true; + } } diff --git a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataID.java b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataID.java index 72901e6..943dbd9 100644 --- a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataID.java +++ b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/bo/po/RStatDataID.java @@ -39,171 +39,171 @@ public class RStatDataID implements Serializable { private Integer qualityFlag; @TableField(value = "i_neg") - private Double iNeg; + private Float iNeg; @TableField(value = "i_pos") - private Double iPos; + private Float iPos; @TableField(value = "i_thd") - private Double iThd; + private Float iThd; @TableField(value = "i_unbalance") - private Double iUnbalance; + private Float iUnbalance; @TableField(value = "i_zero") - private Double iZero; + private Float iZero; @TableField(value = "rms") - private Double rms; + private Float rms; @TableField(value = "i_1") - private Double i1; + private Float i1; @TableField(value = "i_2") - private Double i2; + private Float i2; @TableField(value = "i_3") - private Double i3; + private Float i3; @TableField(value = "i_4") - private Double i4; + private Float i4; @TableField(value = "i_5") - private Double i5; + private Float i5; @TableField(value = "i_6") - private Double i6; + private Float i6; @TableField(value = "i_7") - private Double i7; + private Float i7; @TableField(value = "i_8") - private Double i8; + private Float i8; @TableField(value = "i_9") - private Double i9; + private Float i9; @TableField(value = "i_10") - private Double i10; + private Float i10; @TableField(value = "i_11") - private Double i11; + private Float i11; @TableField(value = "i_12") - private Double i12; + private Float i12; @TableField(value = "i_13") - private Double i13; + private Float i13; @TableField(value = "i_14") - private Double i14; + private Float i14; @TableField(value = "i_15") - private Double i15; + private Float i15; @TableField(value = "i_16") - private Double i16; + private Float i16; @TableField(value = "i_17") - private Double i17; + private Float i17; @TableField(value = "i_18") - private Double i18; + private Float i18; @TableField(value = "i_19") - private Double i19; + private Float i19; @TableField(value = "i_20") - private Double i20; + private Float i20; @TableField(value = "i_21") - private Double i21; + private Float i21; @TableField(value = "i_22") - private Double i22; + private Float i22; @TableField(value = "i_23") - private Double i23; + private Float i23; @TableField(value = "i_24") - private Double i24; + private Float i24; @TableField(value = "i_25") - private Double i25; + private Float i25; @TableField(value = "i_26") - private Double i26; + private Float i26; @TableField(value = "i_27") - private Double i27; + private Float i27; @TableField(value = "i_28") - private Double i28; + private Float i28; @TableField(value = "i_29") - private Double i29; + private Float i29; @TableField(value = "i_30") - private Double i30; + private Float i30; @TableField(value = "i_31") - private Double i31; + private Float i31; @TableField(value = "i_32") - private Double i32; + private Float i32; @TableField(value = "i_33") - private Double i33; + private Float i33; @TableField(value = "i_34") - private Double i34; + private Float i34; @TableField(value = "i_35") - private Double i35; + private Float i35; @TableField(value = "i_36") - private Double i36; + private Float i36; @TableField(value = "i_37") - private Double i37; + private Float i37; @TableField(value = "i_38") - private Double i38; + private Float i38; @TableField(value = "i_39") - private Double i39; + private Float i39; @TableField(value = "i_40") - private Double i40; + private Float i40; @TableField(value = "i_41") - private Double i41; + private Float i41; @TableField(value = "i_42") - private Double i42; + private Float i42; @TableField(value = "i_43") - private Double i43; + private Float i43; @TableField(value = "i_44") - private Double i44; + private Float i44; @TableField(value = "i_45") - private Double i45; + private Float i45; @TableField(value = "i_46") - private Double i46; + private Float i46; @TableField(value = "i_47") - private Double i47; + private Float i47; @TableField(value = "i_48") - private Double i48; + private Float i48; @TableField(value = "i_49") - private Double i49; + private Float i49; @TableField(value = "i_50") - private Double i50; + private Float i50; } diff --git a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/OracleDataService.java b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/OracleDataService.java index 70799a1..b97c405 100644 --- a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/OracleDataService.java +++ b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/OracleDataService.java @@ -33,6 +33,12 @@ public interface OracleDataService { * @return */ List getLimitRate(String time); + /** + * 查询oracle中PQS_ComAsses数据 + * @param time + * @return + */ + List getPqsComAsses(String time); /** * 查询oracle中LIMIT_Target数据 @@ -40,4 +46,17 @@ public interface OracleDataService { * @return */ List getLimitTarget(String time); + /** + * 查询oracle中PQS_ComAsses数据 + * @param time + * @return + */ + List getPqsAsses(String time); + + /** + * 查询oracle中DAY_I数据 + * @param time + * @return + */ + List getDayI(String time); } diff --git a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/impl/OracleDataServiceImpl.java b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/impl/OracleDataServiceImpl.java index eb451e8..0aec736 100644 --- a/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/impl/OracleDataServiceImpl.java +++ b/mysql-data/mysql-source/src/main/java/com/njcn/mysql/service/impl/OracleDataServiceImpl.java @@ -18,10 +18,11 @@ import java.util.List; public class OracleDataServiceImpl implements OracleDataService { private final DayHarmrateVMapper dayHarmrateVMapper; - private final PqsIntegrityMapper pqsIntegrityMapper; - private final DayVMapper dayVMapper; + private final PqsComAssesMapper pqsComAssesMapper; + private final PqsAssesMapper pqsAssesMapper; + private final DayIMapper dayIMapper; private final LimitRateMapper limitRateMapper; @@ -61,4 +62,25 @@ public class OracleDataServiceImpl implements OracleDataService { lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time); return limitTargetMapper.selectList(lambdaQueryWrapper); } + + @Override + public List getPqsComAsses(String time) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time); + return pqsComAssesMapper.selectList(lambdaQueryWrapper); + } + + @Override + public List getPqsAsses(String time) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time); + return pqsAssesMapper.selectList(lambdaQueryWrapper); + } + + @Override + public List getDayI(String time) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time); + return dayIMapper.selectList(lambdaQueryWrapper); + } } diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/controller/OracleToMysqlController.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/controller/OracleToMysqlController.java index 39a7c1f..40d7d40 100644 --- a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/controller/OracleToMysqlController.java +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/controller/OracleToMysqlController.java @@ -74,5 +74,33 @@ public class OracleToMysqlController { return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步"); } + @GetMapping("/dayComAssesSync") + @ApiOperation("PQS_ComAsses转成r_stat_comasses_data") + public Boolean dayComAssesSync(@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.insertComAsses(startDateTime,endDateTime); + return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步"); + } + @GetMapping("/dayAssesSync") + @ApiOperation("PQS_ASSES转成r_stat_asses_d") + public Boolean dayAssesSync(@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.insertAsses(startDateTime,endDateTime); + return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步"); + } + + @GetMapping("/dayISync") + @ApiOperation("day_v转成r_stat_data_i_d") + public Boolean dayISync(@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.insertDataI(startDateTime,endDateTime); + return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步"); + } } diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatAssesDService.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatAssesDService.java new file mode 100644 index 0000000..c1c917b --- /dev/null +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatAssesDService.java @@ -0,0 +1,19 @@ +package com.njcn.mysql.service; + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.mysql.bo.po.RStatAssesD; + +import java.util.List; + +/** + *

+ * 电能质量综合评估 服务类 + *

+ * + * @author wr + * @since 2024-06-01 + */ +public interface IRStatAssesDService extends IMppService { + + void insert(List list); +} diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatComassesDService.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatComassesDService.java new file mode 100644 index 0000000..adf0742 --- /dev/null +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatComassesDService.java @@ -0,0 +1,19 @@ +package com.njcn.mysql.service; + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.mysql.bo.po.RStatComassesD; + +import java.util.List; + +/** + *

+ * 电能质量综合评估 服务类 + *

+ * + * @author wr + * @since 2024-06-01 + */ +public interface IRStatComassesDService extends IMppService { + + void insert(List list); +} diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/OracleToMysqlService.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/OracleToMysqlService.java index 2383124..f607772 100644 --- a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/OracleToMysqlService.java +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/OracleToMysqlService.java @@ -36,4 +36,45 @@ public interface OracleToMysqlService { * @param endTime */ void insertLimitTarget(String startTime, String endTime); + + /** + * r_stat_comasses_data数据插入 + * @param startTime + * @param endTime + */ + void insertComAsses(String startTime, String endTime); + /** + * r_stat_asses_d数据插入 + * @param startTime + * @param endTime + */ + void insertAsses(String startTime, String endTime); + + /** + * r_stat_data_i_d数据插入 + * @param startTime + * @param endTime + */ + void insertDataI(String startTime, String endTime); + + /** + * r_stat_data_plt_d数据插入 + * @param startTime + * @param endTime + */ + void insertPlt(String startTime, String endTime); + + /** + * r_stat_data_flicker_d数据插入 + * @param startTime + * @param endTime + */ + void insertFlicker(String startTime, String endTime); + + /** + * r_stat_data_inharm_v_d数据插入 + * @param startTime + * @param endTime + */ + void insertInHarmV(String startTime, String endTime); } 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 b92b680..7e9da97 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 @@ -7,6 +7,11 @@ import com.njcn.mysql.bo.po.*; import com.njcn.mysql.service.*; import com.njcn.mysql.util.PubUtils; import com.njcn.oracle.bo.po.*; +import com.njcn.oracle.bo.po.DayHarmrateV; +import com.njcn.oracle.bo.po.DayV; +import com.njcn.oracle.bo.po.LimitRate; +import com.njcn.oracle.bo.po.PqsIntegrity; +import com.njcn.oracle.bo.po.*; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -24,15 +29,13 @@ import java.util.stream.Collectors; public class OracleToMysqlServiceImpl implements OracleToMysqlService { private final OracleDataService oracleDataService; - private final IPqLineBakService pqLineBakService; - private final IRStatDataHarmRateVDService rStatDataHarmRateVDService; - private final IntegrityService integrityService; - private final IRStatDataVDService rStatDataVDService; - + private final IRStatComassesDService statComassesDService; + private final IRStatAssesDService statAssesDService; + private final IRStatDataIDService statDataIDService; private final IRStatLimitRateDService rLimitRateDService; private final IRStatLimitTargetDService rStatLimitTargetDService; @@ -264,6 +267,178 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { }); } + @Override + public void insertComAsses(String startTime, String endTime) { + List timeList = PubUtils.getTimeList(startTime,endTime); + List bakList = pqLineBakService.list(); + //lineId:Oracle监测点ID id:Mysql监测点ID + Map oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId)); + timeList.forEach(item-> { + System.out.println("当前执行日期:"+ item); + List result = new ArrayList<>(); + long system1 = System.currentTimeMillis(); + List pqsComAsses = oracleDataService.getPqsComAsses(item); + if(CollUtil.isNotEmpty(pqsComAsses)){ + pqsComAsses.forEach(data->{ + if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getLineid()))) { + RStatComassesD comAsses = new RStatComassesD(); + comAsses.setTime(data.getTimeid()); + comAsses.setLineId(oracleRelationMysql.get(data.getLineid())); + comAsses.setFreqDev1(data.getFreqDev1()); + comAsses.setFreqDev2(data.getFreqDev2()); + comAsses.setFreqDev3(data.getFreqDev3()); + comAsses.setFreqDev4(data.getFreqDev4()); + comAsses.setFreqDev5(data.getFreqDev5()); + comAsses.setVuDev1(data.getVuDev1()); + comAsses.setVuDev2(data.getVuDev2()); + comAsses.setVuDev3(data.getVuDev3()); + comAsses.setVuDev4(data.getVuDev4()); + comAsses.setVuDev5(data.getVuDev5()); + comAsses.setDataPst1(data.getDataPlt1()); + comAsses.setDataPst2(data.getDataPlt2()); + comAsses.setDataPst3(data.getDataPlt3()); + comAsses.setDataPst4(data.getDataPlt4()); + comAsses.setDataPst5(data.getDataPlt5()); + comAsses.setVUnbalance1(data.getVUnbalance1()); + comAsses.setVUnbalance2(data.getVUnbalance2()); + comAsses.setVUnbalance3(data.getVUnbalance3()); + comAsses.setVUnbalance4(data.getVUnbalance4()); + comAsses.setVUnbalance5(data.getVUnbalance5()); + comAsses.setVThd1(data.getVThd1()); + comAsses.setVThd2(data.getVThd2()); + comAsses.setVThd3(data.getVThd3()); + comAsses.setVThd4(data.getVThd4()); + comAsses.setVThd5(data.getVThd5()); + comAsses.setEvent1(data.getEvent1()); + comAsses.setEvent2(data.getEvent2()); + comAsses.setEvent3(data.getEvent3()); + comAsses.setEvent4(data.getEvent4()); + comAsses.setEvent5(data.getEvent5()); + result.add(comAsses); + } + }); + } else { + long system2 = System.currentTimeMillis(); + System.out.println("查询oracle数据:0,执行时间:" + (system2-system1)/1000.0 + "s"); + } + if(CollUtil.isNotEmpty(result)){ + statComassesDService.insert(result); + long system2 = System.currentTimeMillis(); + System.out.println("查询oracle数据:"+(CollUtil.isNotEmpty(pqsComAsses)?pqsComAsses.size():0)+",插入mysql数据:"+ result.size() + ",执行时间:" + (system2-system1)/1000.0 + "s"); + } + }); + } + + @Override + public void insertAsses(String startTime, String endTime) { + List timeList = PubUtils.getTimeList(startTime,endTime); + List bakList = pqLineBakService.list(); + //lineId:Oracle监测点ID id:Mysql监测点ID + Map oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId)); + timeList.forEach(item-> { + System.out.println("当前执行日期:"+ item); + List result = new ArrayList<>(); + long system1 = System.currentTimeMillis(); + List pqsComAsses = oracleDataService.getPqsAsses(item); + if(CollUtil.isNotEmpty(pqsComAsses)){ + pqsComAsses.forEach(data->{ + if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getLineid()))) { + RStatAssesD assesD = new RStatAssesD(); + assesD.setTime(data.getTimeid()); + assesD.setLineId(oracleRelationMysql.get(data.getLineid())); + assesD.setVuDev(data.getVuDev()); + assesD.setFreqDev(data.getFreqDev()); + assesD.setDataPlt(data.getDataPlt()); + assesD.setVUnbalanceCp95(data.getVUnbalanceCP95()); + assesD.setVThdCp95(data.getVThdCP95()); + result.add(assesD); + } + }); + } else { + long system2 = System.currentTimeMillis(); + System.out.println("查询oracle数据:0,执行时间:" + (system2-system1)/1000.0 + "s"); + } + if(CollUtil.isNotEmpty(result)){ + statAssesDService.insert(result); + long system2 = System.currentTimeMillis(); + System.out.println("查询oracle数据:"+(CollUtil.isNotEmpty(pqsComAsses)?pqsComAsses.size():0)+",插入mysql数据:"+ result.size() + ",执行时间:" + (system2-system1)/1000.0 + "s"); + } + }); + } + + @Override + public void insertDataI(String startTime, String endTime) { + List timeList = PubUtils.getTimeList(startTime,endTime); + List bakList = pqLineBakService.list(); + //lineId:Oracle监测点ID id:Mysql监测点ID + Map oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId)); + timeList.forEach(item-> { + System.out.println("当前执行日期:"+ item); + List result = new ArrayList<>(); + long system1 = System.currentTimeMillis(); + List list = oracleDataService.getDayI(item); + if(CollUtil.isNotEmpty(list)){ + list.forEach(data->{ + if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getLineid()))) { + RStatDataID po1 = getDataI(data,oracleRelationMysql,"AVG"); + PubUtils.setValuesUsingReflection(po1,data,false,"getI","setI",null); + + RStatDataID po2 = getDataI(data,oracleRelationMysql,"MAX"); + PubUtils.setValuesUsingReflection(po2,data,true,"getI","setI","Max"); + + RStatDataID po3 = getDataI(data,oracleRelationMysql,"MIN"); + PubUtils.setValuesUsingReflection(po3,data,true,"getI","setI","Min"); + + RStatDataID po4 = getDataI(data,oracleRelationMysql,"CP95"); + PubUtils.setValuesUsingReflection(po4,data,true,"getI","setI","Cp95"); + result.addAll(Arrays.asList(po1,po2,po3,po4)); + } + }); + } else { + long system2 = System.currentTimeMillis(); + System.out.println("查询oracle数据:0,执行时间:" + (system2-system1)/1000.0 + "s"); + } + if(CollUtil.isNotEmpty(result)){ + statDataIDService.insert(result); + long system2 = System.currentTimeMillis(); + System.out.println("查询oracle数据:"+(CollUtil.isNotEmpty(list)?list.size():0)+",插入mysql数据:"+ result.size() + ",执行时间:" + (system2-system1)/1000.0 + "s"); + } + }); + } + + @Override + public void insertPlt(String startTime, String endTime) { + List timeList = PubUtils.getTimeList(startTime,endTime); + List bakList = pqLineBakService.list(); + //lineId:Oracle监测点ID id:Mysql监测点ID + Map oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId)); + timeList.forEach(item-> { + + }); + } + + @Override + public void insertFlicker(String startTime, String endTime) { + List timeList = PubUtils.getTimeList(startTime,endTime); + List bakList = pqLineBakService.list(); + //lineId:Oracle监测点ID id:Mysql监测点ID + Map oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId)); + timeList.forEach(item-> { + + }); + } + + @Override + public void insertInHarmV(String startTime, String endTime) { + List timeList = PubUtils.getTimeList(startTime,endTime); + List bakList = pqLineBakService.list(); + //lineId:Oracle监测点ID id:Mysql监测点ID + Map oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId)); + timeList.forEach(item-> { + + }); + } + public RStatDataHarmrateVD getData1(DayHarmrateV data, Map oracleRelationMysql, String valueType) { ZoneId zoneId = ZoneId.systemDefault(); RStatDataHarmrateVD po1 = new RStatDataHarmrateVD(); @@ -339,4 +514,63 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { return po1; } + public RStatDataID getDataI(DayI data, Map oracleRelationMysql, String valueType) { + ZoneId zoneId = ZoneId.systemDefault(); + RStatDataID po1 = new RStatDataID(); + po1.setTime(data.getTimeid().atZone(zoneId).toLocalDate()); + po1.setLineId(oracleRelationMysql.get(data.getLineid())); + po1.setPhaseType(data.getPhasicType()); + po1.setValueType(valueType); + if (Objects.equals(valueType,"AVG")) { + po1.setRms(data.getRms()); + po1.setINeg(data.getINeg()); + po1.setIPos(data.getIPos()); + po1.setIThd(data.getIThd()); + po1.setIUnbalance(data.getIUnbalance()); + po1.setIZero(data.getIZero()); + } else if (Objects.equals(valueType,"MAX")) { + po1.setRms(data.getRmsMax()); + po1.setINeg(data.getINegMax()); + po1.setIPos(data.getIPosMax()); + po1.setIThd(data.getIThdMax()); + po1.setIUnbalance(data.getIUnbalanceMax()); + po1.setIZero(data.getIZeroMax()); + //异常数据判断 + } else if (Objects.equals(valueType,"MIN")) { + po1.setRms(data.getRmsMin()); + po1.setINeg(data.getINegMin()); + po1.setIPos(data.getIPosMin()); + po1.setIThd(data.getIThdMin()); + po1.setIUnbalance(data.getIUnbalanceMin()); + po1.setIZero(data.getIZeroMin()); + } else if (Objects.equals(valueType,"CP95")) { + po1.setRms(data.getRmsCp95()); + po1.setINeg(data.getINegCp95()); + po1.setIPos(data.getIPosCp95()); + po1.setIThd(data.getIThdCp95()); + po1.setIUnbalance(data.getIUnbalanceCp95()); + po1.setIZero(data.getIZeroCp95()); + } + 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/service/impl/RStatAssesDServiceImpl.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatAssesDServiceImpl.java new file mode 100644 index 0000000..e9309c8 --- /dev/null +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatAssesDServiceImpl.java @@ -0,0 +1,29 @@ +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.RStatAssesD; +import com.njcn.mysql.mapper.RStatAssesDMapper; +import com.njcn.mysql.service.IRStatAssesDService; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + *

+ * 电能质量综合评估 服务实现类 + *

+ * + * @author wr + * @since 2024-06-01 + */ +@Service +@DS("target") +public class RStatAssesDServiceImpl extends MppServiceImpl implements IRStatAssesDService { + @Override + public void insert(List list) { + this.saveOrUpdateBatchByMultiId(list,50); + } + +} diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatComassesDServiceImpl.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatComassesDServiceImpl.java new file mode 100644 index 0000000..f5876c9 --- /dev/null +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatComassesDServiceImpl.java @@ -0,0 +1,28 @@ +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.RStatComassesD; +import com.njcn.mysql.mapper.RStatComassesDMapper; +import com.njcn.mysql.service.IRStatComassesDService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 电能质量综合评估 服务实现类 + *

+ * + * @author wr + * @since 2024-06-01 + */ +@Service +@DS("target") +public class RStatComassesDServiceImpl extends MppServiceImpl implements IRStatComassesDService { + + @Override + public void insert(List list) { + this.saveOrUpdateBatchByMultiId(list,50); + } +} diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatDataIDServiceImpl.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatDataIDServiceImpl.java index c495cbf..8299128 100644 --- a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatDataIDServiceImpl.java +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatDataIDServiceImpl.java @@ -1,5 +1,6 @@ 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.RStatDataID; import com.njcn.mysql.mapper.RStatDataIDMapper; @@ -16,6 +17,7 @@ import java.util.List; * @createTime 2023/3/24 9:53 */ @Service +@DS("target") public class RStatDataIDServiceImpl extends MppServiceImpl implements IRStatDataIDService { @Override diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsAsses.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsAsses.java new file mode 100644 index 0000000..5d71a57 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsAsses.java @@ -0,0 +1,42 @@ +package com.njcn.oracle.bo.po; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiOperation; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("PQS_ASSES") +public class PqsAsses implements Serializable { + + + @TableField("TIMEID") + private Date timeid; + + @TableField("LINEID") + private String lineid; + + /*电压正偏差平均值*/ + @TableField("VU_DEV") + private Double vuDev; + + /*频率偏差平均值*/ + @TableField("FREQ_DEV") + private Double freqDev; + + /*电压闪变*/ + @TableField("DATA_PLT") + private Double dataPlt; + + /*电压不平衡度CP95值*/ + @TableField("V_UNBALANCE_CP95") + private Double vUnbalanceCP95; + + /*谐波含量CP95值*/ + @TableField("V_THD_CP95") + private Double vThdCP95; +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsComAsses.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsComAsses.java new file mode 100644 index 0000000..5022197 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/PqsComAsses.java @@ -0,0 +1,111 @@ +package com.njcn.oracle.bo.po; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("PQS_COMASSES") +public class PqsComAsses implements Serializable { + + + @TableField("TIMEID") + private Date timeid; + + @TableField("LINEID") + private String lineid; + + @TableField("FREQ_DEV1") + private Double freqDev1; + + @TableField("FREQ_DEV2") + private Double freqDev2; + + @TableField("FREQ_DEV3") + private Double freqDev3; + + @TableField("FREQ_DEV4") + private Double freqDev4; + + @TableField("FREQ_DEV5") + private Double freqDev5; + + @TableField("VU_DEV1") + private Double vuDev1; + + @TableField("VU_DEV2") + private Double vuDev2; + + @TableField("VU_DEV3") + private Double vuDev3; + + @TableField("VU_DEV4") + private Double vuDev4; + + @TableField("VU_DEV5") + private Double vuDev5; + + @TableField("DATA_PST1") + private Double dataPlt1; + //电压闪变等级2 + @TableField("DATA_PST2") + private Double dataPlt2; + //电压闪变等级3 + @TableField("DATA_PST3") + private Double dataPlt3; + //电压闪变等级4 + @TableField("DATA_PST4") + private Double dataPlt4; + //电压闪变等级5 + @TableField("DATA_PST5") + private Double dataPlt5; + + @TableField("V_UNBALANCE1") + private Double vUnbalance1; + + @TableField("V_UNBALANCE2") + private Double vUnbalance2; + + @TableField("V_UNBALANCE3") + private Double vUnbalance3; + + @TableField("V_UNBALANCE4") + private Double vUnbalance4; + + @TableField("V_UNBALANCE5") + private Double vUnbalance5; + + @TableField("V_THD1") + private Double vThd1; + + @TableField("V_THD2") + private Double vThd2; + + @TableField("V_THD3") + private Double vThd3; + + @TableField("V_THD4") + private Double vThd4; + + @TableField("V_THD5") + private Double vThd5; + + @TableField("EVENT1") + private Double event1; + + @TableField("EVENT2") + private Double event2; + + @TableField("EVENT3") + private Double event3; + + @TableField("EVENT4") + private Double event4; + + @TableField("EVENT5") + private Double event5; +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsAssesMapper.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsAssesMapper.java new file mode 100644 index 0000000..be12772 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsAssesMapper.java @@ -0,0 +1,8 @@ +package com.njcn.oracle.mapper; + +import com.njcn.oracle.bo.po.PqsAsses; +import com.njcn.oracle.mybatis.mapper.BatchBaseMapper; + +public interface PqsAssesMapper extends BatchBaseMapper { + +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsComAssesMapper.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsComAssesMapper.java new file mode 100644 index 0000000..6cdb100 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/PqsComAssesMapper.java @@ -0,0 +1,8 @@ +package com.njcn.oracle.mapper; + +import com.njcn.oracle.bo.po.PqsComAsses; +import com.njcn.oracle.mybatis.mapper.BatchBaseMapper; + +public interface PqsComAssesMapper extends BatchBaseMapper { + +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsAssesMapper.xml b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsAssesMapper.xml new file mode 100644 index 0000000..5039463 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsAssesMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsComAssesMapper.xml b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsComAssesMapper.xml new file mode 100644 index 0000000..187da2f --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/PqsComAssesMapper.xml @@ -0,0 +1,5 @@ + + + + +