|
@@ -381,10 +381,10 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
|
|
// PageHelper.clearPage();
|
|
// PageHelper.clearPage();
|
|
if (!CollectionUtils.isEmpty(multiSimulationSceneVOS)) {
|
|
if (!CollectionUtils.isEmpty(multiSimulationSceneVOS)) {
|
|
for (MultiSimulationSceneVO scene : multiSimulationSceneVOS) {
|
|
for (MultiSimulationSceneVO scene : multiSimulationSceneVOS) {
|
|
- String sceneId = scene.getSceneId();
|
|
|
|
- int i = sceneCarMapper.selectSceneCarNumsBySceneId(sceneId);
|
|
|
|
- scene.setCarNums(i);
|
|
|
|
|
|
+ String sceneId = scene.getId();
|
|
String mapId = scene.getMapId();
|
|
String mapId = scene.getMapId();
|
|
|
|
+ int i = sceneCarMapper.selectSceneCarNumsBySceneIdAndMapId(sceneId, mapId);
|
|
|
|
+ scene.setCarNums(i);
|
|
if (StringUtils.isBlank(mapId)) {
|
|
if (StringUtils.isBlank(mapId)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -663,7 +663,7 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
|
|
List<MultiSimulationSceneCarVO> multiSimulationSceneCarVOS = sceneCarMapper.selectSceneCarList(multiSimulationSceneCarParam);
|
|
List<MultiSimulationSceneCarVO> multiSimulationSceneCarVOS = sceneCarMapper.selectSceneCarList(multiSimulationSceneCarParam);
|
|
if (!CollectionUtils.isEmpty(multiSimulationSceneCarVOS)) {
|
|
if (!CollectionUtils.isEmpty(multiSimulationSceneCarVOS)) {
|
|
for (MultiSimulationSceneCarVO car : multiSimulationSceneCarVOS) {
|
|
for (MultiSimulationSceneCarVO car : multiSimulationSceneCarVOS) {
|
|
- MultiSimulationSceneCarParam carParam = buildSceneCarParam(car, id);
|
|
|
|
|
|
+ MultiSimulationSceneCarParam carParam = buildSceneCarParamAll(car, id);
|
|
int add = sceneCarMapper.addMultiSimulationSceneCar(carParam);
|
|
int add = sceneCarMapper.addMultiSimulationSceneCar(carParam);
|
|
if (add <= 0) {
|
|
if (add <= 0) {
|
|
throw new RuntimeException("新增车辆信息失败");
|
|
throw new RuntimeException("新增车辆信息失败");
|
|
@@ -677,22 +677,42 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
|
|
return multiSimulationProjectVOResponseBodyVO;
|
|
return multiSimulationProjectVOResponseBodyVO;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Transactional
|
|
|
|
+ public ResponseBodyVO<MultiSimulationSceneVO> copyMoreMultiSimulationScene(MultiSimulationSceneParam param) {
|
|
|
|
+ List<String> sceneIdList = param.getSceneIdList();
|
|
|
|
+ if (CollectionUtils.isEmpty(sceneIdList)){
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数异常");
|
|
|
|
+ }
|
|
|
|
+ for (String sceneId: sceneIdList) {
|
|
|
|
+ MultiSimulationSceneParam sceneParam = new MultiSimulationSceneParam();
|
|
|
|
+ sceneParam.setSceneId(sceneId);
|
|
|
|
+ ResponseBodyVO<MultiSimulationSceneVO> multiSimulationSceneVOResponseBodyVO = copyMultiSimulationScene(sceneParam);
|
|
|
|
+ if (!multiSimulationSceneVOResponseBodyVO.isStatus()){
|
|
|
|
+ throw new RuntimeException(multiSimulationSceneVOResponseBodyVO.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
|
|
|
|
+ }
|
|
|
|
+
|
|
public ResponseBodyVO<MultiSimulationSceneVO> copyMultiSimulationScene(MultiSimulationSceneParam param) {
|
|
public ResponseBodyVO<MultiSimulationSceneVO> copyMultiSimulationScene(MultiSimulationSceneParam param) {
|
|
if (StringUtils.isBlank(param.getSceneId())) {
|
|
if (StringUtils.isBlank(param.getSceneId())) {
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数异常");
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数异常");
|
|
}
|
|
}
|
|
MultiSimulationSceneVO sceneVO = simulationSceneMapper.selectSceneDetailBySceneId(param.getSceneId());
|
|
MultiSimulationSceneVO sceneVO = simulationSceneMapper.selectSceneDetailBySceneId(param.getSceneId());
|
|
- ResponseBodyVO responseBodyVO = checkScene(sceneVO);
|
|
|
|
- if (responseBodyVO.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()) {
|
|
|
|
- return responseBodyVO;
|
|
|
|
|
|
+ if (Objects.isNull(sceneVO)){
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "未查出有效场景:" + param.getSceneId());
|
|
}
|
|
}
|
|
|
|
+// ResponseBodyVO responseBodyVO = checkScene(sceneVO);
|
|
|
|
+// if (responseBodyVO.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()) {
|
|
|
|
+// return responseBodyVO;
|
|
|
|
+// }
|
|
MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
|
|
MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
|
|
multiSimulationSceneCarParam.setSceneId(param.getSceneId());
|
|
multiSimulationSceneCarParam.setSceneId(param.getSceneId());
|
|
List<MultiSimulationSceneCarVO> multiSimulationSceneCarVOS = sceneCarMapper.selectSceneCarList(multiSimulationSceneCarParam);
|
|
List<MultiSimulationSceneCarVO> multiSimulationSceneCarVOS = sceneCarMapper.selectSceneCarList(multiSimulationSceneCarParam);
|
|
- ResponseBodyVO sceneCars = checkAllSceneCars(multiSimulationSceneCarVOS, param.getSceneId());
|
|
|
|
- if (sceneCars.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()) {
|
|
|
|
- return sceneCars;
|
|
|
|
- }
|
|
|
|
|
|
+// ResponseBodyVO sceneCars = checkAllSceneCars(multiSimulationSceneCarVOS, param.getSceneId());
|
|
|
|
+// if (sceneCars.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()) {
|
|
|
|
+// return sceneCars;
|
|
|
|
+// }
|
|
// 插入场景
|
|
// 插入场景
|
|
MultiSimulationScenePO multiSimulationScenePO = buildScenePO(sceneVO, sceneVO.getProjectId());
|
|
MultiSimulationScenePO multiSimulationScenePO = buildScenePO(sceneVO, sceneVO.getProjectId());
|
|
int i = simulationSceneMapper.addMultiSimulationSceneAll(multiSimulationScenePO);
|
|
int i = simulationSceneMapper.addMultiSimulationSceneAll(multiSimulationScenePO);
|
|
@@ -969,8 +989,24 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
|
|
String pathEnd = carVO.getPathEnd();
|
|
String pathEnd = carVO.getPathEnd();
|
|
JSONObject objectEnd = JSONObject.parseObject(pathEnd);
|
|
JSONObject objectEnd = JSONObject.parseObject(pathEnd);
|
|
MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
|
|
MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
|
|
- multiSimulationSceneCarParam.setSceneCarId(carVO.getId()).setSceneId(newSceneId)
|
|
|
|
- .setCarId(carVO.getCarId()).setAlgorithmId(carVO.getAlgorithmId())
|
|
|
|
|
|
+ multiSimulationSceneCarParam.setSceneCarId(StringUtil.getRandomUUID()).setSceneId(newSceneId)
|
|
|
|
+ .setCarId(carVO.getCarId()).setAlgorithmId(carVO.getAlgorithmId()).setAlgorithmType(carVO.getAlgorithmType())
|
|
|
|
+ .setMapId(carVO.getMapId())
|
|
|
|
+ .setPathId(carVO.getPathId())
|
|
|
|
+ .setPathStart(objectStart).setPathEnd(objectEnd)
|
|
|
|
+ .setPathStartStr(pathStart)
|
|
|
|
+ .setPathEndStr(pathEnd)
|
|
|
|
+ .setCarSort(carVO.getCarSort()).setIsSimulationCar(0);
|
|
|
|
+ return multiSimulationSceneCarParam;
|
|
|
|
+ }
|
|
|
|
+ public static MultiSimulationSceneCarParam buildSceneCarParamAll(MultiSimulationSceneCarVO carVO, String newSceneId) {
|
|
|
|
+ String pathStart = carVO.getPathStart();
|
|
|
|
+ JSONObject objectStart = JSONObject.parseObject(pathStart);
|
|
|
|
+ String pathEnd = carVO.getPathEnd();
|
|
|
|
+ JSONObject objectEnd = JSONObject.parseObject(pathEnd);
|
|
|
|
+ MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
|
|
|
|
+ multiSimulationSceneCarParam.setSceneCarId(StringUtil.getRandomUUID()).setSceneId(newSceneId)
|
|
|
|
+ .setCarId(carVO.getCarId()).setAlgorithmId(carVO.getAlgorithmId()).setAlgorithmType(carVO.getAlgorithmType())
|
|
.setMapId(carVO.getMapId())
|
|
.setMapId(carVO.getMapId())
|
|
.setPathId(carVO.getPathId())
|
|
.setPathId(carVO.getPathId())
|
|
.setPathStart(objectStart).setPathEnd(objectEnd)
|
|
.setPathStart(objectStart).setPathEnd(objectEnd)
|