diff --git a/pom.xml b/pom.xml
index f7c0fa6..d83c03a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,19 @@
flume-ng-configuration
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/pom.xml b/pom.xml
index f7c0fa6..d83c03a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,19 @@
flume-ng-configuration
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/pom.xml b/pom.xml
index f7c0fa6..d83c03a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,19 @@
flume-ng-configuration
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index f7c0fa6..d83c03a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,19 @@
flume-ng-configuration
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/pom.xml b/pom.xml
index f7c0fa6..d83c03a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,19 @@
flume-ng-configuration
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/src/main/java/org/well/well/domain/H2s.java b/src/main/java/org/well/well/domain/H2s.java
new file mode 100644
index 0000000..68f5bb3
--- /dev/null
+++ b/src/main/java/org/well/well/domain/H2s.java
@@ -0,0 +1,143 @@
+package org.well.well.domain;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "data_h2s")
+public class H2s {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 566089135526318711L;
+ private Long dbId;
+ private String devCode; //设备编号
+ private String wellCode; //井编号
+ private String strength; //浓度
+ private String cell; //电池电量
+ private String descn; //状态描述
+ private Timestamp uptime; //采集时间
+ private Timestamp logtime; //记录时间
+ private String pci;
+ private String rsrp;
+ private String snr;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ public Long getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(Long dbId) {
+ this.dbId = dbId;
+ }
+
+ @Column(name = "STRENGTH")
+ public String getStrength() {
+ return strength;
+ }
+
+ public void setStrength(String strength) {
+ this.strength = strength;
+ }
+
+ @Column(name = "DEVCODE")
+ public String getDevCode() {
+ return devCode;
+ }
+
+ public void setDevCode(String devCode) {
+ this.devCode = devCode;
+ }
+
+ @Column(name = "WELL_CODE")
+ public String getWellCode() {
+ return wellCode;
+ }
+
+ public void setWellCode(String wellCode) {
+ this.wellCode = wellCode;
+ }
+
+ @Column(name = "DESCN")
+ public String getDescn() {
+ return descn;
+ }
+
+ public void setDescn(String descn) {
+ this.descn = descn;
+ }
+
+ @Column(name = "CELL")
+ public String getCell() {
+ return cell;
+ }
+
+ public void setCell(String cell) {
+ this.cell = cell;
+ }
+
+ @Column(name = "UPTIME")
+ public Timestamp getUptime() {
+ return uptime;
+ }
+
+ public void setUptime(Timestamp uptime) {
+ this.uptime = uptime;
+ }
+
+ @Column(name = "LOGTIME")
+ public Timestamp getLogtime() {
+ return logtime;
+ }
+
+ public void setLogtime(Timestamp logtime) {
+ this.logtime = logtime;
+ }
+ @Column(name = "PCI")
+ public String getPci() {
+ return pci;
+ }
+
+ public void setPci(String pci) {
+ this.pci = pci;
+ }
+
+ @Column(name = "RSRP")
+ public String getRsrp() {
+ return rsrp;
+ }
+
+ public void setRsrp(String rsrp) {
+ this.rsrp = rsrp;
+ }
+
+ @Column(name = "SNR")
+ public String getSnr() {
+ return snr;
+ }
+
+ public void setSnr(String snr) {
+ this.snr = snr;
+ }
+
+ public H2s() {
+ }
+
+ public H2s(String devCode, String wellCode, String strength, String cell,
+ Timestamp uptime, Timestamp logtime,
+ String pci, String rsrp, String snr) {
+ this.devCode = devCode;
+ this.wellCode=wellCode;
+ this.strength = strength;
+ this.cell = cell;
+ this.uptime = uptime;
+ this.logtime = logtime;
+ this.pci=pci;
+ this.rsrp=rsrp;
+ this.snr=snr;
+ }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index f7c0fa6..d83c03a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,19 @@
flume-ng-configuration
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/src/main/java/org/well/well/domain/H2s.java b/src/main/java/org/well/well/domain/H2s.java
new file mode 100644
index 0000000..68f5bb3
--- /dev/null
+++ b/src/main/java/org/well/well/domain/H2s.java
@@ -0,0 +1,143 @@
+package org.well.well.domain;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "data_h2s")
+public class H2s {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 566089135526318711L;
+ private Long dbId;
+ private String devCode; //设备编号
+ private String wellCode; //井编号
+ private String strength; //浓度
+ private String cell; //电池电量
+ private String descn; //状态描述
+ private Timestamp uptime; //采集时间
+ private Timestamp logtime; //记录时间
+ private String pci;
+ private String rsrp;
+ private String snr;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ public Long getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(Long dbId) {
+ this.dbId = dbId;
+ }
+
+ @Column(name = "STRENGTH")
+ public String getStrength() {
+ return strength;
+ }
+
+ public void setStrength(String strength) {
+ this.strength = strength;
+ }
+
+ @Column(name = "DEVCODE")
+ public String getDevCode() {
+ return devCode;
+ }
+
+ public void setDevCode(String devCode) {
+ this.devCode = devCode;
+ }
+
+ @Column(name = "WELL_CODE")
+ public String getWellCode() {
+ return wellCode;
+ }
+
+ public void setWellCode(String wellCode) {
+ this.wellCode = wellCode;
+ }
+
+ @Column(name = "DESCN")
+ public String getDescn() {
+ return descn;
+ }
+
+ public void setDescn(String descn) {
+ this.descn = descn;
+ }
+
+ @Column(name = "CELL")
+ public String getCell() {
+ return cell;
+ }
+
+ public void setCell(String cell) {
+ this.cell = cell;
+ }
+
+ @Column(name = "UPTIME")
+ public Timestamp getUptime() {
+ return uptime;
+ }
+
+ public void setUptime(Timestamp uptime) {
+ this.uptime = uptime;
+ }
+
+ @Column(name = "LOGTIME")
+ public Timestamp getLogtime() {
+ return logtime;
+ }
+
+ public void setLogtime(Timestamp logtime) {
+ this.logtime = logtime;
+ }
+ @Column(name = "PCI")
+ public String getPci() {
+ return pci;
+ }
+
+ public void setPci(String pci) {
+ this.pci = pci;
+ }
+
+ @Column(name = "RSRP")
+ public String getRsrp() {
+ return rsrp;
+ }
+
+ public void setRsrp(String rsrp) {
+ this.rsrp = rsrp;
+ }
+
+ @Column(name = "SNR")
+ public String getSnr() {
+ return snr;
+ }
+
+ public void setSnr(String snr) {
+ this.snr = snr;
+ }
+
+ public H2s() {
+ }
+
+ public H2s(String devCode, String wellCode, String strength, String cell,
+ Timestamp uptime, Timestamp logtime,
+ String pci, String rsrp, String snr) {
+ this.devCode = devCode;
+ this.wellCode=wellCode;
+ this.strength = strength;
+ this.cell = cell;
+ this.uptime = uptime;
+ this.logtime = logtime;
+ this.pci=pci;
+ this.rsrp=rsrp;
+ this.snr=snr;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index c21a55c..0fc2590 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -68,6 +68,17 @@
save(alarmJob);
return alarmJob;
}
+ public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setDevcode(devCode);
+ alarmJob.setWellCode(wellCode);
+ alarmJob.setJobStatus("0");
+ alarmJob.setCreateTime(new Date());
+ alarmJob.setJobcode(produceJobCode(devTypeName));
+ alarmJob.setJogType(jobType);
+ save(alarmJob);
+ return alarmJob;
+ }
public String produceJobCode(String devTypeName) {
String pre = deviceAlarmMap.get(devTypeName);
diff --git a/pom.xml b/pom.xml
index f7c0fa6..d83c03a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,19 @@
flume-ng-configuration
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/src/main/java/org/well/well/domain/H2s.java b/src/main/java/org/well/well/domain/H2s.java
new file mode 100644
index 0000000..68f5bb3
--- /dev/null
+++ b/src/main/java/org/well/well/domain/H2s.java
@@ -0,0 +1,143 @@
+package org.well.well.domain;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "data_h2s")
+public class H2s {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 566089135526318711L;
+ private Long dbId;
+ private String devCode; //设备编号
+ private String wellCode; //井编号
+ private String strength; //浓度
+ private String cell; //电池电量
+ private String descn; //状态描述
+ private Timestamp uptime; //采集时间
+ private Timestamp logtime; //记录时间
+ private String pci;
+ private String rsrp;
+ private String snr;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ public Long getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(Long dbId) {
+ this.dbId = dbId;
+ }
+
+ @Column(name = "STRENGTH")
+ public String getStrength() {
+ return strength;
+ }
+
+ public void setStrength(String strength) {
+ this.strength = strength;
+ }
+
+ @Column(name = "DEVCODE")
+ public String getDevCode() {
+ return devCode;
+ }
+
+ public void setDevCode(String devCode) {
+ this.devCode = devCode;
+ }
+
+ @Column(name = "WELL_CODE")
+ public String getWellCode() {
+ return wellCode;
+ }
+
+ public void setWellCode(String wellCode) {
+ this.wellCode = wellCode;
+ }
+
+ @Column(name = "DESCN")
+ public String getDescn() {
+ return descn;
+ }
+
+ public void setDescn(String descn) {
+ this.descn = descn;
+ }
+
+ @Column(name = "CELL")
+ public String getCell() {
+ return cell;
+ }
+
+ public void setCell(String cell) {
+ this.cell = cell;
+ }
+
+ @Column(name = "UPTIME")
+ public Timestamp getUptime() {
+ return uptime;
+ }
+
+ public void setUptime(Timestamp uptime) {
+ this.uptime = uptime;
+ }
+
+ @Column(name = "LOGTIME")
+ public Timestamp getLogtime() {
+ return logtime;
+ }
+
+ public void setLogtime(Timestamp logtime) {
+ this.logtime = logtime;
+ }
+ @Column(name = "PCI")
+ public String getPci() {
+ return pci;
+ }
+
+ public void setPci(String pci) {
+ this.pci = pci;
+ }
+
+ @Column(name = "RSRP")
+ public String getRsrp() {
+ return rsrp;
+ }
+
+ public void setRsrp(String rsrp) {
+ this.rsrp = rsrp;
+ }
+
+ @Column(name = "SNR")
+ public String getSnr() {
+ return snr;
+ }
+
+ public void setSnr(String snr) {
+ this.snr = snr;
+ }
+
+ public H2s() {
+ }
+
+ public H2s(String devCode, String wellCode, String strength, String cell,
+ Timestamp uptime, Timestamp logtime,
+ String pci, String rsrp, String snr) {
+ this.devCode = devCode;
+ this.wellCode=wellCode;
+ this.strength = strength;
+ this.cell = cell;
+ this.uptime = uptime;
+ this.logtime = logtime;
+ this.pci=pci;
+ this.rsrp=rsrp;
+ this.snr=snr;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index c21a55c..0fc2590 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -68,6 +68,17 @@
save(alarmJob);
return alarmJob;
}
+ public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setDevcode(devCode);
+ alarmJob.setWellCode(wellCode);
+ alarmJob.setJobStatus("0");
+ alarmJob.setCreateTime(new Date());
+ alarmJob.setJobcode(produceJobCode(devTypeName));
+ alarmJob.setJogType(jobType);
+ save(alarmJob);
+ return alarmJob;
+ }
public String produceJobCode(String devTypeName) {
String pre = deviceAlarmMap.get(devTypeName);
diff --git a/src/main/java/org/well/well/manager/H2SManager.java b/src/main/java/org/well/well/manager/H2SManager.java
new file mode 100644
index 0000000..2bfb5bb
--- /dev/null
+++ b/src/main/java/org/well/well/manager/H2SManager.java
@@ -0,0 +1,165 @@
+package org.well.well.manager;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import org.well.well.base.DeviceTypeEnum;
+import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.DateUtils;
+import org.well.well.domain.AlarmJob;
+import org.well.well.domain.BusWell;
+import org.well.well.domain.Device;
+import org.well.well.domain.H2s;
+import org.well.well.AlarmEnumDTO.H2SAlarmEnum;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class H2SManager extends HibernateEntityDao {
+ @Resource
+ private AlarmRecordManager alarmRecordManager;
+ @Resource
+ private AlarmRuleManager alarmRuleManager;
+ @Resource
+ private DeviceManager deviceManager;
+ @Resource
+ private BusWellManager busWellManager;
+ @Resource
+ private AlarmJobManager alarmJobManager;
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
+
+ public Map saveData(String devcode, String wellCode,
+ String strength, String cell, String uptime,
+ String pci, String rsrp, String snr) {
+
+ Map resultMap = new HashMap();
+ try {
+ H2s h2s = new H2s(devcode, wellCode, strength, cell,
+ new Timestamp((DateUtils.sdf4.parse(DateUtils.DateFormat(uptime)).getTime())),
+ new Timestamp((new Date()).getTime()), pci, rsrp, snr);
+ save(h2s);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return resultMap;
+ }
+
+
+ public void processNormalData(JSONObject jsonObject, String devCode) {
+ String cell = jsonObject.get("cell").toString();
+ String pci = null != jsonObject.get("pci") ? jsonObject.get("pci").toString() : "";
+ String rsrp = null != jsonObject.get("rsrp") ? jsonObject.get("rsrp").toString() : "";
+ String snr = null != jsonObject.get("snr") ? jsonObject.get("snr").toString() : "";
+ JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ BusWell busWell = busWellManager.getWellByDevCode(devCode);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ try {
+ String hs = ((JSONObject) jsonArray.get(i)).get("hs").toString();
+ String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ hs = String.format("%.2f", Double.valueOf(hs));
+
+ //1.存数据
+ saveData(devCode, busWell == null ? "" : busWell.getWellCode(), hs, cell, upTime, pci, rsrp, snr);
+ //2.有无超限处理流程(判断最后一条数据)
+ if (i < jsonArray.size() - 1) {
+ continue;
+ }
+
+ //4.清除设备告警
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
+ //获取报警阈值
+ List
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/src/main/java/org/well/well/domain/H2s.java b/src/main/java/org/well/well/domain/H2s.java
new file mode 100644
index 0000000..68f5bb3
--- /dev/null
+++ b/src/main/java/org/well/well/domain/H2s.java
@@ -0,0 +1,143 @@
+package org.well.well.domain;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "data_h2s")
+public class H2s {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 566089135526318711L;
+ private Long dbId;
+ private String devCode; //设备编号
+ private String wellCode; //井编号
+ private String strength; //浓度
+ private String cell; //电池电量
+ private String descn; //状态描述
+ private Timestamp uptime; //采集时间
+ private Timestamp logtime; //记录时间
+ private String pci;
+ private String rsrp;
+ private String snr;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ public Long getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(Long dbId) {
+ this.dbId = dbId;
+ }
+
+ @Column(name = "STRENGTH")
+ public String getStrength() {
+ return strength;
+ }
+
+ public void setStrength(String strength) {
+ this.strength = strength;
+ }
+
+ @Column(name = "DEVCODE")
+ public String getDevCode() {
+ return devCode;
+ }
+
+ public void setDevCode(String devCode) {
+ this.devCode = devCode;
+ }
+
+ @Column(name = "WELL_CODE")
+ public String getWellCode() {
+ return wellCode;
+ }
+
+ public void setWellCode(String wellCode) {
+ this.wellCode = wellCode;
+ }
+
+ @Column(name = "DESCN")
+ public String getDescn() {
+ return descn;
+ }
+
+ public void setDescn(String descn) {
+ this.descn = descn;
+ }
+
+ @Column(name = "CELL")
+ public String getCell() {
+ return cell;
+ }
+
+ public void setCell(String cell) {
+ this.cell = cell;
+ }
+
+ @Column(name = "UPTIME")
+ public Timestamp getUptime() {
+ return uptime;
+ }
+
+ public void setUptime(Timestamp uptime) {
+ this.uptime = uptime;
+ }
+
+ @Column(name = "LOGTIME")
+ public Timestamp getLogtime() {
+ return logtime;
+ }
+
+ public void setLogtime(Timestamp logtime) {
+ this.logtime = logtime;
+ }
+ @Column(name = "PCI")
+ public String getPci() {
+ return pci;
+ }
+
+ public void setPci(String pci) {
+ this.pci = pci;
+ }
+
+ @Column(name = "RSRP")
+ public String getRsrp() {
+ return rsrp;
+ }
+
+ public void setRsrp(String rsrp) {
+ this.rsrp = rsrp;
+ }
+
+ @Column(name = "SNR")
+ public String getSnr() {
+ return snr;
+ }
+
+ public void setSnr(String snr) {
+ this.snr = snr;
+ }
+
+ public H2s() {
+ }
+
+ public H2s(String devCode, String wellCode, String strength, String cell,
+ Timestamp uptime, Timestamp logtime,
+ String pci, String rsrp, String snr) {
+ this.devCode = devCode;
+ this.wellCode=wellCode;
+ this.strength = strength;
+ this.cell = cell;
+ this.uptime = uptime;
+ this.logtime = logtime;
+ this.pci=pci;
+ this.rsrp=rsrp;
+ this.snr=snr;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index c21a55c..0fc2590 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -68,6 +68,17 @@
save(alarmJob);
return alarmJob;
}
+ public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setDevcode(devCode);
+ alarmJob.setWellCode(wellCode);
+ alarmJob.setJobStatus("0");
+ alarmJob.setCreateTime(new Date());
+ alarmJob.setJobcode(produceJobCode(devTypeName));
+ alarmJob.setJogType(jobType);
+ save(alarmJob);
+ return alarmJob;
+ }
public String produceJobCode(String devTypeName) {
String pre = deviceAlarmMap.get(devTypeName);
diff --git a/src/main/java/org/well/well/manager/H2SManager.java b/src/main/java/org/well/well/manager/H2SManager.java
new file mode 100644
index 0000000..2bfb5bb
--- /dev/null
+++ b/src/main/java/org/well/well/manager/H2SManager.java
@@ -0,0 +1,165 @@
+package org.well.well.manager;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import org.well.well.base.DeviceTypeEnum;
+import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.DateUtils;
+import org.well.well.domain.AlarmJob;
+import org.well.well.domain.BusWell;
+import org.well.well.domain.Device;
+import org.well.well.domain.H2s;
+import org.well.well.AlarmEnumDTO.H2SAlarmEnum;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class H2SManager extends HibernateEntityDao {
+ @Resource
+ private AlarmRecordManager alarmRecordManager;
+ @Resource
+ private AlarmRuleManager alarmRuleManager;
+ @Resource
+ private DeviceManager deviceManager;
+ @Resource
+ private BusWellManager busWellManager;
+ @Resource
+ private AlarmJobManager alarmJobManager;
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
+
+ public Map saveData(String devcode, String wellCode,
+ String strength, String cell, String uptime,
+ String pci, String rsrp, String snr) {
+
+ Map resultMap = new HashMap();
+ try {
+ H2s h2s = new H2s(devcode, wellCode, strength, cell,
+ new Timestamp((DateUtils.sdf4.parse(DateUtils.DateFormat(uptime)).getTime())),
+ new Timestamp((new Date()).getTime()), pci, rsrp, snr);
+ save(h2s);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return resultMap;
+ }
+
+
+ public void processNormalData(JSONObject jsonObject, String devCode) {
+ String cell = jsonObject.get("cell").toString();
+ String pci = null != jsonObject.get("pci") ? jsonObject.get("pci").toString() : "";
+ String rsrp = null != jsonObject.get("rsrp") ? jsonObject.get("rsrp").toString() : "";
+ String snr = null != jsonObject.get("snr") ? jsonObject.get("snr").toString() : "";
+ JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ BusWell busWell = busWellManager.getWellByDevCode(devCode);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ try {
+ String hs = ((JSONObject) jsonArray.get(i)).get("hs").toString();
+ String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ hs = String.format("%.2f", Double.valueOf(hs));
+
+ //1.存数据
+ saveData(devCode, busWell == null ? "" : busWell.getWellCode(), hs, cell, upTime, pci, rsrp, snr);
+ //2.有无超限处理流程(判断最后一条数据)
+ if (i < jsonArray.size() - 1) {
+ continue;
+ }
+
+ //4.清除设备告警
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
+ //获取报警阈值
+ List
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/src/main/java/org/well/well/domain/H2s.java b/src/main/java/org/well/well/domain/H2s.java
new file mode 100644
index 0000000..68f5bb3
--- /dev/null
+++ b/src/main/java/org/well/well/domain/H2s.java
@@ -0,0 +1,143 @@
+package org.well.well.domain;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "data_h2s")
+public class H2s {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 566089135526318711L;
+ private Long dbId;
+ private String devCode; //设备编号
+ private String wellCode; //井编号
+ private String strength; //浓度
+ private String cell; //电池电量
+ private String descn; //状态描述
+ private Timestamp uptime; //采集时间
+ private Timestamp logtime; //记录时间
+ private String pci;
+ private String rsrp;
+ private String snr;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ public Long getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(Long dbId) {
+ this.dbId = dbId;
+ }
+
+ @Column(name = "STRENGTH")
+ public String getStrength() {
+ return strength;
+ }
+
+ public void setStrength(String strength) {
+ this.strength = strength;
+ }
+
+ @Column(name = "DEVCODE")
+ public String getDevCode() {
+ return devCode;
+ }
+
+ public void setDevCode(String devCode) {
+ this.devCode = devCode;
+ }
+
+ @Column(name = "WELL_CODE")
+ public String getWellCode() {
+ return wellCode;
+ }
+
+ public void setWellCode(String wellCode) {
+ this.wellCode = wellCode;
+ }
+
+ @Column(name = "DESCN")
+ public String getDescn() {
+ return descn;
+ }
+
+ public void setDescn(String descn) {
+ this.descn = descn;
+ }
+
+ @Column(name = "CELL")
+ public String getCell() {
+ return cell;
+ }
+
+ public void setCell(String cell) {
+ this.cell = cell;
+ }
+
+ @Column(name = "UPTIME")
+ public Timestamp getUptime() {
+ return uptime;
+ }
+
+ public void setUptime(Timestamp uptime) {
+ this.uptime = uptime;
+ }
+
+ @Column(name = "LOGTIME")
+ public Timestamp getLogtime() {
+ return logtime;
+ }
+
+ public void setLogtime(Timestamp logtime) {
+ this.logtime = logtime;
+ }
+ @Column(name = "PCI")
+ public String getPci() {
+ return pci;
+ }
+
+ public void setPci(String pci) {
+ this.pci = pci;
+ }
+
+ @Column(name = "RSRP")
+ public String getRsrp() {
+ return rsrp;
+ }
+
+ public void setRsrp(String rsrp) {
+ this.rsrp = rsrp;
+ }
+
+ @Column(name = "SNR")
+ public String getSnr() {
+ return snr;
+ }
+
+ public void setSnr(String snr) {
+ this.snr = snr;
+ }
+
+ public H2s() {
+ }
+
+ public H2s(String devCode, String wellCode, String strength, String cell,
+ Timestamp uptime, Timestamp logtime,
+ String pci, String rsrp, String snr) {
+ this.devCode = devCode;
+ this.wellCode=wellCode;
+ this.strength = strength;
+ this.cell = cell;
+ this.uptime = uptime;
+ this.logtime = logtime;
+ this.pci=pci;
+ this.rsrp=rsrp;
+ this.snr=snr;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index c21a55c..0fc2590 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -68,6 +68,17 @@
save(alarmJob);
return alarmJob;
}
+ public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setDevcode(devCode);
+ alarmJob.setWellCode(wellCode);
+ alarmJob.setJobStatus("0");
+ alarmJob.setCreateTime(new Date());
+ alarmJob.setJobcode(produceJobCode(devTypeName));
+ alarmJob.setJogType(jobType);
+ save(alarmJob);
+ return alarmJob;
+ }
public String produceJobCode(String devTypeName) {
String pre = deviceAlarmMap.get(devTypeName);
diff --git a/src/main/java/org/well/well/manager/H2SManager.java b/src/main/java/org/well/well/manager/H2SManager.java
new file mode 100644
index 0000000..2bfb5bb
--- /dev/null
+++ b/src/main/java/org/well/well/manager/H2SManager.java
@@ -0,0 +1,165 @@
+package org.well.well.manager;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import org.well.well.base.DeviceTypeEnum;
+import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.DateUtils;
+import org.well.well.domain.AlarmJob;
+import org.well.well.domain.BusWell;
+import org.well.well.domain.Device;
+import org.well.well.domain.H2s;
+import org.well.well.AlarmEnumDTO.H2SAlarmEnum;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class H2SManager extends HibernateEntityDao {
+ @Resource
+ private AlarmRecordManager alarmRecordManager;
+ @Resource
+ private AlarmRuleManager alarmRuleManager;
+ @Resource
+ private DeviceManager deviceManager;
+ @Resource
+ private BusWellManager busWellManager;
+ @Resource
+ private AlarmJobManager alarmJobManager;
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
+
+ public Map saveData(String devcode, String wellCode,
+ String strength, String cell, String uptime,
+ String pci, String rsrp, String snr) {
+
+ Map resultMap = new HashMap();
+ try {
+ H2s h2s = new H2s(devcode, wellCode, strength, cell,
+ new Timestamp((DateUtils.sdf4.parse(DateUtils.DateFormat(uptime)).getTime())),
+ new Timestamp((new Date()).getTime()), pci, rsrp, snr);
+ save(h2s);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return resultMap;
+ }
+
+
+ public void processNormalData(JSONObject jsonObject, String devCode) {
+ String cell = jsonObject.get("cell").toString();
+ String pci = null != jsonObject.get("pci") ? jsonObject.get("pci").toString() : "";
+ String rsrp = null != jsonObject.get("rsrp") ? jsonObject.get("rsrp").toString() : "";
+ String snr = null != jsonObject.get("snr") ? jsonObject.get("snr").toString() : "";
+ JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ BusWell busWell = busWellManager.getWellByDevCode(devCode);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ try {
+ String hs = ((JSONObject) jsonArray.get(i)).get("hs").toString();
+ String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ hs = String.format("%.2f", Double.valueOf(hs));
+
+ //1.存数据
+ saveData(devCode, busWell == null ? "" : busWell.getWellCode(), hs, cell, upTime, pci, rsrp, snr);
+ //2.有无超限处理流程(判断最后一条数据)
+ if (i < jsonArray.size() - 1) {
+ continue;
+ }
+
+ //4.清除设备告警
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
+ //获取报警阈值
+ List
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/src/main/java/org/well/well/domain/H2s.java b/src/main/java/org/well/well/domain/H2s.java
new file mode 100644
index 0000000..68f5bb3
--- /dev/null
+++ b/src/main/java/org/well/well/domain/H2s.java
@@ -0,0 +1,143 @@
+package org.well.well.domain;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "data_h2s")
+public class H2s {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 566089135526318711L;
+ private Long dbId;
+ private String devCode; //设备编号
+ private String wellCode; //井编号
+ private String strength; //浓度
+ private String cell; //电池电量
+ private String descn; //状态描述
+ private Timestamp uptime; //采集时间
+ private Timestamp logtime; //记录时间
+ private String pci;
+ private String rsrp;
+ private String snr;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ public Long getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(Long dbId) {
+ this.dbId = dbId;
+ }
+
+ @Column(name = "STRENGTH")
+ public String getStrength() {
+ return strength;
+ }
+
+ public void setStrength(String strength) {
+ this.strength = strength;
+ }
+
+ @Column(name = "DEVCODE")
+ public String getDevCode() {
+ return devCode;
+ }
+
+ public void setDevCode(String devCode) {
+ this.devCode = devCode;
+ }
+
+ @Column(name = "WELL_CODE")
+ public String getWellCode() {
+ return wellCode;
+ }
+
+ public void setWellCode(String wellCode) {
+ this.wellCode = wellCode;
+ }
+
+ @Column(name = "DESCN")
+ public String getDescn() {
+ return descn;
+ }
+
+ public void setDescn(String descn) {
+ this.descn = descn;
+ }
+
+ @Column(name = "CELL")
+ public String getCell() {
+ return cell;
+ }
+
+ public void setCell(String cell) {
+ this.cell = cell;
+ }
+
+ @Column(name = "UPTIME")
+ public Timestamp getUptime() {
+ return uptime;
+ }
+
+ public void setUptime(Timestamp uptime) {
+ this.uptime = uptime;
+ }
+
+ @Column(name = "LOGTIME")
+ public Timestamp getLogtime() {
+ return logtime;
+ }
+
+ public void setLogtime(Timestamp logtime) {
+ this.logtime = logtime;
+ }
+ @Column(name = "PCI")
+ public String getPci() {
+ return pci;
+ }
+
+ public void setPci(String pci) {
+ this.pci = pci;
+ }
+
+ @Column(name = "RSRP")
+ public String getRsrp() {
+ return rsrp;
+ }
+
+ public void setRsrp(String rsrp) {
+ this.rsrp = rsrp;
+ }
+
+ @Column(name = "SNR")
+ public String getSnr() {
+ return snr;
+ }
+
+ public void setSnr(String snr) {
+ this.snr = snr;
+ }
+
+ public H2s() {
+ }
+
+ public H2s(String devCode, String wellCode, String strength, String cell,
+ Timestamp uptime, Timestamp logtime,
+ String pci, String rsrp, String snr) {
+ this.devCode = devCode;
+ this.wellCode=wellCode;
+ this.strength = strength;
+ this.cell = cell;
+ this.uptime = uptime;
+ this.logtime = logtime;
+ this.pci=pci;
+ this.rsrp=rsrp;
+ this.snr=snr;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index c21a55c..0fc2590 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -68,6 +68,17 @@
save(alarmJob);
return alarmJob;
}
+ public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setDevcode(devCode);
+ alarmJob.setWellCode(wellCode);
+ alarmJob.setJobStatus("0");
+ alarmJob.setCreateTime(new Date());
+ alarmJob.setJobcode(produceJobCode(devTypeName));
+ alarmJob.setJogType(jobType);
+ save(alarmJob);
+ return alarmJob;
+ }
public String produceJobCode(String devTypeName) {
String pre = deviceAlarmMap.get(devTypeName);
diff --git a/src/main/java/org/well/well/manager/H2SManager.java b/src/main/java/org/well/well/manager/H2SManager.java
new file mode 100644
index 0000000..2bfb5bb
--- /dev/null
+++ b/src/main/java/org/well/well/manager/H2SManager.java
@@ -0,0 +1,165 @@
+package org.well.well.manager;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import org.well.well.base.DeviceTypeEnum;
+import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.DateUtils;
+import org.well.well.domain.AlarmJob;
+import org.well.well.domain.BusWell;
+import org.well.well.domain.Device;
+import org.well.well.domain.H2s;
+import org.well.well.AlarmEnumDTO.H2SAlarmEnum;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class H2SManager extends HibernateEntityDao {
+ @Resource
+ private AlarmRecordManager alarmRecordManager;
+ @Resource
+ private AlarmRuleManager alarmRuleManager;
+ @Resource
+ private DeviceManager deviceManager;
+ @Resource
+ private BusWellManager busWellManager;
+ @Resource
+ private AlarmJobManager alarmJobManager;
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
+
+ public Map saveData(String devcode, String wellCode,
+ String strength, String cell, String uptime,
+ String pci, String rsrp, String snr) {
+
+ Map resultMap = new HashMap();
+ try {
+ H2s h2s = new H2s(devcode, wellCode, strength, cell,
+ new Timestamp((DateUtils.sdf4.parse(DateUtils.DateFormat(uptime)).getTime())),
+ new Timestamp((new Date()).getTime()), pci, rsrp, snr);
+ save(h2s);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return resultMap;
+ }
+
+
+ public void processNormalData(JSONObject jsonObject, String devCode) {
+ String cell = jsonObject.get("cell").toString();
+ String pci = null != jsonObject.get("pci") ? jsonObject.get("pci").toString() : "";
+ String rsrp = null != jsonObject.get("rsrp") ? jsonObject.get("rsrp").toString() : "";
+ String snr = null != jsonObject.get("snr") ? jsonObject.get("snr").toString() : "";
+ JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ BusWell busWell = busWellManager.getWellByDevCode(devCode);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ try {
+ String hs = ((JSONObject) jsonArray.get(i)).get("hs").toString();
+ String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ hs = String.format("%.2f", Double.valueOf(hs));
+
+ //1.存数据
+ saveData(devCode, busWell == null ? "" : busWell.getWellCode(), hs, cell, upTime, pci, rsrp, snr);
+ //2.有无超限处理流程(判断最后一条数据)
+ if (i < jsonArray.size() - 1) {
+ continue;
+ }
+
+ //4.清除设备告警
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
+ //获取报警阈值
+ List
+
+
+
+
+
+
mysql
mysql-connector-java
- 5.1.25
+ 8.0.27
+
org.springframework
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index f800a2a..3115112 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -144,12 +144,13 @@
// temp="{"mType":"Data","devType":"LG","devCode":"322020080276","mBody":{"cell":96,"datas":[{"gas":0.0,"uptime":"20210610181200"}],"logTime":"20210610180245","bType":"LGData"},"ts":1623319365811}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"321120080150\",\"mBody\":{\"cell\":90,\"datas\":[{\"liquid\":55.8,\"uptime\":\"20210511191000\"},{\"liquid\":55.8,\"uptime\":\"20210511201000\"},{\"liquid\":55.8,\"uptime\":\"20210511211000\"},{\"liquid\":55.8,\"uptime\":\"20210511221000\"},{\"liquid\":55.8,\"uptime\":\"20210511231000\"},{\"liquid\":55.8,\"uptime\":\"20210512001000\"},{\"liquid\":55.8,\"uptime\":\"20210512011000\"},{\"liquid\":55.8,\"uptime\":\"20210512021000\"},{\"liquid\":55.8,\"uptime\":\"20210512031000\"},{\"liquid\":55.8,\"uptime\":\"20210512041000\"},{\"liquid\":55.8,\"uptime\":\"20210512051000\"},{\"liquid\":55.8,\"uptime\":\"20210512061000\"},{\"liquid\":55.8,\"uptime\":\"20210512071000\"},{\"liquid\":55.8,\"uptime\":\"20210512081000\"},{\"liquid\":55.8,\"uptime\":\"20210512091000\"},{\"liquid\":55.8,\"uptime\":\"20210512101000\"},{\"liquid\":55.8,\"uptime\":\"20210512111000\"},{\"liquid\":55.8,\"uptime\":\"20210512121000\"},{\"liquid\":55.8,\"uptime\":\"20210512131000\"},{\"liquid\":55.8,\"uptime\":\"20210512141000\"},{\"liquid\":55.8,\"uptime\":\"20210512151000\"},{\"liquid\":55.8,\"uptime\":\"20210512161000\"},{\"liquid\":55.8,\"uptime\":\"20210512171000\"},{\"liquid\":55.8,\"uptime\":\"20210512181000\"}],\"logTime\":\"20210513092856\",\"bType\":\"LGData\"},\"ts\":1620869336245}";
-// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"gas\":1.8,\"uptime\":\"20210610160600\"},{\"gas\":1.8,\"uptime\":\"20210610170600\"},{\"gas\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
+ temp="{\"mType\":\"Data\",\"devType\":\"HydrogenSulfide\",\"devCode\":\"312020030044\",\"mBody\":{\"cell\":49,\"pci\":272,\"rsrp\":-88,\"snr\":25,\"datas\":[{\"hs\":1.8,\"uptime\":\"20210610160600\"},{\"hs\":1.8,\"uptime\":\"20210610170600\"},{\"hs\":1.8,\"uptime\":\"20210610180600\"}],\"logTime\":\"20210610180304\",\"bType\":\"MethaneData\"},\"ts\":1623319384413}";
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322020080276\",\"mBody\":{\"cell\":96,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210610181200\"}],\"logTime\":\"20210610180245\",\"bType\":\"LGData\"},\"ts\":1623319365811}";
-// AbstractResponse resp = ResponseResolver.makeResponse(temp);
-// resp.setAc(ac);
-// resp.process(temp);
+ AbstractResponse resp = ResponseResolver.makeResponse(temp);
+ resp.setAc(ac);
+ resp.process(temp);
// DeviceManager deviceManager = ac.getBean(DeviceManager.class);
// deviceManager.updateDeviceStatus();
diff --git a/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
new file mode 100644
index 0000000..d5fdb13
--- /dev/null
+++ b/src/main/java/org/well/well/AlarmEnumDTO/H2SAlarmEnum.java
@@ -0,0 +1,50 @@
+package org.well.well.AlarmEnumDTO;
+
+public enum H2SAlarmEnum {
+
+ NO_DATA1("设备异常", -1),
+ NORMAL("状态正常", 0),
+ OVER_THRESH("浓度超限",1),
+ H2SAlarmFail("硫化氢探头采集失败",2),
+ H2SAlarmError("硫化氢数据异常",3),
+ H2SUnknown("硫化氢未知异常",4),
+ OVER_THRESH1("一级浓度超限",5),
+ OVER_THRESH2("二级浓度超限",6);
+
+ // 成员变量
+ private String name;
+ private int index;
+
+ // 构造方法
+ private H2SAlarmEnum(String name, int index) {
+ this.name = name;
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public static H2SAlarmEnum getByIndex(String index) {
+ try {
+ for (H2SAlarmEnum h2SAlarmEnum : values()) {
+ if (h2SAlarmEnum.index == Integer.parseInt(index)) {
+ return h2SAlarmEnum;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //覆盖方法
+ @Override
+ public String toString() {
+ return this.name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java
index 960885f..aa4fa46 100644
--- a/src/main/java/org/well/well/base/DeviceTypeEnum.java
+++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java
@@ -26,7 +26,8 @@
RAINGAUGE("雨量计", 21),
LG("燃气智能监测终端(一体化)", 22),
Tube("管盯", 23),
- WellPlus("井盖液位一体机", 24);
+ WellPlus("井盖液位一体机", 24),
+ HydrogenSulfide("课题硫化氢检测仪", 25);
// 成员变量
diff --git a/src/main/java/org/well/well/domain/H2s.java b/src/main/java/org/well/well/domain/H2s.java
new file mode 100644
index 0000000..68f5bb3
--- /dev/null
+++ b/src/main/java/org/well/well/domain/H2s.java
@@ -0,0 +1,143 @@
+package org.well.well.domain;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "data_h2s")
+public class H2s {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 566089135526318711L;
+ private Long dbId;
+ private String devCode; //设备编号
+ private String wellCode; //井编号
+ private String strength; //浓度
+ private String cell; //电池电量
+ private String descn; //状态描述
+ private Timestamp uptime; //采集时间
+ private Timestamp logtime; //记录时间
+ private String pci;
+ private String rsrp;
+ private String snr;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ public Long getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(Long dbId) {
+ this.dbId = dbId;
+ }
+
+ @Column(name = "STRENGTH")
+ public String getStrength() {
+ return strength;
+ }
+
+ public void setStrength(String strength) {
+ this.strength = strength;
+ }
+
+ @Column(name = "DEVCODE")
+ public String getDevCode() {
+ return devCode;
+ }
+
+ public void setDevCode(String devCode) {
+ this.devCode = devCode;
+ }
+
+ @Column(name = "WELL_CODE")
+ public String getWellCode() {
+ return wellCode;
+ }
+
+ public void setWellCode(String wellCode) {
+ this.wellCode = wellCode;
+ }
+
+ @Column(name = "DESCN")
+ public String getDescn() {
+ return descn;
+ }
+
+ public void setDescn(String descn) {
+ this.descn = descn;
+ }
+
+ @Column(name = "CELL")
+ public String getCell() {
+ return cell;
+ }
+
+ public void setCell(String cell) {
+ this.cell = cell;
+ }
+
+ @Column(name = "UPTIME")
+ public Timestamp getUptime() {
+ return uptime;
+ }
+
+ public void setUptime(Timestamp uptime) {
+ this.uptime = uptime;
+ }
+
+ @Column(name = "LOGTIME")
+ public Timestamp getLogtime() {
+ return logtime;
+ }
+
+ public void setLogtime(Timestamp logtime) {
+ this.logtime = logtime;
+ }
+ @Column(name = "PCI")
+ public String getPci() {
+ return pci;
+ }
+
+ public void setPci(String pci) {
+ this.pci = pci;
+ }
+
+ @Column(name = "RSRP")
+ public String getRsrp() {
+ return rsrp;
+ }
+
+ public void setRsrp(String rsrp) {
+ this.rsrp = rsrp;
+ }
+
+ @Column(name = "SNR")
+ public String getSnr() {
+ return snr;
+ }
+
+ public void setSnr(String snr) {
+ this.snr = snr;
+ }
+
+ public H2s() {
+ }
+
+ public H2s(String devCode, String wellCode, String strength, String cell,
+ Timestamp uptime, Timestamp logtime,
+ String pci, String rsrp, String snr) {
+ this.devCode = devCode;
+ this.wellCode=wellCode;
+ this.strength = strength;
+ this.cell = cell;
+ this.uptime = uptime;
+ this.logtime = logtime;
+ this.pci=pci;
+ this.rsrp=rsrp;
+ this.snr=snr;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/well/well/manager/AlarmJobManager.java b/src/main/java/org/well/well/manager/AlarmJobManager.java
index c21a55c..0fc2590 100644
--- a/src/main/java/org/well/well/manager/AlarmJobManager.java
+++ b/src/main/java/org/well/well/manager/AlarmJobManager.java
@@ -68,6 +68,17 @@
save(alarmJob);
return alarmJob;
}
+ public AlarmJob saveData(String devCode, String wellCode, String devTypeName, String jobType) {
+ AlarmJob alarmJob = new AlarmJob();
+ alarmJob.setDevcode(devCode);
+ alarmJob.setWellCode(wellCode);
+ alarmJob.setJobStatus("0");
+ alarmJob.setCreateTime(new Date());
+ alarmJob.setJobcode(produceJobCode(devTypeName));
+ alarmJob.setJogType(jobType);
+ save(alarmJob);
+ return alarmJob;
+ }
public String produceJobCode(String devTypeName) {
String pre = deviceAlarmMap.get(devTypeName);
diff --git a/src/main/java/org/well/well/manager/H2SManager.java b/src/main/java/org/well/well/manager/H2SManager.java
new file mode 100644
index 0000000..2bfb5bb
--- /dev/null
+++ b/src/main/java/org/well/well/manager/H2SManager.java
@@ -0,0 +1,165 @@
+package org.well.well.manager;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import org.well.well.base.DeviceTypeEnum;
+import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.DateUtils;
+import org.well.well.domain.AlarmJob;
+import org.well.well.domain.BusWell;
+import org.well.well.domain.Device;
+import org.well.well.domain.H2s;
+import org.well.well.AlarmEnumDTO.H2SAlarmEnum;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class H2SManager extends HibernateEntityDao {
+ @Resource
+ private AlarmRecordManager alarmRecordManager;
+ @Resource
+ private AlarmRuleManager alarmRuleManager;
+ @Resource
+ private DeviceManager deviceManager;
+ @Resource
+ private BusWellManager busWellManager;
+ @Resource
+ private AlarmJobManager alarmJobManager;
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
+
+ public Map saveData(String devcode, String wellCode,
+ String strength, String cell, String uptime,
+ String pci, String rsrp, String snr) {
+
+ Map resultMap = new HashMap();
+ try {
+ H2s h2s = new H2s(devcode, wellCode, strength, cell,
+ new Timestamp((DateUtils.sdf4.parse(DateUtils.DateFormat(uptime)).getTime())),
+ new Timestamp((new Date()).getTime()), pci, rsrp, snr);
+ save(h2s);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return resultMap;
+ }
+
+
+ public void processNormalData(JSONObject jsonObject, String devCode) {
+ String cell = jsonObject.get("cell").toString();
+ String pci = null != jsonObject.get("pci") ? jsonObject.get("pci").toString() : "";
+ String rsrp = null != jsonObject.get("rsrp") ? jsonObject.get("rsrp").toString() : "";
+ String snr = null != jsonObject.get("snr") ? jsonObject.get("snr").toString() : "";
+ JSONArray jsonArray = (JSONArray) jsonObject.get("datas");
+ BusWell busWell = busWellManager.getWellByDevCode(devCode);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ try {
+ String hs = ((JSONObject) jsonArray.get(i)).get("hs").toString();
+ String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
+ hs = String.format("%.2f", Double.valueOf(hs));
+
+ //1.存数据
+ saveData(devCode, busWell == null ? "" : busWell.getWellCode(), hs, cell, upTime, pci, rsrp, snr);
+ //2.有无超限处理流程(判断最后一条数据)
+ if (i < jsonArray.size() - 1) {
+ continue;
+ }
+
+ //4.清除设备告警
+ alarmRecordManager.clearAlarmByNormalData(devCode, "");
+ //获取报警阈值
+ List