|
@@ -397,7 +397,7 @@ public class QueryUtil {
|
|
|
return criteria;
|
|
|
}
|
|
|
|
|
|
- private static SceneDataPrimitive parseCriteriaRef(Repository Repository, JSONObject valueInner, SceneDataValue sv) {
|
|
|
+ public static SceneDataPrimitive parseCriteriaRef(Repository Repository, JSONObject valueInner, SceneDataValue sv) {
|
|
|
String refString = (valueInner.get("ref")).toString();
|
|
|
String[] splits = refString.split("'");
|
|
|
boolean change = false;
|
|
@@ -551,7 +551,7 @@ public class QueryUtil {
|
|
|
result = RepositoryBase.alarmArray;
|
|
|
} else if (Source.equals("ref")) {
|
|
|
String refString = (descSet.get("ref")).toString();
|
|
|
- result = parseSetRef(Repository, sv, refString, QueryAssist, isSingleValueSet);
|
|
|
+ result = parseSetRef(Repository, sv, refString, QueryAssist, isSingleValueSet, false);
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
@@ -706,7 +706,7 @@ public class QueryUtil {
|
|
|
}
|
|
|
|
|
|
public static SceneDataSet parseSetRef(Repository Repository, SceneDataValue sv, String refString, QueryAssist QueryAssist,
|
|
|
- boolean isSingleValueSet) throws Exception {
|
|
|
+ boolean isSingleValueSet, boolean isDeamon) throws Exception {
|
|
|
SceneDataSet result = new SceneDataSet(isSingleValueSet);
|
|
|
|
|
|
String[] splits = refString.split("'");
|
|
@@ -832,17 +832,22 @@ public class QueryUtil {
|
|
|
}
|
|
|
svList = svListInner;
|
|
|
}
|
|
|
- result.set = new ArrayList<SceneDataObject>();
|
|
|
- for (SceneDataValue svTmp : svList) {
|
|
|
- if (svTmp.value_array.getRowChange()) {
|
|
|
- result.setRowChange(true);
|
|
|
- }
|
|
|
- result.set.addAll(svTmp.value_array.set);
|
|
|
- }
|
|
|
- if (!result.getRowChange()) {
|
|
|
+ if (isDeamon) {
|
|
|
+ result.singleValueSet = new ArrayList<SceneDataValue>();
|
|
|
+ result.singleValueSet.addAll(svList);
|
|
|
+ } else {
|
|
|
+ result.set = new ArrayList<SceneDataObject>();
|
|
|
for (SceneDataValue svTmp : svList) {
|
|
|
- for (String col : svTmp.value_array.getColChange().keySet()) {
|
|
|
- result.setColChange(col);
|
|
|
+ if (svTmp.value_array.getRowChange()) {
|
|
|
+ result.setRowChange(true);
|
|
|
+ }
|
|
|
+ result.set.addAll(svTmp.value_array.set);
|
|
|
+ }
|
|
|
+ if (!result.getRowChange()) {
|
|
|
+ for (SceneDataValue svTmp : svList) {
|
|
|
+ for (String col : svTmp.value_array.getColChange().keySet()) {
|
|
|
+ result.setColChange(col);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|