|
@@ -0,0 +1,143 @@
|
|
|
+package com.persagy.ibms.data.sdk.util;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.persagy.ibms.data.sdk.service.rest.RestUtil;
|
|
|
+
|
|
|
+public class ToolUtil {
|
|
|
+
|
|
|
+ public static String tool(String param) {
|
|
|
+ String result = null;
|
|
|
+ JSONObject paramObject = JSON.parseObject(param);
|
|
|
+ String type = (String) paramObject.get("type");
|
|
|
+ if (type.equals("NightscapeLighting")) {
|
|
|
+ result = NightscapeLighting();
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String NightscapeLighting() {
|
|
|
+ JSONArray kongzhi = getArray_relation("MechCtrl", "EqCtrl");
|
|
|
+ Map<String, String> SELTCC2SELTCU = new HashMap<String, String>();
|
|
|
+ for (int i = 0; i < kongzhi.size(); i++) {
|
|
|
+ JSONObject item = (JSONObject) kongzhi.get(i);
|
|
|
+ String objFrom = item.getString("objFrom");
|
|
|
+ String objTo = item.getString("objTo");
|
|
|
+ SELTCC2SELTCU.put(objTo, objFrom);
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONArray gongdian = getArray_relation("MechPower", "EqNormal");
|
|
|
+ Map<String, String> SELTCU2SETDLS = new HashMap<String, String>();
|
|
|
+ for (int i = 0; i < gongdian.size(); i++) {
|
|
|
+ JSONObject item = (JSONObject) gongdian.get(i);
|
|
|
+ String objFrom = item.getString("objFrom");
|
|
|
+ String objTo = item.getString("objTo");
|
|
|
+ SELTCU2SETDLS.put(objTo, objFrom);
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONArray suozai = getArray_relation("MechInArch", "Eq2Sp");
|
|
|
+ Map<String, String> SETDLS2GeneralZone = new HashMap<String, String>();
|
|
|
+ for (int i = 0; i < suozai.size(); i++) {
|
|
|
+ JSONObject item = (JSONObject) suozai.get(i);
|
|
|
+ String objFrom = item.getString("objFrom");
|
|
|
+ String objTo = item.getString("objTo");
|
|
|
+ SETDLS2GeneralZone.put(objFrom, objTo);
|
|
|
+ }
|
|
|
+
|
|
|
+ String[] levels = { "楼体照明", "楼体照明", "景观照明", "景观照明" };
|
|
|
+ String[] types = { "A", "B", "A", "B" };
|
|
|
+ JSONArray result = new JSONArray();
|
|
|
+ for (String SELTCC : SELTCC2SELTCU.keySet()) {
|
|
|
+ String SELTCU = SELTCC2SELTCU.get(SELTCC);
|
|
|
+ String SETDLS = null;
|
|
|
+ if (SELTCU != null && SELTCU2SETDLS.containsKey(SELTCU)) {
|
|
|
+ SETDLS = SELTCU2SETDLS.get(SELTCU);
|
|
|
+ }
|
|
|
+ String GeneralZone = null;
|
|
|
+ if (SETDLS != null && SETDLS2GeneralZone.containsKey(SETDLS)) {
|
|
|
+ GeneralZone = SETDLS2GeneralZone.get(SETDLS);
|
|
|
+ }
|
|
|
+ int index = BKDRHash.getHashCode(SELTCC) % levels.length;
|
|
|
+ JSONObject item = new JSONObject();
|
|
|
+ item.put("回路编号", SELTCC);
|
|
|
+ item.put("模块编号", SELTCU);
|
|
|
+ item.put("配电箱编号", SETDLS);
|
|
|
+ item.put("电井编号", GeneralZone);
|
|
|
+ item.put("类型", types[index]);
|
|
|
+ item.put("二级编组", levels[index] + "-" + types[index]);
|
|
|
+ item.put("一级编组", levels[index]);
|
|
|
+ result.add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ // JSONArray huilu = getArray_object("equipment", "SELTCC");
|
|
|
+ // JSONArray mokuai = getArray_object("equipment", "SELTCU");
|
|
|
+ // JSONArray peidianxiang = getArray_object("equipment", "SETDLS");
|
|
|
+ // JSONArray dianjing = getArray_object("space", "GeneralZone");
|
|
|
+
|
|
|
+ return FastJsonUtil.toFormatString(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static JSONArray getArray_relation(String graphCode, String relCode) {
|
|
|
+ JSONObject Target = generateTarget_relation(graphCode, relCode);
|
|
|
+ JSONObject param = new JSONObject();
|
|
|
+ param.put("Target", Target);
|
|
|
+ param.put("Criteria", new JSONObject());
|
|
|
+ param.put("QueryType", "select");
|
|
|
+ String queryResult = RestUtil.query(param.toJSONString());
|
|
|
+ JSONArray resultArray = JSON.parseArray(queryResult);
|
|
|
+ return resultArray;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static JSONArray getArray_object(String objType, String classCode) {
|
|
|
+ JSONObject Target = generateTarget_object(objType, classCode);
|
|
|
+ JSONArray ReturnColumns = generateReturnColumns();
|
|
|
+ JSONObject Criteria = generateCriteria();
|
|
|
+ JSONObject param = new JSONObject();
|
|
|
+ param.put("Target", Target);
|
|
|
+ param.put("ReturnColumns", ReturnColumns);
|
|
|
+ param.put("Criteria", Criteria);
|
|
|
+ param.put("QueryType", "select");
|
|
|
+ String queryResult = RestUtil.query(param.toJSONString());
|
|
|
+ JSONArray resultArray = JSON.parseArray(queryResult);
|
|
|
+ return resultArray;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static JSONObject generateCriteria() {
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
+ result.put("valid", 1L);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static JSONArray generateReturnColumns() {
|
|
|
+ JSONArray result = new JSONArray();
|
|
|
+ result.add("id");
|
|
|
+ result.add("localId");
|
|
|
+ result.add("localName");
|
|
|
+ result.add("classCode");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static JSONObject generateTarget_object(String objType, String classCode) {
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
+ result.put("Source", "rwd");
|
|
|
+ result.put("rwd", "object");
|
|
|
+ result.put("objType", objType);
|
|
|
+ if (classCode != null) {
|
|
|
+ result.put("classCode", classCode);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static JSONObject generateTarget_relation(String graphCode, String relCode) {
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
+ result.put("Source", "rwd");
|
|
|
+ result.put("rwd", "relation");
|
|
|
+ result.put("graphCode", graphCode);
|
|
|
+ result.put("relCode", relCode);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+}
|