diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/resp/LiquidResponse.java b/src/main/java/org/well/well/resp/LiquidResponse.java
index 6541017..5dc5dc0 100644
--- a/src/main/java/org/well/well/resp/LiquidResponse.java
+++ b/src/main/java/org/well/well/resp/LiquidResponse.java
@@ -27,7 +27,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType")) || (mType[3].equals(json.get("mType")))) {//处理上报数据
liquidManager.processNormalData(jsonObject, devCode);
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/resp/LiquidResponse.java b/src/main/java/org/well/well/resp/LiquidResponse.java
index 6541017..5dc5dc0 100644
--- a/src/main/java/org/well/well/resp/LiquidResponse.java
+++ b/src/main/java/org/well/well/resp/LiquidResponse.java
@@ -27,7 +27,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType")) || (mType[3].equals(json.get("mType")))) {//处理上报数据
liquidManager.processNormalData(jsonObject, devCode);
diff --git a/src/main/java/org/well/well/resp/MethaneResponse.java b/src/main/java/org/well/well/resp/MethaneResponse.java
index 3d4ae4a..d6a2fbd 100644
--- a/src/main/java/org/well/well/resp/MethaneResponse.java
+++ b/src/main/java/org/well/well/resp/MethaneResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
methaneManager.processNormalData(jsonObject,devCode);
} else if (mType[1].equals(json.get("mType"))) {//存储报警事件
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/resp/LiquidResponse.java b/src/main/java/org/well/well/resp/LiquidResponse.java
index 6541017..5dc5dc0 100644
--- a/src/main/java/org/well/well/resp/LiquidResponse.java
+++ b/src/main/java/org/well/well/resp/LiquidResponse.java
@@ -27,7 +27,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType")) || (mType[3].equals(json.get("mType")))) {//处理上报数据
liquidManager.processNormalData(jsonObject, devCode);
diff --git a/src/main/java/org/well/well/resp/MethaneResponse.java b/src/main/java/org/well/well/resp/MethaneResponse.java
index 3d4ae4a..d6a2fbd 100644
--- a/src/main/java/org/well/well/resp/MethaneResponse.java
+++ b/src/main/java/org/well/well/resp/MethaneResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
methaneManager.processNormalData(jsonObject,devCode);
} else if (mType[1].equals(json.get("mType"))) {//存储报警事件
diff --git a/src/main/java/org/well/well/resp/WasteGasResponse.java b/src/main/java/org/well/well/resp/WasteGasResponse.java
index 199a6b0..820b1a2 100644
--- a/src/main/java/org/well/well/resp/WasteGasResponse.java
+++ b/src/main/java/org/well/well/resp/WasteGasResponse.java
@@ -26,7 +26,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wasteGasManager.processNormalData(jsonObject,devCode);
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/resp/LiquidResponse.java b/src/main/java/org/well/well/resp/LiquidResponse.java
index 6541017..5dc5dc0 100644
--- a/src/main/java/org/well/well/resp/LiquidResponse.java
+++ b/src/main/java/org/well/well/resp/LiquidResponse.java
@@ -27,7 +27,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType")) || (mType[3].equals(json.get("mType")))) {//处理上报数据
liquidManager.processNormalData(jsonObject, devCode);
diff --git a/src/main/java/org/well/well/resp/MethaneResponse.java b/src/main/java/org/well/well/resp/MethaneResponse.java
index 3d4ae4a..d6a2fbd 100644
--- a/src/main/java/org/well/well/resp/MethaneResponse.java
+++ b/src/main/java/org/well/well/resp/MethaneResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
methaneManager.processNormalData(jsonObject,devCode);
} else if (mType[1].equals(json.get("mType"))) {//存储报警事件
diff --git a/src/main/java/org/well/well/resp/WasteGasResponse.java b/src/main/java/org/well/well/resp/WasteGasResponse.java
index 199a6b0..820b1a2 100644
--- a/src/main/java/org/well/well/resp/WasteGasResponse.java
+++ b/src/main/java/org/well/well/resp/WasteGasResponse.java
@@ -26,7 +26,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wasteGasManager.processNormalData(jsonObject,devCode);
diff --git a/src/main/java/org/well/well/resp/WellResponse.java b/src/main/java/org/well/well/resp/WellResponse.java
index 8003f20..45be4c0 100644
--- a/src/main/java/org/well/well/resp/WellResponse.java
+++ b/src/main/java/org/well/well/resp/WellResponse.java
@@ -23,7 +23,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wellManager.processNormalData(jsonObject,devCode);
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/resp/LiquidResponse.java b/src/main/java/org/well/well/resp/LiquidResponse.java
index 6541017..5dc5dc0 100644
--- a/src/main/java/org/well/well/resp/LiquidResponse.java
+++ b/src/main/java/org/well/well/resp/LiquidResponse.java
@@ -27,7 +27,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType")) || (mType[3].equals(json.get("mType")))) {//处理上报数据
liquidManager.processNormalData(jsonObject, devCode);
diff --git a/src/main/java/org/well/well/resp/MethaneResponse.java b/src/main/java/org/well/well/resp/MethaneResponse.java
index 3d4ae4a..d6a2fbd 100644
--- a/src/main/java/org/well/well/resp/MethaneResponse.java
+++ b/src/main/java/org/well/well/resp/MethaneResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
methaneManager.processNormalData(jsonObject,devCode);
} else if (mType[1].equals(json.get("mType"))) {//存储报警事件
diff --git a/src/main/java/org/well/well/resp/WasteGasResponse.java b/src/main/java/org/well/well/resp/WasteGasResponse.java
index 199a6b0..820b1a2 100644
--- a/src/main/java/org/well/well/resp/WasteGasResponse.java
+++ b/src/main/java/org/well/well/resp/WasteGasResponse.java
@@ -26,7 +26,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wasteGasManager.processNormalData(jsonObject,devCode);
diff --git a/src/main/java/org/well/well/resp/WellResponse.java b/src/main/java/org/well/well/resp/WellResponse.java
index 8003f20..45be4c0 100644
--- a/src/main/java/org/well/well/resp/WellResponse.java
+++ b/src/main/java/org/well/well/resp/WellResponse.java
@@ -23,7 +23,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wellManager.processNormalData(jsonObject,devCode);
diff --git a/src/main/java/org/well/well/util/ResponseResolver.java b/src/main/java/org/well/well/util/ResponseResolver.java
index 7fb9125..ddb6e49 100644
--- a/src/main/java/org/well/well/util/ResponseResolver.java
+++ b/src/main/java/org/well/well/util/ResponseResolver.java
@@ -35,7 +35,7 @@
public static AbstractResponse makeResponse(String content) {
JSONObject json = JSONObject.fromObject(content);
if (null == json) return null;
- AbstractResponse response = abstractResponseHashMap.get(json.get("devType").toString());
+ AbstractResponse response = abstractResponseHashMap.get(json.getString("devType"));
return response;
}
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/resp/LiquidResponse.java b/src/main/java/org/well/well/resp/LiquidResponse.java
index 6541017..5dc5dc0 100644
--- a/src/main/java/org/well/well/resp/LiquidResponse.java
+++ b/src/main/java/org/well/well/resp/LiquidResponse.java
@@ -27,7 +27,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType")) || (mType[3].equals(json.get("mType")))) {//处理上报数据
liquidManager.processNormalData(jsonObject, devCode);
diff --git a/src/main/java/org/well/well/resp/MethaneResponse.java b/src/main/java/org/well/well/resp/MethaneResponse.java
index 3d4ae4a..d6a2fbd 100644
--- a/src/main/java/org/well/well/resp/MethaneResponse.java
+++ b/src/main/java/org/well/well/resp/MethaneResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
methaneManager.processNormalData(jsonObject,devCode);
} else if (mType[1].equals(json.get("mType"))) {//存储报警事件
diff --git a/src/main/java/org/well/well/resp/WasteGasResponse.java b/src/main/java/org/well/well/resp/WasteGasResponse.java
index 199a6b0..820b1a2 100644
--- a/src/main/java/org/well/well/resp/WasteGasResponse.java
+++ b/src/main/java/org/well/well/resp/WasteGasResponse.java
@@ -26,7 +26,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wasteGasManager.processNormalData(jsonObject,devCode);
diff --git a/src/main/java/org/well/well/resp/WellResponse.java b/src/main/java/org/well/well/resp/WellResponse.java
index 8003f20..45be4c0 100644
--- a/src/main/java/org/well/well/resp/WellResponse.java
+++ b/src/main/java/org/well/well/resp/WellResponse.java
@@ -23,7 +23,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wellManager.processNormalData(jsonObject,devCode);
diff --git a/src/main/java/org/well/well/util/ResponseResolver.java b/src/main/java/org/well/well/util/ResponseResolver.java
index 7fb9125..ddb6e49 100644
--- a/src/main/java/org/well/well/util/ResponseResolver.java
+++ b/src/main/java/org/well/well/util/ResponseResolver.java
@@ -35,7 +35,7 @@
public static AbstractResponse makeResponse(String content) {
JSONObject json = JSONObject.fromObject(content);
if (null == json) return null;
- AbstractResponse response = abstractResponseHashMap.get(json.get("devType").toString());
+ AbstractResponse response = abstractResponseHashMap.get(json.getString("devType"));
return response;
}
diff --git a/src/main/resources/wellSensor/application.properties b/src/main/resources/wellSensor/application.properties
index b441c56..61ea57f 100644
--- a/src/main/resources/wellSensor/application.properties
+++ b/src/main/resources/wellSensor/application.properties
@@ -88,7 +88,7 @@
#============================================================================
# log
#============================================================================
-log.base=..//logs//sink.log
+log.base=D://logs//sink.log
log.pattern.default=%d %5p [%t] %c:%L - %m%n
log.console.jansi=true
log.file.enable=true
diff --git a/pom.xml b/pom.xml
index 8913eea..f7c0fa6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,17 +48,6 @@
5.1.25
-
-
-
-
-
-
-
-
-
-
-
org.springframework
diff --git a/src/main/java/org/well/well/domain/AlarmJob.java b/src/main/java/org/well/well/domain/AlarmJob.java
index a992d85..8a0eb25 100644
--- a/src/main/java/org/well/well/domain/AlarmJob.java
+++ b/src/main/java/org/well/well/domain/AlarmJob.java
@@ -22,7 +22,6 @@
* 主键
*/
@Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
/**
diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java
index 7ffc8eb..5b77c6e 100644
--- a/src/main/java/org/well/well/domain/AlarmRecord.java
+++ b/src/main/java/org/well/well/domain/AlarmRecord.java
@@ -46,7 +46,7 @@
public AlarmRecord(Long jobId, String alarmType,Integer alarmLevel, String alarmContent, String alarmValue,
Device device, String deviceCode, String wellCode, Date alarmTime,String alarmMsg) {
this.id= SnowFlakeUtil.getId();
- this.jobId = jobId;
+ this.jobId = SnowFlakeUtil.getId();
this.alarmType = alarmType;
this.alarmLevel = alarmLevel;
this.alarmContent = alarmContent;
diff --git a/src/main/java/org/well/well/kafka/KafkaConsumer.java b/src/main/java/org/well/well/kafka/KafkaConsumer.java
index c0f154e..6cc8690 100644
--- a/src/main/java/org/well/well/kafka/KafkaConsumer.java
+++ b/src/main/java/org/well/well/kafka/KafkaConsumer.java
@@ -1,7 +1,6 @@
package org.well.well.kafka;
import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -13,7 +12,7 @@
import java.util.concurrent.Executors;
public class KafkaConsumer implements MessageListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(TopicApiUseKafkaListener.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
private ClassPathXmlApplicationContext ac;
private static ExecutorService threadPool = Executors.newCachedThreadPool();
@@ -34,11 +33,6 @@
String value = record.value();
LOGGER.info("######收到kafka消息:" + value);
-
- System.out.println("######收到kafka消息:" + value);
- System.out.println("######消费数据条数:" + (++i));
-
-
AbstractResponse resp = ResponseResolver.makeResponse(value);
if (resp == null) return;
if (ac == null) intContext();
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index 698284d..31bbc64 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -10,6 +10,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.Device;
+import org.well.well.util.SnowFlakeUtil;
import java.util.Date;
import java.util.HashMap;
@@ -54,8 +55,9 @@
}
}
- public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ public AlarmJob saveData(Long jobId,String devCode, String wellCode, String devTypeName, String jobType) {
AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setId(jobId);
alarmJob.setDevcode(devCode);
alarmJob.setWellCode(wellCode);
alarmJob.setJobStatus("0");
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 61aea14..74c2cbd 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -54,22 +55,23 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("gas")) {
continue;
}
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
//1.存数据
@@ -85,7 +87,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -111,14 +113,22 @@
if (device == null) {
return;
}
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -130,8 +140,8 @@
}
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 740045b..882dc4b 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -13,10 +13,7 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.LGLiquid;
+import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
import org.well.well.util.SnowFlakeUtil;
@@ -44,7 +41,8 @@
private DeviceManager deviceManager;
@Resource
private BusWellManager busWellManager;
-
+ @Resource
+ private AlarmJobManager alarmJobManager;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
@@ -69,21 +67,22 @@
save(liquid);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+liquidDTO.getUptime());
}
return resultMap;
}
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
if (null == ((JSONObject) jsonArray.get(i)).get("liquid")) {
continue;
}
- String level = ((JSONObject) jsonArray.get(i)).get("liquid").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ String level = ((JSONObject) jsonArray.get(i)).getString("liquid");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
if (StringUtils.isBlank(level)) continue;
Float levelFloat = new BigDecimal(level).floatValue() / 100;
@@ -126,9 +125,14 @@
if (device == null) {
return;
}
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null?SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
+ }
//2.写入新的告警
- alarmRecordManager.saveData(null, "1", null,
+ alarmRecordManager.saveData(jobId, "1", null,
alarmContent, level, device,
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
@@ -137,6 +141,7 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 714a156..e12ac06 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -51,7 +51,7 @@
Map resultMap = new HashMap();
try {
- Long id=SnowFlakeUtil.getId();
+ Long id = SnowFlakeUtil.getId();
Liquid liquid = new Liquid();
liquid.setDbId(id);
liquid.setDevId(liquidDTO.getDevCode());
@@ -88,36 +88,35 @@
//3.清离线
deviceManager.clearOffline(devCode);
//4.清除设备告警
- alarmRecordManager.clearAlarmByNormalData(devCode, "2");
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());//获取报警阈值
if (Float.valueOf(level) >= Float.valueOf(thresh)) {//超限
Device device = deviceManager.getDeviceByDevCode(devCode);
- AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
//获取报警等级
String alarmContent = LiquidAlarmEnum.OVER_THRESH.getName();
- if (null != alarmRecord) {//已存在报警
- //1.清除上一条告警记录
- alarmRecordManager.clearAlarm(devCode, "1", "");
- alarmRecordManager.saveData(null, "1", null, alarmContent,
- level, alarmRecord.getDevice(), devCode, alarmRecord.getWellCode(), upTime, alarmContent);
- } else {//不存在上一条报警时
- if (device == null) return;//未注册设备舍弃
- //2.写入新的告警
- alarmRecordManager.saveData( null, "1", null,
- alarmContent, level, device,
- devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
+ //不存在上一条报警时
+ if (device == null) return;//未注册设备舍弃
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
+ if (alarmJob == null) {
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Liquid.toString(), "1");
+ }
+ //2.写入新的告警
+ alarmRecordManager.saveData(jobId, "1", null,
+ alarmContent, level, device,
+ devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
- ThreadUtil.excuteMsg( null, alarmContent, busWell == null ? "" : busWell.getWellCode());
- }
+ ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+
} else {//未超限
- //1.清除之前的报警
- alarmRecordManager.clearAlarmByNormalData(devCode, "1");
- //2.结束之前的工单
-// alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
+ //1.结束之前的工单
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index 3f0cfee..dee7fad 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.util.Map;
@@ -86,7 +87,7 @@
Device device = deviceManager.getDeviceByDevCode(devCode);
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.Meter.toString(),"1");
//2.写入新的告警
alarmRecordManager.saveData(alarmJob.getId(), "1", null,
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index 641e24c..ee90c14 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -2,26 +2,25 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.well.well.AlarmEnumDTO.MethaneAlarmEnum;
+import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
+import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -58,6 +57,7 @@
save(methane);
} catch (Exception e) {
e.printStackTrace();
+ logger.error("----uptime时间转换失败-----:"+uptime);
}
return resultMap;
}
@@ -65,16 +65,14 @@
@Transactional(rollbackFor = Exception.class)
public void processNormalData(JSONObject jsonObject, String devCode) {
- String cell = jsonObject.get("cell").toString();
- JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ String cell = jsonObject.getString("cell");
+ JSONArray jsonArray = jsonObject.getJSONArray("datas");
BusWell busWell = busWellManager.getWellByDevCode(devCode);
for (int i = 0; i < jsonArray.size(); i++) {
try {
- String gas = ((JSONObject) jsonArray.get(i)).get("gas").toString();
- String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
-// if(isExist(devCode,upTime)) continue;//去重
+ String gas = ((JSONObject) jsonArray.get(i)).getString("gas");
+ String upTime = ((JSONObject) jsonArray.get(i)).getString("uptime");
gas = String.format("%.2f", Double.valueOf(gas));
-
//1.存数据
saveData(devCode, busWell == null ? "" : busWell.getWellCode(), gas, cell, upTime);//存储采集数据
//2.有无超限处理流程(判断最后一条数据)
@@ -85,7 +83,7 @@
List ruleRankList = alarmRuleManager.getRuleRank(devCode);
float rankThresh = 0;
String isAlarm = "1";
- if (ruleRankList.size() > 0) {
+ if (ruleRankList.size() > 0&&ruleRankList.get(0)[0]!=null) {
Object rankValue = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[2];
rankThresh = rankValue != null ? Float.valueOf(rankValue.toString()) : 0;
isAlarm = ((Object[]) ruleRankList.get(ruleRankList.size() - 1))[4].toString();
@@ -107,14 +105,21 @@
}
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "1");
+ }
//1.写入新的告警
- alarmRecordManager.saveData(null, "1", alarmLevel,
+ alarmRecordManager.saveData(jobId, "1", alarmLevel,
alarmContent, gas, device,
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//2.toDo:向app推送报警消息
ThreadUtil.excuteMsg(null, alarmContent, busWell == null ? "" : busWell.getWellCode());
+ }else {
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
//3.清离线
deviceManager.clearOffline(devCode);
@@ -128,8 +133,8 @@
public void processAlarmData(JSONObject jsonObject, String devCode) {
- JSONArray jsonArray = (JSONArray) jsonObject.get("eventType");
- String logTime = (jsonObject.get("logTime")).toString();
+ JSONArray jsonArray = jsonObject.getJSONArray("eventType");
+ String logTime = jsonObject.getString("logTime");
for (int i = 0; i < jsonArray.size(); i++) {
try {
//1.清除同类型的报警信息
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index a61fc08..4ef351c 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -14,10 +14,8 @@
import org.well.well.core.util.DateUtils;
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
-import org.well.well.domain.AlarmRecord;
-import org.well.well.domain.BusWell;
-import org.well.well.domain.Device;
-import org.well.well.domain.NoiseDig;
+import org.well.well.domain.*;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -126,7 +124,12 @@
if (device == null) return;//未注册设备舍弃
-
+ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
+ Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ if(alarmJob==null){
+ alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.Dig.toString(), "1");
+ }
//2.写入新的告警
alarmRecordManager.saveData(null, "1", alarmLevel,
alarmContent, val, device,
@@ -139,6 +142,8 @@
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
+ alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
+
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index ed44d6b..c09b306 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -15,6 +15,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -140,7 +141,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.TempHumi.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell.getWellCode());
@@ -158,7 +159,7 @@
AlarmJob alarmJob =null;
if("1".equals(isJob)){
//1.若开启工单,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode,
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode,
busWell.getWellCode(), DeviceTypeEnum.TempHumi.toString(),"1");
}
@@ -206,7 +207,7 @@
//3.若无工单写入新的工单
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode,"0");
if (null == alarmJob) {
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.TempHumi.toString(),"0");
}
//4.写入新的报警
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index 43837db..917f45c 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.util.PushList;
+import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
import java.io.IOException;
@@ -193,7 +194,7 @@
Long jobID = alarmRecord.getJobId();
if ("1".equals(isJob) && null == jobID) {
//生成新的工单
- AlarmJob alarmJob = alarmJobManager.saveData(devCode, alarmRecord.getWellCode(),
+ AlarmJob alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, alarmRecord.getWellCode(),
DeviceTypeEnum.WasteGas.toString(), "1");
jobID=alarmJob.getId();
ThreadUtil.excuteMsg(jobID, "",busWell == null ? "" : busWell.getWellCode());
@@ -211,7 +212,7 @@
AlarmJob alarmJob = null;
if ("1".equals(isJob)) {
//1.开启工单的话,生成新的工单
- alarmJob = alarmJobManager.saveData(devCode, busWell != null ?
+ alarmJob = alarmJobManager.saveData(SnowFlakeUtil.getId(),devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
}
diff --git a/src/main/java/org/well/well/resp/LGResponse.java b/src/main/java/org/well/well/resp/LGResponse.java
index 6f7ae9d..8a16698 100644
--- a/src/main/java/org/well/well/resp/LGResponse.java
+++ b/src/main/java/org/well/well/resp/LGResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
lgGasManager.processNormalData(jsonObject,devCode);
lgLiquidManager.processNormalData(jsonObject,devCode);
@@ -48,8 +47,8 @@
}
else if (mType[4].equals(json.get("mType"))) {//三码存储
try {
- String imei = jsonObject.get("imei").toString();
- String iccid = jsonObject.get("iccid").toString();
+ String imei = jsonObject.getString("imei");
+ String iccid = jsonObject.getString("iccid");
imeiManager.saveData(devCode,imei,iccid);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/org/well/well/resp/LiquidResponse.java b/src/main/java/org/well/well/resp/LiquidResponse.java
index 6541017..5dc5dc0 100644
--- a/src/main/java/org/well/well/resp/LiquidResponse.java
+++ b/src/main/java/org/well/well/resp/LiquidResponse.java
@@ -27,7 +27,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType")) || (mType[3].equals(json.get("mType")))) {//处理上报数据
liquidManager.processNormalData(jsonObject, devCode);
diff --git a/src/main/java/org/well/well/resp/MethaneResponse.java b/src/main/java/org/well/well/resp/MethaneResponse.java
index 3d4ae4a..d6a2fbd 100644
--- a/src/main/java/org/well/well/resp/MethaneResponse.java
+++ b/src/main/java/org/well/well/resp/MethaneResponse.java
@@ -26,9 +26,8 @@
DeviceConfigManager deviceConfigManager = ac.getBean(DeviceConfigManager.class);
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
- String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
- JSONObject jsonObject = (JSONObject) json.get("mBody");
+ String devCode = json.getString("devCode");
+ JSONObject jsonObject = json.getJSONObject("mBody");
if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据
methaneManager.processNormalData(jsonObject,devCode);
} else if (mType[1].equals(json.get("mType"))) {//存储报警事件
diff --git a/src/main/java/org/well/well/resp/WasteGasResponse.java b/src/main/java/org/well/well/resp/WasteGasResponse.java
index 199a6b0..820b1a2 100644
--- a/src/main/java/org/well/well/resp/WasteGasResponse.java
+++ b/src/main/java/org/well/well/resp/WasteGasResponse.java
@@ -26,7 +26,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wasteGasManager.processNormalData(jsonObject,devCode);
diff --git a/src/main/java/org/well/well/resp/WellResponse.java b/src/main/java/org/well/well/resp/WellResponse.java
index 8003f20..45be4c0 100644
--- a/src/main/java/org/well/well/resp/WellResponse.java
+++ b/src/main/java/org/well/well/resp/WellResponse.java
@@ -23,7 +23,6 @@
ImeiManager imeiManager = ac.getBean(ImeiManager.class);
JSONObject json = JSONObject.fromObject(this.getContent());
String devCode = json.get("devCode").toString();
- logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------");
JSONObject jsonObject = (JSONObject) json.get("mBody");
if (mType[0].equals(json.get("mType"))) {//存储上报数据
wellManager.processNormalData(jsonObject,devCode);
diff --git a/src/main/java/org/well/well/util/ResponseResolver.java b/src/main/java/org/well/well/util/ResponseResolver.java
index 7fb9125..ddb6e49 100644
--- a/src/main/java/org/well/well/util/ResponseResolver.java
+++ b/src/main/java/org/well/well/util/ResponseResolver.java
@@ -35,7 +35,7 @@
public static AbstractResponse makeResponse(String content) {
JSONObject json = JSONObject.fromObject(content);
if (null == json) return null;
- AbstractResponse response = abstractResponseHashMap.get(json.get("devType").toString());
+ AbstractResponse response = abstractResponseHashMap.get(json.getString("devType"));
return response;
}
diff --git a/src/main/resources/wellSensor/application.properties b/src/main/resources/wellSensor/application.properties
index b441c56..61ea57f 100644
--- a/src/main/resources/wellSensor/application.properties
+++ b/src/main/resources/wellSensor/application.properties
@@ -88,7 +88,7 @@
#============================================================================
# log
#============================================================================
-log.base=..//logs//sink.log
+log.base=D://logs//sink.log
log.pattern.default=%d %5p [%t] %c:%L - %m%n
log.console.jansi=true
log.file.enable=true
diff --git a/target/classes/wellSensor/application.properties b/target/classes/wellSensor/application.properties
index b441c56..61ea57f 100644
--- a/target/classes/wellSensor/application.properties
+++ b/target/classes/wellSensor/application.properties
@@ -88,7 +88,7 @@
#============================================================================
# log
#============================================================================
-log.base=..//logs//sink.log
+log.base=D://logs//sink.log
log.pattern.default=%d %5p [%t] %c:%L - %m%n
log.console.jansi=true
log.file.enable=true