1.oracle同步mysql代码
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,12 @@ public interface OracleDataService {
|
||||
* @return
|
||||
*/
|
||||
List<LimitRate> getLimitRate(String time);
|
||||
/**
|
||||
* 查询oracle中PQS_ComAsses数据
|
||||
* @param time
|
||||
* @return
|
||||
*/
|
||||
List<PqsComAsses> getPqsComAsses(String time);
|
||||
|
||||
/**
|
||||
* 查询oracle中LIMIT_Target数据
|
||||
@@ -40,4 +46,17 @@ public interface OracleDataService {
|
||||
* @return
|
||||
*/
|
||||
List<LimitTarget> getLimitTarget(String time);
|
||||
/**
|
||||
* 查询oracle中PQS_ComAsses数据
|
||||
* @param time
|
||||
* @return
|
||||
*/
|
||||
List<PqsAsses> getPqsAsses(String time);
|
||||
|
||||
/**
|
||||
* 查询oracle中DAY_I数据
|
||||
* @param time
|
||||
* @return
|
||||
*/
|
||||
List<DayI> getDayI(String time);
|
||||
}
|
||||
|
||||
@@ -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<PqsComAsses> getPqsComAsses(String time) {
|
||||
LambdaQueryWrapper<PqsComAsses> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time);
|
||||
return pqsComAssesMapper.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PqsAsses> getPqsAsses(String time) {
|
||||
LambdaQueryWrapper<PqsAsses> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time);
|
||||
return pqsAssesMapper.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DayI> getDayI(String time) {
|
||||
LambdaQueryWrapper<DayI> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.apply("TIMEID = to_date({0},'yyyy-mm-dd')",time);
|
||||
return dayIMapper.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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, "数据同步");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 电能质量综合评估 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-01
|
||||
*/
|
||||
public interface IRStatAssesDService extends IMppService<RStatAssesD> {
|
||||
|
||||
void insert(List<RStatAssesD> list);
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 电能质量综合评估 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-01
|
||||
*/
|
||||
public interface IRStatComassesDService extends IMppService<RStatComassesD> {
|
||||
|
||||
void insert(List<RStatComassesD> list);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<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));
|
||||
timeList.forEach(item-> {
|
||||
System.out.println("当前执行日期:"+ item);
|
||||
List<RStatComassesD> result = new ArrayList<>();
|
||||
long system1 = System.currentTimeMillis();
|
||||
List<PqsComAsses> 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<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));
|
||||
timeList.forEach(item-> {
|
||||
System.out.println("当前执行日期:"+ item);
|
||||
List<RStatAssesD> result = new ArrayList<>();
|
||||
long system1 = System.currentTimeMillis();
|
||||
List<PqsAsses> 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<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));
|
||||
timeList.forEach(item-> {
|
||||
System.out.println("当前执行日期:"+ item);
|
||||
List<RStatDataID> result = new ArrayList<>();
|
||||
long system1 = System.currentTimeMillis();
|
||||
List<DayI> 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<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));
|
||||
timeList.forEach(item-> {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertFlicker(String startTime, String endTime) {
|
||||
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));
|
||||
timeList.forEach(item-> {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertInHarmV(String startTime, String endTime) {
|
||||
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));
|
||||
timeList.forEach(item-> {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
public RStatDataHarmrateVD getData1(DayHarmrateV data, Map<String, String> 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<String, String> 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<DayV> list) {
|
||||
Map<String,List<Float>> map = new HashMap<>();
|
||||
Map<String, List<DayV>> dayMap = list.stream().collect(Collectors.groupingBy(DayV::getLineid));
|
||||
List<DayV> tList = list.stream().filter(type ->Objects.equals(type.getPhasicType(),"T")).collect(Collectors.toList());
|
||||
tList.forEach(item->{
|
||||
if (CollUtil.isNotEmpty(dayMap.get(item.getLineid()))){
|
||||
DayV dayV = dayMap.get(item.getLineid()).stream().filter(type ->Objects.equals(type.getPhasicType(),"T")).collect(Collectors.toList()).get(0);
|
||||
dayMap.get(item.getLineid()).forEach(day->{
|
||||
if (Objects.equals(day.getPhasicType(),"A")) {
|
||||
|
||||
} else if (Objects.equals(day.getPhasicType(),"B")) {
|
||||
|
||||
} else if (Objects.equals(day.getPhasicType(),"C")) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 电能质量综合评估 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-01
|
||||
*/
|
||||
@Service
|
||||
@DS("target")
|
||||
public class RStatAssesDServiceImpl extends MppServiceImpl<RStatAssesDMapper, RStatAssesD> implements IRStatAssesDService {
|
||||
@Override
|
||||
public void insert(List<RStatAssesD> list) {
|
||||
this.saveOrUpdateBatchByMultiId(list,50);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 电能质量综合评估 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-01
|
||||
*/
|
||||
@Service
|
||||
@DS("target")
|
||||
public class RStatComassesDServiceImpl extends MppServiceImpl<RStatComassesDMapper, RStatComassesD> implements IRStatComassesDService {
|
||||
|
||||
@Override
|
||||
public void insert(List<RStatComassesD> list) {
|
||||
this.saveOrUpdateBatchByMultiId(list,50);
|
||||
}
|
||||
}
|
||||
@@ -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<RStatDataIDMapper, RStatDataID> implements IRStatDataIDService {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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<PqsAsses> {
|
||||
|
||||
}
|
||||
@@ -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<PqsComAsses> {
|
||||
|
||||
}
|
||||
@@ -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.oracle.mapper.PqsAssesMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -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.oracle.mapper.PqsComAssesMapper">
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user