1.终端最后通讯时间同步

This commit is contained in:
wr
2024-03-19 08:36:34 +08:00
parent 05ba4e4b28
commit 660e14e149
4 changed files with 43 additions and 2 deletions

View File

@@ -8,7 +8,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.Date;
/**
* @author wr

View File

@@ -8,5 +8,13 @@ package com.njcn.influx.service;
*/
public interface OracleMonitorStatusToMysqlService {
/**
* 修改监测点和终端状态
*/
void monitorStatusSync();
/**
* 修改终端状态
*/
void devUpdateTimeSync();
}

View File

@@ -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<PqDeviceBak> list = pqDeviceBakService.list();
//lineId:Oracle终端ID id:Mysql终端ID
Map<Long, String> oracleDevMysql = list.stream().collect(Collectors.toMap(PqDeviceBak::getDevId, PqDeviceBak::getId));
List<PqDevice> pqDevices = pqDeviceMapper.selectList(null);
Map<Long, LocalDateTime> 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<PmsTerminal>()
.set(PmsTerminal::getUpdateTime,value)
.eq(PmsTerminal::getId,mysqlDevID)
);
}
});
}
/**
* @Description: 监测点状态类型
*/
private String monitorStatusId(Integer data, List<DictData> list) {
//装置状态0投运1热备用2停运
String code = "";
@@ -98,7 +121,9 @@ public class OracleMonitorStatusToMysqlServiceImpl implements OracleMonitorStatu
}
return "";
}
/**
* @Description: 终端状态类型
*/
private String devStatusId(Integer data, List<DictData> list) {
//装置状态0投运1热备用2停运
String code = "";

View File

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