Merge remote-tracking branch 'origin/master'
# Conflicts: # auto-solution-rule/src/main/java/com/solution/rule/service/FireRuleService.java # modeler/src/style.less
This commit is contained in:
@@ -42,6 +42,12 @@ public class BehaviortreeController extends BaseController
|
||||
@Autowired
|
||||
private BehaviortreeProcessor behaviortreeProcessor;
|
||||
|
||||
@GetMapping(value = "/platform/{id}")
|
||||
public AjaxResult fromPlatform(@PathVariable("id") Integer id)
|
||||
{
|
||||
return success(behaviortreeService.findOneByPlatformId(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询行为树主列表
|
||||
*/
|
||||
|
||||
@@ -60,10 +60,20 @@ public class FireRuleController extends BaseController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/platforms/{scenarioId}")
|
||||
public AjaxResult platforms(@PathVariable Integer scenarioId){
|
||||
public AjaxResult platformsScenarioId(@PathVariable Integer scenarioId){
|
||||
return success(ruleService.findPlatformComponents(scenarioId));
|
||||
}
|
||||
|
||||
@GetMapping("/platforms")
|
||||
public AjaxResult platforms(){
|
||||
return success(ruleService.findAllPlatformComponents());
|
||||
}
|
||||
|
||||
@GetMapping("/platforms/basic")
|
||||
public AjaxResult platformsBasic(){
|
||||
return success(ruleService.findAllBasicPlatformComponents());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据平台id获取平台下所有组件
|
||||
* @param platformId
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.solution.web.controller.scene;
|
||||
|
||||
import com.solution.common.annotation.Log;
|
||||
import com.solution.common.core.controller.BaseController;
|
||||
import com.solution.common.core.domain.AjaxResult;
|
||||
import com.solution.common.core.page.TableDataInfo;
|
||||
import com.solution.common.enums.BusinessType;
|
||||
import com.solution.scene.domain.AfsimScenario;
|
||||
import com.solution.scene.domain.AfsimScenarioForm;
|
||||
import com.solution.scene.service.SceneService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 场景管理
|
||||
*/
|
||||
@Api("场景管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/system/scene")
|
||||
public class SceneController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private SceneService sceneService;
|
||||
|
||||
/**
|
||||
* 保存场景配置
|
||||
*/
|
||||
@ApiOperation("保存场景配置")
|
||||
@PostMapping("/saveSceneConfig")
|
||||
@Log(title = "行为树主", businessType = BusinessType.INSERT)
|
||||
public AjaxResult saveSceneConfig(@RequestBody AfsimScenario afsimScenario)
|
||||
{
|
||||
return toAjax(sceneService.saveOrUpdate(afsimScenario));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取场景列表
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
@ApiOperation("获取场景列表")
|
||||
public TableDataInfo list(){
|
||||
startPage();
|
||||
List<AfsimScenario> list = sceneService.selectSceneList();
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
||||
@@ -20,8 +20,11 @@ import com.solution.web.core.graph.GraphEdge;
|
||||
import com.solution.web.core.graph.GraphNode;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@@ -98,10 +101,17 @@ public class BehaviortreeProcessor {
|
||||
instanceKeyMap.put(node.getKey(), instance);
|
||||
|
||||
if (node.hasParameters()) {
|
||||
// 插入parameter nodeparameter
|
||||
for (Templateparameterdef parameter : node.getParameters()) {
|
||||
Nodeparameter nodeparameter = createNodeParameter(behaviortree, parameter, instance);
|
||||
nodeparameterService.insertNodeparameter(nodeparameter);
|
||||
if (node.isMultiable()) {
|
||||
List<Nodeparameter> nodeparameters = createMultiableNodeparameter(behaviortree, node, instance);
|
||||
for (Nodeparameter nodeparameter : nodeparameters) {
|
||||
nodeparameterService.insertNodeparameter(nodeparameter);
|
||||
}
|
||||
} else {
|
||||
// 插入parameter nodeparameter
|
||||
for (Templateparameterdef parameter : node.getParameters()) {
|
||||
Nodeparameter nodeparameter = createNodeParameter(behaviortree, parameter, instance);
|
||||
nodeparameterService.insertNodeparameter(nodeparameter);
|
||||
}
|
||||
}
|
||||
}
|
||||
nodeKeyIndexMap.put(node.getKey(), index);
|
||||
@@ -148,6 +158,47 @@ public class BehaviortreeProcessor {
|
||||
return connection;
|
||||
}
|
||||
|
||||
private List<Nodeparameter> createMultiableNodeparameter(Behaviortree behaviortree, GraphNode node,
|
||||
Treenodeinstance instance) {
|
||||
|
||||
List<Nodeparameter> nodeparameters = new ArrayList<>();
|
||||
|
||||
Map<Long, List<String>> idValues = new HashMap<>();
|
||||
List<String> tmpValues = null;
|
||||
Map<Long, List<Templateparameterdef>> mappedValues = new HashMap<>();
|
||||
List<Templateparameterdef> tmpDefs = null;
|
||||
|
||||
for (Templateparameterdef parameter : node.getParameters()) {
|
||||
tmpDefs = mappedValues.get(parameter.getId() );
|
||||
if (null == tmpDefs) {
|
||||
tmpDefs = new ArrayList<>();
|
||||
}
|
||||
tmpDefs.add(parameter);
|
||||
mappedValues.put(parameter.getId(), tmpDefs);
|
||||
|
||||
tmpValues = idValues.get(parameter.getId() );
|
||||
if (null == tmpValues) {
|
||||
tmpValues = new ArrayList<>();
|
||||
}
|
||||
tmpValues.add(parameter.getDefaultValue());
|
||||
idValues.put(parameter.getId(), tmpValues);
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
for (Long id : idValues.keySet()) {
|
||||
tmpValues = idValues.get(id);
|
||||
Nodeparameter nodeparameter = new Nodeparameter();
|
||||
nodeparameter.setTreeId(behaviortree.getId());
|
||||
nodeparameter.setNodeInstanceId(instance.getId());
|
||||
nodeparameter.setParamDefId(id);
|
||||
nodeparameter.setValue(StringUtils.collectionToCommaDelimitedString(tmpValues));
|
||||
nodeparameter.setGroupIndex(index);
|
||||
nodeparameters.add(nodeparameter);
|
||||
index++;
|
||||
}
|
||||
return nodeparameters;
|
||||
}
|
||||
|
||||
private Nodeparameter createNodeParameter(Behaviortree behaviortree, Templateparameterdef parameter,
|
||||
Treenodeinstance instance) {
|
||||
Nodeparameter nodeparameter = new Nodeparameter();
|
||||
@@ -155,6 +206,7 @@ public class BehaviortreeProcessor {
|
||||
nodeparameter.setNodeInstanceId(instance.getId());
|
||||
nodeparameter.setParamDefId(parameter.getId());
|
||||
nodeparameter.setValue(parameter.getDefaultValue());
|
||||
nodeparameter.setGroupIndex(parameter.getGroupIndex());
|
||||
return nodeparameter;
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ public class GraphNode implements Serializable {
|
||||
|
||||
private String category;
|
||||
|
||||
private boolean multiable;
|
||||
|
||||
private List<Templateparameterdef> parameters;
|
||||
|
||||
private List<GraphVariable> variables;
|
||||
@@ -61,6 +63,14 @@ public class GraphNode implements Serializable {
|
||||
'}';
|
||||
}
|
||||
|
||||
public boolean isMultiable() {
|
||||
return multiable;
|
||||
}
|
||||
|
||||
public void setMultiable(boolean multiable) {
|
||||
this.multiable = multiable;
|
||||
}
|
||||
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user