|
@@ -11,12 +11,153 @@ import org.zillion.util.log.LogUtil;
|
|
|
|
|
|
import com.saga.entity.PointSet;
|
|
|
import com.saga.entity.Record;
|
|
|
-import com.saga.entity.Report;
|
|
|
import com.sagacloud.json.JSONArray;
|
|
|
import com.sagacloud.json.JSONObject;
|
|
|
import com.zillion.database.agent.ZillionAgent;
|
|
|
|
|
|
public class HBaseUtil {
|
|
|
+ public static Map<String, String> ps_physical_status(ZillionAgent agent, String db, String tb, String project)
|
|
|
+ throws Exception {
|
|
|
+ // 序号 名称 数据类型 释义 备注
|
|
|
+ // 1 project String 项目名 主键
|
|
|
+ // 2 address_1 String 一级地址 主键
|
|
|
+ // 3 address_2 String 二级地址 主键
|
|
|
+ // 4 address_3 String 三级地址 主键
|
|
|
+ // 5 address_4 String 四级地址 主键
|
|
|
+ // 6 status String 状态 conn/disconn
|
|
|
+ // 7 receivetime String 时间 最近通讯时间
|
|
|
+ // 8 detail String 详情
|
|
|
+ Map<String, String> dbPhysicalStatus = new HashMap<String, String>();
|
|
|
+ JSONObject Criteria = new JSONObject();
|
|
|
+ Criteria.put("project", project);
|
|
|
+
|
|
|
+ JSONObject wrapperObject = new JSONObject();
|
|
|
+ wrapperObject.put("QueryType", "select");
|
|
|
+ wrapperObject.put("Database", db);
|
|
|
+ wrapperObject.put("Datatable", tb);
|
|
|
+ wrapperObject.put("Criteria", Criteria);
|
|
|
+ JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
+ JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
+ for (int i = 0; i < resultContent.size(); i++) {
|
|
|
+ JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
+ String address_1 = (String) dataItem.get("address_1");
|
|
|
+ String address_2 = (String) dataItem.get("address_2");
|
|
|
+ String address_3 = (String) dataItem.get("address_3");
|
|
|
+ String address_4 = (String) dataItem.get("address_4");
|
|
|
+ String key = project + ";" + address_1 + ";" + address_2 + ";" + address_3 + ";" + address_4;
|
|
|
+ String status = (String) dataItem.get("status");
|
|
|
+ dbPhysicalStatus.put(key, status);
|
|
|
+
|
|
|
+ }
|
|
|
+ return dbPhysicalStatus;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Map<String, String> ps_virtual_point_status(ZillionAgent agent, String db, String tb, String project)
|
|
|
+ throws Exception {
|
|
|
+ // 序号 名称 数据类型 释义 备注
|
|
|
+ // 1 project String 项目名 主键
|
|
|
+ // 2 meter String 仪表 主键
|
|
|
+ // 3 funcid Long 功能号 主键
|
|
|
+ // 4 updown String 上/下行 主键
|
|
|
+ // 5 status String 状态
|
|
|
+ // 6 receivetime String 时间
|
|
|
+ // 7 detail String 详情
|
|
|
+ Map<String, String> dbPointStatus = new HashMap<String, String>();
|
|
|
+
|
|
|
+ JSONObject Criteria = new JSONObject();
|
|
|
+ Criteria.put("project", project);
|
|
|
+
|
|
|
+ JSONObject wrapperObject = new JSONObject();
|
|
|
+ wrapperObject.put("QueryType", "select");
|
|
|
+ wrapperObject.put("Database", db);
|
|
|
+ wrapperObject.put("Datatable", tb);
|
|
|
+ wrapperObject.put("Criteria", Criteria);
|
|
|
+ JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
+ JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
+
|
|
|
+ for (int i = 0; i < resultContent.size(); i++) {
|
|
|
+ JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
+ String meter = (String) dataItem.get("meter");
|
|
|
+ long funcid = (long) dataItem.get("funcid");
|
|
|
+ String updown = (String) dataItem.get("updown");
|
|
|
+ if ("up".equalsIgnoreCase(updown)) {
|
|
|
+ String key = project + "-" + meter + "." + funcid;
|
|
|
+ String status = (String) dataItem.get("status");
|
|
|
+ dbPointStatus.put(key, status);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return dbPointStatus;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Map<String, String> ps_virtual_meter_status(ZillionAgent agent, String db, String tb, String project)
|
|
|
+ throws Exception {
|
|
|
+ // 序号 名称 数据类型 释义 备注
|
|
|
+ // 1 project String 项目名 主键
|
|
|
+ // 2 meter String 仪表 主键
|
|
|
+ // 3 updown String 上/下行 主键
|
|
|
+ // 4 status String 状态
|
|
|
+ // 5 receivetime String 时间
|
|
|
+ // 6 detail String 详情
|
|
|
+
|
|
|
+ Map<String, String> dbMeterStatus = new HashMap<String, String>();
|
|
|
+
|
|
|
+ JSONObject Criteria = new JSONObject();
|
|
|
+ Criteria.put("project", project);
|
|
|
+
|
|
|
+ JSONObject wrapperObject = new JSONObject();
|
|
|
+ wrapperObject.put("QueryType", "select");
|
|
|
+ wrapperObject.put("Database", db);
|
|
|
+ wrapperObject.put("Datatable", tb);
|
|
|
+ wrapperObject.put("Criteria", Criteria);
|
|
|
+ JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
+ JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
+
|
|
|
+ for (int i = 0; i < resultContent.size(); i++) {
|
|
|
+ JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
+ String meter = (String) dataItem.get("meter");
|
|
|
+ String updown = (String) dataItem.get("updown");
|
|
|
+ if ("up".equalsIgnoreCase(updown)) {
|
|
|
+ String key = project + "-" + meter;
|
|
|
+ String status = (String) dataItem.get("status");
|
|
|
+ dbMeterStatus.put(key, status);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return dbMeterStatus;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Map<String, String> ps_virtual_project_status(ZillionAgent agent, String db, String tb,
|
|
|
+ String project) throws Exception {
|
|
|
+ // 序号 名称 数据类型 释义 备注
|
|
|
+ // 1 project String 项目名 主键
|
|
|
+ // 2 status String 状态
|
|
|
+ // 3 receivetime String 时间
|
|
|
+ // 4 detail String 详情
|
|
|
+
|
|
|
+ Map<String, String> dbProjectStatus = new HashMap<String, String>();
|
|
|
+
|
|
|
+ JSONObject Criteria = new JSONObject();
|
|
|
+ Criteria.put("project", project);
|
|
|
+
|
|
|
+ JSONObject wrapperObject = new JSONObject();
|
|
|
+ wrapperObject.put("QueryType", "select");
|
|
|
+ wrapperObject.put("Database", db);
|
|
|
+ wrapperObject.put("Datatable", tb);
|
|
|
+ wrapperObject.put("Criteria", Criteria);
|
|
|
+ JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
+ JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
+
|
|
|
+ for (int i = 0; i < resultContent.size(); i++) {
|
|
|
+ JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
+
|
|
|
+ String key = project;
|
|
|
+ String status = (String) dataItem.get("status");
|
|
|
+ dbProjectStatus.put(key, status);
|
|
|
+
|
|
|
+ }
|
|
|
+ return dbProjectStatus;
|
|
|
+ }
|
|
|
+
|
|
|
public static void LoadDB2Cache_dy_pointlist(ZillionAgent agent, String db, String tb, String project)
|
|
|
throws Exception {
|
|
|
// 序号 名称 数据类型 释义 备注
|
|
@@ -1876,7 +2017,7 @@ public class HBaseUtil {
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
- public static void BatchInsert(ZillionAgent agent, String DB, List<Report> dataList) throws Exception {
|
|
|
+ public static void BatchInsert(ZillionAgent agent, String DB, List<Record> dataList) throws Exception {
|
|
|
JSONArray InsertObjects = new JSONArray();
|
|
|
try {
|
|
|
boolean history = false;
|
|
@@ -1893,7 +2034,7 @@ public class HBaseUtil {
|
|
|
if (DB != null && dataList.size() > 0) {
|
|
|
for (int i = 0; i < dataList.size(); i++) {
|
|
|
|
|
|
- Record data = dataList.get(i).record;
|
|
|
+ Record data = dataList.get(i);
|
|
|
|
|
|
JSONObject InsertObject = new JSONObject();
|
|
|
InsertObject.put("building", data.buildingSign);
|
|
@@ -1934,7 +2075,7 @@ public class HBaseUtil {
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
LogUtil.error(agent.getFull_name() + " HBaseUtil.BatchInsert.Exception: " + e.toString());
|
|
|
- // Constant.DBConn = false;
|
|
|
+ Constant.DBConn = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2080,144 +2221,4 @@ public class HBaseUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static Map<String, String> ps_physical_status(ZillionAgent agent, String db, String tb, String project) throws Exception {
|
|
|
- // 序号 名称 数据类型 释义 备注
|
|
|
- // 1 project String 项目名 主键
|
|
|
- // 2 address_1 String 一级地址 主键
|
|
|
- // 3 address_2 String 二级地址 主键
|
|
|
- // 4 address_3 String 三级地址 主键
|
|
|
- // 5 address_4 String 四级地址 主键
|
|
|
- // 6 status String 状态 conn/disconn
|
|
|
- // 7 receivetime String 时间 最近通讯时间
|
|
|
- // 8 detail String 详情
|
|
|
- Map<String, String> dbPhysicalStatus = new HashMap<String, String>();
|
|
|
- JSONObject Criteria = new JSONObject();
|
|
|
- Criteria.put("project", project);
|
|
|
-
|
|
|
- JSONObject wrapperObject = new JSONObject();
|
|
|
- wrapperObject.put("QueryType", "select");
|
|
|
- wrapperObject.put("Database", db);
|
|
|
- wrapperObject.put("Datatable", tb);
|
|
|
- wrapperObject.put("Criteria", Criteria);
|
|
|
- JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
- JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
- for (int i = 0; i < resultContent.size(); i++) {
|
|
|
- JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
- String address_1 = (String) dataItem.get("address_1");
|
|
|
- String address_2 = (String) dataItem.get("address_2");
|
|
|
- String address_3 = (String) dataItem.get("address_3");
|
|
|
- String address_4 = (String) dataItem.get("address_4");
|
|
|
- String key = project + ";" + address_1 + ";" + address_2 + ";" + address_3 + ";" + address_4;
|
|
|
- String status = (String) dataItem.get("status");
|
|
|
- dbPhysicalStatus.put(key, status);
|
|
|
-
|
|
|
- }
|
|
|
- return dbPhysicalStatus;
|
|
|
- }
|
|
|
-
|
|
|
- public static Map<String, String> ps_virtual_point_status(ZillionAgent agent, String db, String tb, String project)
|
|
|
- throws Exception {
|
|
|
- // 序号 名称 数据类型 释义 备注
|
|
|
- // 1 project String 项目名 主键
|
|
|
- // 2 meter String 仪表 主键
|
|
|
- // 3 funcid Long 功能号 主键
|
|
|
- // 4 updown String 上/下行 主键
|
|
|
- // 5 status String 状态
|
|
|
- // 6 receivetime String 时间
|
|
|
- // 7 detail String 详情
|
|
|
- Map<String, String> dbPointStatus = new HashMap<String, String>();
|
|
|
-
|
|
|
- JSONObject Criteria = new JSONObject();
|
|
|
- Criteria.put("project", project);
|
|
|
-
|
|
|
- JSONObject wrapperObject = new JSONObject();
|
|
|
- wrapperObject.put("QueryType", "select");
|
|
|
- wrapperObject.put("Database", db);
|
|
|
- wrapperObject.put("Datatable", tb);
|
|
|
- wrapperObject.put("Criteria", Criteria);
|
|
|
- JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
- JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
-
|
|
|
- for (int i = 0; i < resultContent.size(); i++) {
|
|
|
- JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
- String meter = (String) dataItem.get("meter");
|
|
|
- long funcid = (long) dataItem.get("funcid");
|
|
|
- String updown = (String) dataItem.get("updown");
|
|
|
- if ("up".equalsIgnoreCase(updown)) {
|
|
|
- String key = project + "-" + meter + "." + funcid;
|
|
|
- String status = (String) dataItem.get("status");
|
|
|
- dbPointStatus.put(key, status);
|
|
|
- }
|
|
|
- }
|
|
|
- return dbPointStatus;
|
|
|
- }
|
|
|
-
|
|
|
- public static Map<String, String> ps_virtual_meter_status(ZillionAgent agent, String db, String tb, String project)
|
|
|
- throws Exception {
|
|
|
- // 序号 名称 数据类型 释义 备注
|
|
|
- // 1 project String 项目名 主键
|
|
|
- // 2 meter String 仪表 主键
|
|
|
- // 3 updown String 上/下行 主键
|
|
|
- // 4 status String 状态
|
|
|
- // 5 receivetime String 时间
|
|
|
- // 6 detail String 详情
|
|
|
-
|
|
|
- Map<String, String> dbMeterStatus = new HashMap<String, String>();
|
|
|
-
|
|
|
- JSONObject Criteria = new JSONObject();
|
|
|
- Criteria.put("project", project);
|
|
|
-
|
|
|
- JSONObject wrapperObject = new JSONObject();
|
|
|
- wrapperObject.put("QueryType", "select");
|
|
|
- wrapperObject.put("Database", db);
|
|
|
- wrapperObject.put("Datatable", tb);
|
|
|
- wrapperObject.put("Criteria", Criteria);
|
|
|
- JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
- JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
-
|
|
|
- for (int i = 0; i < resultContent.size(); i++) {
|
|
|
- JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
- String meter = (String) dataItem.get("meter");
|
|
|
- String updown = (String) dataItem.get("updown");
|
|
|
- if ("up".equalsIgnoreCase(updown)) {
|
|
|
- String key = project + "-" + meter;
|
|
|
- String status = (String) dataItem.get("status");
|
|
|
- dbMeterStatus.put(key, status);
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- return dbMeterStatus;
|
|
|
- }
|
|
|
-
|
|
|
- public static Map<String, String> ps_virtual_project_status(ZillionAgent agent, String db, String tb,
|
|
|
- String project) throws Exception {
|
|
|
- // 序号 名称 数据类型 释义 备注
|
|
|
- // 1 project String 项目名 主键
|
|
|
- // 2 status String 状态
|
|
|
- // 3 receivetime String 时间
|
|
|
- // 4 detail String 详情
|
|
|
-
|
|
|
- Map<String, String> dbProjectStatus = new HashMap<String, String>();
|
|
|
-
|
|
|
- JSONObject Criteria = new JSONObject();
|
|
|
- Criteria.put("project", project);
|
|
|
-
|
|
|
- JSONObject wrapperObject = new JSONObject();
|
|
|
- wrapperObject.put("QueryType", "select");
|
|
|
- wrapperObject.put("Database", db);
|
|
|
- wrapperObject.put("Datatable", tb);
|
|
|
- wrapperObject.put("Criteria", Criteria);
|
|
|
- JSONObject queryResult = agent.Query(wrapperObject);
|
|
|
- JSONArray resultContent = (JSONArray) queryResult.get("Content");
|
|
|
-
|
|
|
- for (int i = 0; i < resultContent.size(); i++) {
|
|
|
- JSONObject dataItem = (JSONObject) resultContent.get(i);
|
|
|
-
|
|
|
- String key = project;
|
|
|
- String status = (String) dataItem.get("status");
|
|
|
- dbProjectStatus.put(key, status);
|
|
|
-
|
|
|
- }
|
|
|
- return dbProjectStatus;
|
|
|
- }
|
|
|
}
|