|
@@ -27,6 +27,7 @@ import org.thingsboard.server.dao.yunteng.mapper.ConvertConfigMapper; |
|
@@ -27,6 +27,7 @@ import org.thingsboard.server.dao.yunteng.mapper.ConvertConfigMapper; |
27
|
import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
|
27
|
import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
|
28
|
import org.thingsboard.server.dao.yunteng.service.ConvertConfigService;
|
28
|
import org.thingsboard.server.dao.yunteng.service.ConvertConfigService;
|
29
|
|
29
|
|
|
|
30
|
+import java.time.LocalDateTime;
|
30
|
import java.util.*;
|
31
|
import java.util.*;
|
31
|
import java.util.concurrent.ConcurrentHashMap;
|
32
|
import java.util.concurrent.ConcurrentHashMap;
|
32
|
import java.util.concurrent.atomic.AtomicInteger;
|
33
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
@@ -40,13 +41,15 @@ public class TkConvertConfigServiceImpl |
|
@@ -40,13 +41,15 @@ public class TkConvertConfigServiceImpl |
40
|
private final String connectionType = "Success";
|
41
|
private final String connectionType = "Success";
|
41
|
private final String originatorType =
|
42
|
private final String originatorType =
|
42
|
"org.thingsboard.rule.engine.metadata.TbGetOriginatorFieldsNode";
|
43
|
"org.thingsboard.rule.engine.metadata.TbGetOriginatorFieldsNode";
|
43
|
- private final String sceneOriginatorName ="scene@thingskit";
|
44
|
+ private final String sceneOriginatorName = "scene@thingskit";
|
44
|
private final String scriptType = "org.thingsboard.rule.engine.transform.TbTransformMsgNode";
|
45
|
private final String scriptType = "org.thingsboard.rule.engine.transform.TbTransformMsgNode";
|
45
|
private final String filterScriptType = "org.thingsboard.rule.engine.filter.TbJsFilterNode";
|
46
|
private final String filterScriptType = "org.thingsboard.rule.engine.filter.TbJsFilterNode";
|
46
|
private final String convertNodeName = "dataConvert@thingskit";
|
47
|
private final String convertNodeName = "dataConvert@thingskit";
|
47
|
|
48
|
|
48
|
@Override
|
49
|
@Override
|
49
|
public TkPageData<ConvertConfigDTO> page(String tenantId, Map<String, Object> queryMap) {
|
50
|
public TkPageData<ConvertConfigDTO> page(String tenantId, Map<String, Object> queryMap) {
|
|
|
51
|
+ LocalDateTime startTime = (LocalDateTime) queryMap.get("startTime");
|
|
|
52
|
+ LocalDateTime endTime = (LocalDateTime) queryMap.get("endTime");
|
50
|
IPage<ConvertConfig> iPage =
|
53
|
IPage<ConvertConfig> iPage =
|
51
|
baseMapper.selectPage(
|
54
|
baseMapper.selectPage(
|
52
|
getPage(queryMap, FastIotConstants.DefaultOrder.CREATE_TIME, false),
|
55
|
getPage(queryMap, FastIotConstants.DefaultOrder.CREATE_TIME, false),
|
|
@@ -57,6 +60,11 @@ public class TkConvertConfigServiceImpl |
|
@@ -57,6 +60,11 @@ public class TkConvertConfigServiceImpl |
57
|
ConvertConfig::getStatus,
|
60
|
ConvertConfig::getStatus,
|
58
|
queryMap.get("status"))
|
61
|
queryMap.get("status"))
|
59
|
.eq(ConvertConfig::getNodeType, queryMap.get("nodeType"))
|
62
|
.eq(ConvertConfig::getNodeType, queryMap.get("nodeType"))
|
|
|
63
|
+ .and(
|
|
|
64
|
+ null != startTime && null != endTime,
|
|
|
65
|
+ qr ->
|
|
|
66
|
+ qr.ge(ConvertConfig::getCreateTime, startTime)
|
|
|
67
|
+ .le(ConvertConfig::getCreateTime, endTime))
|
60
|
.like(
|
68
|
.like(
|
61
|
null != queryMap.get("name"),
|
69
|
null != queryMap.get("name"),
|
62
|
ConvertConfig::getName,
|
70
|
ConvertConfig::getName,
|
|
@@ -223,8 +231,9 @@ public class TkConvertConfigServiceImpl |
|
@@ -223,8 +231,9 @@ public class TkConvertConfigServiceImpl |
223
|
} else if (nodeType.intValue() == FastIotConstants.JAVA_SCRIPT.intValue()) {
|
231
|
} else if (nodeType.intValue() == FastIotConstants.JAVA_SCRIPT.intValue()) {
|
224
|
needDelete = deleteConvertJS(nodes, ruleChainMetaData);
|
232
|
needDelete = deleteConvertJS(nodes, ruleChainMetaData);
|
225
|
} else {
|
233
|
} else {
|
226
|
- needDelete = deleteScene(nodes.get(1), ruleChainMetaData)
|
|
|
227
|
- &&deleteScene(nodes.get(0), ruleChainMetaData);
|
234
|
+ needDelete =
|
|
|
235
|
+ deleteScene(nodes.get(1), ruleChainMetaData)
|
|
|
236
|
+ && deleteScene(nodes.get(0), ruleChainMetaData);
|
228
|
}
|
237
|
}
|
229
|
return needDelete;
|
238
|
return needDelete;
|
230
|
}
|
239
|
}
|
|
@@ -240,7 +249,7 @@ public class TkConvertConfigServiceImpl |
|
@@ -240,7 +249,7 @@ public class TkConvertConfigServiceImpl |
240
|
} else if (nodeType.intValue() == FastIotConstants.JAVA_SCRIPT.intValue()) {
|
249
|
} else if (nodeType.intValue() == FastIotConstants.JAVA_SCRIPT.intValue()) {
|
241
|
addConvertJSRuleNode(nodes, ruleChainMetaData);
|
250
|
addConvertJSRuleNode(nodes, ruleChainMetaData);
|
242
|
} else {
|
251
|
} else {
|
243
|
- addSceneRuleNode(nodes.get(0),nodes.get(1), ruleChainMetaData);
|
252
|
+ addSceneRuleNode(nodes.get(0), nodes.get(1), ruleChainMetaData);
|
244
|
}
|
253
|
}
|
245
|
}
|
254
|
}
|
246
|
|
255
|
|
|
@@ -748,11 +757,13 @@ public class TkConvertConfigServiceImpl |
|
@@ -748,11 +757,13 @@ public class TkConvertConfigServiceImpl |
748
|
ruleChainMetaData.getConnections().add(failedConnectionInfo);
|
757
|
ruleChainMetaData.getConnections().add(failedConnectionInfo);
|
749
|
}
|
758
|
}
|
750
|
|
759
|
|
751
|
- private void addSceneRuleNode(RuleNode origNode, RuleNode sceneNode,RuleChainMetaData ruleChainMetaData) {
|
760
|
+ private void addSceneRuleNode(
|
|
|
761
|
+ RuleNode origNode, RuleNode sceneNode, RuleChainMetaData ruleChainMetaData) {
|
752
|
boolean existScene = false;
|
762
|
boolean existScene = false;
|
753
|
// check scene exist
|
763
|
// check scene exist
|
754
|
for (RuleNode node : ruleChainMetaData.getNodes()) {
|
764
|
for (RuleNode node : ruleChainMetaData.getNodes()) {
|
755
|
- if (sceneNode.getName().equals(node.getName()) && sceneNode.getType().equals(node.getType())) {
|
765
|
+ if (sceneNode.getName().equals(node.getName())
|
|
|
766
|
+ && sceneNode.getType().equals(node.getType())) {
|
756
|
node.setConfiguration(sceneNode.getConfiguration());
|
767
|
node.setConfiguration(sceneNode.getConfiguration());
|
757
|
existScene = true;
|
768
|
existScene = true;
|
758
|
break;
|
769
|
break;
|
|
@@ -764,7 +775,6 @@ public class TkConvertConfigServiceImpl |
|
@@ -764,7 +775,6 @@ public class TkConvertConfigServiceImpl |
764
|
int layoutX = 1128;
|
775
|
int layoutX = 1128;
|
765
|
int layoutY = 132;
|
776
|
int layoutY = 132;
|
766
|
|
777
|
|
767
|
-
|
|
|
768
|
ObjectNode origAddition = setAdditionalInfo(layoutX, layoutY, origNode);
|
778
|
ObjectNode origAddition = setAdditionalInfo(layoutX, layoutY, origNode);
|
769
|
origNode.setAdditionalInfo(origAddition);
|
779
|
origNode.setAdditionalInfo(origAddition);
|
770
|
ruleChainMetaData.getNodes().add(origNode);
|
780
|
ruleChainMetaData.getNodes().add(origNode);
|
|
@@ -778,7 +788,7 @@ public class TkConvertConfigServiceImpl |
|
@@ -778,7 +788,7 @@ public class TkConvertConfigServiceImpl |
778
|
node -> {
|
788
|
node -> {
|
779
|
if (node.getType()
|
789
|
if (node.getType()
|
780
|
.equals("org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode")
|
790
|
.equals("org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode")
|
781
|
- || node.getType()
|
791
|
+ || node.getType()
|
782
|
.equals("org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode")) {
|
792
|
.equals("org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode")) {
|
783
|
NodeConnectionInfo nodeConnectionInfo = new NodeConnectionInfo();
|
793
|
NodeConnectionInfo nodeConnectionInfo = new NodeConnectionInfo();
|
784
|
nodeConnectionInfo.setFromIndex(ruleNodeIndex.get());
|
794
|
nodeConnectionInfo.setFromIndex(ruleNodeIndex.get());
|
|
@@ -786,7 +796,8 @@ public class TkConvertConfigServiceImpl |
|
@@ -786,7 +796,8 @@ public class TkConvertConfigServiceImpl |
786
|
nodeConnectionInfo.setType(connectionType);
|
796
|
nodeConnectionInfo.setType(connectionType);
|
787
|
ruleChainMetaData.getConnections().add(nodeConnectionInfo);
|
797
|
ruleChainMetaData.getConnections().add(nodeConnectionInfo);
|
788
|
}
|
798
|
}
|
789
|
- if (node.getName().equals(sceneOriginatorName) && node.getType().equals(originatorType)) {
|
799
|
+ if (node.getName().equals(sceneOriginatorName)
|
|
|
800
|
+ && node.getType().equals(originatorType)) {
|
790
|
NodeConnectionInfo nodeConnectionInfo = new NodeConnectionInfo();
|
801
|
NodeConnectionInfo nodeConnectionInfo = new NodeConnectionInfo();
|
791
|
nodeConnectionInfo.setFromIndex(ruleNodeIndex.get());
|
802
|
nodeConnectionInfo.setFromIndex(ruleNodeIndex.get());
|
792
|
nodeConnectionInfo.setToIndex(ruleChainMetaData.getNodes().size() - 1);
|
803
|
nodeConnectionInfo.setToIndex(ruleChainMetaData.getNodes().size() - 1);
|