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> 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/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/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/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/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/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/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/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/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/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/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/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