diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java index cb47fea..6976a3c 100644 --- a/src/main/java/org/well/well/manager/TubeManager.java +++ b/src/main/java/org/well/well/manager/TubeManager.java @@ -10,10 +10,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -import org.well.well.domain.AlarmJob; -import org.well.well.domain.BusWell; -import org.well.well.domain.Device; -import org.well.well.domain.Tube; +import org.well.well.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +77,41 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + if (alarmRule != null) {//单个报警 + Integer alarmLevel = 1;//默认为1级 + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//类型报警 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); //获取报警阈值 + String isAlarm = "1"; + 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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + Integer alarmLevel = 0;//默认为0级 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -152,7 +141,7 @@ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Tube.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +156,25 @@ } } } + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } + } diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java index cb47fea..6976a3c 100644 --- a/src/main/java/org/well/well/manager/TubeManager.java +++ b/src/main/java/org/well/well/manager/TubeManager.java @@ -10,10 +10,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -import org.well.well.domain.AlarmJob; -import org.well.well.domain.BusWell; -import org.well.well.domain.Device; -import org.well.well.domain.Tube; +import org.well.well.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +77,41 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + if (alarmRule != null) {//单个报警 + Integer alarmLevel = 1;//默认为1级 + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//类型报警 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); //获取报警阈值 + String isAlarm = "1"; + 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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + Integer alarmLevel = 0;//默认为0级 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -152,7 +141,7 @@ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Tube.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +156,25 @@ } } } + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } + } diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java index 3fc7d40..a038393 100644 --- a/src/main/java/org/well/well/manager/WasteGasManager.java +++ b/src/main/java/org/well/well/manager/WasteGasManager.java @@ -13,7 +13,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java index cb47fea..6976a3c 100644 --- a/src/main/java/org/well/well/manager/TubeManager.java +++ b/src/main/java/org/well/well/manager/TubeManager.java @@ -10,10 +10,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -import org.well.well.domain.AlarmJob; -import org.well.well.domain.BusWell; -import org.well.well.domain.Device; -import org.well.well.domain.Tube; +import org.well.well.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +77,41 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + if (alarmRule != null) {//单个报警 + Integer alarmLevel = 1;//默认为1级 + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//类型报警 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); //获取报警阈值 + String isAlarm = "1"; + 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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + Integer alarmLevel = 0;//默认为0级 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -152,7 +141,7 @@ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Tube.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +156,25 @@ } } } + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } + } diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java index 3fc7d40..a038393 100644 --- a/src/main/java/org/well/well/manager/WasteGasManager.java +++ b/src/main/java/org/well/well/manager/WasteGasManager.java @@ -13,7 +13,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java index b51a39d..dc50cbd 100644 --- a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java +++ b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java @@ -29,9 +29,7 @@ private boolean enabled = true; // every 10 seconds - @Scheduled(cron = "0 0 5 * * ?") -// @Scheduled(cron = "0 0/1 * * * ?") -// @Scheduled(cron = "0 */2 * * * ?") + @Scheduled(cron = "${cron.time}") public void execute() { if (!enabled) { return; diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java index cb47fea..6976a3c 100644 --- a/src/main/java/org/well/well/manager/TubeManager.java +++ b/src/main/java/org/well/well/manager/TubeManager.java @@ -10,10 +10,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -import org.well.well.domain.AlarmJob; -import org.well.well.domain.BusWell; -import org.well.well.domain.Device; -import org.well.well.domain.Tube; +import org.well.well.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +77,41 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + if (alarmRule != null) {//单个报警 + Integer alarmLevel = 1;//默认为1级 + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//类型报警 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); //获取报警阈值 + String isAlarm = "1"; + 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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + Integer alarmLevel = 0;//默认为0级 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -152,7 +141,7 @@ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Tube.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +156,25 @@ } } } + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } + } diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java index 3fc7d40..a038393 100644 --- a/src/main/java/org/well/well/manager/WasteGasManager.java +++ b/src/main/java/org/well/well/manager/WasteGasManager.java @@ -13,7 +13,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java index b51a39d..dc50cbd 100644 --- a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java +++ b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java @@ -29,9 +29,7 @@ private boolean enabled = true; // every 10 seconds - @Scheduled(cron = "0 0 5 * * ?") -// @Scheduled(cron = "0 0/1 * * * ?") -// @Scheduled(cron = "0 */2 * * * ?") + @Scheduled(cron = "${cron.time}") public void execute() { if (!enabled) { return; diff --git a/src/main/java/org/well/well/util/PushList.java b/src/main/java/org/well/well/util/PushList.java index 74568fe..ba5e1af 100644 --- a/src/main/java/org/well/well/util/PushList.java +++ b/src/main/java/org/well/well/util/PushList.java @@ -1,85 +1,85 @@ -package org.well.well.util; - -import java.util.ArrayList; -import java.util.List; - -import com.gexin.rp.sdk.base.IPushResult; -import com.gexin.rp.sdk.base.impl.ListMessage; -import com.gexin.rp.sdk.base.impl.Target; -import com.gexin.rp.sdk.http.IGtPush; -import com.gexin.rp.sdk.template.NotificationTemplate; -import com.gexin.rp.sdk.template.style.Style0; - -/** - * Created by test203 on 2019/6/11. - */ - - -public class PushList { - //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; - - private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); - private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); - private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); - - //别名推送方式 - // static String Alias1 = ""; - // static String Alias2 = ""; - static String host = "http://sdk.open.api.igexin.com/apiex.htm"; - - public static void pushToUser(List cids, String title, String content){ - // 配置返回每个用户返回用户状态,可选 - System.setProperty("gexin_pushList_needDetails", "true"); - // 配置返回每个别名及其对应cid的用户状态,可选 - // System.setProperty("gexin_pushList_needAliasDetails", "true"); - IGtPush push = new IGtPush(host, appKey, masterSecret); - // 通知透传模板 - NotificationTemplate template = notificationTemplateDemo(title,content); - ListMessage message = new ListMessage(); - message.setData(template); - // 设置消息离线,并设置离线时间 - message.setOffline(true); - // 离线有效时间,单位为毫秒,可选 - message.setOfflineExpireTime(24 * 1000 * 3600); - // 配置推送目标 - List targets = new ArrayList(); - for (String cid : cids) { - Target target = new Target(); - target.setAppId(appId); - target.setClientId(cid); - targets.add(target); - } - - // taskId用于在推送时去查找对应的message - String taskId = push.getContentId(message); - IPushResult ret = push.pushMessageToList(taskId, targets); - System.out.println(ret.getResponse().toString()); - } - - public static NotificationTemplate notificationTemplateDemo(String title,String content) { - NotificationTemplate template = new NotificationTemplate(); - // 设置APPID与APPKEY - template.setAppId(appId); - template.setAppkey(appKey); - - Style0 style = new Style0(); - // 设置通知栏标题与内容 - style.setTitle(title); - style.setText(content); - // 配置通知栏图标 - style.setLogo("icon.png"); - // 配置通知栏网络图标 - style.setLogoUrl(""); - // 设置通知是否响铃,震动,或者可清除 - style.setRing(true); - style.setVibrate(true); - style.setClearable(true); - template.setStyle(style); - - // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 - template.setTransmissionType(2); - template.setTransmissionContent("请输入您要透传的内容"); - return template; - } -} - +//package org.well.well.util; +// +//import java.util.ArrayList; +//import java.util.List; +// +//import com.gexin.rp.sdk.base.IPushResult; +//import com.gexin.rp.sdk.base.impl.ListMessage; +//import com.gexin.rp.sdk.base.impl.Target; +//import com.gexin.rp.sdk.http.IGtPush; +//import com.gexin.rp.sdk.template.NotificationTemplate; +//import com.gexin.rp.sdk.template.style.Style0; +// +///** +// * Created by test203 on 2019/6/11. +// */ +// +// +//public class PushList { +// //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; +// +// private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); +// private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); +// private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); +// +// //别名推送方式 +// // static String Alias1 = ""; +// // static String Alias2 = ""; +// static String host = "http://sdk.open.api.igexin.com/apiex.htm"; +// +// public static void pushToUser(List cids, String title, String content){ +// // 配置返回每个用户返回用户状态,可选 +// System.setProperty("gexin_pushList_needDetails", "true"); +// // 配置返回每个别名及其对应cid的用户状态,可选 +// // System.setProperty("gexin_pushList_needAliasDetails", "true"); +// IGtPush push = new IGtPush(host, appKey, masterSecret); +// // 通知透传模板 +// NotificationTemplate template = notificationTemplateDemo(title,content); +// ListMessage message = new ListMessage(); +// message.setData(template); +// // 设置消息离线,并设置离线时间 +// message.setOffline(true); +// // 离线有效时间,单位为毫秒,可选 +// message.setOfflineExpireTime(24 * 1000 * 3600); +// // 配置推送目标 +// List targets = new ArrayList(); +// for (String cid : cids) { +// Target target = new Target(); +// target.setAppId(appId); +// target.setClientId(cid); +// targets.add(target); +// } +// +// // taskId用于在推送时去查找对应的message +// String taskId = push.getContentId(message); +// IPushResult ret = push.pushMessageToList(taskId, targets); +// System.out.println(ret.getResponse().toString()); +// } +// +// public static NotificationTemplate notificationTemplateDemo(String title,String content) { +// NotificationTemplate template = new NotificationTemplate(); +// // 设置APPID与APPKEY +// template.setAppId(appId); +// template.setAppkey(appKey); +// +// Style0 style = new Style0(); +// // 设置通知栏标题与内容 +// style.setTitle(title); +// style.setText(content); +// // 配置通知栏图标 +// style.setLogo("icon.png"); +// // 配置通知栏网络图标 +// style.setLogoUrl(""); +// // 设置通知是否响铃,震动,或者可清除 +// style.setRing(true); +// style.setVibrate(true); +// style.setClearable(true); +// template.setStyle(style); +// +// // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 +// template.setTransmissionType(2); +// template.setTransmissionContent("请输入您要透传的内容"); +// return template; +// } +//} +// diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java index cb47fea..6976a3c 100644 --- a/src/main/java/org/well/well/manager/TubeManager.java +++ b/src/main/java/org/well/well/manager/TubeManager.java @@ -10,10 +10,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -import org.well.well.domain.AlarmJob; -import org.well.well.domain.BusWell; -import org.well.well.domain.Device; -import org.well.well.domain.Tube; +import org.well.well.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +77,41 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + if (alarmRule != null) {//单个报警 + Integer alarmLevel = 1;//默认为1级 + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//类型报警 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); //获取报警阈值 + String isAlarm = "1"; + 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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + Integer alarmLevel = 0;//默认为0级 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -152,7 +141,7 @@ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Tube.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +156,25 @@ } } } + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } + } diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java index 3fc7d40..a038393 100644 --- a/src/main/java/org/well/well/manager/WasteGasManager.java +++ b/src/main/java/org/well/well/manager/WasteGasManager.java @@ -13,7 +13,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java index b51a39d..dc50cbd 100644 --- a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java +++ b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java @@ -29,9 +29,7 @@ private boolean enabled = true; // every 10 seconds - @Scheduled(cron = "0 0 5 * * ?") -// @Scheduled(cron = "0 0/1 * * * ?") -// @Scheduled(cron = "0 */2 * * * ?") + @Scheduled(cron = "${cron.time}") public void execute() { if (!enabled) { return; diff --git a/src/main/java/org/well/well/util/PushList.java b/src/main/java/org/well/well/util/PushList.java index 74568fe..ba5e1af 100644 --- a/src/main/java/org/well/well/util/PushList.java +++ b/src/main/java/org/well/well/util/PushList.java @@ -1,85 +1,85 @@ -package org.well.well.util; - -import java.util.ArrayList; -import java.util.List; - -import com.gexin.rp.sdk.base.IPushResult; -import com.gexin.rp.sdk.base.impl.ListMessage; -import com.gexin.rp.sdk.base.impl.Target; -import com.gexin.rp.sdk.http.IGtPush; -import com.gexin.rp.sdk.template.NotificationTemplate; -import com.gexin.rp.sdk.template.style.Style0; - -/** - * Created by test203 on 2019/6/11. - */ - - -public class PushList { - //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; - - private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); - private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); - private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); - - //别名推送方式 - // static String Alias1 = ""; - // static String Alias2 = ""; - static String host = "http://sdk.open.api.igexin.com/apiex.htm"; - - public static void pushToUser(List cids, String title, String content){ - // 配置返回每个用户返回用户状态,可选 - System.setProperty("gexin_pushList_needDetails", "true"); - // 配置返回每个别名及其对应cid的用户状态,可选 - // System.setProperty("gexin_pushList_needAliasDetails", "true"); - IGtPush push = new IGtPush(host, appKey, masterSecret); - // 通知透传模板 - NotificationTemplate template = notificationTemplateDemo(title,content); - ListMessage message = new ListMessage(); - message.setData(template); - // 设置消息离线,并设置离线时间 - message.setOffline(true); - // 离线有效时间,单位为毫秒,可选 - message.setOfflineExpireTime(24 * 1000 * 3600); - // 配置推送目标 - List targets = new ArrayList(); - for (String cid : cids) { - Target target = new Target(); - target.setAppId(appId); - target.setClientId(cid); - targets.add(target); - } - - // taskId用于在推送时去查找对应的message - String taskId = push.getContentId(message); - IPushResult ret = push.pushMessageToList(taskId, targets); - System.out.println(ret.getResponse().toString()); - } - - public static NotificationTemplate notificationTemplateDemo(String title,String content) { - NotificationTemplate template = new NotificationTemplate(); - // 设置APPID与APPKEY - template.setAppId(appId); - template.setAppkey(appKey); - - Style0 style = new Style0(); - // 设置通知栏标题与内容 - style.setTitle(title); - style.setText(content); - // 配置通知栏图标 - style.setLogo("icon.png"); - // 配置通知栏网络图标 - style.setLogoUrl(""); - // 设置通知是否响铃,震动,或者可清除 - style.setRing(true); - style.setVibrate(true); - style.setClearable(true); - template.setStyle(style); - - // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 - template.setTransmissionType(2); - template.setTransmissionContent("请输入您要透传的内容"); - return template; - } -} - +//package org.well.well.util; +// +//import java.util.ArrayList; +//import java.util.List; +// +//import com.gexin.rp.sdk.base.IPushResult; +//import com.gexin.rp.sdk.base.impl.ListMessage; +//import com.gexin.rp.sdk.base.impl.Target; +//import com.gexin.rp.sdk.http.IGtPush; +//import com.gexin.rp.sdk.template.NotificationTemplate; +//import com.gexin.rp.sdk.template.style.Style0; +// +///** +// * Created by test203 on 2019/6/11. +// */ +// +// +//public class PushList { +// //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; +// +// private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); +// private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); +// private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); +// +// //别名推送方式 +// // static String Alias1 = ""; +// // static String Alias2 = ""; +// static String host = "http://sdk.open.api.igexin.com/apiex.htm"; +// +// public static void pushToUser(List cids, String title, String content){ +// // 配置返回每个用户返回用户状态,可选 +// System.setProperty("gexin_pushList_needDetails", "true"); +// // 配置返回每个别名及其对应cid的用户状态,可选 +// // System.setProperty("gexin_pushList_needAliasDetails", "true"); +// IGtPush push = new IGtPush(host, appKey, masterSecret); +// // 通知透传模板 +// NotificationTemplate template = notificationTemplateDemo(title,content); +// ListMessage message = new ListMessage(); +// message.setData(template); +// // 设置消息离线,并设置离线时间 +// message.setOffline(true); +// // 离线有效时间,单位为毫秒,可选 +// message.setOfflineExpireTime(24 * 1000 * 3600); +// // 配置推送目标 +// List targets = new ArrayList(); +// for (String cid : cids) { +// Target target = new Target(); +// target.setAppId(appId); +// target.setClientId(cid); +// targets.add(target); +// } +// +// // taskId用于在推送时去查找对应的message +// String taskId = push.getContentId(message); +// IPushResult ret = push.pushMessageToList(taskId, targets); +// System.out.println(ret.getResponse().toString()); +// } +// +// public static NotificationTemplate notificationTemplateDemo(String title,String content) { +// NotificationTemplate template = new NotificationTemplate(); +// // 设置APPID与APPKEY +// template.setAppId(appId); +// template.setAppkey(appKey); +// +// Style0 style = new Style0(); +// // 设置通知栏标题与内容 +// style.setTitle(title); +// style.setText(content); +// // 配置通知栏图标 +// style.setLogo("icon.png"); +// // 配置通知栏网络图标 +// style.setLogoUrl(""); +// // 设置通知是否响铃,震动,或者可清除 +// style.setRing(true); +// style.setVibrate(true); +// style.setClearable(true); +// template.setStyle(style); +// +// // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 +// template.setTransmissionType(2); +// template.setTransmissionContent("请输入您要透传的内容"); +// return template; +// } +//} +// diff --git a/src/main/java/org/well/well/util/SnowFlakeUtil.java b/src/main/java/org/well/well/util/SnowFlakeUtil.java index b6992a4..2002664 100644 --- a/src/main/java/org/well/well/util/SnowFlakeUtil.java +++ b/src/main/java/org/well/well/util/SnowFlakeUtil.java @@ -1,5 +1,7 @@ package org.well.well.util; +import xyz.downgoon.snowflake.Snowflake; + import javax.annotation.Resource; import java.util.Random; @@ -41,6 +43,12 @@ // return snowflake.nextId(); // } + private static Snowflake snowflake = new Snowflake(0, 2); + + public static Long getBizPhyId() { + return snowflake.nextId(); + } + public static Long getId() { // return SnowFlakeUtil.get().id(); @@ -48,6 +56,9 @@ long fraction = (long) (range * new Random().nextDouble()); return (Long) (fraction + 100000000); } + public static void main(String []args){ + System.out.println(SnowFlakeUtil.getBizPhyId()); + } } diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java index cb47fea..6976a3c 100644 --- a/src/main/java/org/well/well/manager/TubeManager.java +++ b/src/main/java/org/well/well/manager/TubeManager.java @@ -10,10 +10,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -import org.well.well.domain.AlarmJob; -import org.well.well.domain.BusWell; -import org.well.well.domain.Device; -import org.well.well.domain.Tube; +import org.well.well.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +77,41 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + if (alarmRule != null) {//单个报警 + Integer alarmLevel = 1;//默认为1级 + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//类型报警 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); //获取报警阈值 + String isAlarm = "1"; + 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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + Integer alarmLevel = 0;//默认为0级 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -152,7 +141,7 @@ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Tube.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +156,25 @@ } } } + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } + } diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java index 3fc7d40..a038393 100644 --- a/src/main/java/org/well/well/manager/WasteGasManager.java +++ b/src/main/java/org/well/well/manager/WasteGasManager.java @@ -13,7 +13,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java index b51a39d..dc50cbd 100644 --- a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java +++ b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java @@ -29,9 +29,7 @@ private boolean enabled = true; // every 10 seconds - @Scheduled(cron = "0 0 5 * * ?") -// @Scheduled(cron = "0 0/1 * * * ?") -// @Scheduled(cron = "0 */2 * * * ?") + @Scheduled(cron = "${cron.time}") public void execute() { if (!enabled) { return; diff --git a/src/main/java/org/well/well/util/PushList.java b/src/main/java/org/well/well/util/PushList.java index 74568fe..ba5e1af 100644 --- a/src/main/java/org/well/well/util/PushList.java +++ b/src/main/java/org/well/well/util/PushList.java @@ -1,85 +1,85 @@ -package org.well.well.util; - -import java.util.ArrayList; -import java.util.List; - -import com.gexin.rp.sdk.base.IPushResult; -import com.gexin.rp.sdk.base.impl.ListMessage; -import com.gexin.rp.sdk.base.impl.Target; -import com.gexin.rp.sdk.http.IGtPush; -import com.gexin.rp.sdk.template.NotificationTemplate; -import com.gexin.rp.sdk.template.style.Style0; - -/** - * Created by test203 on 2019/6/11. - */ - - -public class PushList { - //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; - - private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); - private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); - private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); - - //别名推送方式 - // static String Alias1 = ""; - // static String Alias2 = ""; - static String host = "http://sdk.open.api.igexin.com/apiex.htm"; - - public static void pushToUser(List cids, String title, String content){ - // 配置返回每个用户返回用户状态,可选 - System.setProperty("gexin_pushList_needDetails", "true"); - // 配置返回每个别名及其对应cid的用户状态,可选 - // System.setProperty("gexin_pushList_needAliasDetails", "true"); - IGtPush push = new IGtPush(host, appKey, masterSecret); - // 通知透传模板 - NotificationTemplate template = notificationTemplateDemo(title,content); - ListMessage message = new ListMessage(); - message.setData(template); - // 设置消息离线,并设置离线时间 - message.setOffline(true); - // 离线有效时间,单位为毫秒,可选 - message.setOfflineExpireTime(24 * 1000 * 3600); - // 配置推送目标 - List targets = new ArrayList(); - for (String cid : cids) { - Target target = new Target(); - target.setAppId(appId); - target.setClientId(cid); - targets.add(target); - } - - // taskId用于在推送时去查找对应的message - String taskId = push.getContentId(message); - IPushResult ret = push.pushMessageToList(taskId, targets); - System.out.println(ret.getResponse().toString()); - } - - public static NotificationTemplate notificationTemplateDemo(String title,String content) { - NotificationTemplate template = new NotificationTemplate(); - // 设置APPID与APPKEY - template.setAppId(appId); - template.setAppkey(appKey); - - Style0 style = new Style0(); - // 设置通知栏标题与内容 - style.setTitle(title); - style.setText(content); - // 配置通知栏图标 - style.setLogo("icon.png"); - // 配置通知栏网络图标 - style.setLogoUrl(""); - // 设置通知是否响铃,震动,或者可清除 - style.setRing(true); - style.setVibrate(true); - style.setClearable(true); - template.setStyle(style); - - // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 - template.setTransmissionType(2); - template.setTransmissionContent("请输入您要透传的内容"); - return template; - } -} - +//package org.well.well.util; +// +//import java.util.ArrayList; +//import java.util.List; +// +//import com.gexin.rp.sdk.base.IPushResult; +//import com.gexin.rp.sdk.base.impl.ListMessage; +//import com.gexin.rp.sdk.base.impl.Target; +//import com.gexin.rp.sdk.http.IGtPush; +//import com.gexin.rp.sdk.template.NotificationTemplate; +//import com.gexin.rp.sdk.template.style.Style0; +// +///** +// * Created by test203 on 2019/6/11. +// */ +// +// +//public class PushList { +// //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; +// +// private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); +// private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); +// private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); +// +// //别名推送方式 +// // static String Alias1 = ""; +// // static String Alias2 = ""; +// static String host = "http://sdk.open.api.igexin.com/apiex.htm"; +// +// public static void pushToUser(List cids, String title, String content){ +// // 配置返回每个用户返回用户状态,可选 +// System.setProperty("gexin_pushList_needDetails", "true"); +// // 配置返回每个别名及其对应cid的用户状态,可选 +// // System.setProperty("gexin_pushList_needAliasDetails", "true"); +// IGtPush push = new IGtPush(host, appKey, masterSecret); +// // 通知透传模板 +// NotificationTemplate template = notificationTemplateDemo(title,content); +// ListMessage message = new ListMessage(); +// message.setData(template); +// // 设置消息离线,并设置离线时间 +// message.setOffline(true); +// // 离线有效时间,单位为毫秒,可选 +// message.setOfflineExpireTime(24 * 1000 * 3600); +// // 配置推送目标 +// List targets = new ArrayList(); +// for (String cid : cids) { +// Target target = new Target(); +// target.setAppId(appId); +// target.setClientId(cid); +// targets.add(target); +// } +// +// // taskId用于在推送时去查找对应的message +// String taskId = push.getContentId(message); +// IPushResult ret = push.pushMessageToList(taskId, targets); +// System.out.println(ret.getResponse().toString()); +// } +// +// public static NotificationTemplate notificationTemplateDemo(String title,String content) { +// NotificationTemplate template = new NotificationTemplate(); +// // 设置APPID与APPKEY +// template.setAppId(appId); +// template.setAppkey(appKey); +// +// Style0 style = new Style0(); +// // 设置通知栏标题与内容 +// style.setTitle(title); +// style.setText(content); +// // 配置通知栏图标 +// style.setLogo("icon.png"); +// // 配置通知栏网络图标 +// style.setLogoUrl(""); +// // 设置通知是否响铃,震动,或者可清除 +// style.setRing(true); +// style.setVibrate(true); +// style.setClearable(true); +// template.setStyle(style); +// +// // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 +// template.setTransmissionType(2); +// template.setTransmissionContent("请输入您要透传的内容"); +// return template; +// } +//} +// diff --git a/src/main/java/org/well/well/util/SnowFlakeUtil.java b/src/main/java/org/well/well/util/SnowFlakeUtil.java index b6992a4..2002664 100644 --- a/src/main/java/org/well/well/util/SnowFlakeUtil.java +++ b/src/main/java/org/well/well/util/SnowFlakeUtil.java @@ -1,5 +1,7 @@ package org.well.well.util; +import xyz.downgoon.snowflake.Snowflake; + import javax.annotation.Resource; import java.util.Random; @@ -41,6 +43,12 @@ // return snowflake.nextId(); // } + private static Snowflake snowflake = new Snowflake(0, 2); + + public static Long getBizPhyId() { + return snowflake.nextId(); + } + public static Long getId() { // return SnowFlakeUtil.get().id(); @@ -48,6 +56,9 @@ long fraction = (long) (range * new Random().nextDouble()); return (Long) (fraction + 100000000); } + public static void main(String []args){ + System.out.println(SnowFlakeUtil.getBizPhyId()); + } } diff --git a/src/main/resources/wellSensor/application.properties b/src/main/resources/wellSensor/application.properties index f6145cf..5363539 100644 --- a/src/main/resources/wellSensor/application.properties +++ b/src/main/resources/wellSensor/application.properties @@ -152,7 +152,8 @@ scheduler.enabled=true scheduler.com.casic.baseService.scheduler.DeviceCheckingJob.execute=true deviceChecking.enabled=true -#cron.time=0 37 15 * * ? +cron.time=1 * * * * ? +checked.day=7 # ============================================================================ # ���ͼ�� diff --git a/pom.xml b/pom.xml index e9dcc64..ac8e701 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ 2.7.6 + + xyz.downgoon + snowflake + 1.0.0 + diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java index dee5c4f..94b2998 100644 --- a/src/main/java/org/well/mysql/sink/WellSink.java +++ b/src/main/java/org/well/mysql/sink/WellSink.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.well.well.util.SnowFlakeUtil; import java.util.ArrayList; import java.util.List; @@ -37,13 +38,15 @@ private Logger LOG = LoggerFactory.getLogger(WellSink.class); private int batchSize; private ClassPathXmlApplicationContext ac = null; + public WellSink() { LOG.info("wellMysqlSink start..."); } + public void configure(Context context) { String s[] = System.getProperty("java.class.path").split(";"); for (String string : s) { - System.out.println("**********************"+string+"************************"); + System.out.println("**********************" + string + "************************"); } ac = new ClassPathXmlApplicationContext( new String[]{"classpath:wellSensor/*.xml"}); @@ -121,61 +124,160 @@ new String[]{"classpath:wellSensor/*.xml"}); ac.start(); String temp = - "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\",\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}],\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; + "{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"112018030001\"," + + "\"mBody\":{\"bType\":\"LiquidData\",\"cell\": 90,\"datas\": [{\"uptime\":\"20180911222000\"," + + "\"level\":0.55}, {\"uptime\":\"20181111212001\",\"level\": 0.46}]," + + "\"logTime\":\"20190315010000\"},\"ts\":\"12345678901\"}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\",\"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Concentrator\",\"devCode\":\"00003\", +// \"mBody\":{\"logTime\":\"20190605002024\",\"bType\":\"ConcentratorOnline\"},\"ts\":1559665224343}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\",\"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\",\"bType\":\"WellData\"},\"ts\":1559665802828}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9,\"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\",\"bType\":\"LiquidData\"},\"ts\":1556726485336}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\",\"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}],\"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; -// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\",\"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true,\"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; - temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Well\",\"devCode\":\"412020110001\", +// \"mBody\":{\"datas\":[{\"value\":\"00\",\"uptime\":\"20210624000000\"}],\"logTime\":\"20210624000000\", +// \"bType\":\"WellData\"},\"ts\":1559665802828}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"cell\":9.9, +// \"datas\":[{\"level\":1.1892,\"uptime\":\"20191213000000\"}],\"logTime\":\"20190502000125\", +// \"bType\":\"LiquidData\"},\"ts\":1556726485336}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidPressureError\"],\"logTime\":\"20190510134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Locator\",\"devCode\":\"71201900001\", +// \"mBody\":{\"datas\":[{\"longitude\":126.243324343,\"latitude\":39.2546546546,\"uptime\":\"20190809140900\"}], +// \"logTime\":\"20190809141012\",\"bType\":\"LocatorData\"},\"ts\":1565331012453}"; +// temp="{\"mType\":\"Data\",\"devType\":\"NoiseDig\",\"devCode\":\"14141414146\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":0.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseDigData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"21201900001\", +// \"mBody\":{\"datas\":[{\"CO\":60,\"O2\":25,\"H2S\":15,\"CH4\":7,\"liquidSwitch\":true, +// \"uptime\":\"20191018163319\"}],\"logTime\":\"20191018151844\",\"bType\":\"WasteGasData\"},\"ts\":1571296724288}"; + temp = "{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99," + + "\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}]," + + "\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"31201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; -// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\",\"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000,\"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"},{\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}],\"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040,\"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; +// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\", +// \"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"], +// \"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\", +// \"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"WasteGas\",\"devCode\":\"08888888885\", +// \"mBody\":{\"bType\":\"WasteGasData\",\"datas\":[{\"CO\":0,\"O2\":1.1,\"H2S\":10000,\"CH4\":10000, +// \"liquidSwitch\":true,\"uptime\":\"20191217165124\"}],\"logTime\":\"20191217165124\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"1122222222212\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":98,\"datas\":[{\"level\":6.73,\"uptime\":\"20191217161000\"}, +// {\"level\":5.72,\"uptime\":\"20191217162000\"},{\"level\":7.71,\"uptime\":\"20210406113000\"}], +// \"logTime\":\"20210406113000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"12121212125\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":4,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":6.5,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\", +// \"mBody\":{\"bType\":\"NoiseData\",\"cell\":88,\"datas\":[{\"noiseVal\":1.83666,\"noiseFreq\":2040, +// \"uptime\":\"20200820125700\"}],\"logTime\":\"20200820123131\"},\"ts\":1556184691451}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"212020000a\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; -// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82,\"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}],\"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; - +// temp="{\"mType\":\"Data\",\"devType\":\"TempPressure\",\"devCode\":\"812019010001\",\"mBody\":{\"cell\":82, +// \"datas\":[{\"temperature\":12.7999992,\"pressure\":104.66,\"uptime\":\"20210401155800\"}], +// \"logTime\":\"20210401000148\",\"bType\":\"TempPressureData\"},\"ts\":1617206508232}"; // List arr= new ArrayList(); // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"3123421342314\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":50.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"32201900001\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"liquid\":10,\"uptime\":\"20210813105800\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172, +// \"uptime\":\"20210813105700\"}],\"logTime\":\"20210813105400\",\"bType\":\"LGData\"},\"ts\":1571292084960}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92,\"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}],\"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322019010222\",\"mBody\":{\"cell\":92, +// \"pci\":60,\"rsrp\":-87,\"snr\":14,\"datas\":[{\"gas\":0.0,\"uptime\":\"20210819000900\"}], +// \"logTime\":\"20210819001029\",\"bType\":\"LGData\"},\"ts\":1629303029014}"; // arr.add(temp); -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15, +// \"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}], +// \"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; -// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392,\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\",\"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"},\"ts\":1560484030810}"; -// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"},{\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}],\"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; -// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}"; -// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\",\"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; +// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91, +// \"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040 +// .07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}"; + temp = "{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":83," + + "\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220719030200\"}," + + "{\"gas\":0.599999964,\"uptime\":\"20220719030200\"},{\"liquid\":1108.392," + + "\"uptime\":\"20220719030200\"},{\"liquid\":1112.47058,\"uptime\":\"20220719030200\"}]," + + "\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}"; + + temp = " {\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312022040220\",\"mBody\":{\"cell\":86," + + "\"pci\":216,\"rsrp\":-95,\"snr\":13,\"datas\":[{\"gas\":31.1,\"uptime\":\"20230214235800\"}]," + + "\"logTime\":\"20230214235953\",\"bType\":\"MethaneData\"},\"ts\":1676390393933}"; + temp = " {\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342022010029\",\"mBody\":{\"cell\":10," + "\"pci\":163,\"rsrp\":-117,\"snr\":-6,\"datas\":[{\"gas\":0,\"uptime\":\"20230215111200\"},{\"gas\":0,\"uptime\":\"20230215121200\"},{\"gas\":0,\"uptime\":\"20230215131200\"},{\"gas\":0,\"uptime\":\"20230215141200\"},{\"gas\":0,\"uptime\":\"20230215151200\"},{\"gas\":0,\"uptime\":\"20230215161200\"},{\"gas\":0,\"uptime\":\"20230215171200\"},{\"gas\":0,\"uptime\":\"20230215181200\"},{\"gas\":0,\"uptime\":\"20230215191200\"},{\"gas\":0,\"uptime\":\"20230215201200\"},{\"gas\":0,\"uptime\":\"20230215211200\"},{\"gas\":30.1,\"uptime\":\"20230215221200\"}],\"logTime\":\"20230215231850\",\"bType\":\"TubeData\"},\"ts\":1676474330795}}"; + +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412019080099\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20190624114710\",\"bType\":\"WellEvent\"}, +// \"ts\":1560484030810}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidData\",\"cell\":97,\"datas\":[{\"level\":400,\"uptime\":\"20191219150000\"}, +// {\"level\":4,\"uptime\":\"20191219151000\"},{\"level\":50.2,\"uptime\":\"20191219152000\"}], +// \"logTime\":\"20191219152000\"},\"ts\":1556186030842}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\", +// \"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"}, +// \"ts\":1557467195358}"; +// temp="{\"mType\":\"SetResponse\",\"devType\":\"Liquid\",\"devCode\":\"312021030023\", +// \"mBody\":{\"bType\":\"LiquidConfigSuccess\"},\"ts\":1556182310514}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99,\"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797,\"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553,\"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"},{\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\",\"bType\":\"NoiseData\"},\"ts\":1566454417130}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Noise\",\"devCode\":\"3120312313213\",\"mBody\":{\"cell\":99, +// \"datas\":[{\"noiseVal\":84.7926,\"noiseFreq\":1421,\"uptime\":\"20191017141000\"},{\"noiseVal\":48.1797, +// \"noiseFreq\":212,\"uptime\":\"20190822141300\"},{\"noiseVal\":33.1398,\"noiseFreq\":553, +// \"uptime\":\"20190822141600\"},{\"noiseVal\":0.85,\"noiseFreq\":1049,\"uptime\":\"20190822141900\"}, +// {\"noiseVal\":4000.86,\"noiseFreq\":1545,\"uptime\":\"20191017142200\"}],\"logTime\":\"20190822141337\", +// \"bType\":\"NoiseData\"},\"ts\":1566454417130}"; // -// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172,\"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"1111111111\",\"mBody\":{\"cell\":95, +// \"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406, +// \"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235, +// \"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":26.8701172, +// \"uptime\":\"20210813115400\"}],\"logTime\":\"20210813105400\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}"; +// temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028091422\",\"bType\":\"WellEvent\"}, +// \"ts\":1666919662714}"; +// +//temp="{\"mType\":\"Event\",\"devType\":\"Well\",\"devCode\":\"412022030904\", +// \"mBody\":{\"eventType\":[\"WellOpenAlarm\"],\"logTime\":\"20221028170840\",\"bType\":\"WellEvent\"}, +// \"ts\":1666948120626}\n"; AbstractResponse resp = ResponseResolver.makeResponse(temp); resp.setAc(ac); // for(String dd:arr){ diff --git a/src/main/java/org/well/well/base/DeviceTypeEnum.java b/src/main/java/org/well/well/base/DeviceTypeEnum.java index d570944..7cc7ae9 100644 --- a/src/main/java/org/well/well/base/DeviceTypeEnum.java +++ b/src/main/java/org/well/well/base/DeviceTypeEnum.java @@ -25,7 +25,8 @@ FLOWGAUGE("流量计", 20), RAINGAUGE("雨量计", 21), LG("燃气智能监测终端(一体化)", 22), - Tube("管盯", 23); + Tube("管盯", 23), + COMBUSTIBLE_GAS("可燃气体", 24); // 成员变量 diff --git a/src/main/java/org/well/well/core/util/ThreadUtil.java b/src/main/java/org/well/well/core/util/ThreadUtil.java index 79aede1..7b7470c 100644 --- a/src/main/java/org/well/well/core/util/ThreadUtil.java +++ b/src/main/java/org/well/well/core/util/ThreadUtil.java @@ -22,7 +22,7 @@ String retMsg = HttpClientUtils.post(Configure.getProperty("sendURL", "") + "?id=" + jobId + "&msg="+alarmMsg , ""); Thread.sleep(500); - System.out.println("--------工单和告警推送至web后台成功 " + retMsg + ",工单id:" + jobId); + System.out.println("--------工单和告警推送至web后台成功 " + msg + ",工单id:" + jobId); } catch (InterruptedException e) { e.printStackTrace(); System.out.println("--------工单和告警推送至web后台失败,工单id:" + jobId); diff --git a/src/main/java/org/well/well/domain/AlarmRecord.java b/src/main/java/org/well/well/domain/AlarmRecord.java index 77c2cf1..1e52fba 100644 --- a/src/main/java/org/well/well/domain/AlarmRecord.java +++ b/src/main/java/org/well/well/domain/AlarmRecord.java @@ -2,6 +2,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; +import org.well.well.util.SnowFlakeUtil; import javax.persistence.*; import java.io.Serializable; @@ -44,6 +45,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.getBizPhyId(); this.jobId = jobId; this.alarmType = alarmType; this.alarmLevel = alarmLevel; @@ -58,7 +60,6 @@ } @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; diff --git a/src/main/java/org/well/well/domain/Device.java b/src/main/java/org/well/well/domain/Device.java index 4c1595d..e4b65ce 100644 --- a/src/main/java/org/well/well/domain/Device.java +++ b/src/main/java/org/well/well/domain/Device.java @@ -26,6 +26,12 @@ */ @Column(name ="DEVCODE") private String devCode; + + /** + * 设备信号 + */ + @Column(name ="SIGNAL") + private String signal; /** * 设备名称 */ @@ -110,6 +116,14 @@ return valid; } + public void setSignal(String signal) { + this.signal = signal; + } + + public String getSignal() { + return signal; + } + public void setValid(String valid) { this.valid = valid; } diff --git a/src/main/java/org/well/well/manager/AlarmRecordManager.java b/src/main/java/org/well/well/manager/AlarmRecordManager.java index d3fae84..3a9815d 100644 --- a/src/main/java/org/well/well/manager/AlarmRecordManager.java +++ b/src/main/java/org/well/well/manager/AlarmRecordManager.java @@ -98,7 +98,6 @@ List alarmRecordList = criteria.list(); return alarmRecordList != null && alarmRecordList.size() > 0 ? alarmRecordList.get(0) : null; - } public AlarmRecord getDeviceAlarm(String devCode, String alarmValue) {//获取设备本身报警消息(正在告警) diff --git a/src/main/java/org/well/well/manager/DeviceManager.java b/src/main/java/org/well/well/manager/DeviceManager.java index 18a7905..cbcf18e 100644 --- a/src/main/java/org/well/well/manager/DeviceManager.java +++ b/src/main/java/org/well/well/manager/DeviceManager.java @@ -1,5 +1,6 @@ package org.well.well.manager; +import org.springframework.beans.factory.annotation.Value; import org.well.well.base.DeviceTypeEnum; import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; @@ -13,6 +14,8 @@ @Service public class DeviceManager extends HibernateEntityDao { + @Value("${checked.day}") + private Integer checkedDay; public Criteria getCriteria() { return getSession().createCriteria(Device.class); @@ -57,6 +60,7 @@ criteria.add(Restrictions.eq("devCode", devCode)); criteria.add(Restrictions.eq("valid", "1")); criteria.add(Restrictions.eq("onlineState", "1")); + criteria.add(Restrictions.eq("signal", "1")); List devices = criteria.list(); for (Device device : devices) { device.setOnlineState("0"); @@ -69,7 +73,7 @@ try { Map paramMap = new HashMap(); paramMap.put("devCode", device.getDevCode()); - paramMap.put("beg", DateUtils.sdf_day.format(DateUtils.getSevenBeforeDate())); + paramMap.put("day",checkedDay); List list = getSession().createSQLQuery(sql).setProperties(paramMap).list(); if (list.size() == 0) { setOfflineBySevenNoData(device.getDevCode()); @@ -90,57 +94,62 @@ String sql = ""; if (devTypeName.equals(DeviceTypeEnum.Liquid.toString())) { sql = "select * from data_liquid " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + - " DEVCODE=:devCode"; + "where date_part('day',now()-uptime) <:day and" + + "DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Well.toString())) { sql = "select * from data_wellcover " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.WasteGas.toString())) { sql = "select * from data_harmful_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.Methane.toString())) { sql = "select * from data_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.NoiseDig.toString())) { sql = "select * from data_dig " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } else if (devTypeName.equals(DeviceTypeEnum.TempHumi.toString())) { sql = "select * from data_temp_hum " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.Meter.toString())){ sql = "select * from data_meter " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) < :day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.FLOWGAUGE.toString())){ sql = "select * from data_flowmeter " + - " where date_format(logtime,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if(devTypeName.equals(DeviceTypeEnum.RAINGAUGE.toString())){ sql = "select * from data_hyetometer " + - " where date_format(LOGTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-logtime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); }else if (devTypeName.equals(DeviceTypeEnum.LG.toString())) { sql = "select * from data_gasliquid_gas " + - " where date_format(UPTIME,'%Y-%m-%d')>=:beg and" + + " where date_part('day',now()-uptime) <:day and" + + " DEVCODE=:devCode"; + findDeviceDataInSevenDays(device, sql); + }else if(devTypeName.equals(DeviceTypeEnum.COMBUSTIBLE_GAS.toString())){ + sql = "select * from data_gas_dector " + + " where date_part('day',now()-uptime) <:day and" + " DEVCODE=:devCode"; findDeviceDataInSevenDays(device, sql); } diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java index a8c44d8..5563c09 100644 --- a/src/main/java/org/well/well/manager/MethaneManager.java +++ b/src/main/java/org/well/well/manager/MethaneManager.java @@ -2,6 +2,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.lang.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -10,10 +11,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -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.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +78,42 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = MethaneAlarmEnum.OVER_THRESH.getName(); + if (alarmRule != null) {//先走单独定制的流程 + Integer alarmLevel = 1; + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//先走单独定制的流程 + //获取报警阈值 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); + String isAlarm = "1"; + Integer alarmLevel =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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -150,9 +141,9 @@ BusWell busWell = busWellManager.getWellByDevCode(devCode); //4.若无工单写入新的工单 AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); - Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId(); + Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Methane.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +158,25 @@ } } } + + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } } diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java index 9bbec2b..e6e2098 100644 --- a/src/main/java/org/well/well/manager/TempHumiManager.java +++ b/src/main/java/org/well/well/manager/TempHumiManager.java @@ -14,7 +14,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java index cb47fea..6976a3c 100644 --- a/src/main/java/org/well/well/manager/TubeManager.java +++ b/src/main/java/org/well/well/manager/TubeManager.java @@ -10,10 +10,7 @@ import org.well.well.core.hibernate.HibernateEntityDao; import org.well.well.core.util.DateUtils; import org.well.well.core.util.ThreadUtil; -import org.well.well.domain.AlarmJob; -import org.well.well.domain.BusWell; -import org.well.well.domain.Device; -import org.well.well.domain.Tube; +import org.well.well.domain.*; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; @@ -80,49 +77,41 @@ //4.清除设备告警 alarmRecordManager.clearAlarmByNormalData(devCode, ""); - //获取报警阈值 - List ruleRankList = alarmRuleManager.getRuleRank(devCode); + AlarmRule alarmRule = alarmRuleManager.findRuleByDevAndSensor(devCode, null);//获取报警阈值 + Device device = deviceManager.getDeviceByDevCode(devCode); + String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); float rankThresh = 0; - String isAlarm = "1"; - 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(); - } - - if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 - Device device = deviceManager.getDeviceByDevCode(devCode); - //获取报警等级 - String alarmContent = TubeAlarmEnum.OVER_THRESH.getName(); - Integer alarmLevel = 0; - for (int j = 0; j < ruleRankList.size(); j++) { - Object rankValue = ((Object[]) ruleRankList.get(j))[2]; - if (null != rankValue) { - if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { - alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); - break; + if (alarmRule != null) {//单个报警 + Integer alarmLevel = 1;//默认为1级 + rankThresh = alarmRule.getHighValue() != null ? Float.valueOf(alarmRule.getHighValue()) : 0; + if (rankThresh > 0 && Float.valueOf(gas) > rankThresh) { + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); + } + } else {//类型报警 + List ruleRankList = alarmRuleManager.getRuleRank(devCode); //获取报警阈值 + String isAlarm = "1"; + 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(); + } + if (rankThresh > 0 && "1".equals(isAlarm) && Float.valueOf(gas) >= rankThresh) {//浓度超限 + Integer alarmLevel = 0;//默认为0级 + for (int j = 0; j < ruleRankList.size(); j++) { + Object rankValue = ((Object[]) ruleRankList.get(j))[2]; + if (null != rankValue) { + if (Float.valueOf(gas) >= Float.valueOf(rankValue.toString())) { + alarmLevel = Integer.valueOf(((Object[]) ruleRankList.get(j))[0].toString()); + break; + } } } + dataTransfer(device, devCode, busWell, alarmContent, alarmLevel, gas, upTime); + } else { + alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } - - //未注册设备舍弃 - 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(jobId, "1", alarmLevel, - alarmContent, gas, device, - devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); - //3.toDo:向app推送报警消息 - ThreadUtil.excuteMsg(jobId, alarmContent); - } else { - alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单"); } //3.清离线 deviceManager.clearOffline(devCode); @@ -152,7 +141,7 @@ AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "0"); Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId(); if (null == alarmJob) { - alarmJobManager.saveData(jobId,devCode, busWell != null ? + alarmJobManager.saveData(jobId, devCode, busWell != null ? busWell.getWellCode() : "", DeviceTypeEnum.Tube.toString(), "0"); } alarmRecordManager.saveData(jobId, "2", null, @@ -167,4 +156,25 @@ } } } + + private void dataTransfer(Device device, String devCode, BusWell busWell, String alarmContent, Integer alarmLevel, + String gas, String upTime) throws IOException { + //未注册设备舍弃 + 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(jobId, "1", alarmLevel, + alarmContent, gas, device, + devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent); + //3.toDo:向app推送报警消息 + ThreadUtil.excuteMsg(jobId, alarmContent); + } + } diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java index 3fc7d40..a038393 100644 --- a/src/main/java/org/well/well/manager/WasteGasManager.java +++ b/src/main/java/org/well/well/manager/WasteGasManager.java @@ -13,7 +13,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.PushList; +//import org.well.well.util.PushList; import org.well.well.util.SnowFlakeUtil; import javax.annotation.Resource; diff --git a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java index b51a39d..dc50cbd 100644 --- a/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java +++ b/src/main/java/org/well/well/scheduler/DeviceCheckingJob.java @@ -29,9 +29,7 @@ private boolean enabled = true; // every 10 seconds - @Scheduled(cron = "0 0 5 * * ?") -// @Scheduled(cron = "0 0/1 * * * ?") -// @Scheduled(cron = "0 */2 * * * ?") + @Scheduled(cron = "${cron.time}") public void execute() { if (!enabled) { return; diff --git a/src/main/java/org/well/well/util/PushList.java b/src/main/java/org/well/well/util/PushList.java index 74568fe..ba5e1af 100644 --- a/src/main/java/org/well/well/util/PushList.java +++ b/src/main/java/org/well/well/util/PushList.java @@ -1,85 +1,85 @@ -package org.well.well.util; - -import java.util.ArrayList; -import java.util.List; - -import com.gexin.rp.sdk.base.IPushResult; -import com.gexin.rp.sdk.base.impl.ListMessage; -import com.gexin.rp.sdk.base.impl.Target; -import com.gexin.rp.sdk.http.IGtPush; -import com.gexin.rp.sdk.template.NotificationTemplate; -import com.gexin.rp.sdk.template.style.Style0; - -/** - * Created by test203 on 2019/6/11. - */ - - -public class PushList { - //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; - - private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); - private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); - private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); - - //别名推送方式 - // static String Alias1 = ""; - // static String Alias2 = ""; - static String host = "http://sdk.open.api.igexin.com/apiex.htm"; - - public static void pushToUser(List cids, String title, String content){ - // 配置返回每个用户返回用户状态,可选 - System.setProperty("gexin_pushList_needDetails", "true"); - // 配置返回每个别名及其对应cid的用户状态,可选 - // System.setProperty("gexin_pushList_needAliasDetails", "true"); - IGtPush push = new IGtPush(host, appKey, masterSecret); - // 通知透传模板 - NotificationTemplate template = notificationTemplateDemo(title,content); - ListMessage message = new ListMessage(); - message.setData(template); - // 设置消息离线,并设置离线时间 - message.setOffline(true); - // 离线有效时间,单位为毫秒,可选 - message.setOfflineExpireTime(24 * 1000 * 3600); - // 配置推送目标 - List targets = new ArrayList(); - for (String cid : cids) { - Target target = new Target(); - target.setAppId(appId); - target.setClientId(cid); - targets.add(target); - } - - // taskId用于在推送时去查找对应的message - String taskId = push.getContentId(message); - IPushResult ret = push.pushMessageToList(taskId, targets); - System.out.println(ret.getResponse().toString()); - } - - public static NotificationTemplate notificationTemplateDemo(String title,String content) { - NotificationTemplate template = new NotificationTemplate(); - // 设置APPID与APPKEY - template.setAppId(appId); - template.setAppkey(appKey); - - Style0 style = new Style0(); - // 设置通知栏标题与内容 - style.setTitle(title); - style.setText(content); - // 配置通知栏图标 - style.setLogo("icon.png"); - // 配置通知栏网络图标 - style.setLogoUrl(""); - // 设置通知是否响铃,震动,或者可清除 - style.setRing(true); - style.setVibrate(true); - style.setClearable(true); - template.setStyle(style); - - // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 - template.setTransmissionType(2); - template.setTransmissionContent("请输入您要透传的内容"); - return template; - } -} - +//package org.well.well.util; +// +//import java.util.ArrayList; +//import java.util.List; +// +//import com.gexin.rp.sdk.base.IPushResult; +//import com.gexin.rp.sdk.base.impl.ListMessage; +//import com.gexin.rp.sdk.base.impl.Target; +//import com.gexin.rp.sdk.http.IGtPush; +//import com.gexin.rp.sdk.template.NotificationTemplate; +//import com.gexin.rp.sdk.template.style.Style0; +// +///** +// * Created by test203 on 2019/6/11. +// */ +// +// +//public class PushList { +// //采用"Java SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置,用户可以自行替换; +// +// private static String appId = Configure.getProperty("gt.appId","qQqFtTBrUa7SGLjntUlpT4"); +// private static String appKey = Configure.getProperty("gt.appKey","GNjHLiqJkD6OoeZbtbdfi5"); +// private static String masterSecret = Configure.getProperty("gt.masterSecret","TZRYQknkxLAJ58uH56PeS6"); +// +// //别名推送方式 +// // static String Alias1 = ""; +// // static String Alias2 = ""; +// static String host = "http://sdk.open.api.igexin.com/apiex.htm"; +// +// public static void pushToUser(List cids, String title, String content){ +// // 配置返回每个用户返回用户状态,可选 +// System.setProperty("gexin_pushList_needDetails", "true"); +// // 配置返回每个别名及其对应cid的用户状态,可选 +// // System.setProperty("gexin_pushList_needAliasDetails", "true"); +// IGtPush push = new IGtPush(host, appKey, masterSecret); +// // 通知透传模板 +// NotificationTemplate template = notificationTemplateDemo(title,content); +// ListMessage message = new ListMessage(); +// message.setData(template); +// // 设置消息离线,并设置离线时间 +// message.setOffline(true); +// // 离线有效时间,单位为毫秒,可选 +// message.setOfflineExpireTime(24 * 1000 * 3600); +// // 配置推送目标 +// List targets = new ArrayList(); +// for (String cid : cids) { +// Target target = new Target(); +// target.setAppId(appId); +// target.setClientId(cid); +// targets.add(target); +// } +// +// // taskId用于在推送时去查找对应的message +// String taskId = push.getContentId(message); +// IPushResult ret = push.pushMessageToList(taskId, targets); +// System.out.println(ret.getResponse().toString()); +// } +// +// public static NotificationTemplate notificationTemplateDemo(String title,String content) { +// NotificationTemplate template = new NotificationTemplate(); +// // 设置APPID与APPKEY +// template.setAppId(appId); +// template.setAppkey(appKey); +// +// Style0 style = new Style0(); +// // 设置通知栏标题与内容 +// style.setTitle(title); +// style.setText(content); +// // 配置通知栏图标 +// style.setLogo("icon.png"); +// // 配置通知栏网络图标 +// style.setLogoUrl(""); +// // 设置通知是否响铃,震动,或者可清除 +// style.setRing(true); +// style.setVibrate(true); +// style.setClearable(true); +// template.setStyle(style); +// +// // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 +// template.setTransmissionType(2); +// template.setTransmissionContent("请输入您要透传的内容"); +// return template; +// } +//} +// diff --git a/src/main/java/org/well/well/util/SnowFlakeUtil.java b/src/main/java/org/well/well/util/SnowFlakeUtil.java index b6992a4..2002664 100644 --- a/src/main/java/org/well/well/util/SnowFlakeUtil.java +++ b/src/main/java/org/well/well/util/SnowFlakeUtil.java @@ -1,5 +1,7 @@ package org.well.well.util; +import xyz.downgoon.snowflake.Snowflake; + import javax.annotation.Resource; import java.util.Random; @@ -41,6 +43,12 @@ // return snowflake.nextId(); // } + private static Snowflake snowflake = new Snowflake(0, 2); + + public static Long getBizPhyId() { + return snowflake.nextId(); + } + public static Long getId() { // return SnowFlakeUtil.get().id(); @@ -48,6 +56,9 @@ long fraction = (long) (range * new Random().nextDouble()); return (Long) (fraction + 100000000); } + public static void main(String []args){ + System.out.println(SnowFlakeUtil.getBizPhyId()); + } } diff --git a/src/main/resources/wellSensor/application.properties b/src/main/resources/wellSensor/application.properties index f6145cf..5363539 100644 --- a/src/main/resources/wellSensor/application.properties +++ b/src/main/resources/wellSensor/application.properties @@ -152,7 +152,8 @@ scheduler.enabled=true scheduler.com.casic.baseService.scheduler.DeviceCheckingJob.execute=true deviceChecking.enabled=true -#cron.time=0 37 15 * * ? +cron.time=1 * * * * ? +checked.day=7 # ============================================================================ # ���ͼ�� diff --git a/wellSensor.iml b/wellSensor.iml index 3e9d695..9f6af8a 100644 --- a/wellSensor.iml +++ b/wellSensor.iml @@ -18,7 +18,6 @@ - @@ -121,6 +120,7 @@ +