root 2 anos atrás
pai
commit
09bea8e9a4

+ 7 - 1
api-common/src/main/java/api/common/pojo/po/system/SceneImportPO.java

@@ -1,7 +1,12 @@
 package api.common.pojo.po.system;
 
 import api.common.pojo.common.CommonPO;
-import lombok.*;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
@@ -10,6 +15,7 @@ import lombok.*;
 public class SceneImportPO extends CommonPO {
 
     private String id;  //任务id
+    private List<String> idList;  //任务id
     private String name;    //任务名称
     private String dataDirectory;   //场景包路径
     private String sceneType;   //场景类型

+ 8 - 7
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneNaturalController.java

@@ -33,12 +33,7 @@ public class SceneNaturalController {
     @Resource
     private SceneImportService sceneImportService;
 
-    @PostMapping("/batchDeleteSceneNatural")
-    public ResponseBodyVO<String> batchDeleteSceneNatural(@RequestBody SceneNaturalNewParam params) {
-        List<String> naturalNameList = params.getNaturalNameList();
-        sceneNaturalService.batchDeleteSceneNatural(naturalNameList);
-        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
-    }
+
 
     /**
      * 查询自然驾驶数据
@@ -63,10 +58,16 @@ public class SceneNaturalController {
     //新增自然场景
     @PostMapping("/saveSceneNatural")
     public ResponseBodyVO<String> saveSceneNatural(@RequestBody SceneNaturalParam params) {
-
         return sceneNaturalService.importZrjsSceneCicv(params);
     }
 
+    @PostMapping("/batchDeleteSceneNatural")
+    public ResponseBodyVO<String> batchDeleteSceneNatural(@RequestBody SceneNaturalNewParam params) {
+        List<String> naturalNameList = params.getNaturalNameList();
+        sceneNaturalService.batchDeleteSceneNatural(naturalNameList);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+
     /**
      * 删除
      */

+ 17 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/ScenePackageMapper.java

@@ -57,4 +57,21 @@ public interface ScenePackageMapper {
     @Select("select is_unavailable from scene_package where package_id = #{packageId}")
     String  selectIsUnavailableByPackageId(@Param("packageId")String packageId);
 
+    @Update("update scene_package\n" +
+            "set scene_num = scene_num - 1\n" +
+            "where package_id in\n" +
+            "      (select root_id from scene_package_sublist where scene_natural_ids like concat('%', #{naturalId}, '%'))")
+    void updateSceneNumAfterDeleteSceneByNaturalId(String naturalId);
+
+    @Update("update scene_package\n" +
+            "set scene_num = scene_num - 1\n" +
+            "where package_id in\n" +
+            "      (select root_id from scene_package_sublist where scene_statue_ids like concat('%', #{naturalId}, '%'))")
+    void updateSceneNumAfterDeleteSceneByStandardsId(String naturalId);
+
+    @Update("update scene_package\n" +
+            "set scene_num = scene_num - 1\n" +
+            "where package_id in\n" +
+            "      (select root_id from scene_package_sublist where scene_traffic_ids like concat('%', #{naturalId}, '%'))")
+    void updateSceneNumAfterDeleteSceneByAccidentId(String naturalId);
 }

+ 2 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java

@@ -394,6 +394,8 @@ public class SceneAccidentService {
             param.setSceneJtId(sceneId);
             param.setModifyUserId(AuthUtil.getCurrentUserId());
             scenePackageSublistMapper.updateScenePackageSublistById(param);
+            //5
+            scenePackageMapper.updateSceneNumAfterDeleteSceneByAccidentId(sceneId);
         }
         //5 将所有场景包中的该场景删除
         systemScenePackageSublistMapper.deleteBySceneName(sceneName);

+ 11 - 6
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -161,7 +161,7 @@ public class SceneNaturalService {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
-    public String getSequenceNew(JsonNode jsonObject, String field) throws Exception {
+    public String getSequenceNew(JsonNode jsonObject, String field) {
         if (jsonObject == null) {
             return "无法确定";
         }
@@ -367,24 +367,29 @@ public class SceneNaturalService {
         //2 根据场景名称查询出同名的所有场景id,包括公有和私有
         List<String> sceneIdList = sceneNaturalMapper.selectIdByName(sceneName);
         for (String sceneId : sceneIdList) {
-            //4 将所有包含该场景的场景测试包状态为已禁用
+            //3 将所有包含该场景的场景测试包状态为已禁用
             scenePackageMapper.updateIsUnavailableByNaturalId("1", sceneId);
-            //3 将所有场景测试包指标中的该场景删除
+            //4 将所有场景测试包指标中的该场景删除
             SceneDeleteParam param = new SceneDeleteParam();
             param.setModifyTime(TimeUtil.getNowForMysql());
             param.setSceneZrId(sceneId);
             param.setModifyUserId(AuthUtil.getCurrentUserId());
             scenePackageSublistMapper.updateScenePackageSublistById(param);
+            //5 根据场景id查询场景包id并修改场景数量
+            scenePackageMapper.updateSceneNumAfterDeleteSceneByNaturalId(sceneId);
         }
-        //5 将所有场景包中的该场景删除
+        //6 将所有场景包中的该场景删除
         systemScenePackageSublistMapper.deleteBySceneName(sceneName);
-        //6 删除所有同名场景(包括公有和私有)
+        //7 删除所有同名场景(包括公有和私有)
         sceneNaturalMapper.deleteByName(sceneName, AuthUtil.getCreateUserId());
-        //7 记录日志
+        //8 记录日志
         Map<String, String> map = new HashMap<>();
         map.put("sceneName", params.getNaturalName());
         map.put("type", DictConstants.SCENE_NATURAL);
         logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
+
+
+
     }
 
     public Integer querySceneNumBySy() {

+ 2 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java

@@ -191,6 +191,8 @@ public class StandardsRegulationsService {
             param.setSceneBzId(sceneId);
             param.setModifyUserId(AuthUtil.getCurrentUserId());
             scenePackageSublistMapper.updateScenePackageSublistById(param);
+            //5 根据场景id查询场景包id并修改场景数量
+            scenePackageMapper.updateSceneNumAfterDeleteSceneByStandardsId(sceneId);
         }
         //5 将所有场景包中的该场景删除
         systemScenePackageSublistMapper.deleteBySceneName(sceneName);

+ 10 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/system/ctrl/SceneImportCtrl.java

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 @RestController
 @RequestMapping("/sceneImport")
@@ -28,6 +29,15 @@ public class SceneImportCtrl {
     @Resource
     private SceneService sceneService;
 
+//    @RequestMapping("/batchDeleteTask")
+//    public ResponseBodyVO<String> batchDeleteTask(@RequestBody SceneImportPO sceneImportPO) {
+//        List<String> idList = sceneImportPO.getIdList();
+//        for (String taskId : idList) {
+//            sceneImportService.deleteTask(taskId);
+//        }
+//        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+//    }
+
     @RequestMapping("/deleteTask")
     public ResponseBodyVO<String> deleteTask(@RequestBody SceneImportPO sceneImportPO) {
         String taskId = sceneImportPO.getId();