diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 6755296..4e15de9 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -1,20 +1,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 6755296..4e15de9 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -1,20 +1,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/target/classes/application-dev.yml b/target/classes/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/target/classes/application-dev.yml
+++ b/target/classes/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 6755296..4e15de9 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -1,20 +1,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/target/classes/application-dev.yml b/target/classes/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/target/classes/application-dev.yml
+++ b/target/classes/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class
index 0813269..c9aea71 100644
--- a/target/classes/com/casic/controller/DeviceController.class
+++ b/target/classes/com/casic/controller/DeviceController.class
Binary files differ
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 6755296..4e15de9 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -1,20 +1,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/target/classes/application-dev.yml b/target/classes/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/target/classes/application-dev.yml
+++ b/target/classes/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class
index 0813269..c9aea71 100644
--- a/target/classes/com/casic/controller/DeviceController.class
+++ b/target/classes/com/casic/controller/DeviceController.class
Binary files differ
diff --git a/target/classes/com/casic/dao/DataGasMapper.class b/target/classes/com/casic/dao/DataGasMapper.class
deleted file mode 100644
index b9404b1..0000000
--- a/target/classes/com/casic/dao/DataGasMapper.class
+++ /dev/null
Binary files differ
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 6755296..4e15de9 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -1,20 +1,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/target/classes/application-dev.yml b/target/classes/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/target/classes/application-dev.yml
+++ b/target/classes/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class
index 0813269..c9aea71 100644
--- a/target/classes/com/casic/controller/DeviceController.class
+++ b/target/classes/com/casic/controller/DeviceController.class
Binary files differ
diff --git a/target/classes/com/casic/dao/DataGasMapper.class b/target/classes/com/casic/dao/DataGasMapper.class
deleted file mode 100644
index b9404b1..0000000
--- a/target/classes/com/casic/dao/DataGasMapper.class
+++ /dev/null
Binary files differ
diff --git a/target/classes/com/casic/dao/DeviceMapper.class b/target/classes/com/casic/dao/DeviceMapper.class
deleted file mode 100644
index a2d1f17..0000000
--- a/target/classes/com/casic/dao/DeviceMapper.class
+++ /dev/null
Binary files differ
diff --git a/pom.xml b/pom.xml
index 4db133b..ac44fd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,11 +48,11 @@
2.1.3.RELEASE
+
- mysql
- mysql-connector-java
- 8.0.16
- compile
+ com.oracle.database.jdbc
+ ojdbc6
+ 11.2.0.4
diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java
index 45a2996..4dbefff 100644
--- a/src/main/java/com/casic/controller/DeviceController.java
+++ b/src/main/java/com/casic/controller/DeviceController.java
@@ -1,8 +1,6 @@
package com.casic.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.casic.model.ReceiveDataParam;
import com.casic.model.ResponseData;
import com.casic.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/casic/dao/AlarmJobMapper.java b/src/main/java/com/casic/dao/AlarmJobMapper.java
deleted file mode 100644
index e5e9c8d..0000000
--- a/src/main/java/com/casic/dao/AlarmJobMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmJob;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface AlarmJobMapper extends BaseMapper {
-
- @Select("SELECT MAX(jobcode) " +
- "FROM alarm_job " +
- "WHERE JOBCODE like '${jobcode}%'")
- String getJobCodeMaxSerial(@Param("jobcode") String jobcode);
-
-}
diff --git a/src/main/java/com/casic/dao/AlarmRecordsMapper.java b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
index fde1818..9f79655 100644
--- a/src/main/java/com/casic/dao/AlarmRecordsMapper.java
+++ b/src/main/java/com/casic/dao/AlarmRecordsMapper.java
@@ -1,36 +1,18 @@
package com.casic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.AlarmRecords;
+import com.casic.entity.AlarmRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
@Mapper
-public interface AlarmRecordsMapper extends BaseMapper {
+public interface AlarmRecordsMapper extends BaseMapper {
-
- @Select("SELECT JOB_ID AS \"jobId\"\n " +
- "FROM alarm_records\n " +
- "WHERE DEVCODE = #{devcode}\n " +
- "AND ALARM_CONTENT = #{MsgContent}\n " +
- "AND STATUS='1'\n " +
- "AND JOB_ID>0 ")
- String isOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='0'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND ALARM_CONTENT = #{MsgContent}\n" +
- " AND STATUS='1'")
- Integer updateOldAlarmRecord(@Param("devcode") String devcode, @Param("MsgContent") String MsgContent);
-
-
- @Update(" UPDATE alarm_records\n" +
- " SET STATUS='3'\n" +
- " WHERE DEVCODE = #{devcode}\n" +
- " AND STATUS='1'")
- Integer clearAlarm(@Param("devcode") String devcode);
-
+ @Select("SELECT DBID " +
+ "FROM ALARM_DEVICE " +
+ "WHERE ACTIVE=1 AND DEVCODE=#{devcode} ")
+ Long getDevcode(@Param("devcode") String devcode);
}
diff --git a/src/main/java/com/casic/dao/ButaneDataMapper.java b/src/main/java/com/casic/dao/ButaneDataMapper.java
new file mode 100644
index 0000000..632c7d2
--- /dev/null
+++ b/src/main/java/com/casic/dao/ButaneDataMapper.java
@@ -0,0 +1,12 @@
+package com.casic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.entity.ButaneData;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ButaneDataMapper extends BaseMapper {
+
+
+}
diff --git a/src/main/java/com/casic/dao/DataGasMapper.java b/src/main/java/com/casic/dao/DataGasMapper.java
deleted file mode 100644
index 8a064f2..0000000
--- a/src/main/java/com/casic/dao/DataGasMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.DataGasDector;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface DataGasMapper extends BaseMapper {
-
- @Select("SELECT level,high_value " +
- "FROM alarm_level " +
- "WHERE device_type=#{deviceType} ")
- List> getAlarmLevelList(@Param("deviceType") Long deviceType);
-
- @Select("SELECT devcode " +
- "FROM data_gas_dector " +
- "WHERE devcode=#{devcode} " +
- "AND (EXTRACT(epoch FROM CAST(now() AS TIMESTAMPTZ))-EXTRACT(epoch FROM CAST(logtime AS TIMESTAMPTZ)))/60.0 < ${minutes} "+
- "ORDER BY logtime DESC " +
- "LIMIT 1")
- String getLastData(@Param("minutes") String minutes,
- @Param("devcode") String devcode);
-
- @Select("SELECT alarm_content " +
- "FROM base_alarm_content_type " +
- "WHERE device_type=#{deviceType}")
- String getGasMsgContent(@Param("deviceType")Long deviceType);
-
-
-}
diff --git a/src/main/java/com/casic/dao/DeviceMapper.java b/src/main/java/com/casic/dao/DeviceMapper.java
deleted file mode 100644
index 73b574e..0000000
--- a/src/main/java/com/casic/dao/DeviceMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.casic.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.casic.entity.Device;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-
-@Mapper
-public interface DeviceMapper extends BaseMapper {
-
- Map getWellCode(@Param("devcode") String devcode);
-
-}
diff --git a/src/main/java/com/casic/dao/impl/AlarmJobDao.java b/src/main/java/com/casic/dao/impl/AlarmJobDao.java
deleted file mode 100644
index 5131821..0000000
--- a/src/main/java/com/casic/dao/impl/AlarmJobDao.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.casic.dao.impl;
-
-import com.alibaba.druid.util.StringUtils;
-import com.casic.dao.AlarmJobMapper;
-import com.casic.entity.AlarmJob;
-import org.springframework.stereotype.Component;
-import xyz.downgoon.snowflake.Snowflake;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-@Component
-public class AlarmJobDao {
-
- private static final SimpleDateFormat sdf6 = new SimpleDateFormat("yyyyMMdd");
-
- private static Snowflake snowflake = new Snowflake(0, 2);
-// private static final Sn
-
- @Resource
- private AlarmJobMapper alarmJobMapper;
-
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
- AlarmJob alarmJob = new AlarmJob();
- alarmJob.setId(snowflake.nextId());
- alarmJob.setDevcode(devCode);
- alarmJob.setWellCode(wellCode);
- alarmJob.setJobStatus("0");
- alarmJob.setCreateTime(new Date());
- alarmJob.setJobcode(this.produceJobCode(devTypeName));
- alarmJob.setJobType(jobType);
- alarmJobMapper.insert(alarmJob);
- return alarmJob;
- }
-
- /**
- * 前缀+日期+4位流水号
- *
- * @param devTypeName
- * @return
- */
- private String produceJobCode(String devTypeName) {
- String pre = devTypeName;
- String dataStr = sdf6.format(new Date());
- String fix = this.getJobCodeMaxSerial(pre + dataStr);
- return StringUtils.isEmpty(fix) ? pre + dataStr + String.format("%04d", Long.valueOf(StringUtils.isEmpty(fix)?"0":fix) + 1L) : pre + dataStr + "0001";
- }
-
-
- private String getJobCodeMaxSerial(String jobcode) {
- String MaxSerialJobCode = alarmJobMapper.getJobCodeMaxSerial(jobcode);
- String fix = "";
- if (null != MaxSerialJobCode && MaxSerialJobCode.length() > 4) {
- fix = MaxSerialJobCode.substring(MaxSerialJobCode.length() - 4);
- }
- return fix;
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmJob.java b/src/main/java/com/casic/entity/AlarmJob.java
deleted file mode 100644
index 8a0f764..0000000
--- a/src/main/java/com/casic/entity/AlarmJob.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 报警工单表
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_job")
-public class AlarmJob extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 工单编号
- */
- @TableField("JOBCODE")
- private String jobcode;
- /**
- * 工单类型
- */
- @TableField("JOG_TYPE")
- private String jobType;
- /**
- * 井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 工单创建时间
- */
- @TableField("CREATE_TIME")
- private Date createTime;
- /**
- * 工单状态(0待处理,1待确认,2处理中,3完成)
- */
- @TableField("JOB_STATUS")
- private String jobStatus;
- /**
- * 接单人员
- */
- @TableField("GET_JOB_PERSON")
- private Long getJobPerson;
- /**
- * 接单时间
- */
- @TableField("GET_JOB_TIME")
- private Date getJobTime;
- /**
- * 应接单时间
- */
- @TableField("SHOULD_GET_TIME")
- private Date shouldGetTime;
- /**
- * 第一现场情况
- */
- @TableField("FIRST_STATE")
- private String firstState;
- /**
- * 第一现场照片
- */
- @TableField("FIRST_STATE_PHOTOS")
- private String firstStatePhotos;
- /**
- * 确认人员
- */
- @TableField("CONFIRM_JOB_PERSON")
- private Long confirmJobPerson;
- /**
- * 确认时间
- */
- @TableField("CONFRIM_JOB_TIME")
- private Date confrimJobTime;
- /**
- * 处理人员
- */
- @TableField("HANDLE_JOB_Person")
- private Long handleJobPerson;
- /**
- * 处理时间
- */
- @TableField("HANDLE_JOB_TIME")
- private Date handleJobTime;
- /**
- * 维护情况记录
- */
- @TableField("HANDLE_MESSAGE")
- private String handleMessage;
- /**
- * 维护图片
- */
- @TableField("HANDLE_PHOTOS")
- private String handlePhotos;
- /**
- * 工单流转记录
- */
- @TableField("FLOW")
- private String flow;
-
- @TableField("JOB_BELONG_TO")
- private Long jobBelongTo;
-
- @TableField("JOB_FLAG_DELAY")
- private String jobFlagDelay;
-
- @TableField("JOB_FLAG_1")
- private String jobFlag1;
-
- @TableField(exist = false)
- private String alarmValue;
-
- @TableField(exist = false)
- private String alarmContentName;
-
- @TableField(exist = false)
- private Integer recordId;
-
- @Override
- public String toString() {
- return "AlarmJob{" +
- "id=" + id +
- ", jobcode=" + jobcode +
- ", jogType=" + jobType +
- ", wellCode=" + wellCode +
- ", devcode=" + devcode +
- ", createTime=" + createTime +
- ", jobStatus=" + jobStatus +
- ", getJobPerson=" + getJobPerson +
- ", getJobTime=" + getJobTime +
- ", firstState=" + firstState +
- ", firstStatePhotos=" + firstStatePhotos +
- ", confirmJobPerson=" + confirmJobPerson +
- ", confrimJobTime=" + confrimJobTime +
- ", handleJobPerson=" + handleJobPerson +
- ", handleJobTime=" + handleJobTime +
- ", handleMessage=" + handleMessage +
- ", handlePhotos=" + handlePhotos +
- ", flow=" + flow +
- ", recordId=" + recordId +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/AlarmRecord.java b/src/main/java/com/casic/entity/AlarmRecord.java
new file mode 100644
index 0000000..4057df1
--- /dev/null
+++ b/src/main/java/com/casic/entity/AlarmRecord.java
@@ -0,0 +1,106 @@
+package com.casic.entity;
+
+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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author casic123
+ * @since 2019-05-17
+ */
+@Data
+@TableName("ALARM_ALARM_RECORD")
+public class AlarmRecord extends Model {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @TableId(value = "DBID")
+ private Long dbid;
+ /**
+ * 设备编号
+ */
+ @TableField("DEVICE_CODE")
+ private String deviceCode;
+ /**
+ * 设备类型名称
+ */
+ @TableField("DEVICE_TYPE_NAME")
+ private String deviceTypeName;
+ /**
+ * 是否推送,默认0
+ */
+ @TableField("ISSEND")
+ private String issend;
+ /**
+ * 默认default
+ */
+ @TableField("ITEMNAME")
+ private String itemname;
+ /**
+ * 没有数值
+ */
+ @TableField("ITEMVALUE")
+ private String itemvalue;
+ /**
+ * 1
+ */
+ @TableField("MESSAGE")
+ private String message;
+ /**
+ * 0
+ */
+ @TableField("MESSAGE_STATUS")
+ private String messageStatus;
+
+
+ /**
+ * 0
+ */
+ @TableField("RECORDCODE")
+ private String recordcode;
+ /**
+ * 告警状态
+ */
+ @TableField("RECORDDATE")
+ private Date recorddate;
+ /**
+ * 工单编号
+ */
+ @TableField("DEVICE_ID")
+ private Long deviceId;
+
+ /**
+ * 删除标志,默认为1
+ */
+ private Integer active;
+
+ @Override
+ public String toString() {
+ return "AlarmRecord{" +
+ "dbid=" + dbid +
+ ", deviceCode='" + deviceCode + '\'' +
+ ", deviceTypeName='" + deviceTypeName + '\'' +
+ ", issend='" + issend + '\'' +
+ ", itemname='" + itemname + '\'' +
+ ", itemvalue='" + itemvalue + '\'' +
+ ", message='" + message + '\'' +
+ ", messageStatus='" + messageStatus + '\'' +
+ ", recordcode='" + recordcode + '\'' +
+ ", recorddate=" + recorddate +
+ ", deviceId=" + deviceId +
+ ", active=" + active +
+ '}';
+ }
+}
diff --git a/src/main/java/com/casic/entity/AlarmRecords.java b/src/main/java/com/casic/entity/AlarmRecords.java
deleted file mode 100644
index 88b0b26..0000000
--- a/src/main/java/com/casic/entity/AlarmRecords.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- *
- *
- *
- * @author casic123
- * @since 2019-05-17
- */
-@Data
-@TableName("alarm_records")
-public class AlarmRecords extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "id")
- private Long id;
- /**
- * 设备ID
- */
- @TableField("DEVICE_ID")
- private Long deviceId;
- /**
- * 设备编号
- */
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 闸井编号
- */
- @TableField("WELL_CODE")
- private String wellCode;
- /**
- * 告警类型
- */
- @TableField("ALARM_TYPE")
- private String alarmType;
- /**
- * 告警内容
- */
- @TableField("ALARM_CONTENT")
- private String alarmContent;
- /**
- * 告警数值
- */
- @TableField("ALARM_VALUE")
- private String alarmValue;
- /**
- * 告警等级
- */
- @TableField("ALARM_LEVEL")
- private Integer alarmLevel;
- /**
- * 告警详情
- */
- @TableField("ALARM_MSG")
- private String alarmMessage;
- /**
- * 告警时间
- */
- @TableField("ALARM_TIME")
- private Date alarmTime;
- /**
- * 告警状态
- */
- @TableField("STATUS")
- private String status;
- /**
- * 工单编号
- */
- @TableField("JOB_ID")
- private Long jobId;
-
- @TableField(exist = false)
- private Integer jobStatus;
-
- @Override
- public String toString() {
- return "AlarmRecords{" +
- "id=" + id +
- ", deviceId=" + deviceId +
- ", devcode=" + devcode +
- ", wellCode=" + wellCode +
- ", alarmType=" + alarmType +
- ", alarmContent=" + alarmContent +
- ", alarmValue=" + alarmValue +
- ", alarmLevel=" + alarmLevel +
- ", alarmMessage=" + alarmMessage +
- ", alarmTime=" + alarmTime +
- ", status=" + status +
- ", jobId=" + jobId +
- ", jobStatus=" + jobStatus +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/entity/ButaneData.java b/src/main/java/com/casic/entity/ButaneData.java
new file mode 100644
index 0000000..5ef6e5c
--- /dev/null
+++ b/src/main/java/com/casic/entity/ButaneData.java
@@ -0,0 +1,28 @@
+package com.casic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("CASIC_BUTANE_INFO")
+@Builder
+public class ButaneData extends Model {
+
+ @TableId(value = "DBID", type = IdType.AUTO)
+ private Long dbid;
+
+ private String devcode;
+
+ private String status;
+
+ private String descn;
+
+ private Date logtime;
+
+}
diff --git a/src/main/java/com/casic/entity/Device.java b/src/main/java/com/casic/entity/Device.java
deleted file mode 100644
index 4235f56..0000000
--- a/src/main/java/com/casic/entity/Device.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.casic.entity;
-
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Pattern;
-import java.util.Date;
-
-/**
- *
- * 设备表
- *
- *
- * @author cz
- * @since 2023-5-8
- */
-@TableName("bus_device")
-@Data
-public class Device extends Model {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @TableId(value = "ID", type = IdType.ASSIGN_ID)
- private Long id;
- /**
- * 设备编号
- */
- @Pattern(regexp = "[A-Za-z0-9]{7,20}", message = "设备编号必须为7-20位字母或数字组合")
- @TableField("DEVCODE")
- private String devcode;
- /**
- * 设备名称
- */
- @TableField("DEVICE_NAME")
- private String deviceName;
- /**
- * 在线状态
- */
- @TableField("ONLINE_STATE")
- private String onlineState;
- /**
- * 设备类型
- */
-
- @TableField("DEVICE_TYPE")
- private Long deviceType;
-
- /**
- * 是否有效
- */
- @TableField("VALID")
- private String valid;
- /**
- * 安装时间
- */
- @TableField("INSTALL_DATE")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date installDate;
- /**
- * 最新状态时间
- */
- @TableField("LOGTIME")
- private Date logtime;
- /**
- * 设备型号(关联型号表)
- */
- @TableField("VERSION")
- private Long modelId;
-
- @TableField("INSTALL_HEIGHT")
- private Double installHeight;
-
- @TableField(exist = false)
- private Long concenId;
- //闸井ID
- @TableField(exist = false)
- private Long wellId;
-
- @TableField(exist = false)
- private String installDateFmt;
-
- @Override
- public String toString() {
- return "Device{" +
- "id=" + id +
- ", devcode=" + devcode +
- ", deviceName=" + deviceName +
- ", onlineState=" + onlineState +
- ", deviceType=" + deviceType +
- ", valid=" + valid +
- ", installDate=" + installDate +
- ", logtime=" + logtime +
- "}";
- }
-}
diff --git a/src/main/java/com/casic/service/AlarmRecordFly.java b/src/main/java/com/casic/service/AlarmRecordFly.java
new file mode 100644
index 0000000..1aa80cf
--- /dev/null
+++ b/src/main/java/com/casic/service/AlarmRecordFly.java
@@ -0,0 +1,26 @@
+package com.casic.service;
+
+import com.casic.entity.AlarmRecord;
+
+public class AlarmRecordFly {
+
+ private static AlarmRecord alarmRecord;
+
+ static {
+ alarmRecord = new AlarmRecord();
+ alarmRecord.setIssend("0");
+ alarmRecord.setDeviceTypeName("家用可燃气体探测仪");
+ alarmRecord.setIssend("0");
+ alarmRecord.setItemname("default");
+ alarmRecord.setMessage("1");
+ alarmRecord.setMessageStatus("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setRecordcode("0");
+ alarmRecord.setActive(1);
+ }
+
+ public static AlarmRecord getAlarmRecord() {
+ return alarmRecord;
+ }
+
+}
diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
index d80102b..c7b8372 100644
--- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java
@@ -1,53 +1,35 @@
package com.casic.service.impl;
-import com.alibaba.druid.util.StringUtils;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.dao.AlarmRecordsMapper;
-import com.casic.dao.DataGasMapper;
-import com.casic.dao.DeviceMapper;
-import com.casic.dao.impl.AlarmJobDao;
-import com.casic.entity.AlarmJob;
-import com.casic.entity.AlarmRecords;
-import com.casic.entity.DataGasDector;
-import com.casic.entity.Device;
+import com.casic.dao.ButaneDataMapper;
+import com.casic.entity.AlarmRecord;
+import com.casic.entity.ButaneData;
import com.casic.model.ResponseData;
+import com.casic.service.AlarmRecordFly;
import com.casic.service.DeviceService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import xyz.downgoon.snowflake.Snowflake;
-import javax.annotation.Resource;
import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
@Slf4j
@Service
+@RequiredArgsConstructor
public class DeviceServiceImpl implements DeviceService {
-
- @Value("${casic.device.gas-dector.enable-local}")
- private Boolean enableLocal;
- @Value("${casic.device.gas-dector.type}")
- private Long deviceType;
- @Resource
- private DataGasMapper dataGasMapper;
- @Resource
- private AlarmRecordsMapper alarmRecordsMapper;
- @Resource
- private DeviceMapper deviceMapper;
- @Autowired
- private AlarmJobDao alarmJobDao;
+ private final ButaneDataMapper butaneDataMapper;
+ private final AlarmRecordsMapper alarmRecordsMapper;
private static Snowflake snowflake = new Snowflake(0, 2);
@Override
public ResponseData testMysql() {
+
ResponseData responseData = new ResponseData();
responseData.setMessage("保存成功");
responseData.setCode(1);
@@ -62,14 +44,12 @@
public ResponseData saveDataGas(Map receiveData) {
ResponseData responseData = new ResponseData();
try {
- Map payloadData;
+ Map payloadData = receiveData;
if (receiveData.containsKey("payload")) {
payloadData = (Map) receiveData.get("payload");
- }else{
- payloadData=receiveData;
}
- this.flagSelectProcessor("eventType", payloadData, () -> gasStatusUpdate(payloadData))
- .flagSelectProcessor("gas_sample_value", payloadData, () -> dealNormalData(receiveData));
+ this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData))
+ .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData));
responseData.setCode(200);
responseData.setMessage("保存成功");
} catch (Exception dex) {
@@ -95,99 +75,77 @@
* @return
*/
private Boolean gasStatusUpdate(Map receiveData) {
- Long lonTimetemp = Long.valueOf(receiveData.get("timestamp").toString());
- String onlindeStatus = receiveData.get("eventType").toString();
- String devcode = receiveData.get("imei").toString();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("devcode", devcode);
- queryWrapper.eq("valid", 1);
- Device device = new Device();
- if (!StringUtils.isEmpty(onlindeStatus)) {
- device.setOnlineState(onlindeStatus);
- Date logTime = new Date();
- logTime.setTime(lonTimetemp);
- device.setLogtime(logTime);
- deviceMapper.update(device, queryWrapper);
- return true;
+ AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord();
+ Map payloadData = (Map) receiveData.get("payload");
+ //判断事件类型 0正常 1低报 2高报
+ String alarmSituation = payloadData.get("gas_sensor_state").toString();
+ String devcode = receiveData.get("IMEI").toString();
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ //构建数据
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .build();
+ populateTime(receiveData, butaneData, alarmRecord);
+ switch (alarmSituation) {
+ case "0":
+ butaneData.setDescn("状态正常");
+ butaneData.setStatus("0");
+ break;
+ default:
+ //产生新的报警,消除报警
+ butaneData.setDescn("家用燃气报警");
+ butaneData.setStatus("1");
+ alarmRecord.setDbid(null);
+ alarmRecord.setDeviceCode(devcode);
+ alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode));
+ alarmRecordsMapper.insert(alarmRecord);
}
- return false;
+ butaneDataMapper.insert(butaneData);
+ return true;
}
public Boolean dealNormalData(Map receiveData) {
String devcode = receiveData.get("IMEI").toString();
- if (!StringUtils.isEmpty(devcode)) {
- Map deviceMap = deviceMapper.getWellCode(devcode);
- //保存数据,无论是否有设备在库内
- DataGasDector dataGasDector = this.saveNormalData(receiveData, deviceMap);
- if (ObjectUtils.isEmpty(deviceMap)) {
- log.info("没有该设备编号录入" + devcode);
- if (enableLocal) {
- return true;
- }
- }
- //自动消除报警
- this.alarmRecordsMapper.clearAlarm(devcode);
- this.dataTaskJudge(deviceMap, dataGasDector);
- return true;
+ //第一条上来,消除报警
+ clearAlarmData(devcode);
+ ButaneData butaneData = ButaneData.builder()
+ .devcode(devcode)
+ .dbid(snowflake.nextId())
+ .descn("状态正常")
+ .status("0")
+ .build();
+ if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
+ butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ } else {
+ butaneData.setLogtime(new Date());
}
+ butaneDataMapper.insert(butaneData);
return false;
}
- private DataGasDector saveNormalData(Map receiveData, Map deviceMap) {
- DataGasDector dataGasDector = new DataGasDector();
- dataGasDector.setId(snowflake.nextId());
- dataGasDector.setDevcode(receiveData.get("IMEI").toString());
- dataGasDector.setWellCode(!ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? deviceMap.get("wellCode").toString() : "");
- dataGasDector.setLogtime(new Date());
+ private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) {
if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) {
- dataGasDector.setUptime(new Date(Long.valueOf(receiveData.get("timestamp").toString())));
+ Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString()));
+ butaneData.setLogtime(logtime);
+ alarmRecord.setRecorddate(logtime);
} else {
- dataGasDector.setUptime(new Date());
+ alarmRecord.setRecorddate(new Date());
+ butaneData.setLogtime(new Date());
}
- Map gascontent = (Map)receiveData.get("payload");
- if (!ObjectUtils.isEmpty(gascontent)) {
- if (gascontent.containsKey("gas_sample_value")) {
- dataGasDector.setStrength(gascontent.get("gas_sample_value").toString());
- }
- }
- dataGasMapper.insert(dataGasDector);
- return dataGasDector;
}
- /**
- * 报警存库
- */
- private void dataTaskJudge(Map deviceMap, DataGasDector dataGasDector) {
- List> alarmLevelList = dataGasMapper.getAlarmLevelList(deviceType);
- String wellCode = dataGasDector.getWellCode();
- Long deviceId = !ObjectUtils.isEmpty(deviceMap) && deviceMap.containsKey("wellCode") ? Long.valueOf(String.valueOf(deviceMap.get("deviceId"))) : -1;
- final String gasMsgContent = dataGasMapper.getGasMsgContent(deviceType);
- for (Map alarmLevelMap : alarmLevelList) {
- if (Float.valueOf(dataGasDector.getStrength()) > Float.valueOf(String.valueOf(alarmLevelMap.get("high_value")))) {
- AlarmRecords alarmRecord = new AlarmRecords();
- alarmRecord.setId(snowflake.nextId());
- alarmRecord.setDeviceId(deviceId);
- alarmRecord.setDevcode(dataGasDector.getDevcode());
- alarmRecord.setWellCode(wellCode);
- alarmRecord.setAlarmType("1"); // 业务报警
- alarmRecord.setAlarmContent(gasMsgContent);
- alarmRecord.setAlarmValue(dataGasDector.getStrength());
- alarmRecord.setAlarmTime(new Date());
- alarmRecord.setStatus("1");
- alarmRecord.setAlarmLevel(Integer.valueOf(alarmLevelMap.get("level").toString()));
- alarmRecord.setAlarmMessage(gasMsgContent);
- String jobId = alarmRecordsMapper.isOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- // 超出报警阈值 生成一条报警消息
- if (!StringUtils.isEmpty(jobId)) {
- alarmRecordsMapper.updateOldAlarmRecord(dataGasDector.getDevcode(), gasMsgContent);
- alarmRecord.setJobId(Long.valueOf(jobId));
- } else {
- AlarmJob alarmJob = alarmJobDao.saveData(dataGasDector.getDevcode(), wellCode, "RQZD", "1");
- alarmRecord.setJobId(alarmJob.getId());
- }
- alarmRecordsMapper.insert(alarmRecord);
- break;
- }
+ private void clearAlarmData(String devcode) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("DEVICE_CODE", devcode);
+ try {
+ AlarmRecord alarmRecord = new AlarmRecord();
+ alarmRecord.setActive(0);
+ alarmRecordsMapper.update(alarmRecord, queryWrapper);
+ } catch (Exception e) {
+ log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e);
}
}
+
}
diff --git a/src/main/java/com/casic/util/ConestUtil.java b/src/main/java/com/casic/util/ConestUtil.java
deleted file mode 100644
index 2a4d305..0000000
--- a/src/main/java/com/casic/util/ConestUtil.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.casic.util;
-
-public class ConestUtil {
-
-
-}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 6755296..4e15de9 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -1,20 +1,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/target/classes/application-dev.yml b/target/classes/application-dev.yml
index 890fffe..a2fd2c5 100644
--- a/target/classes/application-dev.yml
+++ b/target/classes/application-dev.yml
@@ -3,10 +3,10 @@
################### spring配置 ###################
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://111.198.10.15:11102/smartwell_gdt?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8&&allowMultiQueries=true&&useSSL=true
- username: root
- password: Casic203!
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@11.100.6.183:1521:orcl
+ username: gzsg
+ password: gzsg
session:
store-type: redis
redis:
diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class
index 0813269..c9aea71 100644
--- a/target/classes/com/casic/controller/DeviceController.class
+++ b/target/classes/com/casic/controller/DeviceController.class
Binary files differ
diff --git a/target/classes/com/casic/dao/DataGasMapper.class b/target/classes/com/casic/dao/DataGasMapper.class
deleted file mode 100644
index b9404b1..0000000
--- a/target/classes/com/casic/dao/DataGasMapper.class
+++ /dev/null
Binary files differ
diff --git a/target/classes/com/casic/dao/DeviceMapper.class b/target/classes/com/casic/dao/DeviceMapper.class
deleted file mode 100644
index a2d1f17..0000000
--- a/target/classes/com/casic/dao/DeviceMapper.class
+++ /dev/null
Binary files differ
diff --git a/target/classes/com/casic/service/impl/DeviceServiceImpl.class b/target/classes/com/casic/service/impl/DeviceServiceImpl.class
index 13b11a1..2d27006 100644
--- a/target/classes/com/casic/service/impl/DeviceServiceImpl.class
+++ b/target/classes/com/casic/service/impl/DeviceServiceImpl.class
Binary files differ