|
|
|
@ -26,31 +26,31 @@ public class MqttServiceImpl {
|
|
|
|
|
public void reportRecord() {
|
|
|
|
|
List<String> allTableNames = operationDBMapper.getAllTable();
|
|
|
|
|
for (String tableName : allTableNames) {
|
|
|
|
|
Map<String, String> fieldMap = getTableFieldMap(tableName);
|
|
|
|
|
String sqlExecuting = operationDBMapper.getSQL(tableName);
|
|
|
|
|
List<Integer> dataEqmids = operationDBMapper.getDataEqmids(tableName);
|
|
|
|
|
Map<Integer, Object> devIDLastTimeMap = new HashMap<>();
|
|
|
|
|
List<Map<String, Object>> devIDLastTimeMaps = operationDBMapper.getDeviceIDAndtime(tableName);
|
|
|
|
|
for (Map<String, Object> map : devIDLastTimeMaps) {
|
|
|
|
|
for (String devId : map.keySet()) {
|
|
|
|
|
devIDLastTimeMap.put(Integer.parseInt((String) map.get("devid_val")), map.get("field_val2"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (int deviceID : dataEqmids) {
|
|
|
|
|
String time = "";
|
|
|
|
|
if (devIDLastTimeMap.get(deviceID) != null) {
|
|
|
|
|
time = devIDLastTimeMap.get(deviceID).toString();
|
|
|
|
|
} else {
|
|
|
|
|
time = "2000-01-01 01:00:00";
|
|
|
|
|
operationDBMapper.addEarliestTime(10, tableName, String.valueOf(deviceID), time);
|
|
|
|
|
}
|
|
|
|
|
publishData(deviceID, time, sqlExecuting, tableName, fieldMap);
|
|
|
|
|
}
|
|
|
|
|
send(tableName);
|
|
|
|
|
// String sqlExecuting = operationDBMapper.getSQL(tableName);
|
|
|
|
|
// List<Integer> dataEqmids = operationDBMapper.getDataEqmids(tableName);
|
|
|
|
|
// Map<Integer, Object> devIDLastTimeMap = new HashMap<>();
|
|
|
|
|
// List<Map<String, Object>> devIDLastTimeMaps = operationDBMapper.getDeviceIDAndtime(tableName);
|
|
|
|
|
// for (Map<String, Object> map : devIDLastTimeMaps) {
|
|
|
|
|
// for (String devId : map.keySet()) {
|
|
|
|
|
// devIDLastTimeMap.put(Integer.parseInt((String) map.get("devid_val")), map.get("field_val2"));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// for (int deviceID : dataEqmids) {
|
|
|
|
|
// String time = "";
|
|
|
|
|
// if (devIDLastTimeMap.get(deviceID) != null) {
|
|
|
|
|
// time = devIDLastTimeMap.get(deviceID).toString();
|
|
|
|
|
// } else {
|
|
|
|
|
// time = "2000-01-01 01:00:00";
|
|
|
|
|
// operationDBMapper.addEarliestTime(10, tableName, String.valueOf(deviceID), time);
|
|
|
|
|
// }
|
|
|
|
|
// publishData(deviceID, time, sqlExecuting, tableName, fieldMap);
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//单个表的字段映射
|
|
|
|
|
public Map<String, String> getTableFieldMap(String tableName) {
|
|
|
|
|
//单个表数据发送
|
|
|
|
|
public void send(String tableName) {
|
|
|
|
|
Map<String, String> fieldMap = new HashMap<>();
|
|
|
|
|
List<Map<String, String>> fieldMaps = operationDBMapper.getFieldMap(tableName);
|
|
|
|
|
for (Map<String, String> map : fieldMaps) {
|
|
|
|
@ -58,7 +58,29 @@ public class MqttServiceImpl {
|
|
|
|
|
fieldMap.put(map.get("field_name"), map.get("dest_field_name"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return fieldMap;
|
|
|
|
|
send(tableName, fieldMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void send(String tableName, Map<String, String> fieldMap) {
|
|
|
|
|
String sqlExecuting = operationDBMapper.getSQL(tableName);
|
|
|
|
|
List<Integer> dataEqmids = operationDBMapper.getDataEqmids(tableName);
|
|
|
|
|
Map<Integer, Object> devIDLastTimeMap = new HashMap<>();
|
|
|
|
|
List<Map<String, Object>> devIDLastTimeMaps = operationDBMapper.getDeviceIDAndtime(tableName);
|
|
|
|
|
for (Map<String, Object> map : devIDLastTimeMaps) {
|
|
|
|
|
for (String devId : map.keySet()) {
|
|
|
|
|
devIDLastTimeMap.put(Integer.parseInt((String) map.get("devid_val")), map.get("field_val2"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (int deviceID : dataEqmids) {
|
|
|
|
|
String time = "";
|
|
|
|
|
if (devIDLastTimeMap.get(deviceID) != null) {
|
|
|
|
|
time = devIDLastTimeMap.get(deviceID).toString();
|
|
|
|
|
} else {
|
|
|
|
|
time = "2000-01-01 01:00:00";
|
|
|
|
|
operationDBMapper.addEarliestTime(10, tableName, String.valueOf(deviceID), time);
|
|
|
|
|
}
|
|
|
|
|
publishData(deviceID, time, sqlExecuting, tableName, fieldMap);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//推送单个设备数据
|
|
|
|
|