|
@@ -109,10 +109,9 @@ public class RWDLoadUtil {
|
|
|
|
|
|
String objectPath = validPath + Constant.getSeperator() + "object";
|
|
String objectPath = validPath + Constant.getSeperator() + "object";
|
|
{
|
|
{
|
|
- Repository.objectArrayAll = new SceneDataSet(false, "rwd/object/all");
|
|
|
|
File root = new File(objectPath);
|
|
File root = new File(objectPath);
|
|
File[] files = root.listFiles();
|
|
File[] files = root.listFiles();
|
|
- Map<String, SceneDataSet> objectArrayDic = new ConcurrentHashMap<String, SceneDataSet>();
|
|
|
|
|
|
+ Map<String, SceneDataValue> objectArrayDic = new ConcurrentHashMap<String, SceneDataValue>();
|
|
for (File file : files) {
|
|
for (File file : files) {
|
|
int index_ = file.getName().indexOf('.');
|
|
int index_ = file.getName().indexOf('.');
|
|
String code = file.getName().substring(0, index_);
|
|
String code = file.getName().substring(0, index_);
|
|
@@ -175,23 +174,30 @@ public class RWDLoadUtil {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
SceneDataSet.set = RWDUtil.array2SDOList(array);
|
|
SceneDataSet.set = RWDUtil.array2SDOList(array);
|
|
- Repository.objectArrayAll.set.addAll(SceneDataSet.set);
|
|
|
|
|
|
+ SceneDataValue SceneDataValue = new SceneDataValue(null, null, null, null);
|
|
for (SceneDataObject sdv : SceneDataSet.set) {
|
|
for (SceneDataObject sdv : SceneDataSet.set) {
|
|
String id = (String) sdv.value_object.get("id").value_prim.value;
|
|
String id = (String) sdv.value_object.get("id").value_prim.value;
|
|
Repository.id2sdv.put(id, sdv);
|
|
Repository.id2sdv.put(id, sdv);
|
|
|
|
+ sdv.parentArrayData = SceneDataValue;
|
|
}
|
|
}
|
|
|
|
+ SceneDataValue.value_array = SceneDataSet;
|
|
|
|
+ SceneDataValue.finish = true;
|
|
// 一级对象
|
|
// 一级对象
|
|
- objectArrayDic.put(code, SceneDataSet);
|
|
|
|
|
|
+ objectArrayDic.put(code, SceneDataValue);
|
|
String objType = Repository.code2objTypeMap.get(code);
|
|
String objType = Repository.code2objTypeMap.get(code);
|
|
if (objType != null) {
|
|
if (objType != null) {
|
|
if (!objectArrayDic.containsKey(objType)) {
|
|
if (!objectArrayDic.containsKey(objType)) {
|
|
- objectArrayDic.put(objType, new SceneDataSet(false, "rwd/object/" + objType));
|
|
|
|
|
|
+ objectArrayDic.put(objType, new SceneDataValue(null, null, null, null));
|
|
}
|
|
}
|
|
- objectArrayDic.get(objType).set.addAll(SceneDataSet.set);
|
|
|
|
|
|
+ objectArrayDic.get(objType).value_array = new SceneDataSet(false);
|
|
|
|
+ objectArrayDic.get(objType).value_array.set = new ArrayList<SceneDataObject>();
|
|
|
|
+ objectArrayDic.get(objType).value_array.set.addAll(SceneDataSet.set);
|
|
for (String col : SceneDataSet.getColChange().keySet()) {
|
|
for (String col : SceneDataSet.getColChange().keySet()) {
|
|
- objectArrayDic.get(objType).setColChange(col);
|
|
|
|
|
|
+ objectArrayDic.get(objType).value_array.setColChange(col);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ // 全部对象
|
|
|
|
+ Repository.objectArrayAll.set.addAll(SceneDataSet.set);
|
|
}
|
|
}
|
|
Repository.objectArrayDic = objectArrayDic;
|
|
Repository.objectArrayDic = objectArrayDic;
|
|
}
|
|
}
|
|
@@ -200,7 +206,7 @@ public class RWDLoadUtil {
|
|
Map<String, Map<String, SceneDataObject>> objType2id2Value = new ConcurrentHashMap<String, Map<String, SceneDataObject>>();
|
|
Map<String, Map<String, SceneDataObject>> objType2id2Value = new ConcurrentHashMap<String, Map<String, SceneDataObject>>();
|
|
for (String objType : Constant.objType_hasRelation.keySet()) {
|
|
for (String objType : Constant.objType_hasRelation.keySet()) {
|
|
Map<String, SceneDataObject> id2Value = new ConcurrentHashMap<String, SceneDataObject>();
|
|
Map<String, SceneDataObject> id2Value = new ConcurrentHashMap<String, SceneDataObject>();
|
|
- SceneDataSet sdvList = Repository.objectArrayDic.get(objType);
|
|
|
|
|
|
+ SceneDataSet sdvList = Repository.objectArrayDic.get(objType).value_array;
|
|
for (SceneDataObject sdv : sdvList.set) {
|
|
for (SceneDataObject sdv : sdvList.set) {
|
|
String id = (String) sdv.value_object.get("id").value_prim.value;
|
|
String id = (String) sdv.value_object.get("id").value_prim.value;
|
|
id2Value.put(id, sdv);
|
|
id2Value.put(id, sdv);
|
|
@@ -251,11 +257,12 @@ public class RWDLoadUtil {
|
|
}
|
|
}
|
|
String classCode = key;
|
|
String classCode = key;
|
|
SceneDataSet infoArray = Repository.infoArrayDic.get(classCode);
|
|
SceneDataSet infoArray = Repository.infoArrayDic.get(classCode);
|
|
- SceneDataSet objectArray = Repository.objectArrayDic.get(key);
|
|
|
|
|
|
+ SceneDataSet objectArray = Repository.objectArrayDic.get(key).value_array;
|
|
for (int index_object = 0; index_object < objectArray.set.size(); index_object++) {
|
|
for (int index_object = 0; index_object < objectArray.set.size(); index_object++) {
|
|
SceneDataObject obj = objectArray.set.get(index_object);
|
|
SceneDataObject obj = objectArray.set.get(index_object);
|
|
String obj_id = (String) obj.get("id").value_prim.value;
|
|
String obj_id = (String) obj.get("id").value_prim.value;
|
|
for (String Key : obj.keySet()) {
|
|
for (String Key : obj.keySet()) {
|
|
|
|
+ SceneDataValue infoValue = obj.get(Key);
|
|
Object value_primitive = obj.get(Key).value_prim.value;
|
|
Object value_primitive = obj.get(Key).value_prim.value;
|
|
if (RWDUtil.isRunParam(infoArray.set, Key)) {
|
|
if (RWDUtil.isRunParam(infoArray.set, Key)) {
|
|
if (!(value_primitive instanceof String)) {
|
|
if (!(value_primitive instanceof String)) {
|
|
@@ -271,7 +278,7 @@ public class RWDLoadUtil {
|
|
Repository.point2ObjectInfoList.put(point, new CopyOnWriteArrayList<ObjectInfo>());
|
|
Repository.point2ObjectInfoList.put(point, new CopyOnWriteArrayList<ObjectInfo>());
|
|
}
|
|
}
|
|
List<ObjectInfo> ObjectInfoList = Repository.point2ObjectInfoList.get(point);
|
|
List<ObjectInfo> ObjectInfoList = Repository.point2ObjectInfoList.get(point);
|
|
- ObjectInfoList.add(new ObjectInfo(obj_id, Key));
|
|
|
|
|
|
+ ObjectInfoList.add(new ObjectInfo(obj, obj_id, Key));
|
|
// 表号功能号改为null
|
|
// 表号功能号改为null
|
|
{
|
|
{
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
@@ -284,7 +291,7 @@ public class RWDLoadUtil {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
SceneDataValue data = RepositoryContainer.RepositoryBase.point2sdv.get(point);
|
|
SceneDataValue data = RepositoryContainer.RepositoryBase.point2sdv.get(point);
|
|
- obj.put(Key, data);
|
|
|
|
|
|
+ infoValue.value_prim = data.value_prim;
|
|
{
|
|
{
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
sdv.finish = true;
|
|
sdv.finish = true;
|
|
@@ -308,7 +315,7 @@ public class RWDLoadUtil {
|
|
Repository.set2ObjectInfoList.put(point, new CopyOnWriteArrayList<ObjectInfo>());
|
|
Repository.set2ObjectInfoList.put(point, new CopyOnWriteArrayList<ObjectInfo>());
|
|
}
|
|
}
|
|
List<ObjectInfo> ObjectInfoList = Repository.set2ObjectInfoList.get(point);
|
|
List<ObjectInfo> ObjectInfoList = Repository.set2ObjectInfoList.get(point);
|
|
- ObjectInfoList.add(new ObjectInfo(obj_id, Key));
|
|
|
|
|
|
+ ObjectInfoList.add(new ObjectInfo(obj, obj_id, Key));
|
|
// 表号功能号改为null
|
|
// 表号功能号改为null
|
|
{
|
|
{
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
@@ -321,7 +328,7 @@ public class RWDLoadUtil {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
SceneDataValue data = RepositoryContainer.RepositoryBase.set2sdv.get(point);
|
|
SceneDataValue data = RepositoryContainer.RepositoryBase.set2sdv.get(point);
|
|
- obj.put(Key, data);
|
|
|
|
|
|
+ infoValue.value_prim = data.value_prim;
|
|
{
|
|
{
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
SceneDataValue sdv = new SceneDataValue(null, null, null, null);
|
|
sdv.finish = true;
|
|
sdv.finish = true;
|
|
@@ -513,7 +520,7 @@ public class RWDLoadUtil {
|
|
if (!objType.equals("equipment") && !objType.equals("system") && !objType.equals("space")) {
|
|
if (!objType.equals("equipment") && !objType.equals("system") && !objType.equals("space")) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- SceneDataSet objectArray = Repository.objectArrayDic.get(classCode);
|
|
|
|
|
|
+ SceneDataSet objectArray = Repository.objectArrayDic.get(classCode).value_array;
|
|
for (int i = 0; i < objectArray.set.size(); i++) {
|
|
for (int i = 0; i < objectArray.set.size(); i++) {
|
|
SceneDataObject objectItem = objectArray.set.get(i);
|
|
SceneDataObject objectItem = objectArray.set.get(i);
|
|
String objId = (String) objectItem.get("id").value_prim.value;
|
|
String objId = (String) objectItem.get("id").value_prim.value;
|
|
@@ -565,7 +572,7 @@ public class RWDLoadUtil {
|
|
SceneDataSet.set = RWDUtil.array2SDOList(classArray);
|
|
SceneDataSet.set = RWDUtil.array2SDOList(classArray);
|
|
Repository.ZKTClassArray = SceneDataSet;
|
|
Repository.ZKTClassArray = SceneDataSet;
|
|
}
|
|
}
|
|
- Map<String, Map<String, SceneDataSet>> objectArrayDicZKT = new ConcurrentHashMap<String, Map<String, SceneDataSet>>();
|
|
|
|
|
|
+ Map<String, Map<String, SceneDataValue>> objectArrayDicZKT = new ConcurrentHashMap<String, Map<String, SceneDataValue>>();
|
|
for (int i = 0; i < classArray.size(); i++) {
|
|
for (int i = 0; i < classArray.size(); i++) {
|
|
JSONObject classItem = (JSONObject) classArray.get(i);
|
|
JSONObject classItem = (JSONObject) classArray.get(i);
|
|
String ibmsSceneCode = (String) classItem.get("ibmsSceneCode");
|
|
String ibmsSceneCode = (String) classItem.get("ibmsSceneCode");
|
|
@@ -573,9 +580,9 @@ public class RWDLoadUtil {
|
|
String code = (String) classItem.get("code");
|
|
String code = (String) classItem.get("code");
|
|
String flag = (String) classItem.get("flag");
|
|
String flag = (String) classItem.get("flag");
|
|
if (!objectArrayDicZKT.containsKey(ibmsSceneCode)) {
|
|
if (!objectArrayDicZKT.containsKey(ibmsSceneCode)) {
|
|
- objectArrayDicZKT.put(ibmsSceneCode, new ConcurrentHashMap<String, SceneDataSet>());
|
|
|
|
|
|
+ objectArrayDicZKT.put(ibmsSceneCode, new ConcurrentHashMap<String, SceneDataValue>());
|
|
}
|
|
}
|
|
- Map<String, SceneDataSet> mapInner = objectArrayDicZKT.get(ibmsSceneCode);
|
|
|
|
|
|
+ Map<String, SceneDataValue> mapInner = objectArrayDicZKT.get(ibmsSceneCode);
|
|
log.info(objectPath + Constant.getSeperator() + ibmsSceneCode + " " + ibmsClassCode);
|
|
log.info(objectPath + Constant.getSeperator() + ibmsSceneCode + " " + ibmsClassCode);
|
|
JSONArray array = FastJsonReaderUtil.Instance().ReadJSONArray(
|
|
JSONArray array = FastJsonReaderUtil.Instance().ReadJSONArray(
|
|
new File(objectPath + Constant.getSeperator() + ibmsSceneCode + Constant.getSeperator() + ibmsClassCode + ".json"));
|
|
new File(objectPath + Constant.getSeperator() + ibmsSceneCode + Constant.getSeperator() + ibmsClassCode + ".json"));
|
|
@@ -587,7 +594,7 @@ public class RWDLoadUtil {
|
|
SceneDataSet.setColChange(info_code);
|
|
SceneDataSet.setColChange(info_code);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // SceneDataSet.set = RWDUtil.array2SDOList(array);
|
|
|
|
|
|
+ SceneDataValue SceneDataValue = new SceneDataValue(null, null, null, null);
|
|
for (int ii = 0; ii < array.size(); ii++) {
|
|
for (int ii = 0; ii < array.size(); ii++) {
|
|
JSONObject arrayItem = array.getJSONObject(ii);
|
|
JSONObject arrayItem = array.getJSONObject(ii);
|
|
String id = (String) arrayItem.get("id");
|
|
String id = (String) arrayItem.get("id");
|
|
@@ -597,7 +604,7 @@ public class RWDLoadUtil {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
if (flag != null && flag.equals("reference")) {
|
|
if (flag != null && flag.equals("reference")) {
|
|
-
|
|
|
|
|
|
+ SceneDataSet.set.add(sdo);
|
|
} else {
|
|
} else {
|
|
{
|
|
{
|
|
SceneDataValue svInner = new SceneDataValue(null, null, null, null);
|
|
SceneDataValue svInner = new SceneDataValue(null, null, null, null);
|
|
@@ -620,10 +627,13 @@ public class RWDLoadUtil {
|
|
svInner.value_prim.value = ibmsxianshimingcheng;
|
|
svInner.value_prim.value = ibmsxianshimingcheng;
|
|
sdo.put("ibmsxianshimingcheng", svInner);
|
|
sdo.put("ibmsxianshimingcheng", svInner);
|
|
}
|
|
}
|
|
|
|
+ SceneDataObject sodChild = new SceneDataObject(Repository, null, null, SceneDataValue, null, null, sdo);
|
|
|
|
+ SceneDataSet.set.add(sodChild);
|
|
}
|
|
}
|
|
- SceneDataSet.set.add(sdo);
|
|
|
|
}
|
|
}
|
|
- mapInner.put(ibmsClassCode, SceneDataSet);
|
|
|
|
|
|
+ SceneDataValue.value_array = SceneDataSet;
|
|
|
|
+ SceneDataValue.finish = true;
|
|
|
|
+ mapInner.put(ibmsClassCode, SceneDataValue);
|
|
}
|
|
}
|
|
Repository.ZKTObjectArrayDic = objectArrayDicZKT;
|
|
Repository.ZKTObjectArrayDic = objectArrayDicZKT;
|
|
}
|
|
}
|
|
@@ -807,7 +817,8 @@ public class RWDLoadUtil {
|
|
}
|
|
}
|
|
SceneDataObject SELTCC = Repository.id2sdv.get(objId);
|
|
SceneDataObject SELTCC = Repository.id2sdv.get(objId);
|
|
SceneDataValue SELTCUArray = SELTCC.get("被设备控制");
|
|
SceneDataValue SELTCUArray = SELTCC.get("被设备控制");
|
|
- if (SELTCUArray.value_array.set.size() > 0) {
|
|
|
|
|
|
+ if (SELTCUArray != null && SELTCUArray.value_array != null && SELTCUArray.value_array.set != null
|
|
|
|
+ && SELTCUArray.value_array.set.size() > 0) {
|
|
SceneDataObject SELTCU = SELTCUArray.value_array.set.get(0);
|
|
SceneDataObject SELTCU = SELTCUArray.value_array.set.get(0);
|
|
String SELTCU_id = (String) SELTCU.get("id").value_prim.value;
|
|
String SELTCU_id = (String) SELTCU.get("id").value_prim.value;
|
|
String SELTCU_name = getValidName(SELTCU);
|
|
String SELTCU_name = getValidName(SELTCU);
|
|
@@ -832,7 +843,8 @@ public class RWDLoadUtil {
|
|
}
|
|
}
|
|
if (product.equals("ggzm")) {
|
|
if (product.equals("ggzm")) {
|
|
SceneDataValue floorArray = SELTCC.get("所在楼层");
|
|
SceneDataValue floorArray = SELTCC.get("所在楼层");
|
|
- if (floorArray.value_array.set.size() == 1) {
|
|
|
|
|
|
+ if (floorArray != null && floorArray.value_array != null && floorArray.value_array.set != null
|
|
|
|
+ && floorArray.value_array.set.size() == 1) {
|
|
SceneDataObject floor = floorArray.value_array.set.get(0);
|
|
SceneDataObject floor = floorArray.value_array.set.get(0);
|
|
String floorId = (String) floor.get("id").value_prim.value;
|
|
String floorId = (String) floor.get("id").value_prim.value;
|
|
String floorName = (String) floor.get("localName").value_prim.value;
|
|
String floorName = (String) floor.get("localName").value_prim.value;
|