添加pq同步设备状态批处理
This commit is contained in:
@@ -0,0 +1,180 @@
|
||||
package com.njcn.influx.bo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/13 11:37【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@TableName(value = "pq_device")
|
||||
public class PqDeviceMysql {
|
||||
/**
|
||||
* 装置序号
|
||||
*/
|
||||
@TableId(value = "Id", type = IdType.INPUT)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 装置模型(0:虚拟设备;1:实际设备;2:离线设备;)默认是实际设备
|
||||
*/
|
||||
@TableField(value = "Dev_Model")
|
||||
private Boolean devModel;
|
||||
|
||||
/**
|
||||
* 数据类型(0:暂态系统;1:稳态系统;2:两个系统)
|
||||
*/
|
||||
@TableField(value = "Dev_Data_Type")
|
||||
private Boolean devDataType;
|
||||
|
||||
/**
|
||||
* 终端运行状态(0:投运;1:热备用;2:停运)
|
||||
*/
|
||||
@TableField(value = "Run_Flag")
|
||||
private Boolean runFlag;
|
||||
|
||||
/**
|
||||
* 通讯状态(0:中断;1:正常)
|
||||
*/
|
||||
@TableField(value = "Com_Flag")
|
||||
private Boolean comFlag;
|
||||
|
||||
/**
|
||||
* 设备制造商,字典表
|
||||
*/
|
||||
@TableField(value = "Manufacturer")
|
||||
private String manufacturer;
|
||||
|
||||
/**
|
||||
* 定检状态(0:未检 1:已检)
|
||||
*/
|
||||
@TableField(value = "Check_Flag")
|
||||
private Boolean checkFlag;
|
||||
|
||||
/**
|
||||
* 前置类型(MMS、CLD)字典表
|
||||
*/
|
||||
@TableField(value = "Front_Type")
|
||||
private String frontType;
|
||||
|
||||
/**
|
||||
* 终端型号(570、580……)字典表
|
||||
*/
|
||||
@TableField(value = "Dev_Type")
|
||||
private String devType;
|
||||
|
||||
/**
|
||||
* 网络参数
|
||||
*/
|
||||
@TableField(value = "IP")
|
||||
private String ip;
|
||||
|
||||
/**
|
||||
* 召唤标志(0:周期触发;1:变为触发)
|
||||
*/
|
||||
@TableField(value = "Call_Flag")
|
||||
private Boolean callFlag;
|
||||
|
||||
/**
|
||||
* 端口
|
||||
*/
|
||||
@TableField(value = "Port")
|
||||
private Integer port;
|
||||
|
||||
/**
|
||||
* 装置识别码(3ds加密)
|
||||
*/
|
||||
@TableField(value = "Series")
|
||||
private String series;
|
||||
|
||||
/**
|
||||
* 装置秘钥(3ds加密)
|
||||
*/
|
||||
@TableField(value = "Dev_Key")
|
||||
private String devKey;
|
||||
|
||||
/**
|
||||
* 前置序号Id,前置表
|
||||
*/
|
||||
@TableField(value = "Node_Id")
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 投运时间
|
||||
*/
|
||||
@TableField(value = "Login_Time")
|
||||
private LocalDate loginTime;
|
||||
|
||||
/**
|
||||
* 数据更新时间
|
||||
*/
|
||||
@TableField(value = "Update_Time")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 本次定检时间,默认等于投运时间
|
||||
*/
|
||||
@TableField(value = "This_Time_Check")
|
||||
private LocalDate thisTimeCheck;
|
||||
|
||||
/**
|
||||
* 下次定检时间,默认为投运时间后推3年,假如时间小于3个月则为待检
|
||||
*/
|
||||
@TableField(value = "Next_Time_Check")
|
||||
private LocalDate nextTimeCheck;
|
||||
|
||||
/**
|
||||
* 电镀功能 0关闭 1开启 默认关闭
|
||||
*/
|
||||
@TableField(value = "Electroplate")
|
||||
private Boolean electroplate;
|
||||
|
||||
/**
|
||||
* 对时功能标识符(0:关闭,1:开启)默认开启
|
||||
*/
|
||||
@TableField(value = "On_Time")
|
||||
private Boolean onTime;
|
||||
|
||||
/**
|
||||
* 合同号
|
||||
*/
|
||||
@TableField(value = "Contract")
|
||||
private String contract;
|
||||
|
||||
/**
|
||||
* 装置SIM卡号
|
||||
*/
|
||||
@TableField(value = "Sim")
|
||||
private String sim;
|
||||
|
||||
/**
|
||||
* 装作安装位置描述
|
||||
*/
|
||||
@TableField(value = "Dev_Location")
|
||||
private String devLocation;
|
||||
|
||||
/**
|
||||
* 装置编号
|
||||
*/
|
||||
@TableField(value = "Dev_No")
|
||||
private String devNo;
|
||||
|
||||
@TableField(value = "Dev_Series")
|
||||
private String devSeries;
|
||||
|
||||
/**
|
||||
* 告警功能 0:关闭 null、1:开启
|
||||
*/
|
||||
@TableField(value = "Is_Alarm")
|
||||
private Boolean isAlarm;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.influx.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.influx.bo.po.PqDeviceMysql;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/13 11:37【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface PqDeviceMysqlMapper extends BaseMapper<PqDeviceMysql> {
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?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.influx.mapper.PqDeviceMysqlMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.influx.bo.po.PqDeviceMysql">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table pq_device-->
|
||||
<id column="Id" jdbcType="CHAR" property="id" />
|
||||
<result column="Dev_Model" jdbcType="BIT" property="devModel" />
|
||||
<result column="Dev_Data_Type" jdbcType="BIT" property="devDataType" />
|
||||
<result column="Run_Flag" jdbcType="BIT" property="runFlag" />
|
||||
<result column="Com_Flag" jdbcType="BIT" property="comFlag" />
|
||||
<result column="Manufacturer" jdbcType="CHAR" property="manufacturer" />
|
||||
<result column="Check_Flag" jdbcType="BIT" property="checkFlag" />
|
||||
<result column="Front_Type" jdbcType="CHAR" property="frontType" />
|
||||
<result column="Dev_Type" jdbcType="CHAR" property="devType" />
|
||||
<result column="IP" jdbcType="CHAR" property="ip" />
|
||||
<result column="Call_Flag" jdbcType="BIT" property="callFlag" />
|
||||
<result column="Port" jdbcType="INTEGER" property="port" />
|
||||
<result column="Series" jdbcType="VARCHAR" property="series" />
|
||||
<result column="Dev_Key" jdbcType="VARCHAR" property="devKey" />
|
||||
<result column="Node_Id" jdbcType="CHAR" property="nodeId" />
|
||||
<result column="Login_Time" jdbcType="DATE" property="loginTime" />
|
||||
<result column="Update_Time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="This_Time_Check" jdbcType="DATE" property="thisTimeCheck" />
|
||||
<result column="Next_Time_Check" jdbcType="DATE" property="nextTimeCheck" />
|
||||
<result column="Electroplate" jdbcType="BIT" property="electroplate" />
|
||||
<result column="On_Time" jdbcType="BIT" property="onTime" />
|
||||
<result column="Contract" jdbcType="VARCHAR" property="contract" />
|
||||
<result column="Sim" jdbcType="VARCHAR" property="sim" />
|
||||
<result column="Dev_Location" jdbcType="VARCHAR" property="devLocation" />
|
||||
<result column="Dev_No" jdbcType="VARCHAR" property="devNo" />
|
||||
<result column="Dev_Series" jdbcType="VARCHAR" property="devSeries" />
|
||||
<result column="Is_Alarm" jdbcType="BIT" property="isAlarm" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
Id, Dev_Model, Dev_Data_Type, Run_Flag, Com_Flag, Manufacturer, Check_Flag, Front_Type,
|
||||
Dev_Type, IP, Call_Flag, Port, Series, Dev_Key, Node_Id, Login_Time, Update_Time,
|
||||
This_Time_Check, Next_Time_Check, Electroplate, On_Time, Contract, Sim, Dev_Location,
|
||||
Dev_No, Dev_Series, Is_Alarm
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.influx.service;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.njcn.influx.bo.po.PqDeviceMysql;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/13 11:37【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@DS("target")
|
||||
public interface PqDeviceMysqlService extends IService<PqDeviceMysql>{
|
||||
|
||||
|
||||
}
|
||||
@@ -138,7 +138,7 @@ public class OracleEventDetailToMysqlServiceImpl extends ServiceImpl<RmpEventDet
|
||||
Map<String,String> map=new HashMap<>();
|
||||
for (DictData dictData : oracleReason) {
|
||||
for (DictData data : mysqlReason) {
|
||||
if(dictData.getAlgoDescribe()==data.getAlgoDescribe()){
|
||||
if(dictData.getAlgoDescribe().equals(data.getAlgoDescribe())){
|
||||
map.put(dictData.getId(),data.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,12 +5,10 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.njcn.influx.bo.po.*;
|
||||
import com.njcn.influx.config.IdMappingCache;
|
||||
import com.njcn.influx.mapper.PqDeviceMapper;
|
||||
import com.njcn.influx.mapper.RmpEventDetailPOMapper;
|
||||
import com.njcn.influx.service.IPmsMonitorService;
|
||||
import com.njcn.influx.service.IPmsTerminalService;
|
||||
import com.njcn.influx.service.IPqDeviceBakService;
|
||||
import com.njcn.influx.service.OracleMonitorStatusToMysqlService;
|
||||
import com.njcn.influx.service.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -34,6 +32,8 @@ public class OracleMonitorStatusToMysqlServiceImpl implements OracleMonitorStatu
|
||||
private final PqDeviceMapper pqDeviceMapper;
|
||||
private final IPmsMonitorService pmsMonitorService;
|
||||
private final IPmsTerminalService pmsTerminalService;
|
||||
private final PqDeviceMysqlService pqDeviceMysqlService;
|
||||
|
||||
|
||||
/**
|
||||
* 1.查询oracle装置表信息
|
||||
@@ -48,6 +48,21 @@ public class OracleMonitorStatusToMysqlServiceImpl implements OracleMonitorStatu
|
||||
//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);
|
||||
//pq的设备表更改通信状态
|
||||
List<PqDeviceMysql> tempList = new ArrayList<>();
|
||||
pqDevices.stream().forEach(temp->{
|
||||
String id ="";
|
||||
if (!IdMappingCache.IdMapping.containsKey(temp.getDevIndex()+"")){
|
||||
return;
|
||||
}else {
|
||||
id=IdMappingCache.IdMapping.get(temp.getDevIndex()+"");
|
||||
}
|
||||
pqDeviceMysqlService.update(new LambdaUpdateWrapper<PqDeviceMysql>()
|
||||
.set(PqDeviceMysql::getRunFlag,temp.getDevFlag())
|
||||
.set(PqDeviceMysql::getComFlag,temp.getStatus())
|
||||
.eq(PqDeviceMysql::getId,id));
|
||||
|
||||
});
|
||||
|
||||
Map<Integer, List<Long>> oracleDevMap = pqDevices.stream().collect(Collectors.groupingBy(PqDevice::getDevFlag
|
||||
, Collectors.mapping(PqDevice::getDevIndex, Collectors.toList())));
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.influx.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.influx.mapper.PqDeviceMysqlMapper;
|
||||
import com.njcn.influx.bo.po.PqDeviceMysql;
|
||||
import com.njcn.influx.service.PqDeviceMysqlService;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/13 11:37【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@DS("target")
|
||||
public class PqDeviceMysqlServiceImpl extends ServiceImpl<PqDeviceMysqlMapper, PqDeviceMysql> implements PqDeviceMysqlService{
|
||||
|
||||
}
|
||||
@@ -100,7 +100,7 @@ public class OracleToInfluxDBJob {
|
||||
* 每天同步台账装置的运行状态,监测点的运行状态
|
||||
* @date 2024/3/5
|
||||
*/
|
||||
@Scheduled(cron="0 20 0 * * ?")
|
||||
@Scheduled(cron="0 0/10 * * * ?")
|
||||
public void synLedgerRunFlag() {
|
||||
oracleMonitorStatusToMysqlService.monitorStatusSync();
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ spring:
|
||||
password: Pqsadmin123
|
||||
driver-class-name: oracle.jdbc.driver.OracleDriver
|
||||
target:
|
||||
url: jdbc:mysql://192.168.1.102:13306/pqsinfo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT
|
||||
url: jdbc:mysql://192.168.1.24:13306/pqsinfo_jb?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT
|
||||
username: root
|
||||
password: njcnpqs
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
@@ -85,9 +85,9 @@ mybatis-plus:
|
||||
#驼峰命名
|
||||
map-underscore-to-camel-case: true
|
||||
#配置sql日志输出
|
||||
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
#关闭日志输出
|
||||
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
# log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
global-config:
|
||||
db-config:
|
||||
#指定主键生成策略
|
||||
|
||||
Reference in New Issue
Block a user