diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PmsMonitor.java b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PmsMonitor.java
new file mode 100644
index 0000000..7245d73
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PmsMonitor.java
@@ -0,0 +1,319 @@
+package com.njcn.influx.bo.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@Getter
+@Setter
+@TableName("pms_monitor")
+public class PmsMonitor implements Serializable {
+ private static final long serialVersionUID = 1L;
+ /**
+ * 监测点ID
+ */
+ @TableId("Id")
+ private String id;
+
+ /**
+ * 监测点编码
+ */
+ @TableField("monitor_Id")
+ private String monitorId;
+
+ /**
+ * 监测点名称
+ */
+ @TableField("Name")
+ private String name;
+
+ /**
+ * 组织机构名称
+ */
+ @TableField("Org_Name")
+ private String orgName;
+
+ /**
+ * 组织机构ID(外键)
+ */
+ @TableField("Org_Id")
+ private String orgId;
+
+ /**
+ * 运维单位名称
+ */
+ @TableField("Operation_Name")
+ private String operationName;
+
+ /**
+ * 运维单位ID(外键)
+ */
+ @TableField("Operation_Id")
+ private String operationId;
+
+ /**
+ * 变电站名称
+ */
+ @TableField("Powerr_Name")
+ private String powerrName;
+
+ /**
+ * 电站ID(外键)
+ */
+ @TableField("Powerr_Id")
+ private String powerrId;
+
+ /**
+ * 监测母线
+ */
+ @TableField("Line_Name")
+ private String lineName;
+
+ /**
+ * 监测母线ID
+ */
+ @TableField("Line_Id")
+ private String lineId;
+
+ /**
+ * 电压等级(字典)
+ */
+ @TableField("Voltage_Level")
+ private String voltageLevel;
+
+ /**
+ * 监测点状态(字典)
+ */
+ @TableField("Monitor_State")
+ private String monitorState;
+
+ /**
+ * 监测点类型
+ */
+ @TableField("Monitor_Type")
+ private String monitorType;
+
+ /**
+ * 最小短路容量
+ */
+ @TableField("Min_Short_Circuit_Capacity")
+ private Float minShortCircuitCapacity;
+
+ /**
+ * 供电设备容量
+ */
+ @TableField("Power_Supply_Eq_Capacity")
+ private Float powerSupplyEqCapacity;
+
+ /**
+ * 用户协议容量
+ */
+ @TableField("User_Agreement_Capacity")
+ private Float userAgreementCapacity;
+
+ /**
+ * 电压偏差限值(上)
+ */
+ @TableField("Voltage_Deviation_Upper_Limit")
+ private Float voltageDeviationUpperLimit;
+
+ /**
+ * 电压偏差限值(下)
+ */
+ @TableField("Voltage_Deviation_Lower_Limit")
+ private Float voltageDeviationLowerLimit;
+
+ /**
+ * 电压互感器类型(字典)
+ */
+ @TableField("Potential_Trans_Former_Type")
+ private String potentialTransFormerType;
+
+ /**
+ * 中性点接地方式(字典)
+ */
+ @TableField("Neutral_Grounding_Mode")
+ private String neutralGroundingMode;
+
+ /**
+ * 监测点标签(字典)
+ */
+ @TableField("Monitor_Tag")
+ private String monitorTag;
+
+ /**
+ * 是否用户专线0-否 1-是
+ */
+ @TableField("Is_Special_Supply_Electricity")
+ private Boolean isSpecialSupplyElectricity;
+
+ /**
+ * 检测点对象类型(字典)
+ */
+ @TableField("Obj_Type")
+ private String objType;
+
+ /**
+ * 101 电网侧,102 用户侧
+ */
+ @TableField("Power_Flag")
+ private String powerFlag;
+
+ /**
+ * 监测对象编号
+ */
+ @TableField("Monitor_Object_Id")
+ private String monitorObjectId;
+
+ /**
+ * 监测对象名称
+ */
+ @TableField("Monitor_Object_Name")
+ private String monitorObjectName;
+
+ /**
+ * 统计间隔
+ */
+ @TableField("Statistical_Interval")
+ private Integer statisticalInterval;
+
+ /**
+ * 关联的监测终端编号(外键)
+ */
+ @TableField("Terminal_Id")
+ private String terminalId;
+
+ /**
+ * 监测终端接线方式(字典)
+ */
+ @TableField("Terminal_Wiring_Method")
+ private String terminalWiringMethod;
+
+ /**
+ * 是否是上送国网监测点,0-否 1-是
+ */
+ @TableField("Is_Up_To_Grid")
+ private Boolean isUpToGrid;
+
+ /**
+ * 是否专项分析监测点 0-否 1-是
+ */
+ @TableField("Is_Special_Monitor")
+ private Boolean isSpecialMonitor;
+
+ /**
+ * 数据状态:0-删除;1-正常;
+ */
+ @TableField("Status")
+ private Boolean status;
+
+ /**
+ * 创建用户
+ */
+ @TableField("Create_By")
+ private String createBy;
+
+ /**
+ * 创建时间
+ */
+ @TableField("Create_Time")
+ private LocalDateTime createTime;
+
+ /**
+ * 更新用户
+ */
+ @TableField("Update_By")
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ @TableField("Update_Time")
+ private LocalDateTime updateTime;
+
+ /**
+ * PT变比1
+ */
+ @TableField("Pt1")
+ private Float pt1;
+
+ /**
+ * PT变比2
+ */
+ @TableField("Pt2")
+ private Float pt2;
+
+ /**
+ * CT变比1
+ */
+ @TableField("Ct1")
+ private Float ct1;
+
+ /**
+ * CT变比2
+ */
+ @TableField("Ct2")
+ private Float ct2;
+
+ /**
+ * 监测点接线相别(0,单相,1,三相,默认三相
+ */
+ @TableField("PT_Phase_Type")
+ private String ptPhaseType;
+
+ /**
+ * 是否发电用户:0-否;1-是;
+ */
+ @TableField("If_Power_User")
+ private Boolean ifPowerUser;
+
+ /**
+ * 场站属性
+ */
+ @TableField("Field_Station")
+ private String fieldStation;
+
+ /**
+ * 0.未上送 1.上送 2.取消上送 3.待重新上送(用于典型负荷)
+ */
+ @TableField("is_upload_head")
+ private Boolean isUploadHead;
+
+ /**
+ * 0.未上送 1.上送 2.取消上送 3.待重新上送(用于主网监测点)
+ */
+ @TableField("monitor_upload_status")
+ private Boolean monitorUploadStatus;
+
+ /**
+ * 0.未上送 1.上送 2.取消上送 3.待重新上送(限值)
+ */
+ @TableField("Monitor_Overlimit_Status")
+ private Boolean monitorOverlimitStatus;
+
+ /**
+ * 行业分类
+ */
+ @TableField("trade_Code")
+ private String tradeCode;
+
+ /**
+ * 牵引站id
+ */
+ @TableField("traction_Id")
+ private String tractionId;
+
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PmsTerminal.java b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PmsTerminal.java
new file mode 100644
index 0000000..904e65f
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PmsTerminal.java
@@ -0,0 +1,184 @@
+package com.njcn.influx.bo.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@Getter
+@Setter
+@TableName("pms_terminal")
+public class PmsTerminal implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 终端编号
+ */
+ @TableId("Id")
+ private String id;
+
+ /**
+ * 终端名称
+ */
+ @TableField("Name")
+ private String name;
+
+ /**
+ * 组织机构名称
+ */
+ @TableField("Org_Name")
+ private String orgName;
+
+ /**
+ * 组织机构ID(外键)
+ */
+ @TableField("Org_Id")
+ private String orgId;
+
+ /**
+ * 运维单位名称
+ */
+ @TableField("Operation_Name")
+ private String operationName;
+
+ /**
+ * 运维单位ID(外键)
+ */
+ @TableField("Operation_Id")
+ private String operationId;
+
+ /**
+ * 变电站名称
+ */
+ @TableField("Powerr_Name")
+ private String powerrName;
+
+ /**
+ * 所属电站ID(外键)
+ */
+ @TableField("Power_Station_Id")
+ private String powerStationId;
+
+ /**
+ * 终端状态(字典)
+ */
+ @TableField("Terminal_State")
+ private String terminalState;
+
+ /**
+ * 终端级别(字典)
+ */
+ @TableField("Terminal_Level")
+ private String terminalLevel;
+
+ /**
+ * 装置型号(字典)
+ */
+ @TableField("Device_Model")
+ private String deviceModel;
+
+ /**
+ * 装置类别
+ */
+ @TableField("Device_Category")
+ private String deviceCategory;
+
+ /**
+ * 生产厂家(字典)
+ */
+ @TableField("Manufacture")
+ private String manufacture;
+
+ /**
+ * 检定日期
+ */
+ @TableField("Verification_Date")
+ private LocalDate verificationDate;
+
+ /**
+ * 投运日期
+ */
+ @TableField("Use_Date")
+ private LocalDate useDate;
+
+ /**
+ * 测量信号输入形式(字典)
+ */
+ @TableField("Input_Type")
+ private String inputType;
+
+ /**
+ * IP地址
+ */
+ @TableField("Ip")
+ private String ip;
+
+ /**
+ * 通信端口
+ */
+ @TableField("Port")
+ private String port;
+
+ /**
+ * 0.中断 1.正常
+ */
+ @TableField("com_flag")
+ private Boolean comFlag;
+
+ /**
+ * 是否是上送国网监测点,0-否 1-是
+ */
+ @TableField("Is_Up_To_Grid")
+ private Boolean isUpToGrid;
+
+ /**
+ * 数据状态:0-删除;1-正常;
+ */
+ @TableField("Status")
+ private Boolean status;
+
+ /**
+ * 中台终端编号
+ */
+ @TableField("terminal_Code")
+ private String terminalCode;
+
+ /**
+ * 创建用户
+ */
+ @TableField("Create_By")
+ private String createBy;
+
+ /**
+ * 创建时间
+ */
+ @TableField("Create_Time")
+ private LocalDateTime createTime;
+
+ /**
+ * 更新用户
+ */
+ @TableField("Update_By")
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ @TableField("Update_Time")
+ private LocalDateTime updateTime;
+
+
+}
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
new file mode 100644
index 0000000..9028479
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDevice.java
@@ -0,0 +1,125 @@
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * @author wr
+ * @description
+ * @date 2024/3/5 15:53
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("PQ_DEVICE")
+public class PqDevice {
+
+ /**
+ * 装置序号
+ */
+ @TableId(value = "DEV_INDEX", type = IdType.ASSIGN_ID)
+ private Long devIndex;
+
+ /**
+ * 供电公司序号
+ */
+ @TableField("GD_INDEX")
+ private Long gdIndex;
+
+ /**
+ * 变电站序号
+ */
+ @TableField("SUB_INDEX")
+ private Long subIndex;
+
+ /**
+ * 装置名称(唯一性判断)
+ */
+ @TableField("NAME")
+ private String name;
+
+ /**
+ * 装置通讯状态(0:中断;1:正常)
+ */
+ @TableField("STATUS")
+ private Integer status;
+
+ /**
+ * (关联表PQS_Dicdata)装置型号Guid
+ */
+ @TableField("DEVTYPE")
+ private String devType;
+
+ /**
+ * IP地址
+ */
+ @TableField("IP")
+ private String ip;
+
+ /**
+ * 登录时间
+ */
+ @TableField("LOGONTIME")
+ private LocalDateTime logonTime;
+
+ /**
+ * 数据更新时间
+ */
+ @TableField("UPDATETIME")
+ private LocalDateTime updateTime;
+
+ /**
+ * (关联表NodeInformation)服务器表序号,表明这台设备运行在哪台服务器上
+ */
+ @TableField("NODE_INDEX")
+ private Long nodeIndex;
+
+ /**
+ * 已召唤标志
+ */
+ @TableField("CALLFLAG")
+ private Integer callFlag;
+
+ /**
+ * 端口ID,用于端口映射
+ */
+ @TableField("PORTID")
+ private Long portId;
+
+ /**
+ * 装置状态(0:投运;1:热备用;2:停运)
+ */
+ @TableField("DEVFLAG")
+ private Integer devFlag;
+
+
+ /**
+ * 装置模型(0:虚拟设备;1:实际设备;2:离线设备;)默认是实际设备
+ */
+ @TableField("DEVMODEL")
+ private Long devmodel;
+
+ /**
+ * 数据类型(0:暂态系统;1:稳态系统;2:两个系统)
+ */
+ @TableField("DATATYPE")
+ private Long datatype;
+
+ /**
+ * 装置识别码,采用3ds加密
+ */
+ @TableField("DEV_SERIES")
+ private String series;
+
+ /**
+ * 装置秘钥,采用3ds加密
+ */
+ @TableField("DEV_KEY")
+ private String key;
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDeviceBak.java b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDeviceBak.java
new file mode 100644
index 0000000..f695788
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/bo/po/PqDeviceBak.java
@@ -0,0 +1,38 @@
+package com.njcn.influx.bo.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@Getter
+@Setter
+@TableName("pq_device_bak")
+public class PqDeviceBak implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 现终端Id
+ */
+ @TableId("Id")
+ private String id;
+
+ /**
+ * 原oracle终端Id
+ */
+ @TableField("Dev_Id")
+ private Long devId;
+
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PmsMonitorMapper.java b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PmsMonitorMapper.java
new file mode 100644
index 0000000..25479de
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PmsMonitorMapper.java
@@ -0,0 +1,18 @@
+package com.njcn.influx.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.njcn.influx.bo.po.PmsMonitor;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+public interface PmsMonitorMapper extends BaseMapper {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PmsTerminalMapper.java b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PmsTerminalMapper.java
new file mode 100644
index 0000000..5f9e4fd
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PmsTerminalMapper.java
@@ -0,0 +1,18 @@
+package com.njcn.influx.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.njcn.influx.bo.po.PmsTerminal;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+public interface PmsTerminalMapper extends BaseMapper {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceBakMapper.java b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceBakMapper.java
new file mode 100644
index 0000000..b6f06ff
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceBakMapper.java
@@ -0,0 +1,18 @@
+package com.njcn.influx.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.njcn.influx.bo.po.PqDeviceBak;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+public interface PqDeviceBakMapper extends BaseMapper {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceMapper.java b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceMapper.java
new file mode 100644
index 0000000..14c9324
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/PqDeviceMapper.java
@@ -0,0 +1,19 @@
+package com.njcn.influx.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.njcn.influx.bo.po.PqDevice;
+import com.njcn.influx.bo.po.PqDeviceBak;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("master")
+public interface PqDeviceMapper extends BaseMapper {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/OracleRmpEventDetailPOMapper.xml b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/OracleRmpEventDetailPOMapper.xml
index e9608c7..cf5ab65 100644
--- a/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/OracleRmpEventDetailPOMapper.xml
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/mapper/mapping/OracleRmpEventDetailPOMapper.xml
@@ -14,7 +14,7 @@
PQS_DICTYPE sys_dict_type
WHERE
sys_dict_data.DIC_TYPE = sys_dict_type.DICTYPE_INDEX
- AND sys_dict_type.DICTYPE_NUMBER = #{code}
+ AND sys_dict_type.DICTYPE_NAME = #{code}
ORDER BY DIC_NUMBER
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPmsMonitorService.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPmsMonitorService.java
new file mode 100644
index 0000000..52754d1
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPmsMonitorService.java
@@ -0,0 +1,18 @@
+package com.njcn.influx.service;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.influx.bo.po.PmsMonitor;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+public interface IPmsMonitorService extends IService {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPmsTerminalService.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPmsTerminalService.java
new file mode 100644
index 0000000..863b780
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPmsTerminalService.java
@@ -0,0 +1,18 @@
+package com.njcn.influx.service;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.influx.bo.po.PmsTerminal;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+public interface IPmsTerminalService extends IService {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPqDeviceBakService.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPqDeviceBakService.java
new file mode 100644
index 0000000..199a4db
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/IPqDeviceBakService.java
@@ -0,0 +1,17 @@
+package com.njcn.influx.service;
+
+import com.njcn.influx.bo.po.PqDeviceBak;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+
+public interface IPqDeviceBakService extends IService {
+
+}
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
new file mode 100644
index 0000000..1e02283
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/OracleMonitorStatusToMysqlService.java
@@ -0,0 +1,12 @@
+package com.njcn.influx.service;
+
+
+/**
+ * @author wr
+ * @description
+ * @date 2024/3/5 15:03
+ */
+public interface OracleMonitorStatusToMysqlService {
+
+ void monitorStatusSync();
+}
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 2b4936a..d912e9b 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
@@ -49,8 +49,8 @@ public class OracleEventDetailToMysqlServiceImpl extends ServiceImpl oracleRelationMysql = list.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId));
//获取Oracle字典 暂降类型:12 暂降原因:13
- List oracleReason= oracleRmpEventDetailPOMapper.selectByDicCodeList("13");
- List oracleType= oracleRmpEventDetailPOMapper.selectByDicCodeList("12");
+ List oracleReason= oracleRmpEventDetailPOMapper.selectByDicCodeList("暂降原因");
+ List oracleType= oracleRmpEventDetailPOMapper.selectByDicCodeList("暂降类型");
//获取Mysql字典
List eventType = rmpEventDetailPOMapper.selectByDicCodeList("Event_Statis");
List mysqlReason = rmpEventDetailPOMapper.selectByDicCodeList("Event_Reason");
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
new file mode 100644
index 0000000..8ecc288
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/OracleMonitorStatusToMysqlServiceImpl.java
@@ -0,0 +1,125 @@
+package com.njcn.influx.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+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.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 lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author wr
+ * @description
+ * @date 2024/3/5 15:04
+ */
+@RequiredArgsConstructor
+@Service
+public class OracleMonitorStatusToMysqlServiceImpl implements OracleMonitorStatusToMysqlService {
+
+ private final RmpEventDetailPOMapper rmpEventDetailPOMapper;
+ private final IPqDeviceBakService pqDeviceBakService;
+ private final PqDeviceMapper pqDeviceMapper;
+ private final IPmsMonitorService pmsMonitorService;
+ private final IPmsTerminalService pmsTerminalService;
+
+ /**
+ * 1.查询oracle装置表信息
+ * 2.查询pq_device_bak->mysql匹配oracle所对应的装置
+ * 3.更改mysql监测点信息和装置信息
+ */
+ @Override
+ public void monitorStatusSync() {
+ List monitorDicList = rmpEventDetailPOMapper.selectByDicCodeList("Line_State");
+ List devDicList = rmpEventDetailPOMapper.selectByDicCodeList("Dev_Status");
+ 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.groupingBy(PqDevice::getDevFlag
+ , Collectors.mapping(PqDevice::getDevIndex, Collectors.toList())));
+ oracleDevMap.forEach((key, value) -> {
+ List info = new ArrayList<>();
+ for (Long aLong : value) {
+ if (oracleDevMysql.containsKey(aLong)) {
+ info.add(oracleDevMysql.get(aLong));
+ }
+ }
+ String devStatus = devStatusId(key, devDicList);
+ String monitorStatus = monitorStatusId(key, monitorDicList);
+ if (StrUtil.isNotBlank(devStatus) && CollUtil.isNotEmpty(info)) {
+ //修改终端状态
+ pmsTerminalService.update(new LambdaUpdateWrapper()
+ .set(PmsTerminal::getTerminalState, devStatusId(key, devDicList))
+ .in(PmsTerminal::getId, info)
+ );
+ }
+ if (StrUtil.isNotBlank(monitorStatus) && CollUtil.isNotEmpty(info)) {
+ //修改监测点状态
+ pmsMonitorService.update(new LambdaUpdateWrapper()
+ .set(PmsMonitor::getMonitorState, monitorStatusId(key, monitorDicList))
+ .in(PmsMonitor::getTerminalId, info)
+ );
+ }
+ });
+
+ }
+
+ private String monitorStatusId(Integer data, List list) {
+ //装置状态(0:投运;1:热备用;2:停运)
+ String code = "";
+ switch (data) {
+ case 0:
+ code = "Run";
+ break;
+ case 1:
+ code = "Overhaul";
+ break;
+ case 2:
+ code = "Decommissioning";
+ break;
+ }
+ String finalCode = code;
+ DictData dictData = list.stream().filter(x -> finalCode.equals(x.getCode())).findFirst().get();
+ if (ObjectUtil.isNotNull(dictData)) {
+ return dictData.getId();
+ }
+ return "";
+ }
+
+ private String devStatusId(Integer data, List list) {
+ //装置状态(0:投运;1:热备用;2:停运)
+ String code = "";
+ switch (data) {
+ case 0:
+ code = "Running";
+ break;
+ case 1:
+ code = "Not_Operation";
+ break;
+ case 2:
+ code = "Retire";
+ break;
+ }
+ String finalCode = code;
+ DictData dictData = list.stream().filter(x -> finalCode.equals(x.getCode())).findFirst().get();
+ if (ObjectUtil.isNotNull(dictData)) {
+ return dictData.getId();
+ }
+ return "";
+ }
+
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PmsMonitorServiceImpl.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PmsMonitorServiceImpl.java
new file mode 100644
index 0000000..f2a3a4c
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PmsMonitorServiceImpl.java
@@ -0,0 +1,22 @@
+package com.njcn.influx.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.njcn.influx.bo.po.PmsMonitor;
+import com.njcn.influx.mapper.PmsMonitorMapper;
+import com.njcn.influx.service.IPmsMonitorService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+@Service
+public class PmsMonitorServiceImpl extends ServiceImpl implements IPmsMonitorService {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PmsTerminalServiceImpl.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PmsTerminalServiceImpl.java
new file mode 100644
index 0000000..48345ec
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PmsTerminalServiceImpl.java
@@ -0,0 +1,22 @@
+package com.njcn.influx.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.njcn.influx.bo.po.PmsTerminal;
+import com.njcn.influx.mapper.PmsTerminalMapper;
+import com.njcn.influx.service.IPmsTerminalService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+@Service
+public class PmsTerminalServiceImpl extends ServiceImpl implements IPmsTerminalService {
+
+}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PqDeviceBakServiceImpl.java b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PqDeviceBakServiceImpl.java
new file mode 100644
index 0000000..f33a93c
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/service/impl/PqDeviceBakServiceImpl.java
@@ -0,0 +1,22 @@
+package com.njcn.influx.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.njcn.influx.bo.po.PqDeviceBak;
+import com.njcn.influx.mapper.PqDeviceBakMapper;
+import com.njcn.influx.service.IPqDeviceBakService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author wr
+ * @since 2024-03-05
+ */
+@DS("target")
+@Service
+public class PqDeviceBakServiceImpl extends ServiceImpl implements IPqDeviceBakService {
+
+}
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 035e7c7..be8d8d4 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
@@ -2,10 +2,9 @@ package com.njcn.influx.job;
import com.njcn.influx.bo.param.TableEnum;
import com.njcn.influx.service.OracleEventDetailToMysqlService;
+import com.njcn.influx.service.OracleMonitorStatusToMysqlService;
import com.njcn.influx.service.OracleToInfluxDBService;
-import com.njcn.influx.service.impl.OracleEventDetailToMysqlServiceImpl;
import com.njcn.oracle.bo.param.DataAsynParam;
-import com.njcn.oracle.bo.param.ServiceTypeEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.EnableScheduling;
@@ -33,7 +32,8 @@ public class OracleToInfluxDBJob {
private final OracleToInfluxDBService oracleToInfluxDBService;
private final OracleEventDetailToMysqlService oracleEventDetailToMysqlService;
- /* @Scheduled(cron="0 5 0 * * ?")
+ private final OracleMonitorStatusToMysqlService oracleMonitorStatusToMysqlService;
+ /*@Scheduled(cron="0 5 0 * * ?")
public void execute() {
DataAsynParam dataAsynParam = new DataAsynParam();
dataAsynParam.setStartTime(LocalDate.now().plusDays(-1));
@@ -88,7 +88,6 @@ public class OracleToInfluxDBJob {
*/
@Scheduled(cron="0 20 0 * * ?")
public void synLedgerRunFlag() {
-
-
+ oracleMonitorStatusToMysqlService.monitorStatusSync();
}
}