From 660e14e14978d1b7cdcaa115821b1de5bf28592d Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Tue, 19 Mar 2024 08:36:34 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=BB=88=E7=AB=AF=E6=9C=80=E5=90=8E=E9=80=9A?= =?UTF-8?q?=E8=AE=AF=E6=97=B6=E9=97=B4=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/njcn/influx/bo/po/PqDevice.java | 1 - .../OracleMonitorStatusToMysqlService.java | 8 ++++++ ...OracleMonitorStatusToMysqlServiceImpl.java | 27 ++++++++++++++++++- .../njcn/influx/job/OracleToInfluxDBJob.java | 9 +++++++ 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDevice.java b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDevice.java index 9028479..b7d9b9b 100644 --- a/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDevice.java +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDevice.java @@ -8,7 +8,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.time.LocalDateTime; -import java.util.Date; /** * @author wr diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/OracleMonitorStatusToMysqlService.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/OracleMonitorStatusToMysqlService.java index 1e02283..576e447 100644 --- a/influx-data/influx-source/src/main/java/com/njcn/influx/service/OracleMonitorStatusToMysqlService.java +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/OracleMonitorStatusToMysqlService.java @@ -8,5 +8,13 @@ package com.njcn.influx.service; */ public interface OracleMonitorStatusToMysqlService { + /** + * 修改监测点和终端状态 + */ void monitorStatusSync(); + + /** + * 修改终端状态 + */ + void devUpdateTimeSync(); } diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleMonitorStatusToMysqlServiceImpl.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleMonitorStatusToMysqlServiceImpl.java index 8ecc288..3a5e472 100644 --- a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleMonitorStatusToMysqlServiceImpl.java +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleMonitorStatusToMysqlServiceImpl.java @@ -14,6 +14,7 @@ import com.njcn.influx.service.OracleMonitorStatusToMysqlService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -77,6 +78,28 @@ public class OracleMonitorStatusToMysqlServiceImpl implements OracleMonitorStatu } + @Override + public void devUpdateTimeSync() { + List list = pqDeviceBakService.list(); + //lineId:Oracle终端ID id:Mysql终端ID + Map oracleDevMysql = list.stream().collect(Collectors.toMap(PqDeviceBak::getDevId, PqDeviceBak::getId)); + List pqDevices = pqDeviceMapper.selectList(null); + Map oracleDevMap = pqDevices.stream().collect(Collectors.toMap(PqDevice::getDevIndex, PqDevice::getUpdateTime)); + + oracleDevMap.forEach((key,value)->{ + if(oracleDevMysql.containsKey(key)){ + String mysqlDevID = oracleDevMysql.get(key); + pmsTerminalService.update(new LambdaUpdateWrapper() + .set(PmsTerminal::getUpdateTime,value) + .eq(PmsTerminal::getId,mysqlDevID) + ); + } + }); + } + + /** + * @Description: 监测点状态类型 + */ private String monitorStatusId(Integer data, List list) { //装置状态(0:投运;1:热备用;2:停运) String code = ""; @@ -98,7 +121,9 @@ public class OracleMonitorStatusToMysqlServiceImpl implements OracleMonitorStatu } return ""; } - + /** + * @Description: 终端状态类型 + */ private String devStatusId(Integer data, List list) { //装置状态(0:投运;1:热备用;2:停运) String code = ""; diff --git a/influx-data/influx-target/src/main/java/com/njcn/influx/job/OracleToInfluxDBJob.java b/influx-data/influx-target/src/main/java/com/njcn/influx/job/OracleToInfluxDBJob.java index be8d8d4..800fcc4 100644 --- a/influx-data/influx-target/src/main/java/com/njcn/influx/job/OracleToInfluxDBJob.java +++ b/influx-data/influx-target/src/main/java/com/njcn/influx/job/OracleToInfluxDBJob.java @@ -90,4 +90,13 @@ public class OracleToInfluxDBJob { public void synLedgerRunFlag() { oracleMonitorStatusToMysqlService.monitorStatusSync(); } + + /** + * 每天同步台账装置的最后更新时间 + * @date 2024/3/5 + */ + @Scheduled(cron="0 45 0 * * ?") + public void synLedgerUpdateTime() { + oracleMonitorStatusToMysqlService.devUpdateTimeSync(); + } }