From 6b352d62e162da1b1231ed4697abccb75bf6b3db Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Mon, 13 May 2024 15:36:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0pq=E5=90=8C=E6=AD=A5=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=8A=B6=E6=80=81=E6=89=B9=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/influx/bo/po/PqDeviceMysql.java | 180 ++++++++++++++++++ .../influx/mapper/PqDeviceMysqlMapper.java | 15 ++ .../mapper/mapping/PqDeviceMysqlMapper.xml | 42 ++++ .../influx/service/PqDeviceMysqlService.java | 18 ++ .../OracleEventDetailToMysqlServiceImpl.java | 2 +- ...OracleMonitorStatusToMysqlServiceImpl.java | 23 ++- .../impl/PqDeviceMysqlServiceImpl.java | 23 +++ .../njcn/influx/job/OracleToInfluxDBJob.java | 2 +- .../src/main/resources/application.yml | 6 +- 9 files changed, 302 insertions(+), 9 deletions(-) create mode 100644 influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDeviceMysql.java create mode 100644 influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceMysqlMapper.java create mode 100644 influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/PqDeviceMysqlMapper.xml create mode 100644 influx-data/influx-source/src/main/java/com/njcn/influx/service/PqDeviceMysqlService.java create mode 100644 influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PqDeviceMysqlServiceImpl.java diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDeviceMysql.java b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDeviceMysql.java new file mode 100644 index 0000000..69fc038 --- /dev/null +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDeviceMysql.java @@ -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; +} \ No newline at end of file diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceMysqlMapper.java b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceMysqlMapper.java new file mode 100644 index 0000000..75d19b2 --- /dev/null +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceMysqlMapper.java @@ -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 { +} \ No newline at end of file diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/PqDeviceMysqlMapper.xml b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/PqDeviceMysqlMapper.xml new file mode 100644 index 0000000..4c032b3 --- /dev/null +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/PqDeviceMysqlMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/PqDeviceMysqlService.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/PqDeviceMysqlService.java new file mode 100644 index 0000000..5dd1e04 --- /dev/null +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/PqDeviceMysqlService.java @@ -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{ + + +} diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleEventDetailToMysqlServiceImpl.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleEventDetailToMysqlServiceImpl.java index eab8728..46c89ea 100644 --- a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleEventDetailToMysqlServiceImpl.java +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleEventDetailToMysqlServiceImpl.java @@ -138,7 +138,7 @@ public class OracleEventDetailToMysqlServiceImpl extends ServiceImpl 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()); } } 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 3a5e472..c17a416 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 @@ -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 oracleDevMysql = list.stream().collect(Collectors.toMap(PqDeviceBak::getDevId, PqDeviceBak::getId)); List pqDevices = pqDeviceMapper.selectList(null); + //pq的设备表更改通信状态 + List 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() + .set(PqDeviceMysql::getRunFlag,temp.getDevFlag()) + .set(PqDeviceMysql::getComFlag,temp.getStatus()) + .eq(PqDeviceMysql::getId,id)); + + }); Map> oracleDevMap = pqDevices.stream().collect(Collectors.groupingBy(PqDevice::getDevFlag , Collectors.mapping(PqDevice::getDevIndex, Collectors.toList()))); diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PqDeviceMysqlServiceImpl.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PqDeviceMysqlServiceImpl.java new file mode 100644 index 0000000..d6a6ed5 --- /dev/null +++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PqDeviceMysqlServiceImpl.java @@ -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 implements PqDeviceMysqlService{ + +} 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 bb300ce..4add12d 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 @@ -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(); } diff --git a/influx-data/influx-target/src/main/resources/application.yml b/influx-data/influx-target/src/main/resources/application.yml index 0c1e55b..f06f082 100644 --- a/influx-data/influx-target/src/main/resources/application.yml +++ b/influx-data/influx-target/src/main/resources/application.yml @@ -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: #指定主键生成策略