diff --git a/src/main/java/com/casic/common/general/DataItem.java b/src/main/java/com/casic/common/general/DataItem.java index abaadae..ac10e4a 100644 --- a/src/main/java/com/casic/common/general/DataItem.java +++ b/src/main/java/com/casic/common/general/DataItem.java @@ -7,4 +7,8 @@ public JSONObject toJSON() { return null; } + + public JSONObject toJSON(String deviceType) { + return null; + } } diff --git a/src/main/java/com/casic/common/general/DataItem.java b/src/main/java/com/casic/common/general/DataItem.java index abaadae..ac10e4a 100644 --- a/src/main/java/com/casic/common/general/DataItem.java +++ b/src/main/java/com/casic/common/general/DataItem.java @@ -7,4 +7,8 @@ public JSONObject toJSON() { return null; } + + public JSONObject toJSON(String deviceType) { + return null; + } } diff --git a/src/main/java/com/casic/common/general/IMEIFrame.java b/src/main/java/com/casic/common/general/IMEIFrame.java index db08dd6..356feda 100644 --- a/src/main/java/com/casic/common/general/IMEIFrame.java +++ b/src/main/java/com/casic/common/general/IMEIFrame.java @@ -18,11 +18,6 @@ String iccid; @Override - public String getDevTypeName() { - return "Methane"; - } - - @Override public String toString() { return "{" + MESSAGE_TYPE_DESCRIPTION + ":" + MESSAGE_TYPE_STRING + ";" + diff --git a/src/main/java/com/casic/common/general/DataItem.java b/src/main/java/com/casic/common/general/DataItem.java index abaadae..ac10e4a 100644 --- a/src/main/java/com/casic/common/general/DataItem.java +++ b/src/main/java/com/casic/common/general/DataItem.java @@ -7,4 +7,8 @@ public JSONObject toJSON() { return null; } + + public JSONObject toJSON(String deviceType) { + return null; + } } diff --git a/src/main/java/com/casic/common/general/IMEIFrame.java b/src/main/java/com/casic/common/general/IMEIFrame.java index db08dd6..356feda 100644 --- a/src/main/java/com/casic/common/general/IMEIFrame.java +++ b/src/main/java/com/casic/common/general/IMEIFrame.java @@ -18,11 +18,6 @@ String iccid; @Override - public String getDevTypeName() { - return "Methane"; - } - - @Override public String toString() { return "{" + MESSAGE_TYPE_DESCRIPTION + ":" + MESSAGE_TYPE_STRING + ";" + diff --git a/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java b/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java index 9ae4fbc..4305ac6 100644 --- a/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java +++ b/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java @@ -7,7 +7,6 @@ import com.casic.common.general.DataItem; import com.casic.dao.model.DataGas; import com.casic.dao.model.DataGasliquidGas; -import com.casic.tube.frame.mhk.DataItemMHK; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -38,17 +37,17 @@ obj.put("devType", getDevTypeName()); obj.put("devCode", getDeviceCode()); - obj.put("cell", ""); +// obj.put("cell", ""); JSONObject body = new JSONObject(); body.put("bType", getDevTypeName() + "Data"); body.put("logTime", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); JSONArray dataArr = new JSONArray(); for (DataItem dataItem : dataItemList) { - dataArr.add(dataItem.toJSON()); + dataArr.add(dataItem.toJSON(getDeviceType())); int cellVal = NumberUtil.toBigInteger(((MethaneDataItemHSYD) dataItem).getVbat()).intValue(); - body.put("cell", cellVal / 3600); // 占3600mv的百分比 + body.put("cell", cellVal / 3600 * 100); // 占3600mv的百分比 } body.put("datas", dataArr); @@ -69,9 +68,18 @@ dataItem.setVbat(Integer.parseInt(dataObj.getString("BAT"))); dataItem.setBatsta(dataObj.getString("BATSTA")); dataItem.setTime(dataObj.getString("UPTIME")); - dataItem.setSin(Integer.parseInt(dataObj.getString("SIN"))); - dataItem.setRsrp(Integer.parseInt(dataObj.getString("RSRP"))); - dataItem.setSinr(Integer.parseInt(dataObj.getString("SINR"))); + if (dataObj.containsKey("SIN")) { + dataItem.setSin(Integer.parseInt(dataObj.getString("SIN"))); + } + if (dataObj.containsKey("RSRP")) { + dataItem.setRsrp(Integer.parseInt(dataObj.getString("RSRP"))); + } + if (dataObj.containsKey("SINR")) { + dataItem.setSinr(Integer.parseInt(dataObj.getString("SINR"))); + } + if (dataObj.containsKey("SIG")) { + dataItem.setSig(dataObj.getString("SIG")); + } dataItemList.add(dataItem); } diff --git a/src/main/java/com/casic/common/general/DataItem.java b/src/main/java/com/casic/common/general/DataItem.java index abaadae..ac10e4a 100644 --- a/src/main/java/com/casic/common/general/DataItem.java +++ b/src/main/java/com/casic/common/general/DataItem.java @@ -7,4 +7,8 @@ public JSONObject toJSON() { return null; } + + public JSONObject toJSON(String deviceType) { + return null; + } } diff --git a/src/main/java/com/casic/common/general/IMEIFrame.java b/src/main/java/com/casic/common/general/IMEIFrame.java index db08dd6..356feda 100644 --- a/src/main/java/com/casic/common/general/IMEIFrame.java +++ b/src/main/java/com/casic/common/general/IMEIFrame.java @@ -18,11 +18,6 @@ String iccid; @Override - public String getDevTypeName() { - return "Methane"; - } - - @Override public String toString() { return "{" + MESSAGE_TYPE_DESCRIPTION + ":" + MESSAGE_TYPE_STRING + ";" + diff --git a/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java b/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java index 9ae4fbc..4305ac6 100644 --- a/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java +++ b/src/main/java/com/casic/methane/frame/hsyd/MethaneDataFrameHSYD.java @@ -7,7 +7,6 @@ import com.casic.common.general.DataItem; import com.casic.dao.model.DataGas; import com.casic.dao.model.DataGasliquidGas; -import com.casic.tube.frame.mhk.DataItemMHK; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -38,17 +37,17 @@ obj.put("devType", getDevTypeName()); obj.put("devCode", getDeviceCode()); - obj.put("cell", ""); +// obj.put("cell", ""); JSONObject body = new JSONObject(); body.put("bType", getDevTypeName() + "Data"); body.put("logTime", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); JSONArray dataArr = new JSONArray(); for (DataItem dataItem : dataItemList) { - dataArr.add(dataItem.toJSON()); + dataArr.add(dataItem.toJSON(getDeviceType())); int cellVal = NumberUtil.toBigInteger(((MethaneDataItemHSYD) dataItem).getVbat()).intValue(); - body.put("cell", cellVal / 3600); // 占3600mv的百分比 + body.put("cell", cellVal / 3600 * 100); // 占3600mv的百分比 } body.put("datas", dataArr); @@ -69,9 +68,18 @@ dataItem.setVbat(Integer.parseInt(dataObj.getString("BAT"))); dataItem.setBatsta(dataObj.getString("BATSTA")); dataItem.setTime(dataObj.getString("UPTIME")); - dataItem.setSin(Integer.parseInt(dataObj.getString("SIN"))); - dataItem.setRsrp(Integer.parseInt(dataObj.getString("RSRP"))); - dataItem.setSinr(Integer.parseInt(dataObj.getString("SINR"))); + if (dataObj.containsKey("SIN")) { + dataItem.setSin(Integer.parseInt(dataObj.getString("SIN"))); + } + if (dataObj.containsKey("RSRP")) { + dataItem.setRsrp(Integer.parseInt(dataObj.getString("RSRP"))); + } + if (dataObj.containsKey("SINR")) { + dataItem.setSinr(Integer.parseInt(dataObj.getString("SINR"))); + } + if (dataObj.containsKey("SIG")) { + dataItem.setSig(dataObj.getString("SIG")); + } dataItemList.add(dataItem); } diff --git a/src/main/java/com/casic/methane/frame/hsyd/MethaneDataItemHSYD.java b/src/main/java/com/casic/methane/frame/hsyd/MethaneDataItemHSYD.java index 0fd85c8..bcb3091 100644 --- a/src/main/java/com/casic/methane/frame/hsyd/MethaneDataItemHSYD.java +++ b/src/main/java/com/casic/methane/frame/hsyd/MethaneDataItemHSYD.java @@ -1,5 +1,6 @@ package com.casic.methane.frame.hsyd; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.casic.common.general.DataItem; import lombok.Data; @@ -13,6 +14,7 @@ int sin; int rsrp; int sinr; + String sig; @Override public String toString() { @@ -24,21 +26,34 @@ @Override public JSONObject toJSON() { JSONObject data = new JSONObject(); - data.put("gas", gasval); +// data.put("gas", gasval); data.put("vbat", vbat); data.put("ssState", batsta); // 电池状态 // 信号质量 - String sig = "0"; - if (rsrp <= -90) { - sig = "1"; - } else if (rsrp <= -70) { - sig = "2"; - } else { - sig ="3"; + if (StrUtil.isEmpty(sig)) { + if (rsrp <= -90) { + sig = "1"; + } else if (rsrp <= -70) { + sig = "2"; + } else { + sig = "3"; + } } data.put("sig", sig); data.put("uptime", getTime()); return data; } + + public JSONObject toJSON(String deviceType) { + JSONObject data = toJSON(); + + if (deviceType.equalsIgnoreCase("31")) { + data.put("gas", gasval); + } else if (deviceType.equalsIgnoreCase("32")) { + data.put("gasval", gasval); // LG的数据类型传gasval + } + + return data; + } }