浏览代码

Merge remote-tracking branch 'origin/master'

root 2 年之前
父节点
当前提交
52f4a69825
共有 28 个文件被更改,包括 1098 次插入316 次删除
  1. 1 0
      api-common/src/main/java/api/common/pojo/param/scene/SceneGeneralTemplateParam.java
  2. 2 2
      api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalNewParam.java
  3. 1 0
      api-common/src/main/java/api/common/pojo/po/scene/SceneGeneralTemplatePO.java
  4. 1 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/VehicleCtrl.java
  5. 1 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/VehicleMapper.java
  6. 8 9
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/ConfigService.java
  7. 11 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneAccidentController.java
  8. 10 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneGeneralTemplateController.java
  9. 9 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneNaturalController.java
  10. 18 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/StandardsRegulationsController.java
  11. 2 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SystemScenePackageController.java
  12. 2 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneAccidentMapper.java
  13. 4 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneGeneralTemplateMapper.java
  14. 2 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneNaturalMapper.java
  15. 5 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/StandardsRegulationsMapper.java
  16. 57 37
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java
  17. 37 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneGeneralTemplateService.java
  18. 102 59
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  19. 139 6
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java
  20. 65 37
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java
  21. 308 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SystemScenePackageService.java
  22. 74 110
      simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml
  23. 114 5
      simulation-resource-server/src/main/resources/mapper/scene/SceneGeneralTemplateMapper.xml
  24. 59 4
      simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml
  25. 8 2
      simulation-resource-server/src/main/resources/mapper/scene/ScenePackageMapper.xml
  26. 4 1
      simulation-resource-server/src/main/resources/mapper/scene/ScoringRulesMapper.xml
  27. 46 29
      simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml
  28. 8 2
      simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageMapper.xml

+ 1 - 0
api-common/src/main/java/api/common/pojo/param/scene/SceneGeneralTemplateParam.java

@@ -29,5 +29,6 @@ public class SceneGeneralTemplateParam extends PageVO implements Serializable {
     private String[] allSceneNames ; //场景名集合
 
     private List<String> scenarioRoadType;//道路类型
+    private String share;
 
 }

+ 2 - 2
api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalNewParam.java

@@ -35,6 +35,6 @@ public class SceneNaturalNewParam extends PageVO implements Serializable {
     private String[][] turnAround;//掉头
 
     private String[] allSceneNames ; //场景名集合
-
-
+    private String userId;//用户id
+    private String share;
 }

+ 1 - 0
api-common/src/main/java/api/common/pojo/po/scene/SceneGeneralTemplatePO.java

@@ -52,6 +52,7 @@ public class SceneGeneralTemplatePO implements Serializable {
     private String videoLink;//视频链接
     private String fileName;//文件名或地址
     private String version;//版本号
+    private String share;//0私有 1共有
 
 
     private List<String> fileNameAll;//sheet页集合

+ 1 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/VehicleCtrl.java

@@ -66,7 +66,7 @@ public class VehicleCtrl {
         if(ObjectUtil.isNull(vehicleVO)){
             return new ResponseBodyVO(false, 500, "参数必传!",null);
         }
-        ResponseBodyVO<VehiclePO> response = new ResponseBodyVO<VehiclePO>(ResponseBodyVO.Response.SUCCESS);
+        ResponseBodyVO<VehiclePO> response = new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
         VehiclePO po = vehicleService.saveVehicle(vehicleVO);
         if(ObjectUtil.isNull(po.getId())){
             return new ResponseBodyVO(false, 500, "车辆名称重复!",null);

+ 1 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/VehicleMapper.java

@@ -18,6 +18,7 @@ public interface VehicleMapper {
 
     VehicleVO getVehicleInfo(VehicleParam vehicleParam);
 
+
     List<VehicleVO> checkVehicleName(VehiclePO vehiclePO);
 
     void insert(VehiclePO vehiclePO);

+ 8 - 9
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/ConfigService.java

@@ -4,10 +4,7 @@ import api.common.pojo.constants.DictConstants;
 import api.common.pojo.param.model.*;
 import api.common.pojo.po.model.*;
 import api.common.pojo.vo.model.*;
-import api.common.util.LogUtil;
-import api.common.util.ObjectUtil;
-import api.common.util.StringUtil;
-import api.common.util.TimeUtil;
+import api.common.util.*;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.model.mapper.CameraMapper;
@@ -246,6 +243,7 @@ public class ConfigService {
             VehicleParam vehicleParam = new VehicleParam();
             vehicleParam.setId(configPO.getVehicleId());
             VehicleVO vehicleInfo = vehicleMapper.getVehicleInfo(vehicleParam);
+            vehicleInfo.setVehicleType(vehicleInfo.getVehicleTypeStr().split(","));
             VehiclePO po = vehicleService.shareVehicle(vehicleInfo);
         }
 
@@ -253,8 +251,9 @@ public class ConfigService {
 
         //构建字表新数据
         Map<String, List<ConfigSensorVO>> configSensors = configVO.getConfigSensors();
+        System.out.println("  //构建字表新数据---------"+configSensors);
         List<ConfigSensorPO> configSensorPOs = new ArrayList<>();
-        if(ObjectUtil.isNotNull(configSensors)){
+        if(CollectionUtil.isNotEmpty(configSensors)){
             configSensors.forEach((sensorType,configSensorVOs)->{
 
                 if(ObjectUtil.isNotNull(configSensorVOs)){
@@ -274,7 +273,7 @@ public class ConfigService {
                         switch (sensorType) {
                             case "camera": {
                                 CameraParam cameraParam = new CameraParam();
-                                cameraParam.setId(vo.getId());
+                                cameraParam.setId(vo.getSensorId());
                                 CameraVO cameraVO = cameraService.getCameraInfo(cameraParam);
                                 CameraPO cameraPO = new CameraPO();
                                 ObjectUtil.voToPo(cameraVO,cameraPO);
@@ -283,7 +282,7 @@ public class ConfigService {
                             }
                             case "lidar":{
                                 LidarParam lidarParam = new LidarParam();
-                                lidarParam.setId(vo.getId());
+                                lidarParam.setId(vo.getSensorId());
                                 LidarVO lidarVO = lidarService.getLidarInfo(lidarParam);
                                 LidarPO lidarPO = new LidarPO();
                                 ObjectUtil.voToPo(lidarVO,lidarPO);
@@ -292,7 +291,7 @@ public class ConfigService {
                             }
                             case "ogt":{
                                 OgtParam ogtParam = new OgtParam();
-                                ogtParam.setId(vo.getId());
+                                ogtParam.setId(vo.getSensorId());
                                 OgtVO ogtVO = ogtService.getOgtInfo(ogtParam);
                                 OgtPO ogtPO = new OgtPO();
                                 ObjectUtil.voToPo(ogtVO,ogtPO);
@@ -301,7 +300,7 @@ public class ConfigService {
                             }
                             case "gps":{
                                 GpsParam gpsParam = new GpsParam();
-                                gpsParam.setId(vo.getId());
+                                gpsParam.setId(vo.getSensorId());
                                 GpsVO gpsVO = gpsService.getGpsInfo(gpsParam);
                                 GpsPO gpsPO = new GpsPO();
                                 ObjectUtil.voToPo(gpsVO,gpsPO);

+ 11 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneAccidentController.java

@@ -80,4 +80,15 @@ public class SceneAccidentController {
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
+    //分享交通事故
+    @PostMapping("/instShareSceneAccident")
+    @ResponseBody
+    public ResponseBodyVO<String> instShareSceneAccident(@RequestBody SceneAccidentPO params) {
+         sceneAccidentService.instShareSceneAccident(params);
+
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+
+    }
+
+
 }

+ 10 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneGeneralTemplateController.java

@@ -218,7 +218,7 @@ public class SceneGeneralTemplateController {
     }
 
 
-    //新增泛化模板
+    //新增泛化模板  现在
     @PostMapping("/saveSceneGeneralTemplateAll")
     @ResponseBody
     public ResponseBodyVO<String> saveSceneGeneralTemplateAll(@RequestParam("file") MultipartFile multipartFile, HttpServletRequest request) {
@@ -270,5 +270,14 @@ public class SceneGeneralTemplateController {
 
     }
 
+    //分享·
+    @PostMapping("/instShareSceneGeneralTemplate")
+    @ResponseBody
+    public ResponseBodyVO<String> instShareSceneGeneralTemplate(@RequestBody SceneGeneralTemplatePO po) {
+        sceneGeneralTemplateService.instShareSceneGeneralTemplate(po);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+
+    }
+
 
 }

+ 9 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneNaturalController.java

@@ -80,4 +80,13 @@ public class SceneNaturalController {
        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
+
+    //分享
+    @PostMapping("/instShareSceneNatural")
+    @ResponseBody
+    public ResponseBodyVO<String> instShareSceneNatural(@RequestBody SceneNaturalPO po) {
+      sceneNaturalService.instShareSceneNatural(po);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+    }
 }

+ 18 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/StandardsRegulationsController.java

@@ -81,4 +81,22 @@ public class StandardsRegulationsController {
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
+    //查詢法规类型
+    @PostMapping("/queryRegulationType")
+    @ResponseBody
+    public ResponseBodyVO<List<String>> queryRegulationType() {
+
+        return standardsRegulationsService.queryRegulationType();
+
+    }
+
+    //分享·
+    @PostMapping("/instStandardsRegulation")
+    @ResponseBody
+    public ResponseBodyVO<String> instStandardsRegulation(@RequestBody StandardsRegulationsPO po) {
+        standardsRegulationsService.instStandardsRegulation(po);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+
+    }
+
 }

+ 2 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SystemScenePackageController.java

@@ -55,7 +55,8 @@ public class SystemScenePackageController {
         if (ObjectUtil.isNotNull(parms.getId())) {
             systemScenePackageService.updateSystemScenePackage(parms);
         } else {
-            return systemScenePackageService.saveSystemScenePackage(parms);
+           // return systemScenePackageService.saveSystemScenePackage(parms);
+            return systemScenePackageService.saveSystemScenePackageNew(parms);
         }
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }

+ 2 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneAccidentMapper.java

@@ -22,9 +22,9 @@ public interface SceneAccidentMapper {
 
     void deleteSceneAccidentList(SceneAccidentPO params);
 
-    String querySceneAccidentByNmae(String sceneName);
+    SceneAccidentPO querySceneAccidentByNmae(SceneAccidentPO sceneAccidentPO);
     void updateSceneAccident(SceneAccidentPO params);
     void updateSceneAccidentList(List<SceneAccidentPO> list);
-
+    SceneAccidentPO querySceneAccidentById(String id);
 
 }

+ 4 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneGeneralTemplateMapper.java

@@ -12,6 +12,7 @@ import java.util.List;
 public interface SceneGeneralTemplateMapper {
 
     void saveSceneGeneralTemplateAll(List<SceneGeneralTemplatePO> list);
+    void saveSceneGeneralTemplate(SceneGeneralTemplatePO po);
     List<SceneGeneralTemplatePO> querySceneGeneralTemplateList(SceneGeneralTemplateParam params);
     SceneGeneralTemplatePO querySceneGeneralTemplateById(String id);
     void deleteSceneGeneralTemplateAll(SceneGeneralTemplatePO po);
@@ -20,4 +21,7 @@ public interface SceneGeneralTemplateMapper {
 
     List<SceneGeneralTemplatePO> querySceneGeneralTemplateListByQx(SceneGeneralTemplateParam params);
 
+    SceneGeneralTemplatePO querySceneGeneralTemplateByName(SceneGeneralTemplatePO sceneGeneralTemplatePO);
+    void updateSceneGeneralTemplate(SceneGeneralTemplatePO po);
+
 }

+ 2 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneNaturalMapper.java

@@ -21,7 +21,7 @@ public interface SceneNaturalMapper {
 
     void deleteSceneNatural(SceneNaturalPO params);
 
-    String querySceneNaturaByName(String fileName);
+    SceneNaturalPO querySceneNaturaByName(SceneNaturalPO sceneNaturalPO);
 
     Integer querySceneNumBySy(SceneNaturalParam params);
 
@@ -31,4 +31,5 @@ public interface SceneNaturalMapper {
     List<SceneNaturalPO> querySceneNaturalListByQx(SceneNaturalParam params);
     List<SceneNaturalPO> querySceneNaturalListByBqAndXlkAndQx(Map<String,SceneNaturalParam> map);
     List<SceneNaturalPO> querySceneNaturalListByBqAndQx(Map<String,SceneNaturalParam> map);
+    SceneNaturalPO querySceneNaturalById(String id);
 }

+ 5 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/StandardsRegulationsMapper.java

@@ -19,11 +19,15 @@ public interface StandardsRegulationsMapper {
 
     void deleteStandardsRegulations(StandardsRegulationsPO params);
 
-    String queryStandardsRegulationsByName(String sceneName);
+    StandardsRegulationsPO queryStandardsRegulationsByName(StandardsRegulationsPO standardsRegulationsPO);
 
     void updateStandardsRegulations(StandardsRegulationsPO params);
     void updateStandardsRegulationsList(List<StandardsRegulationsPO> list);
 
     List<StandardsRegulationsPO> queryStandardsRegulationsListByQx(StandardsRegulationsParam params);
     List<StandardsRegulationsPO> queryStandardsRegulationsListByBqAndQx(StandardsRegulationsParam params);
+
+    List<String> queryRegulationType(String userId);
+
+    StandardsRegulationsPO queryStandardsRegulationsById(String id);
 }

+ 57 - 37
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java

@@ -64,8 +64,11 @@ public class SceneAccidentService {
         JsonNode root = objMap.readTree(json);
         //判断场景名称唯一
         String sceneName = root.path("场景名称").asText();
-        String sceneId = SceneAccidentMapper.querySceneAccidentByNmae(sceneName);
         SceneAccidentPO sceneAccidentPO = new SceneAccidentPO();
+        sceneAccidentPO.setShare("0");
+        sceneAccidentPO.setSceneName(sceneName);
+        SceneAccidentPO sceneAccidentPOByName = SceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
+
         sceneAccidentPO = sceneAccidentPO.builder()
                 .accidentId(StringUtil.getRandomUUID())
                 .sceneName(sceneName)
@@ -95,7 +98,7 @@ public class SceneAccidentService {
         if (null != param.getVideoAddress() && !param.getVideoAddress().equals("")) {
             sceneAccidentPO.setVideoAddress(param.getVideoAddress());
         }
-        if (ObjectUtil.isNull(sceneId)) {
+        if (ObjectUtil.isNull(sceneAccidentPOByName)) {
             // -------------------------------- 保存数据到 mysql --------------------------------
             sceneAccidentPO.setCreateTime(TimeUtil.getNowForMysql());
             sceneAccidentPO.setCreateUserId(AuthUtil.getCurrentUserId());
@@ -108,7 +111,7 @@ public class SceneAccidentService {
             SceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
         } else {
             // -------------------------------- 修改数据到 mysql --------------------------------
-            sceneAccidentPO.setAccidentId(sceneId);
+            sceneAccidentPO.setAccidentId(sceneAccidentPOByName.getAccidentId());
             sceneAccidentPO.setModifyTime(TimeUtil.getNowForMysql());
             sceneAccidentPO.setModifyUserId(AuthUtil.getCurrentUserId());
             SceneAccidentMapper.updateSceneAccident(sceneAccidentPO);
@@ -191,43 +194,33 @@ public class SceneAccidentService {
     }
 */
     public List<SceneAccidentPO> querySceneAccidentList(SceneAccidentParam params) {
-        if (ObjectUtil.isNotNull(params.getSceneName()) || (params.getSelfDriving() != null && params.getSelfDriving().size() > 0) || (params.getTargetDriving() != null && params.getTargetDriving().size() > 0)
-                || (params.getSelfReaction() != null && params.getSelfReaction().size() > 0) || (params.getConflictType() != null && params.getConflictType().size() > 0) || (params.getConflictBehavior() != null && params.getConflictBehavior().size() > 0) || (params.getIds() != null && params.getIds().length > 0)) {
-            params.setXlk("1");
-        }
-        if (ObjectUtil.isNotNull(params.getRearEndCollision()) || ObjectUtil.isNotNull(params.getCutIn()) || ObjectUtil.isNotNull(params.getDriveCurve()) || ObjectUtil.isNotNull(params.getCarConflict())) {
-            params.setBq(1);
-        }
-        List<SceneAccidentPO> list = new ArrayList<>();
 
+        List<SceneAccidentPO> list = new ArrayList<>();
         String roleCode = AuthUtil.getCurrentUserRoleCode();
+        log.info("交通事故查询------" +roleCode);
         String userId = AuthUtil.getCurrentUserId();
         if (DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)) { //管理员账户
-
-            if ((params.getXlk().equals("1") && params.getBq().equals(1)) || (params.getXlk().equals("0") && params.getBq().equals(0)) || (params.getXlk().equals("1") && params.getBq().equals(0))) {
-                list = SceneAccidentMapper.querySceneAccidentList(params);
-            }/*else if(params.getXlk().equals("1")&&params.getBq().equals("0")){
-            list = SceneAccidentMapper.querySceneAccidentListByXlk(params);
-        }*/ else if (params.getXlk().equals("0") && params.getBq().equals(1)) {
-                list = SceneAccidentMapper.querySceneAccidentListByBq(params);
-            }
+            list = SceneAccidentMapper.querySceneAccidentList(params);
+            log.info("泛华----list--" +list.size()+"----------"+params);
         } else if (DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)) {
             //查询父账户
             userId = AuthUtil.getCreateUserId();
             params.setUserId(userId);
-            if ((params.getXlk().equals("1") && params.getBq().equals(1)) || (params.getXlk().equals("0") && params.getBq().equals(0)) || (params.getXlk().equals("1") && params.getBq().equals(0))) {
+            if(params.getShare().equals("0")){
+                list = SceneAccidentMapper.querySceneAccidentList(params);
+            }else{
                 list = SceneAccidentMapper.querySceneAccidentListByQx(params);
-            } else if (params.getXlk().equals("0") && params.getBq().equals(1)) {
-                list = SceneAccidentMapper.querySceneAccidentListByBqAndQx(params);
             }
+
         } else if (DictConstants.ROLE_CODE_UESR.equals(roleCode)) {
             //查询普通账户
             params.setUserId(userId);
-            if ((params.getXlk().equals("1") && params.getBq().equals(1)) || (params.getXlk().equals("0") && params.getBq().equals(0)) || (params.getXlk().equals("1") && params.getBq().equals(0))) {
+            if(params.getShare().equals("0")){
+                list = SceneAccidentMapper.querySceneAccidentList(params);
+            }else{
                 list = SceneAccidentMapper.querySceneAccidentListByQx(params);
-            } else if (params.getXlk().equals("0") && params.getBq().equals(1)) {
-                list = SceneAccidentMapper.querySceneAccidentListByBqAndQx(params);
             }
+
         }
 
      /*   if ((params.getXlk().equals("1") && params.getBq().equals(1)) || (params.getXlk().equals("0") && params.getBq().equals(0)) || (params.getXlk().equals("1") && params.getBq().equals(0))) {
@@ -505,7 +498,7 @@ public class SceneAccidentService {
     /*
      * 获取交通事故场景数据:最新的自己获取路径
      */
-    @SneakyThrows
+   /* @SneakyThrows
     public ResponseBodyVO<String> saveAllNew(String dataUrl1) {
         //1 获取所有目录下所有场景
         // String dataUrl0 = "D:\\自然驾驶场景样例";     // 场景数据根路径
@@ -584,11 +577,11 @@ public class SceneAccidentService {
                                 sceneAccidentPO.setJsonAddress(dataUrl);
                             } else if (dataUrl.indexOf(".xml") != -1 || dataUrl.indexOf(".xosc") != -1) {
                                 sceneAccidentPO.setXmlAddress(dataUrl);
-                            } /*else if (dataUrl.indexOf(".xodr") != -1) {
+                            } *//*else if (dataUrl.indexOf(".xodr") != -1) {
                         sceneAccidentPO.setXodrAddress(dataUrl);
                     } else if (dataUrl.indexOf(".osgb") != -1) {
                         sceneAccidentPO.setOsgbAddress(dataUrl);
-                    }*/ else if (dataUrl.indexOf("simulation.mp4") != -1) {
+                    }*//* else if (dataUrl.indexOf("simulation.mp4") != -1) {
                                 sceneAccidentPO.setVideoAddress(dataUrl);
                             } else if (dataUrl.indexOf("simulation.mp4") == -1 && dataUrl.indexOf(".mp4") != -1) {
                                 sceneAccidentPO.setVideoPreview(dataUrl);
@@ -619,7 +612,7 @@ public class SceneAccidentService {
         }
 
 
-    }
+    }*/
 
 /*    public static FileItem createFileItem(String filePath, String fileName){
         String fieldName = "file";
@@ -642,7 +635,7 @@ public class SceneAccidentService {
 
 
     /**
-     * 获取交通事故场景数据:
+     * 获取交通事故场景数据:现在
      */
     public SceneImportPO importMiNio(SceneImportParam parms) {
         SceneImportPO sceneImportPO = new SceneImportPO();
@@ -690,18 +683,20 @@ public class SceneAccidentService {
                                     if (ObjectUtil.isNull(selfDriving)
                                             && ObjectUtil.isNull(conflictType)
                                             && ObjectUtil.isNull(conflictBehavior)
-                                            && ObjectUtil.isNull(selfReaction))
-                                    {
+                                            && ObjectUtil.isNull(selfReaction)) {
                                         sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
                                         sceneImportPO.setErrorMessage("文件 " + adress + " 内容不符合标准格式,解析失败。");
 //                                        sceneImportPO.setErrorMessage("文件 " + adress + " 与交通事故场景类型不匹配,解析失败,请检查");
                                         return sceneImportPO;
                                     }
-                                    String sceneId = SceneAccidentMapper.querySceneAccidentByNmae(sceneName);
+
+                                    sceneAccidentPO.setSceneName(sceneName);
+                                    sceneAccidentPO.setShare("0");
+                                    SceneAccidentPO sceneAccidentPOByName = SceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
                                     String osgbAdress = OsgbPath + "/" + root.path("osgb").asText();
                                     String xodrAdress = XodrPath + "/" + root.path("xodr").asText();
                                     sceneAccidentPO.setAccidentId(StringUtil.getRandomUUID());
-                                    sceneAccidentPO.setSceneName(sceneName);
+
                                     sceneAccidentPO.setScenceResume(root.path("场景描述").asText());
                                     sceneAccidentPO.setSelfDriving(selfDriving);
                                     sceneAccidentPO.setTargetDriving(root.path("目标驾驶行为").asText());
@@ -712,18 +707,18 @@ public class SceneAccidentService {
                                     sceneAccidentPO.setSceneWeather(root.path("天气").asText());
                                     sceneAccidentPO.setMaxTime(root.path("max_time").asText());
                                     sceneAccidentPO.setIsDeleted("0");
-                                    sceneAccidentPO.setShare("0");
+
                                     if (ObjectUtil.isNull(sceneAccidentPO.getOsgbAddress())) {
                                         sceneAccidentPO.setOsgbAddress(osgbAdress);
                                     }
                                     if (ObjectUtil.isNull(sceneAccidentPO.getXodrAddress())) {
                                         sceneAccidentPO.setXodrAddress(xodrAdress);
                                     }
-                                    if (ObjectUtil.isNull(sceneId)) {
+                                    if (ObjectUtil.isNull(sceneAccidentPOByName)) {
                                         isupdate = "0";
                                     } else {
                                         isupdate = "1";
-                                        sceneAccidentPO.setAccidentId(sceneId);
+                                        sceneAccidentPO.setAccidentId(sceneAccidentPOByName.getAccidentId());
                                     }
                                 }
                                 if (adress.contains(".json")) {
@@ -777,4 +772,29 @@ public class SceneAccidentService {
         }
     }
 
+
+    /**
+     * 分享
+     */
+    public void instShareSceneAccident(SceneAccidentPO po) {
+        SceneAccidentPO syPO = SceneAccidentMapper.querySceneAccidentById(po.getAccidentId());
+        syPO.setShare("1");
+        SceneAccidentPO sceneAccidentPOByName = SceneAccidentMapper.querySceneAccidentByNmae(syPO);
+        if (ObjectUtil.isNull(sceneAccidentPOByName)) {
+            // -------------------------------- 保存数据到 mysql --------------------------------
+            syPO.setCreateTime(TimeUtil.getNowForMysql());
+            syPO.setCreateUserId(AuthUtil.getCurrentUserId());
+            syPO.setModifyTime(TimeUtil.getNowForMysql());
+            syPO.setModifyUserId("");
+            syPO.setAccidentId(StringUtil.getRandomUUID());
+            SceneAccidentMapper.saveSceneAccident(syPO);
+        } else {
+            // -------------------------------- 修改数据到 mysql --------------------------------
+            syPO.setModifyTime(TimeUtil.getNowForMysql());
+            syPO.setModifyUserId(AuthUtil.getCurrentUserId());
+            syPO.setAccidentId(sceneAccidentPOByName.getAccidentId());
+            SceneAccidentMapper.updateSceneAccident(syPO);
+        }
+
+    }
 }

+ 37 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneGeneralTemplateService.java

@@ -205,6 +205,7 @@ public class SceneGeneralTemplateService {
                             po.setModifyUserId(AuthUtil.getCurrentUserId());
                             po.setModifyTime(TimeUtil.getNowForMysql());
                             po.setIsDeleted("0");
+                            po.setShare("0");
                             po.setId(StringUtil.getRandomUUID());
                             po.setFileName(sheetName);
                             po.setVersion(version);
@@ -239,19 +240,28 @@ public class SceneGeneralTemplateService {
         List<SceneGeneralTemplatePO> list=new ArrayList<>();
         //添加权限
         String roleCode = AuthUtil.getCurrentUserRoleCode();
+        log.info("泛华------" +roleCode);
         String userId = AuthUtil.getCurrentUserId();
         if(DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)){ //管理员账户
              list=mapper.querySceneGeneralTemplateList(po);
+            log.info("泛华----list--" +list.size()+"----------"+po);
         }else if(DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)){
             //查询父账户
             userId = AuthUtil.getCreateUserId();
             po.setUserId(userId);
-           list=mapper.querySceneGeneralTemplateListByQx(po);
+            if(po.getShare().equals("0")){
+                list=mapper.querySceneGeneralTemplateList(po);
+            }else {
+                list = mapper.querySceneGeneralTemplateListByQx(po);
+            }
         }else if(DictConstants.ROLE_CODE_UESR.equals(roleCode)){
             //查询普通账户
             po.setUserId(userId);
-            list=mapper.querySceneGeneralTemplateListByQx(po);
-        }
+            if(po.getShare().equals("0")){
+                list=mapper.querySceneGeneralTemplateList(po);
+            }else {
+                list = mapper.querySceneGeneralTemplateListByQx(po);
+            }        }
         Map<String,String>  scenarioRoadTypeMap= dictService.getDictMapByType("scenarioRoadType");
         Map<String,String>  scenarioWeatherMap= dictService.getDictMapByType("scenarioWeather");
         for (SceneGeneralTemplatePO vo : list) {
@@ -342,4 +352,28 @@ public class SceneGeneralTemplateService {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
+    /**
+     * 分享
+     */
+    public void instShareSceneGeneralTemplate(SceneGeneralTemplatePO po) {
+        SceneGeneralTemplatePO syPO = mapper.querySceneGeneralTemplateById(po.getId());
+        syPO.setShare("1");
+        SceneGeneralTemplatePO sceneGeneralTemplatePOByName =mapper.querySceneGeneralTemplateByName(syPO);
+        if (ObjectUtil.isNull(sceneGeneralTemplatePOByName)) {
+            // -------------------------------- 保存数据到 mysql --------------------------------
+            syPO.setCreateTime(TimeUtil.getNowForMysql());
+            syPO.setCreateUserId(AuthUtil.getCurrentUserId());
+            syPO.setModifyTime(TimeUtil.getNowForMysql());
+            syPO.setModifyUserId("");
+            syPO.setId(StringUtil.getRandomUUID());
+            mapper.saveSceneGeneralTemplate(syPO);
+        } else {
+            // -------------------------------- 修改数据到 mysql --------------------------------
+            syPO.setModifyTime(TimeUtil.getNowForMysql());
+            syPO.setModifyUserId(AuthUtil.getCurrentUserId());
+            syPO.setId(sceneGeneralTemplatePOByName.getId());
+            mapper.updateSceneGeneralTemplate(syPO);
+        }
+
+    }
 }

+ 102 - 59
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -58,7 +58,10 @@ public class SceneNaturalService {
         int end = param.getJsonAddress().lastIndexOf(".");
         String fileName = param.getJsonAddress().substring(idx + 1, end);
         param.setNaturalName(fileName);
-        String sceneId = sceneNaturalMapper.querySceneNaturaByName(fileName);
+        SceneNaturalPO sceneNaturalPO = new SceneNaturalPO();
+        sceneNaturalPO.setShare("0");
+        sceneNaturalPO.setNaturalName(fileName);
+        SceneNaturalPO sceneNaturalPOByName = sceneNaturalMapper.querySceneNaturaByName(sceneNaturalPO);
         Response download = fileDownService.download(MI);
         String json = download.body().toString();
         ObjectMapper objMap = new ObjectMapper();
@@ -77,7 +80,7 @@ public class SceneNaturalService {
         JsonNode selfDrivingBehavior = root.path("自车行为");
         // -------------------------------- 目标行为 --------------------------------
         JsonNode targetBehavior = root.path("目标行为");
-        SceneNaturalPO sceneNaturalPO = new SceneNaturalPO();
+
         sceneNaturalPO = sceneNaturalPO.builder()
                 .naturalId(api.common.util.StringUtil.getRandomUUID())
                 .naturalName(fileName)
@@ -138,18 +141,18 @@ public class SceneNaturalService {
             sceneNaturalPO.setVideoPreview(param.getVideoPreview());
         }
 
-        if (ObjectUtil.isNull(sceneId)) {
+        if (ObjectUtil.isNull(sceneNaturalPOByName)) {
             // -------------------------------- 保存数据到 mysql --------------------------------
             sceneNaturalPO.setCreateTime(TimeUtil.getNowForMysql());
             sceneNaturalPO.setCreateUserId(AuthUtil.getCurrentUserId());
             sceneNaturalPO.setModifyTime(TimeUtil.getNowForMysql());
             sceneNaturalMapper.saveSceneNatural(sceneNaturalPO);
-          //  return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景编号" + fileName + "已存在,请检查");
-        }else{
+            //  return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景编号" + fileName + "已存在,请检查");
+        } else {
             // -------------------------------- 修改数据到 mysql --------------------------------
             sceneNaturalPO.setModifyUserId(AuthUtil.getCurrentUserId());
             sceneNaturalPO.setModifyTime(TimeUtil.getNowForMysql());
-            sceneNaturalPO.setNaturalId(sceneId);
+            sceneNaturalPO.setNaturalId(sceneNaturalPOByName.getNaturalId());
             sceneNaturalMapper.updateSceneNatural(sceneNaturalPO);
         }
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
@@ -204,6 +207,7 @@ public class SceneNaturalService {
 
     public List<SceneNaturalPO> querySceneNaturalList(SceneNaturalNewParam params) {
         SceneNaturalParam po = new SceneNaturalParam();
+        po.setShare(params.getShare());
         String naturalName = params.getNaturalName();      // 场景编号
         String[][] naturalEnvironment = params.getNaturalEnvironment(); //自然环境
         String[][] road = params.getRoad(); //道路
@@ -213,12 +217,12 @@ public class SceneNaturalService {
         String[][] selfBehavior = params.getSelfBehavior();//自车行为
         String[][] targetBehavior = params.getTargetBehavior(); //目标行为
         //判断下拉选项是否为空
-        if(ObjectUtil.isNotNull(naturalName)||(naturalEnvironment!=null&&naturalEnvironment.length>0)||(road!=null&&road.length>0)
+     /*   if(ObjectUtil.isNotNull(naturalName)||(naturalEnvironment!=null&&naturalEnvironment.length>0)||(road!=null&&road.length>0)
         ||(infrastructure!=null&&infrastructure.length>0)||(temporaryOperation!=null&&temporaryOperation.length>0)||(trafficCondition!=null&&trafficCondition.length>0)||
          (selfBehavior!=null&&selfBehavior.length>0)||(targetBehavior!=null&&targetBehavior.length>0)||(params.getIds()!=null&&params.getIds().length>0)){
             po.setXlk("1");
-        }
-        SceneNaturalParam poBq = new SceneNaturalParam();
+        }*/
+    /*    SceneNaturalParam poBq = new SceneNaturalParam();
         String[][] highSpeed=params.getHighSpeed() ;//高速
         String[][] ramp=params.getRamp();//匝道
         String[][] tunnel=params.getTunnel();//隧道
@@ -252,7 +256,7 @@ public class SceneNaturalService {
         }
         if (laneChange != null && laneChange.length > 0) {
             ParamUtil.arrConvertObj(laneChange, poBq);
-        }
+        }*/
 
 
         if (ObjectUtil.isNotNull(params.getIds())) {
@@ -301,7 +305,7 @@ public class SceneNaturalService {
             ParamUtil.arrConvertObj(targetBehavior, po);
         }
 
-     //获取权限并赋值
+        //获取权限并赋值
      /* List<String> listType=  systemUserSceneService.querySystemUserSceneByType(DictConstants.SCENE_NATURAL);
         if(listType!=null&&listType.size()>0){
             po.setAllIds(listType);
@@ -310,12 +314,12 @@ public class SceneNaturalService {
             listA.add("没有权限");
             po.setAllIds(listA);
         }*/
-         Map<String,SceneNaturalParam> map=new HashMap<String,SceneNaturalParam>();
+     /*    Map<String,SceneNaturalParam> map=new HashMap<String,SceneNaturalParam>();
          map.put("po",po);
-         map.put("poBq",poBq);
+         map.put("poBq",poBq);*/
         //List<SceneNaturalPO> list = sceneNaturalMapper.querySceneNaturalList(po);
         //只有标签,或下拉框,或者两者都为空
-        List<SceneNaturalPO> list=new ArrayList<>();
+        List<SceneNaturalPO> list = new ArrayList<>();
      /*   if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
             list = sceneNaturalMapper.querySceneNaturalList(po);
         }else if((po.getXlk().equals("0")&&po.getBq().equals("1"))) {
@@ -327,39 +331,49 @@ public class SceneNaturalService {
         //添加权限
         String roleCode = AuthUtil.getCurrentUserRoleCode();
         String userId = AuthUtil.getCurrentUserId();
-        if(DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)){ //管理员账户
+        if (DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)) { //管理员账户
+/*
             if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
-                list = sceneNaturalMapper.querySceneNaturalList(po);
-            }else if((po.getXlk().equals("0")&&po.getBq().equals("1"))) {
+*/
+            list = sceneNaturalMapper.querySceneNaturalList(po);
+            System.out.println(" //添加权限------"+list.size()+"------"+po);
+            /*}else if((po.getXlk().equals("0")&&po.getBq().equals("1"))) {
                 list = sceneNaturalMapper.querySceneNaturalListByBq(map);
             }else{
                 list = sceneNaturalMapper.querySceneNaturalListByBqAndXlk(map);
             }
-
-        }else if(DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)){
+*/
+        } else if (DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)) {
             //查询父账户
             userId = AuthUtil.getCreateUserId();
             po.setUserId(userId);
-            poBq.setUserId(userId);
-            if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
+            // poBq.setUserId(userId);
+            //if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
+            if(po.getShare().equals("0")){
+                list = sceneNaturalMapper.querySceneNaturalList(po);
+            }else {
                 list = sceneNaturalMapper.querySceneNaturalListByQx(po);
-            }else if((po.getXlk().equals("0")&&po.getBq().equals("1"))) {
+            }
+           /* }else if((po.getXlk().equals("0")&&po.getBq().equals("1"))) {
                 list = sceneNaturalMapper.querySceneNaturalListByBqAndQx(map);
             }else{
                 list = sceneNaturalMapper.querySceneNaturalListByBqAndXlkAndQx(map);
             }
-
-        }else if(DictConstants.ROLE_CODE_UESR.equals(roleCode)){
+*/
+        } else if (DictConstants.ROLE_CODE_UESR.equals(roleCode)) {
             //查询普通账户
             po.setUserId(userId);
-            poBq.setUserId(userId);
-            if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
+            // poBq.setUserId(userId);
+            //  if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
+            if(po.getShare().equals("0")){
+                list = sceneNaturalMapper.querySceneNaturalList(po);
+            }else {
                 list = sceneNaturalMapper.querySceneNaturalListByQx(po);
-            }else if((po.getXlk().equals("0")&&po.getBq().equals("1"))) {
+            }           /* }else if((po.getXlk().equals("0")&&po.getBq().equals("1"))) {
                 list = sceneNaturalMapper.querySceneNaturalListByBqAndQx(map);
             }else{
                 list = sceneNaturalMapper.querySceneNaturalListByBqAndXlkAndQx(map);
-            }
+            }*/
         }
         //list = sceneNaturalMapper.querySceneNaturalListByBq(map);
         //List<SceneNaturalPO> list = sceneNaturalMapper.querySceneNaturalList(map);
@@ -385,29 +399,29 @@ public class SceneNaturalService {
                     vo.setLabel(vo.getLabel() + ",隧道");
                 }
             }
-            if (vo.getTargetBehavior().indexOf("机动车从左侧切入成功")>-1 ||vo.getTargetBehavior().indexOf("机动车从右侧切入成功")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())){
+            if (vo.getTargetBehavior().indexOf("机动车从左侧切入成功") > -1 || vo.getTargetBehavior().indexOf("机动车从右侧切入成功") > -1) {
+                if (ObjectUtil.isNull(vo.getLabel())) {
                     vo.setLabel("切入");
                 } else {
                     vo.setLabel(vo.getLabel() + ",切入");
                 }
             }
-            if (vo.getTargetBehavior().equals("机动车向左侧切出成功") ||vo.getTargetBehavior().equals("机动车向右侧切出成功")) {
-                if (ObjectUtil.isNull(vo.getLabel())){
+            if (vo.getTargetBehavior().equals("机动车向左侧切出成功") || vo.getTargetBehavior().equals("机动车向右侧切出成功")) {
+                if (ObjectUtil.isNull(vo.getLabel())) {
                     vo.setLabel("切出");
                 } else {
                     vo.setLabel(vo.getLabel() + ",切出");
                 }
             }
-            if (vo.getSelfBehavior().indexOf("直路掉头")>-1 ||vo.getSelfBehavior().indexOf("路口掉头")>-1){
-                if (ObjectUtil.isNull(vo.getLabel())){
+            if (vo.getSelfBehavior().indexOf("直路掉头") > -1 || vo.getSelfBehavior().indexOf("路口掉头") > -1) {
+                if (ObjectUtil.isNull(vo.getLabel())) {
                     vo.setLabel("掉头");
                 } else {
                     vo.setLabel(vo.getLabel() + ",掉头");
                 }
             }
-            if (vo.getSelfBehavior().indexOf("向左变道成功") >-1||vo.getSelfBehavior().equals("向右变道成功")||vo.getSelfBehavior().indexOf("向左连续变道")>-1||vo.getSelfBehavior().indexOf("向右连续变道")>-1||vo.getSelfBehavior().indexOf("向左变道超车")>-1||vo.getSelfBehavior().indexOf("向右变道超车")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())){
+            if (vo.getSelfBehavior().indexOf("向左变道成功") > -1 || vo.getSelfBehavior().equals("向右变道成功") || vo.getSelfBehavior().indexOf("向左连续变道") > -1 || vo.getSelfBehavior().indexOf("向右连续变道") > -1 || vo.getSelfBehavior().indexOf("向左变道超车") > -1 || vo.getSelfBehavior().indexOf("向右变道超车") > -1) {
+                if (ObjectUtil.isNull(vo.getLabel())) {
                     vo.setLabel("变道");
                 } else {
                     vo.setLabel(vo.getLabel() + ",变道");
@@ -422,26 +436,27 @@ public class SceneNaturalService {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
         sceneNaturalMapper.deleteSceneNatural(params);
-        Map map=new HashMap();
-        map.put("sceneId",params.getNaturalId());
-        map.put("sceneName",params.getNaturalName());
-        map.put("type",DictConstants.SCENE_NATURAL);
+        Map map = new HashMap();
+        map.put("sceneId", params.getNaturalId());
+        map.put("sceneName", params.getNaturalName());
+        map.put("type", DictConstants.SCENE_NATURAL);
         logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
 
         // systemUserSceneService.deleteSystemUserSceneBySceneId(params.getNaturalId());
     }
+
     public Integer querySceneNumBySy() {
-        SceneNaturalParam params=new SceneNaturalParam();
+        SceneNaturalParam params = new SceneNaturalParam();
         String roleCode = AuthUtil.getCurrentUserRoleCode();
         String userId = AuthUtil.getCurrentUserId();
-        if(DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)){
+        if (DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)) {
             //管理员账户
             return sceneNaturalMapper.querySceneNumBySy(params);
-        }else if(DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)){
+        } else if (DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)) {
             //根据普通子账户查询父账户
             userId = AuthUtil.getCreateUserId();
-           return systemScenePackageMapper.querySceneNum(userId);
-        }else if(DictConstants.ROLE_CODE_UESR.equals(roleCode)){
+            return systemScenePackageMapper.querySceneNum(userId);
+        } else if (DictConstants.ROLE_CODE_UESR.equals(roleCode)) {
             //查询普通账户
             return systemScenePackageMapper.querySceneNum(userId);
         }
@@ -449,14 +464,13 @@ public class SceneNaturalService {
     }
 
 
-
     /**
      * 获取自然场景数据:
      */
     public SceneImportPO importMiNio(SceneImportParam parms) {
-        SceneImportPO sceneImportPO=new  SceneImportPO();
+        SceneImportPO sceneImportPO = new SceneImportPO();
         sceneImportPO.setId(parms.getId());
-        List<String>  listLog=new ArrayList<>();
+        List<String> listLog = new ArrayList<>();
         try {
             MinioParameter MI = new MinioParameter();
             MI.setObjectName(parms.getMinioDirectory());
@@ -482,6 +496,7 @@ public class SceneNaturalService {
                             MI.setObjectName(scenePath);
                             List<String> listAderss = fileDownService.list(MI).getInfo();
                             SceneNaturalPO sceneNaturalPO = new SceneNaturalPO();
+                            sceneNaturalPO.setShare("0");
                             String isupdate = null;
                             for (String adress : listAderss) {
                                 if (adress.indexOf(".json") != -1) {
@@ -495,7 +510,9 @@ public class SceneNaturalService {
                                     int idx = adress.lastIndexOf("/");
                                     int end = adress.lastIndexOf(".");
                                     String fileName = adress.substring(idx + 1, end);
-                                    String sceneId = sceneNaturalMapper.querySceneNaturaByName(fileName);
+                                    sceneNaturalPO.setNaturalName(fileName);
+                                    sceneNaturalPO.setShare("0");
+                                    SceneNaturalPO sceneNaturalPOByName = sceneNaturalMapper.querySceneNaturaByName(sceneNaturalPO);
                                     String osgbAdress = OsgbPath + "/" + root.path("osgb").asText();
                                     String xodrAdress = XodrPath + "/" + root.path("xodr").asText();
                                     // -------------------------------- 自然环境 --------------------------------
@@ -513,9 +530,9 @@ public class SceneNaturalService {
                                     // -------------------------------- 目标行为 --------------------------------
                                     JsonNode targetBehavior = root.path("目标行为");
 
-                                    if(ObjectUtil.isNull(naturalEnvironment)&&ObjectUtil.isNull(road)&&ObjectUtil.isNull(selfDrivingBehavior)&&ObjectUtil.isNull(targetBehavior)){
+                                    if (ObjectUtil.isNull(naturalEnvironment) && ObjectUtil.isNull(road) && ObjectUtil.isNull(selfDrivingBehavior) && ObjectUtil.isNull(targetBehavior)) {
                                         sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
-                                        sceneImportPO.setErrorMessage("该文件:"+adress+"与自然场景类型不匹配,解析失败,请检查");
+                                        sceneImportPO.setErrorMessage("该文件:" + adress + "与自然场景类型不匹配,解析失败,请检查");
                                         return sceneImportPO;
                                     }
                                     sceneNaturalPO.setNaturalId(api.common.util.StringUtil.getRandomUUID());
@@ -556,18 +573,18 @@ public class SceneNaturalService {
                                     sceneNaturalPO.setSelfBehavior(getSequenceNew(selfDrivingBehavior));
                                     sceneNaturalPO.setTargetBehavior(getSequenceNew(targetBehavior));
                                     sceneNaturalPO.setMaxTime(root.path("max_time").asText());
-                                             sceneNaturalPO.setIsDeleted("0");
-                                    if(ObjectUtil.isNull(sceneNaturalPO.getOsgbAddress())){
+                                    sceneNaturalPO.setIsDeleted("0");
+                                    if (ObjectUtil.isNull(sceneNaturalPO.getOsgbAddress())) {
                                         sceneNaturalPO.setOsgbAddress(osgbAdress);
                                     }
-                                    if(ObjectUtil.isNull(sceneNaturalPO.getXodrAddress())){
+                                    if (ObjectUtil.isNull(sceneNaturalPO.getXodrAddress())) {
                                         sceneNaturalPO.setXodrAddress(xodrAdress);
                                     }
-                                    if (ObjectUtil.isNull(sceneId)) {
+                                    if (ObjectUtil.isNull(sceneNaturalPOByName)) {
                                         isupdate = "0";
                                     } else {
                                         isupdate = "1";
-                                        sceneNaturalPO.setNaturalId(sceneId);
+                                        sceneNaturalPO.setNaturalId(sceneNaturalPOByName.getNaturalId());
                                     }
                                 }
                                 if (adress.indexOf(".json") != -1) {
@@ -580,7 +597,7 @@ public class SceneNaturalService {
                                     sceneNaturalPO.setOsgbAddress(adress);
                                 } else if (adress.indexOf("simulation.mp4") != -1) {
                                     sceneNaturalPO.setVideoAddress(adress);
-                                }else if (adress.indexOf(".mp4") != -1) {
+                                } else if (adress.indexOf(".mp4") != -1) {
                                     sceneNaturalPO.setVideoPreview(adress);
                                 }
                             }
@@ -614,11 +631,37 @@ public class SceneNaturalService {
             sceneImportPO.setFalseNum(falseNum);
             sceneImportPO.setErrorMessage(errorMessage);
             return sceneImportPO;
-        }catch (Exception e){
+        } catch (Exception e) {
             sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
-            sceneImportPO.setErrorMessage("该文件地址:"+parms.getMinioDirectory()+"解析失败,请检查");
+            sceneImportPO.setErrorMessage("该文件地址:" + parms.getMinioDirectory() + "解析失败,请检查");
             return sceneImportPO;
         }
     }
 
+
+    /**
+     * 分享
+     */
+       public void instShareSceneNatural(SceneNaturalPO parms) {
+        SceneNaturalPO syPo=sceneNaturalMapper.querySceneNaturalById(parms.getNaturalId());
+        syPo.setShare("1");
+        SceneNaturalPO sceneNaturalPOByName = sceneNaturalMapper.querySceneNaturaByName(syPo);
+        if (ObjectUtil.isNull(sceneNaturalPOByName)) {
+            // -------------------------------- 保存数据到 mysql --------------------------------
+            syPo.setCreateTime(TimeUtil.getNowForMysql());
+            syPo.setCreateUserId(AuthUtil.getCurrentUserId());
+            syPo.setModifyTime(TimeUtil.getNowForMysql());
+            syPo.setModifyUserId("");
+            syPo.setNaturalId(api.common.util.StringUtil.getRandomUUID());
+            sceneNaturalMapper.saveSceneNatural(syPo);
+        } else {
+            // -------------------------------- 修改数据到 mysql --------------------------------
+            syPo.setModifyTime(TimeUtil.getNowForMysql());
+            syPo.setModifyUserId(AuthUtil.getCurrentUserId());
+            syPo.setNaturalId(sceneNaturalPOByName.getNaturalId());
+            sceneNaturalMapper.updateSceneNatural(syPo);
+        }
+
+    }
+
 }

+ 139 - 6
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java

@@ -3,9 +3,7 @@ package com.css.simulation.resource.scene.service;
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.scene.ScenePackageParam;
 import api.common.pojo.param.scene.ScoringRulesParam;
-import api.common.pojo.po.scene.ScenePackagePO;
-import api.common.pojo.po.scene.ScenePackageSublistPO;
-import api.common.pojo.po.scene.ScoringRulesPO;
+import api.common.pojo.po.scene.*;
 import api.common.pojo.vo.scene.ScenePackageNewVO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
 import api.common.util.LogUtil;
@@ -13,9 +11,7 @@ import api.common.util.ObjectUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
-import com.css.simulation.resource.scene.mapper.ScenePackageMapper;
-import com.css.simulation.resource.scene.mapper.ScenePackageSublistMapper;
-import com.css.simulation.resource.scene.mapper.ScoringRulesMapper;
+import com.css.simulation.resource.scene.mapper.*;
 import com.css.simulation.resource.system.service.ParameterService;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -37,6 +33,15 @@ public class ScenePackageService {
     private ParameterService parameterService;
     @Resource
     private ScoringRulesMapper scoringRulesMapper;
+    @Resource
+    private SceneNaturalMapper sceneNaturalMapper;
+    @Resource
+    private SceneAccidentMapper sceneAccidentMapper;
+    @Resource
+    private StandardsRegulationsMapper standardsRegulationsMapper;
+    @Resource
+    private SceneGeneralTemplateMapper sceneGeneralTemplateMapper;
+
 
 
     /**
@@ -319,6 +324,134 @@ public class ScenePackageService {
                     vo.setPackageAndRules(syPo.getRulesId());
                 }
 
+
+                //分享场景
+                //自然场景
+                String sceneNaturalIds=vo.getSceneNaturalIds();
+                if(ObjectUtil.isNotNull(sceneNaturalIds)){
+                    List<String> sceneNaturalIdList=Arrays.asList(sceneNaturalIds.split(","));
+                    SceneNaturalPO SceneNaturalparm=new SceneNaturalPO();
+                    SceneNaturalparm.setShare("1");
+                    for (String naturalId: sceneNaturalIdList) {
+                        SceneNaturalPO SceneNaturalPOSy= sceneNaturalMapper.querySceneNaturalById(naturalId);
+                        SceneNaturalparm.setNaturalName(SceneNaturalPOSy.getNaturalName());
+                       SceneNaturalPO sceneNaturalPOByName= sceneNaturalMapper.querySceneNaturaByName(SceneNaturalparm);
+                        SceneNaturalPOSy.setShare("1");
+                        //是否已存在
+                       if(ObjectUtil.isNotNull(sceneNaturalPOByName)){
+                          /* if(!sceneNaturalPOByName.getShare().equals("1")){
+
+                           }*/
+                           SceneNaturalPOSy.setNaturalId(sceneNaturalPOByName.getNaturalId());
+                           SceneNaturalPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                           SceneNaturalPOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                           sceneNaturalMapper.updateSceneNatural(SceneNaturalPOSy);
+                       }else{
+                           SceneNaturalPOSy.setNaturalId(StringUtil.getRandomUUID());
+                           SceneNaturalPOSy.setCreateTime(TimeUtil.getNowForMysql());
+                           SceneNaturalPOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                           SceneNaturalPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                           SceneNaturalPOSy.setModifyUserId("");
+                           sceneNaturalMapper.saveSceneNatural(SceneNaturalPOSy);
+                       }
+
+                    }
+                };
+
+                //标准法规
+                String sceneStatueIds=vo.getSceneStatueIds();
+                if(ObjectUtil.isNotNull(sceneStatueIds)){
+                    List<String> sceneStatueIdList=Arrays.asList(sceneStatueIds.split(","));
+                    StandardsRegulationsPO standardsRegulationsPO=new StandardsRegulationsPO();
+                    standardsRegulationsPO.setShare("1");
+                    for (String sceneStatueId: sceneStatueIdList) {
+                        StandardsRegulationsPO standardsRegulationsPOSy= standardsRegulationsMapper.queryStandardsRegulationsById(sceneStatueId);
+                        standardsRegulationsPO.setSceneName(standardsRegulationsPOSy.getSceneName());
+                        StandardsRegulationsPO StandardsRegulationsByName= standardsRegulationsMapper.queryStandardsRegulationsByName(standardsRegulationsPO);
+                        standardsRegulationsPOSy.setShare("1");
+                        //是否已存在
+                        if(ObjectUtil.isNotNull(StandardsRegulationsByName)){
+                          /* if(!sceneNaturalPOByName.getShare().equals("1")){
+
+                           }*/
+                            standardsRegulationsPOSy.setRegulationsId(StandardsRegulationsByName.getRegulationsId());
+                            standardsRegulationsPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                            standardsRegulationsPOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                            standardsRegulationsMapper.updateStandardsRegulations(standardsRegulationsPOSy);
+                        }else{
+                            standardsRegulationsPOSy.setRegulationsId(StringUtil.getRandomUUID());
+                            standardsRegulationsPOSy.setCreateTime(TimeUtil.getNowForMysql());
+                            standardsRegulationsPOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                            standardsRegulationsPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                            standardsRegulationsPOSy.setModifyUserId("");
+                            standardsRegulationsMapper.saveStandardsRegulations(standardsRegulationsPOSy);
+                        }
+                    }
+                };
+
+                //交通事故
+                String sceneTrafficIds=vo.getSceneTrafficIds();
+                if(ObjectUtil.isNotNull(sceneTrafficIds)){
+                    List<String> sceneTrafficIdList=Arrays.asList(sceneTrafficIds.split(","));
+                    SceneAccidentPO sceneAccidentPO=new SceneAccidentPO();
+                    sceneAccidentPO.setShare("1");
+                    for (String sceneStatueId: sceneTrafficIdList) {
+                        SceneAccidentPO sceneAccidentPOSy = sceneAccidentMapper.querySceneAccidentById(sceneStatueId);
+                        sceneAccidentPO.setSceneName(sceneAccidentPOSy.getSceneName());
+                        SceneAccidentPO sceneAccidentPOByName=  sceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
+                        sceneAccidentPOSy.setShare("1");
+                        //是否已存在
+                        if(ObjectUtil.isNotNull(sceneAccidentPOByName)){
+                          /* if(!sceneNaturalPOByName.getShare().equals("1")){
+
+                           }*/
+                            sceneAccidentPOSy.setAccidentId(sceneAccidentPOByName.getAccidentId());
+                            sceneAccidentPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                            sceneAccidentPOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                            sceneAccidentMapper.updateSceneAccident(sceneAccidentPOSy);
+                        }else{
+                            sceneAccidentPOSy.setAccidentId(StringUtil.getRandomUUID());
+                            sceneAccidentPOSy.setCreateTime(TimeUtil.getNowForMysql());
+                            sceneAccidentPOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                            sceneAccidentPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                            sceneAccidentPOSy.setModifyUserId("");
+                            sceneAccidentMapper.saveSceneAccident(sceneAccidentPOSy);
+                        }
+                    }
+                };
+
+                //泛化模板
+                String sceneGeneralizationIds=vo.getSceneGeneralizationIds();
+                if(ObjectUtil.isNotNull(sceneGeneralizationIds)){
+                    List<String> sceneGeneralizationIdList=Arrays.asList(sceneGeneralizationIds.split(","));
+                    SceneGeneralTemplatePO sceneGeneralTemplatePO=new SceneGeneralTemplatePO();
+                    sceneGeneralTemplatePO.setShare("1");
+                    for (String sceneStatueId: sceneGeneralizationIdList) {
+                        SceneGeneralTemplatePO sceneGeneralTemplatePOSy = sceneGeneralTemplateMapper.querySceneGeneralTemplateById(sceneStatueId);
+                        sceneGeneralTemplatePO.setSceneId(sceneGeneralTemplatePOSy.getSceneId());
+                        SceneGeneralTemplatePO sceneGeneralTemplatePOByName=  sceneGeneralTemplateMapper.querySceneGeneralTemplateByName(sceneGeneralTemplatePO);
+                        sceneGeneralTemplatePOSy.setShare("1");
+                        //是否已存在
+                        if(ObjectUtil.isNotNull(sceneGeneralTemplatePOByName)){
+                          /* if(!sceneNaturalPOByName.getShare().equals("1")){
+
+                           }*/
+                            sceneGeneralTemplatePOSy.setId(sceneGeneralTemplatePOByName.getId());
+                            sceneGeneralTemplatePOSy.setModifyTime(TimeUtil.getNowForMysql());
+                            sceneGeneralTemplatePOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                            sceneGeneralTemplateMapper.updateSceneGeneralTemplate(sceneGeneralTemplatePOSy);
+                        }else{
+                            sceneGeneralTemplatePOSy.setId(StringUtil.getRandomUUID());
+                            sceneGeneralTemplatePOSy.setCreateTime(TimeUtil.getNowForMysql());
+                            sceneGeneralTemplatePOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                            sceneGeneralTemplatePOSy.setModifyTime(TimeUtil.getNowForMysql());
+                            sceneGeneralTemplatePOSy.setModifyUserId("");
+                            sceneGeneralTemplateMapper.saveSceneGeneralTemplate(sceneGeneralTemplatePOSy);
+                        }
+                    }
+                };
+
+
             }
             if (ObjectUtil.isNotNull(set)) {
                 return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称:" + set + "重复,请检查");

+ 65 - 37
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java

@@ -58,9 +58,12 @@ public class StandardsRegulationsService {
         ObjectMapper objMap = new ObjectMapper();
         JsonNode root = objMap.readTree(json);
         String sceneName = root.path("场景名称").asText();
-        String sceneId = standardsRegulationsMapper.queryStandardsRegulationsByName(sceneName);
-
         StandardsRegulationsPO standardsRegulationsPO = new StandardsRegulationsPO();
+        standardsRegulationsPO.setShare("0");
+        standardsRegulationsPO.setSceneName(sceneName);
+        StandardsRegulationsPO PoByName = standardsRegulationsMapper.queryStandardsRegulationsByName(standardsRegulationsPO);
+
+
         standardsRegulationsPO = standardsRegulationsPO.builder()
                 .regulationsId(StringUtil.getRandomUUID())
                 .sceneName(sceneName)
@@ -88,7 +91,7 @@ public class StandardsRegulationsService {
             standardsRegulationsPO.setVideoPreview(param.getVideoPreview());
         }
 
-        if (ObjectUtil.isNull(sceneId)) {
+        if (ObjectUtil.isNull(standardsRegulationsPO)) {
             // -------------------------------- 保存数据到 mysql --------------------------------
             standardsRegulationsPO.setCreateTime(TimeUtil.getNowForMysql());
             standardsRegulationsPO.setModifyTime(TimeUtil.getNowForMysql());
@@ -98,7 +101,7 @@ public class StandardsRegulationsService {
             // return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景名称" + sceneName + "已存在,请检查");
         } else {
             // -------------------------------- 修改数据到 mysql --------------------------------
-            standardsRegulationsPO.setRegulationsId(sceneId);
+            standardsRegulationsPO.setRegulationsId(standardsRegulationsPO.getRegulationsId());
             standardsRegulationsPO.setModifyTime(TimeUtil.getNowForMysql());
             standardsRegulationsPO.setModifyUserId(AuthUtil.getCurrentUserId());
             standardsRegulationsMapper.updateStandardsRegulations(standardsRegulationsPO);
@@ -108,51 +111,33 @@ public class StandardsRegulationsService {
 
     //查看列表
     public List<StandardsRegulationsPO> queryStandardsRegulationsList(StandardsRegulationsParam params) {
-        if (ObjectUtil.isNotNull(params.getSceneName()) || (params.getRegulationType() != null && params.getRegulationType().size() > 0) || ObjectUtil.isNotNull(params.getStandardType()) || ObjectUtil.isNotNull(params.getStandardType())
-                || (params.getIds() != null && params.getIds().length > 0)) {
-            params.setXlk("1");
-        }
-        if (params.getLabel() != null && params.getLabel().size() > 0) {
-            params.setBq("1");
-        }
+
         List<StandardsRegulationsPO> list = new ArrayList<>();
-        /*if((params.getXlk().equals("1")&&params.getBq().equals("1"))||(params.getXlk().equals("0")&&params.getBq().equals("0"))||(params.getXlk().equals("1")&&params.getBq().equals("0"))){
-            list =  standardsRegulationsMapper.queryStandardsRegulationsList(params);
-        }*//*else if(params.getXlk().equals("1")&&params.getBq().equals("0")){
-            list =  standardsRegulationsMapper.queryStandardsRegulationsList(params);
-        }*//*else if(params.getXlk().equals("0")&&params.getBq().equals("1")){
-            list =  standardsRegulationsMapper.queryStandardsRegulationsListByBq(params);
-        }*/
 
         //添加权限
         String roleCode = AuthUtil.getCurrentUserRoleCode();
+        log.info("标准法规------" +roleCode);
         String userId = AuthUtil.getCurrentUserId();
         if (DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)) { //管理员账户
-            if ((params.getXlk().equals("1") && params.getBq().equals("1")) || (params.getXlk().equals("0") && params.getBq().equals("0")) || (params.getXlk().equals("1") && params.getBq().equals("0"))) {
-                list = standardsRegulationsMapper.queryStandardsRegulationsList(params);
-            } else if (params.getXlk().equals("0") && params.getBq().equals("1")) {
-                list = standardsRegulationsMapper.queryStandardsRegulationsListByBq(params);
-            }
-
+            list = standardsRegulationsMapper.queryStandardsRegulationsList(params);
+            log.info("标准法规---list---" +list.size()+"----------"+params);
         } else if (DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)) {
             //查询父账户
             userId = AuthUtil.getCreateUserId();
             params.setUserId(userId);
-            if ((params.getXlk().equals("1") && params.getBq().equals("1")) || (params.getXlk().equals("0") && params.getBq().equals("0")) || (params.getXlk().equals("1") && params.getBq().equals("0"))) {
+            if(params.getShare().equals("0")){
+                list = standardsRegulationsMapper.queryStandardsRegulationsList(params);
+            }else {
                 list = standardsRegulationsMapper.queryStandardsRegulationsListByQx(params);
-            } else if (params.getXlk().equals("0") && params.getBq().equals("1")) {
-                list = standardsRegulationsMapper.queryStandardsRegulationsListByBqAndQx(params);
             }
-
         } else if (DictConstants.ROLE_CODE_UESR.equals(roleCode)) {
             //查询普通账户
             params.setUserId(userId);
-            if ((params.getXlk().equals("1") && params.getBq().equals("1")) || (params.getXlk().equals("0") && params.getBq().equals("0")) || (params.getXlk().equals("1") && params.getBq().equals("0"))) {
+            if(params.getShare().equals("0")){
+                list = standardsRegulationsMapper.queryStandardsRegulationsList(params);
+            }else {
                 list = standardsRegulationsMapper.queryStandardsRegulationsListByQx(params);
-            } else if (params.getXlk().equals("0") && params.getBq().equals("1")) {
-                list = standardsRegulationsMapper.queryStandardsRegulationsListByBqAndQx(params);
-            }
-        }
+            }        }
        /* if(params.getLabel()!=null&&params.getLabel().size()>0){
             if(params.getRegulationType()!=null&&params.getRegulationType().size()>0){
                 List<String> regulationType= params.getRegulationType();
@@ -192,6 +177,22 @@ public class StandardsRegulationsService {
     }
 
 
+    public ResponseBodyVO<List<String>> queryRegulationType() {
+        //添加权限
+        String roleCode = AuthUtil.getCurrentUserRoleCode();
+        String userId = AuthUtil.getCurrentUserId();
+        if (DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)) { //管理员账户
+            userId = "";
+        } else if (DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)) {
+            //查询父账户
+            userId = AuthUtil.getCreateUserId();
+        }
+        List<String> list = standardsRegulationsMapper.queryRegulationType(userId);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
+
+    }
+
     /**
      * 获取标准法规场景数据:
      */
@@ -250,9 +251,10 @@ public class StandardsRegulationsService {
                                     }
                                     String osgbAdress = OsgbPath + "/" + osgb;
                                     String xodrAdress = XodrPath + "/" + xodr;
-                                    String sceneId = standardsRegulationsMapper.queryStandardsRegulationsByName(sceneName);
-                                    standardsRegulationsPO.setRegulationsId(StringUtil.getRandomUUID());
+                                    standardsRegulationsPO.setShare("0");
                                     standardsRegulationsPO.setSceneName(sceneName);
+                                    StandardsRegulationsPO PoByName = standardsRegulationsMapper.queryStandardsRegulationsByName(standardsRegulationsPO);
+                                    standardsRegulationsPO.setRegulationsId(StringUtil.getRandomUUID());
                                     standardsRegulationsPO.setRegulationType(regulationType);
                                     standardsRegulationsPO.setStandardType(standardType);
                                     standardsRegulationsPO.setMaxTime(root.path("max_time").asText());
@@ -264,11 +266,11 @@ public class StandardsRegulationsService {
                                     if (ObjectUtil.isNull(standardsRegulationsPO.getXodrAddress())) {
                                         standardsRegulationsPO.setXodrAddress(xodrAdress);
                                     }
-                                    if (ObjectUtil.isNull(sceneId)) {
+                                    if (ObjectUtil.isNull(PoByName)) {
                                         isupdate = "0";
                                     } else {
                                         isupdate = "1";
-                                        standardsRegulationsPO.setRegulationsId(sceneId);
+                                        standardsRegulationsPO.setRegulationsId(PoByName.getRegulationsId());
                                     }
                                 }
                                 if (adress.contains(".json")) {
@@ -320,4 +322,30 @@ public class StandardsRegulationsService {
             return sceneImportPO;
         }
     }
+
+    /**
+     * 获取标准法规场景数据:
+     */
+    public void instStandardsRegulation(StandardsRegulationsPO po) {
+        StandardsRegulationsPO syPo = standardsRegulationsMapper.queryStandardsRegulationsById(po.getRegulationsId());
+        syPo.setShare("1");
+        StandardsRegulationsPO PoByName = standardsRegulationsMapper.queryStandardsRegulationsByName(syPo);
+
+        if (ObjectUtil.isNull(PoByName)) {
+            // -------------------------------- 保存数据到 mysql --------------------------------
+            syPo.setCreateTime(TimeUtil.getNowForMysql());
+            syPo.setCreateUserId(AuthUtil.getCurrentUserId());
+            syPo.setModifyTime(TimeUtil.getNowForMysql());
+            syPo.setModifyUserId("");
+            syPo.setRegulationsId(api.common.util.StringUtil.getRandomUUID());
+            standardsRegulationsMapper.saveStandardsRegulations(syPo);
+        } else {
+            // -------------------------------- 修改数据到 mysql --------------------------------
+            syPo.setModifyTime(TimeUtil.getNowForMysql());
+            syPo.setModifyUserId(AuthUtil.getCurrentUserId());
+            syPo.setRegulationsId(PoByName.getRegulationsId());
+            standardsRegulationsMapper.updateStandardsRegulations(syPo);
+        }
+
+    }
 }

+ 308 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SystemScenePackageService.java

@@ -13,9 +13,7 @@ import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.log.service.LogService;
-import com.css.simulation.resource.scene.mapper.SystemScenePackageMapper;
-import com.css.simulation.resource.scene.mapper.SystemScenePackageSublistMapper;
-import com.css.simulation.resource.scene.mapper.SystemUserSceneMapper;
+import com.css.simulation.resource.scene.mapper.*;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -40,6 +38,14 @@ public class SystemScenePackageService {
     private SystemUserSceneMapper systemUserSceneMapper;
     @Autowired
     LogService logService;
+    @Resource
+    SceneAccidentMapper sceneAccidentMapper;
+    @Resource
+    SceneGeneralTemplateMapper sceneGeneralTemplateMapper;
+    @Resource
+    SceneNaturalMapper sceneNaturalMapper;
+    @Resource
+    StandardsRegulationsMapper standardsRegulationsMapper;
     /**
      * 场景包录入
      */
@@ -214,6 +220,34 @@ public class SystemScenePackageService {
         if(ObjectUtil.isNotNull(zrIds)){
             List<SystemScenePackageSublistPO> zrList=new ArrayList<>();
             for (String id:zrIds) {
+                //加共有
+                SceneNaturalPO paramPo=new SceneNaturalPO();
+                paramPo.setShare("0");
+                paramPo.setNaturalName(id);
+                SceneNaturalPO syPo = sceneNaturalMapper.querySceneNaturaByName(paramPo);
+                syPo.setShare("2");
+                SceneNaturalPO gyPo = sceneNaturalMapper.querySceneNaturaByName(syPo);
+                if (ObjectUtil.isNull(gyPo)) {
+                    log.info("场景包新增场景----"+syPo.getShare());
+                    // -------------------------------- 保存数据到 mysql --------------------------------
+                    syPo.setCreateTime(TimeUtil.getNowForMysql());
+                    syPo.setCreateUserId(AuthUtil.getCurrentUserId());
+                    syPo.setModifyTime(TimeUtil.getNowForMysql());
+                    syPo.setModifyUserId("");
+                    syPo.setNaturalId( StringUtil.getRandomUUID());
+                    sceneNaturalMapper.saveSceneNatural(syPo);
+                } else {
+
+                    // -------------------------------- 修改数据到 mysql --------------------------------
+                    syPo.setModifyTime(TimeUtil.getNowForMysql());
+                    syPo.setModifyUserId(AuthUtil.getCurrentUserId());
+                    syPo.setShare(gyPo.getShare());
+                    syPo.setNaturalId(gyPo.getNaturalId());
+                    sceneNaturalMapper.updateSceneNatural(syPo);
+                    log.info("场景包修改场景----"+syPo.getShare());
+                }
+
+
                 SystemScenePackageSublistPO zrPo=new SystemScenePackageSublistPO();
                 zrPo.setSublistId(StringUtil.getRandomUUID());
                 zrPo.setSceneType("1");
@@ -232,6 +266,30 @@ public class SystemScenePackageService {
         if(ObjectUtil.isNotNull(bzIds)){
             List<SystemScenePackageSublistPO> bzList=new ArrayList<>();
             for (String id:bzIds) {
+                StandardsRegulationsPO standardsRegulationsPO=new StandardsRegulationsPO();
+                standardsRegulationsPO.setSceneName(id);
+                standardsRegulationsPO.setShare("0");
+                StandardsRegulationsPO standardsRegulationsPOSy= standardsRegulationsMapper.queryStandardsRegulationsByName(standardsRegulationsPO);
+                standardsRegulationsPOSy.setShare("2");
+                StandardsRegulationsPO StandardsRegulationsByName= standardsRegulationsMapper.queryStandardsRegulationsByName(standardsRegulationsPOSy);
+               // standardsRegulationsPOSy.setShare("1");
+                //是否已存在
+                if(ObjectUtil.isNotNull(StandardsRegulationsByName)){
+                    standardsRegulationsPOSy.setRegulationsId(StandardsRegulationsByName.getRegulationsId());
+                    standardsRegulationsPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    standardsRegulationsPOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                    standardsRegulationsPOSy.setShare(StandardsRegulationsByName.getShare());
+                    standardsRegulationsMapper.updateStandardsRegulations(standardsRegulationsPOSy);
+                }else{
+                    standardsRegulationsPOSy.setRegulationsId(StringUtil.getRandomUUID());
+                    standardsRegulationsPOSy.setCreateTime(TimeUtil.getNowForMysql());
+                    standardsRegulationsPOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                    standardsRegulationsPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    standardsRegulationsPOSy.setModifyUserId("");
+                    standardsRegulationsMapper.saveStandardsRegulations(standardsRegulationsPOSy);
+                }
+
+
                 SystemScenePackageSublistPO bzPo=new SystemScenePackageSublistPO();
                 bzPo.setSublistId(StringUtil.getRandomUUID());
                 bzPo.setSceneType("2");
@@ -250,6 +308,29 @@ public class SystemScenePackageService {
         if(ObjectUtil.isNotNull(jtIds)){
             List<SystemScenePackageSublistPO> jtList=new ArrayList<>();
             for (String id:jtIds) {
+                SceneAccidentPO sceneAccidentPO=new SceneAccidentPO();
+                sceneAccidentPO.setSceneName(id);
+                sceneAccidentPO.setShare("0");
+                SceneAccidentPO sceneAccidentPOSy=  sceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
+                sceneAccidentPOSy.setShare("2");
+                SceneAccidentPO sceneAccidentPOByName=  sceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPOSy);
+                //sceneAccidentPOSy.setShare("1");
+                //是否已存在
+                if(ObjectUtil.isNotNull(sceneAccidentPOByName)){
+                    sceneAccidentPOSy.setAccidentId(sceneAccidentPOByName.getAccidentId());
+                    sceneAccidentPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneAccidentPOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                    sceneAccidentPOSy.setShare(sceneAccidentPOByName.getShare());
+                    sceneAccidentMapper.updateSceneAccident(sceneAccidentPOSy);
+                }else{
+                    sceneAccidentPOSy.setAccidentId(StringUtil.getRandomUUID());
+                    sceneAccidentPOSy.setCreateTime(TimeUtil.getNowForMysql());
+                    sceneAccidentPOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                    sceneAccidentPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneAccidentPOSy.setModifyUserId("");
+                    sceneAccidentMapper.saveSceneAccident(sceneAccidentPOSy);
+                }
+
                 SystemScenePackageSublistPO jtPo=new SystemScenePackageSublistPO();
                 jtPo.setSublistId(StringUtil.getRandomUUID());
                 jtPo.setSceneType("3");
@@ -268,6 +349,30 @@ public class SystemScenePackageService {
         if(ObjectUtil.isNotNull(fhIds)){
             List<SystemScenePackageSublistPO> fhList=new ArrayList<>();
             for (String id:fhIds) {
+                SceneGeneralTemplatePO sceneGeneralTemplatePO=new SceneGeneralTemplatePO();
+                sceneGeneralTemplatePO.setSceneId(id);
+                sceneGeneralTemplatePO.setShare("0");
+                SceneGeneralTemplatePO sceneGeneralTemplatePOSy=  sceneGeneralTemplateMapper.querySceneGeneralTemplateByName(sceneGeneralTemplatePO);
+                sceneGeneralTemplatePOSy.setShare("2");
+                SceneGeneralTemplatePO sceneGeneralTemplatePOByName=  sceneGeneralTemplateMapper.querySceneGeneralTemplateByName(sceneGeneralTemplatePOSy);
+               // sceneGeneralTemplatePOSy.setShare("1");
+                //是否已存在
+                if(ObjectUtil.isNotNull(sceneGeneralTemplatePOByName)){
+                    sceneGeneralTemplatePOSy.setShare(sceneGeneralTemplatePOByName.getShare());
+                    sceneGeneralTemplatePOSy.setId(sceneGeneralTemplatePOByName.getId());
+                    sceneGeneralTemplatePOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneGeneralTemplatePOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                    sceneGeneralTemplateMapper.updateSceneGeneralTemplate(sceneGeneralTemplatePOSy);
+                }else{
+                    sceneGeneralTemplatePOSy.setId(StringUtil.getRandomUUID());
+                    sceneGeneralTemplatePOSy.setCreateTime(TimeUtil.getNowForMysql());
+                    sceneGeneralTemplatePOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                    sceneGeneralTemplatePOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneGeneralTemplatePOSy.setModifyUserId("");
+                    sceneGeneralTemplateMapper.saveSceneGeneralTemplate(sceneGeneralTemplatePOSy);
+                }
+
+
                 SystemScenePackageSublistPO fhPo=new SystemScenePackageSublistPO();
                 fhPo.setSublistId(StringUtil.getRandomUUID());
                 fhPo.setSceneType("4");
@@ -456,4 +561,204 @@ public class SystemScenePackageService {
         list.add(map);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
     }
+
+
+    /**
+     * 场景包录入
+     */
+    @SneakyThrows
+    public ResponseBodyVO<String>  saveSystemScenePackageNew(SystemScenePackageNewPO params) {
+
+        SystemScenePackagePO  po=new SystemScenePackagePO();
+        //场景包名称不允许重复
+        String packageId=  systemScenePackageMapper.queryScenePackageByPackageName(params);
+        if(ObjectUtil.isNotNull(packageId)){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景包名称已存在,请检查");
+        }
+        po.setPackageName(params.getPackageName());
+        po.setSceneDescribe(params.getSceneDescribe());
+        String packId=StringUtil.getRandomUUID();
+        po.setId(packId);
+        po.setCreateTime(TimeUtil.getNowForMysql());
+        po.setModifyTime(TimeUtil.getNowForMysql());
+        po.setCreateUserId(AuthUtil.getCurrentUserId());
+        po.setIsDeleted("0");
+        //zr
+        List<String> zrSceneNames=params.getZrSceneNames();
+        if(ObjectUtil.isNotNull(zrSceneNames)){
+            List<SystemScenePackageSublistPO> zrList=new ArrayList<>();
+            for (String zrSceneName:zrSceneNames) {
+                //加共有
+                SceneNaturalPO paramPo=new SceneNaturalPO();
+                paramPo.setShare("0");
+                paramPo.setNaturalName(zrSceneName);
+                SceneNaturalPO syPo = sceneNaturalMapper.querySceneNaturaByName(paramPo);
+                syPo.setShare("2");
+                SceneNaturalPO gyPo = sceneNaturalMapper.querySceneNaturaByName(syPo);
+                if (ObjectUtil.isNull(gyPo)) {
+                    // -------------------------------- 保存数据到 mysql --------------------------------
+                    syPo.setCreateTime(TimeUtil.getNowForMysql());
+                    syPo.setCreateUserId(AuthUtil.getCurrentUserId());
+                    syPo.setModifyTime(TimeUtil.getNowForMysql());
+                    syPo.setModifyUserId("");
+                    syPo.setNaturalId( StringUtil.getRandomUUID());
+                    sceneNaturalMapper.saveSceneNatural(syPo);
+                    log.info("场景包新增场景1----"+syPo.getShare());
+                } else {
+                    // -------------------------------- 修改数据到 mysql --------------------------------
+                    syPo.setModifyTime(TimeUtil.getNowForMysql());
+                    syPo.setModifyUserId(AuthUtil.getCurrentUserId());
+                    syPo.setShare(gyPo.getShare());
+                    syPo.setNaturalId(gyPo.getNaturalId());
+                    sceneNaturalMapper.updateSceneNatural(syPo);
+                    log.info("场景包修改场景1----"+syPo.getShare());
+                }
+
+
+                SystemScenePackageSublistPO zrPo=new SystemScenePackageSublistPO();
+                zrPo.setSublistId(StringUtil.getRandomUUID());
+                zrPo.setSceneType("1");
+                zrPo.setSceneName(syPo.getNaturalName());
+                zrPo.setSceneAndPackage(packId);
+                zrPo.setCreateTime(TimeUtil.getNowForMysql());
+                zrPo.setModifyTime(TimeUtil.getNowForMysql());
+                zrPo.setCreateUserId(AuthUtil.getCurrentUserId());
+                zrPo.setIsDeleted("0");
+                zrList.add(zrPo);
+            }
+            systemScenePackageSublistMapper.saveSystemScenePackageSublist(zrList);
+        }
+//zr
+        List<String> bzSceneNames=params.getBzSceneNames();
+        if(ObjectUtil.isNotNull(bzSceneNames)){
+            List<SystemScenePackageSublistPO> bzList=new ArrayList<>();
+            for (String bzSceneName:bzSceneNames) {
+                StandardsRegulationsPO standardsRegulationsPO=new StandardsRegulationsPO();
+                standardsRegulationsPO.setSceneName(bzSceneName);
+                standardsRegulationsPO.setShare("0");
+                StandardsRegulationsPO standardsRegulationsPOSy= standardsRegulationsMapper.queryStandardsRegulationsByName(standardsRegulationsPO);
+                standardsRegulationsPOSy.setShare("2");
+                StandardsRegulationsPO StandardsRegulationsByName= standardsRegulationsMapper.queryStandardsRegulationsByName(standardsRegulationsPOSy);
+              //  standardsRegulationsPOSy.setShare("1");
+                //是否已存在
+                if(ObjectUtil.isNotNull(StandardsRegulationsByName)){
+                    standardsRegulationsPOSy.setRegulationsId(StandardsRegulationsByName.getRegulationsId());
+                    standardsRegulationsPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    standardsRegulationsPOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                    standardsRegulationsPOSy.setShare(StandardsRegulationsByName.getShare());
+                    standardsRegulationsMapper.updateStandardsRegulations(standardsRegulationsPOSy);
+                }else{
+                    standardsRegulationsPOSy.setRegulationsId(StringUtil.getRandomUUID());
+                    standardsRegulationsPOSy.setCreateTime(TimeUtil.getNowForMysql());
+                    standardsRegulationsPOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                    standardsRegulationsPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    standardsRegulationsPOSy.setModifyUserId("");
+                    standardsRegulationsMapper.saveStandardsRegulations(standardsRegulationsPOSy);
+                }
+
+
+                SystemScenePackageSublistPO bzPo=new SystemScenePackageSublistPO();
+                bzPo.setSublistId(StringUtil.getRandomUUID());
+                bzPo.setSceneType("2");
+                bzPo.setSceneName(standardsRegulationsPOSy.getSceneName());
+                bzPo.setSceneAndPackage(packId);
+                bzPo.setCreateTime(TimeUtil.getNowForMysql());
+                bzPo.setModifyTime(TimeUtil.getNowForMysql());
+                bzPo.setIsDeleted("0");
+                bzPo.setCreateUserId(AuthUtil.getCurrentUserId());
+                bzList.add(bzPo);
+            }
+            systemScenePackageSublistMapper.saveSystemScenePackageSublist(bzList);
+        }
+        //zr
+        List<String> jtSceneNames=params.getJtSceneNames();
+        if(ObjectUtil.isNotNull(jtSceneNames)){
+            List<SystemScenePackageSublistPO> jtList=new ArrayList<>();
+            for (String jtSceneName:jtSceneNames) {
+                SceneAccidentPO sceneAccidentPO=new SceneAccidentPO();
+                sceneAccidentPO.setSceneName(jtSceneName);
+                sceneAccidentPO.setShare("0");
+                SceneAccidentPO sceneAccidentPOSy=  sceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
+                sceneAccidentPOSy.setShare("2");
+                SceneAccidentPO sceneAccidentPOByName=  sceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPOSy);
+               // sceneAccidentPOSy.setShare("1");
+                //是否已存在
+                if(ObjectUtil.isNotNull(sceneAccidentPOByName)){
+                    sceneAccidentPOSy.setAccidentId(sceneAccidentPOByName.getAccidentId());
+                    sceneAccidentPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneAccidentPOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                    sceneAccidentPOSy.setShare(sceneAccidentPOByName.getShare());
+                    sceneAccidentMapper.updateSceneAccident(sceneAccidentPOSy);
+                }else{
+                    sceneAccidentPOSy.setAccidentId(StringUtil.getRandomUUID());
+                    sceneAccidentPOSy.setCreateTime(TimeUtil.getNowForMysql());
+                    sceneAccidentPOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                    sceneAccidentPOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneAccidentPOSy.setModifyUserId("");
+                    sceneAccidentMapper.saveSceneAccident(sceneAccidentPOSy);
+                }
+
+
+                SystemScenePackageSublistPO jtPo=new SystemScenePackageSublistPO();
+                jtPo.setSublistId(StringUtil.getRandomUUID());
+                jtPo.setSceneType("3");
+                jtPo.setSceneName(sceneAccidentPOSy.getSceneName());
+                jtPo.setSceneAndPackage(packId);
+                jtPo.setCreateTime(TimeUtil.getNowForMysql());
+                jtPo.setModifyTime(TimeUtil.getNowForMysql());
+                jtPo.setCreateUserId(AuthUtil.getCurrentUserId());
+                jtPo.setIsDeleted("0");
+                jtList.add(jtPo);
+            }
+            systemScenePackageSublistMapper.saveSystemScenePackageSublist(jtList);
+        }
+        //zr
+        List<String> fhSceneNames=params.getFhSceneNames();
+        if(ObjectUtil.isNotNull(fhSceneNames)){
+            List<SystemScenePackageSublistPO> fhList=new ArrayList<>();
+            for (String fhSceneName:fhSceneNames) {
+                SceneGeneralTemplatePO sceneGeneralTemplatePO=new SceneGeneralTemplatePO();
+                sceneGeneralTemplatePO.setSceneId(fhSceneName);
+                sceneGeneralTemplatePO.setShare("0");
+                SceneGeneralTemplatePO sceneGeneralTemplatePOSy=  sceneGeneralTemplateMapper.querySceneGeneralTemplateByName(sceneGeneralTemplatePO);
+                sceneGeneralTemplatePOSy.setShare("2");
+                SceneGeneralTemplatePO sceneGeneralTemplatePOByName=  sceneGeneralTemplateMapper.querySceneGeneralTemplateByName(sceneGeneralTemplatePOSy);
+               // sceneGeneralTemplatePOSy.setShare("1");
+                //是否已存在
+                if(ObjectUtil.isNotNull(sceneGeneralTemplatePOByName)){
+                    sceneGeneralTemplatePOSy.setShare(sceneGeneralTemplatePOByName.getShare());
+                    sceneGeneralTemplatePOSy.setId(sceneGeneralTemplatePOByName.getId());
+                    sceneGeneralTemplatePOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneGeneralTemplatePOSy.setModifyUserId(AuthUtil.getCurrentUserId());
+                    sceneGeneralTemplateMapper.updateSceneGeneralTemplate(sceneGeneralTemplatePOSy);
+                }else{
+                    sceneGeneralTemplatePOSy.setId(StringUtil.getRandomUUID());
+                    sceneGeneralTemplatePOSy.setCreateTime(TimeUtil.getNowForMysql());
+                    sceneGeneralTemplatePOSy.setCreateUserId(AuthUtil.getCurrentUserId());
+                    sceneGeneralTemplatePOSy.setModifyTime(TimeUtil.getNowForMysql());
+                    sceneGeneralTemplatePOSy.setModifyUserId("");
+                    sceneGeneralTemplateMapper.saveSceneGeneralTemplate(sceneGeneralTemplatePOSy);
+                }
+
+
+                SystemScenePackageSublistPO fhPo=new SystemScenePackageSublistPO();
+                fhPo.setSublistId(StringUtil.getRandomUUID());
+                fhPo.setIsDeleted("0");
+                fhPo.setSceneType("4");
+                fhPo.setSceneName(sceneGeneralTemplatePOSy.getShare());
+                fhPo.setSceneAndPackage(packId);
+                fhPo.setCreateTime(TimeUtil.getNowForMysql());
+                fhPo.setModifyTime(TimeUtil.getNowForMysql());
+                fhPo.setCreateUserId(AuthUtil.getCurrentUserId());
+                fhList.add(fhPo);
+            }
+            systemScenePackageSublistMapper.saveSystemScenePackageSublist(fhList);
+        }
+        systemScenePackageMapper.saveSystemScenePackage(po);
+
+        //记录场景包新增
+        logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_INSERT, po,null);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+    }
 }

+ 74 - 110
simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml

@@ -22,22 +22,26 @@
         (accident_id,scene_name,self_driving,target_driving,
         self_reaction,conflict_behavior,conflict_type,
         scence_resume,scene_time,scene_weather,
-       create_user_id,create_time,modify_user_id,modify_time,
-         is_deleted,share,video_preview,video_address,osgb_address,xml_address,xodr_address,
+        create_user_id,create_time,modify_user_id,modify_time,
+        is_deleted,share,video_preview,video_address,osgb_address,xml_address,xodr_address,
         json_address,max_time)
         values
         <foreach collection="list" index="index" item="item" separator=",">
-            (#{item.accidentId,jdbcType=VARCHAR},#{item.sceneName,jdbcType=VARCHAR},#{item.selfDriving,jdbcType=VARCHAR}, #{item.targetDriving,jdbcType=VARCHAR},
-            #{item.selfReaction,jdbcType=VARCHAR}, #{item.conflictBehavior,jdbcType=VARCHAR},#{item.conflictType,jdbcType=VARCHAR},
-            #{item.scenceResume,jdbcType=VARCHAR}, #{item.sceneTime,jdbcType=VARCHAR},#{item.sceneWeather,jdbcType=VARCHAR},
+            (#{item.accidentId,jdbcType=VARCHAR},#{item.sceneName,jdbcType=VARCHAR},#{item.selfDriving,jdbcType=VARCHAR},
+            #{item.targetDriving,jdbcType=VARCHAR},
+            #{item.selfReaction,jdbcType=VARCHAR},
+            #{item.conflictBehavior,jdbcType=VARCHAR},#{item.conflictType,jdbcType=VARCHAR},
+            #{item.scenceResume,jdbcType=VARCHAR},
+            #{item.sceneTime,jdbcType=VARCHAR},#{item.sceneWeather,jdbcType=VARCHAR},
             #{item.createUserId,jdbcType=VARCHAR},#{item.createTime},#{item.modifyUserId,jdbcType=VARCHAR},#{item.modifyTime},
-            #{item.isDeleted,jdbcType=VARCHAR}, #{item.share,jdbcType=VARCHAR},#{item.videoPreview,jdbcType=VARCHAR},#{item.videoAddress,jdbcType=VARCHAR},#{item.osgbAddress,jdbcType=VARCHAR},
-            #{item.xmlAddress,jdbcType=VARCHAR}, #{item.xodrAddress,jdbcType=VARCHAR},#{item.jsonAddress,jdbcType=VARCHAR},#{item.maxTime,jdbcType=VARCHAR})
+            #{item.isDeleted,jdbcType=VARCHAR},
+            #{item.share,jdbcType=VARCHAR},#{item.videoPreview,jdbcType=VARCHAR},#{item.videoAddress,jdbcType=VARCHAR},#{item.osgbAddress,jdbcType=VARCHAR},
+            #{item.xmlAddress,jdbcType=VARCHAR},
+            #{item.xodrAddress,jdbcType=VARCHAR},#{item.jsonAddress,jdbcType=VARCHAR},#{item.maxTime,jdbcType=VARCHAR})
         </foreach>
     </insert>
 
 
-
     <select id="querySceneAccidentList" parameterType="api.common.pojo.param.scene.SceneAccidentParam"
             resultType="api.common.pojo.po.scene.SceneAccidentPO">
         select
@@ -47,19 +51,21 @@
         create_user_id,create_time,modify_user_id,modify_time,
         is_deleted,share,video_address,video_preview,osgb_address,xml_address,xodr_address,
         json_address,max_time
-        from(
-        select
-        accident_id,scene_name,self_driving,target_driving,
-        self_reaction,conflict_behavior,conflict_type,
-        scence_resume,scene_time,scene_weather,
-        create_user_id,create_time,modify_user_id,modify_time,
-        is_deleted,share,video_address,video_preview,osgb_address,xml_address,xodr_address,
-        json_address,max_time
         from simulation.scene_accident
         <where>
+            is_deleted=0
+            <if test="userId != null and userId != ''">
+                and create_user_id =#{userId}
+            </if>
             <if test="sceneName != null and sceneName != ''">
                 and scene_name like CONCAT('%',#{sceneName,jdbcType=VARCHAR},'%')
             </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share==1">
+                and share !='0'
+            </if>
             <if test="selfDriving != null and selfDriving.size()>0 ">
                 and self_driving in
                 <foreach collection="selfDriving" item="item" index="index"
@@ -110,43 +116,7 @@
                 </foreach>
             </if>
         </where>
-         <if test="bq != null and bq.equals(1)">
-            union
-            select
-            accident_id,scene_name,self_driving,target_driving,
-            self_reaction,conflict_behavior,conflict_type,
-             scence_resume,scene_time,scene_weather,
-            create_user_id,create_time,modify_user_id,modify_time,
-            is_deleted,share,video_address,video_preview,osgb_address,xml_address,xodr_address,
-            json_address,max_time
-            from simulation.scene_accident
-            <where>
-                <if test="rearEndCollision != null and rearEndCollision!=''">
-                    or conflict_behavior =#{rearEndCollision}
-                </if>
-                <if test="cutIn != null and cutIn!=''">
-                    or target_driving =#{cutIn}
-                </if>
-                <if test="driveCurve != null and driveCurve!=''">
-                    or target_driving =#{driveCurve}
-                </if>
-                <if test="carConflict != null and carConflict!=''">
-                    or conflict_type =#{carConflict}
-                </if>
-            </where>
-        </if>
-
-        ) a where
-        a.is_deleted = '0'
-        <if test="AllIds != null and AllIds.size()>0">
-            and a.accident_id in
-            <foreach collection="AllIds" item="item" index="index"
-                     separator="," open="(" close=")">
-                #{item}
-            </foreach>
-        </if>
-
-        order by a.modify_time desc
+        order by modify_time desc
     </select>
     <select id="querySceneAccidentListByBq" parameterType="api.common.pojo.param.scene.SceneAccidentParam"
             resultType="api.common.pojo.po.scene.SceneAccidentPO">
@@ -261,6 +231,9 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="share != null and share != ''">
+                and share =#{share}
+            </if>
         </where>
 
         order by modify_time desc
@@ -283,13 +256,29 @@
     </update>
 
 
-    <select id="querySceneAccidentByNmae" parameterType="java.lang.String" resultType="java.lang.String">
+    <select id="querySceneAccidentByNmae" parameterType="api.common.pojo.po.scene.SceneAccidentPO"
+            resultType="api.common.pojo.po.scene.SceneAccidentPO">
         select
-        accident_id  sceneId
+        accident_id,scene_name,self_driving,target_driving,
+        self_reaction,conflict_behavior,conflict_type,
+        scence_resume,scene_time,scene_weather,
+        create_user_id,create_time,modify_user_id,modify_time,
+        is_deleted,share,video_preview,video_address,osgb_address,xml_address,xodr_address,
+        json_address,max_time
         from simulation.scene_accident
-        where
+        <where>
             is_deleted = '0'
+            <if test="sceneName != null and sceneName != ''">
                 and scene_name =#{sceneName,jdbcType=VARCHAR}
+            </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
+
+        </where>
     </select>
 
 
@@ -308,7 +297,7 @@
 
     <update id="updateSceneAccidentList" parameterType="java.util.List">
         <foreach collection="list" index="index" item="item" separator=";">
-        update simulation.scene_accident
+            update simulation.scene_accident
             set scene_name=#{item.sceneName},self_driving=#{item.selfDriving},
             target_driving=#{item.targetDriving},self_reaction=#{item.selfReaction},
             conflict_behavior=#{item.conflictBehavior},conflict_type=#{item.conflictType},
@@ -322,18 +311,9 @@
     </update>
 
 
-
-
     <select id="querySceneAccidentListByQx" parameterType="api.common.pojo.param.scene.SceneAccidentParam"
             resultType="api.common.pojo.po.scene.SceneAccidentPO">
-        select
-        accident_id,scene_name,self_driving,target_driving,
-        self_reaction,conflict_behavior,conflict_type,
-        scence_resume,scene_time,scene_weather,
-        create_user_id,create_time,modify_user_id,modify_time,
-        is_deleted,share,video_address,video_preview,osgb_address,xml_address,xodr_address,
-        json_address,max_time
-        from(
+
         select
         accident_id,scene_name,self_driving,target_driving,
         self_reaction,conflict_behavior,conflict_type,
@@ -345,7 +325,8 @@
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='3' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join  scene_accident jt on qx.scene_name=jt.scene_name) cc
+        where scene_type='3' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_accident
+        jt on qx.scene_name=jt.scene_name  and jt.share='2' union select jtNew.* from scene_accident jtNew where jtNew.share='1' and is_deleted='0') cc
         <where>
             <if test="sceneName != null and sceneName != ''">
                 and scene_name like CONCAT('%',#{sceneName,jdbcType=VARCHAR},'%')
@@ -399,48 +380,15 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="AllIds != null and AllIds.size()>0">
+                and a.accident_id in
+                <foreach collection="AllIds" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
-        <if test="bq != null and bq.equals(1)">
-            union
-            select
-            accident_id,scene_name,self_driving,target_driving,
-            self_reaction,conflict_behavior,conflict_type,
-            scence_resume,scene_time,scene_weather,
-            create_user_id,create_time,modify_user_id,modify_time,
-            is_deleted,share,video_address,video_preview,osgb_address,xml_address,xodr_address,
-            json_address,max_time
-            from ( select jt.* from( select s.scene_name
-            FROM system_scene_package p
-            JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
-            JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-            where scene_type='3' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join  scene_accident jt on qx.scene_name=jt.scene_name) dd
-            <where>
-                <if test="rearEndCollision != null and rearEndCollision!=''">
-                    or conflict_behavior =#{rearEndCollision}
-                </if>
-                <if test="cutIn != null and cutIn!=''">
-                    or target_driving =#{cutIn}
-                </if>
-                <if test="driveCurve != null and driveCurve!=''">
-                    or target_driving =#{driveCurve}
-                </if>
-                <if test="carConflict != null and carConflict!=''">
-                    or conflict_type =#{carConflict}
-                </if>
-            </where>
-        </if>
-
-        ) a where
-        a.is_deleted = '0'
-        <if test="AllIds != null and AllIds.size()>0">
-            and a.accident_id in
-            <foreach collection="AllIds" item="item" index="index"
-                     separator="," open="(" close=")">
-                #{item}
-            </foreach>
-        </if>
-
-        order by a.modify_time desc
+        order by cc.modify_time desc
     </select>
 
     <select id="querySceneAccidentListByBqAndQx" parameterType="api.common.pojo.param.scene.SceneAccidentParam"
@@ -463,7 +411,8 @@
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='3' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join  scene_accident jt on qx.scene_name=jt.scene_name) dd
+        where scene_type='3' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_accident
+        jt on qx.scene_name=jt.scene_name) dd
         <where>
             <if test="rearEndCollision != null and rearEndCollision!=''">
                 conflict_behavior =#{rearEndCollision}
@@ -489,4 +438,19 @@
         order by a.modify_time desc
     </select>
 
+
+    <select id="querySceneAccidentById" parameterType="java.lang.String"
+            resultType="api.common.pojo.po.scene.SceneAccidentPO">
+        select
+       accident_id,scene_name,self_driving,target_driving,
+        self_reaction,conflict_behavior,conflict_type,
+        scence_resume,scene_time,scene_weather,
+       create_user_id,create_time,modify_user_id,modify_time,
+         is_deleted,share,video_preview,video_address,osgb_address,xml_address,xodr_address,
+        json_address,max_time
+        from simulation.scene_accident
+        where accident_id=#{id}
+    </select>
+
+
 </mapper>

+ 114 - 5
simulation-resource-server/src/main/resources/mapper/scene/SceneGeneralTemplateMapper.xml

@@ -11,7 +11,7 @@
         obs_lateral_acceleration,obs_longitudinal_acceleration,
         obs_heading_angle_rel,obs_velocity_status,obs_trajectory,obs_duration_time,obs_velocity_time,
         obs_trail_time,generalization_type,scenario_resume,scene_detailed_description,evaluating_indicator,
-        video_link,file_name,version,
+        video_link,file_name,version,share,
         create_user_id,create_time,modify_time,
         is_deleted,obs_type) values
         <foreach collection="list" index="index" item="item" separator=",">
@@ -22,13 +22,36 @@
             #{item.obsLateralAcceleration,jdbcType=VARCHAR}, #{item.obsLongitudinalAcceleration,jdbcType=VARCHAR},
             #{item.obsHeadingAngleRel,jdbcType=VARCHAR}, #{item.obsVelocityStatus,jdbcType=VARCHAR},#{item.obsTrajectory,jdbcType=VARCHAR},#{item.obsDurationTime,jdbcType=VARCHAR},#{item.obsVelocityTime,jdbcType=VARCHAR},
             #{item.obsTrailTime,jdbcType=VARCHAR}, #{item.generalizationType,jdbcType=VARCHAR},#{item.scenarioResume,jdbcType=VARCHAR},#{item.sceneDetailedDescription},#{item.evaluatingIndicator,jdbcType=VARCHAR},
-            #{item.videoLink},#{item.fileName},#{item.version},
+            #{item.videoLink},#{item.fileName},#{item.version},#{item.share},
 
             #{item.createUserId,jdbcType=VARCHAR},#{item.createTime},#{item.modifyTime},
             #{item.isDeleted,jdbcType=VARCHAR},#{item.obsType})
         </foreach>
     </insert>
 
+    <insert id="saveSceneGeneralTemplate" parameterType="api.common.pojo.po.scene.SceneGeneralTemplatePO">
+        insert into simulation.scene_general_template
+        (id,scene_id,scenario_name,scenario_weather,scenario_time,
+        scenario_vehicle_model,scenario_road_type,scenario_radius_curvature,ego_start_x,ego_start_y,
+        ego_start_velocity,ego_heading_angle,ego_velocity_status,ego_trajectory,ego_duration_time,
+        ego_velocity_time,ego_trajectory_time,obs_start_x,obs_start_y,obs_start_velocity,
+        obs_lateral_acceleration,obs_longitudinal_acceleration,
+        obs_heading_angle_rel,obs_velocity_status,obs_trajectory,obs_duration_time,obs_velocity_time,
+        obs_trail_time,generalization_type,scenario_resume,scene_detailed_description,evaluating_indicator,
+        video_link,file_name,version,share,
+        create_user_id,create_time,modify_time,
+        is_deleted,obs_type) values
+         (#{id,jdbcType=VARCHAR},#{sceneId,jdbcType=VARCHAR},#{scenarioName,jdbcType=VARCHAR},#{scenarioWeather,jdbcType=VARCHAR},#{scenarioTime,jdbcType=VARCHAR},
+            #{scenarioVehicleModel,jdbcType=VARCHAR}, #{scenarioRoadType,jdbcType=VARCHAR}, #{scenarioRadiusCurvature,jdbcType=VARCHAR},#{egoStartX,jdbcType=VARCHAR}, #{egoStartY,jdbcType=VARCHAR},
+            #{egoStartVelocity,jdbcType=VARCHAR}, #{egoHeadingAngle,jdbcType=VARCHAR},#{egoVelocityStatus,jdbcType=VARCHAR},#{egoTrajectory,jdbcType=VARCHAR},#{egoDurationTime,jdbcType=VARCHAR},
+            #{egoVelocityTime,jdbcType=VARCHAR}, #{egoTrajectoryTime,jdbcType=VARCHAR},#{obsStartX,jdbcType=VARCHAR},#{obsStartY,jdbcType=VARCHAR},#{obsStartVelocity,jdbcType=VARCHAR},
+            #{obsLateralAcceleration,jdbcType=VARCHAR}, #{obsLongitudinalAcceleration,jdbcType=VARCHAR},
+            #{obsHeadingAngleRel,jdbcType=VARCHAR}, #{obsVelocityStatus,jdbcType=VARCHAR},#{obsTrajectory,jdbcType=VARCHAR},#{obsDurationTime,jdbcType=VARCHAR},#{obsVelocityTime,jdbcType=VARCHAR},
+            #{obsTrailTime,jdbcType=VARCHAR}, #{generalizationType,jdbcType=VARCHAR},#{scenarioResume,jdbcType=VARCHAR},#{sceneDetailedDescription},#{evaluatingIndicator,jdbcType=VARCHAR},
+            #{videoLink},#{fileName},#{version},#{share},
+            #{createUserId,jdbcType=VARCHAR},#{createTime},#{modifyTime},
+            #{isDeleted,jdbcType=VARCHAR},#{obsType})
+    </insert>
     <select id="querySceneGeneralTemplateList" parameterType="api.common.pojo.param.scene.SceneGeneralTemplateParam"
             resultType="api.common.pojo.po.scene.SceneGeneralTemplatePO">
         select
@@ -39,7 +62,7 @@
         obs_lateral_acceleration,obs_longitudinal_acceleration,
         obs_heading_angle_rel,obs_velocity_status,obs_trajectory,obs_duration_time,obs_velocity_time,
         obs_trail_time,generalization_type,scenario_resume,scene_detailed_description,evaluating_indicator,
-        video_link,file_name,version,
+        video_link,file_name,version,share,
         create_user_id,create_time,modify_time,obs_type
         from simulation.scene_general_template
         <where>
@@ -73,6 +96,12 @@
             <if test="obsType != null and obsType != ''">
                 and obs_type= #{obsType}
             </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
             <if test="allSceneNames != null and allSceneNames.length>0">
                 and scene_id in
                 <foreach collection="allSceneNames" item="item" index="index"
@@ -87,6 +116,9 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="userId != null and userId != ''">
+                and create_user_id =#{userId}
+            </if>
         order by modify_time desc
         </where>
     </select>
@@ -166,13 +198,13 @@
         obs_lateral_acceleration,obs_longitudinal_acceleration,
         obs_heading_angle_rel,obs_velocity_status,obs_trajectory,obs_duration_time,obs_velocity_time,
         obs_trail_time,generalization_type,scenario_resume,scene_detailed_description,evaluating_indicator,
-        video_link,file_name,version,
+        video_link,file_name,version,share,
         create_user_id,create_time,modify_time
         from (select fh.* from( select s.scene_name
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='4' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_general_template  fh on qx.scene_name=fh.scene_id and fh.is_deleted = '0') dd
+        where scene_type='4' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_general_template  fh on qx.scene_name=fh.scene_id and fh.is_deleted = '0' and fh.share='2' union select jtNew.* from scene_general_template jtNew where jtNew.share='1' and is_deleted='0') dd
         <where>
             is_deleted = '0'
             <if test="id != null and id != ''">
@@ -201,6 +233,12 @@
             <if test="version != null and version != ''">
                 and version= #{version}
             </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
             <if test="allSceneNames != null and allSceneNames.length>0">
                 and scene_id in
                 <foreach collection="allSceneNames" item="item" index="index"
@@ -218,4 +256,75 @@
             order by modify_time desc
         </where>
     </select>
+
+    <select id="querySceneGeneralTemplateByName" parameterType="api.common.pojo.po.scene.SceneGeneralTemplatePO" resultType="api.common.pojo.po.scene.SceneGeneralTemplatePO">
+        select id,scene_id,scenario_name,scenario_weather,scenario_time,
+        scenario_vehicle_model,scenario_road_type,scenario_radius_curvature,ego_start_x,ego_start_y,
+        ego_start_velocity,ego_heading_angle,ego_velocity_status,ego_trajectory,ego_duration_time,
+        ego_velocity_time,ego_trajectory_time,obs_start_x,obs_start_y,obs_start_velocity,
+        obs_lateral_acceleration,obs_longitudinal_acceleration,
+        obs_heading_angle_rel,obs_velocity_status,obs_trajectory,obs_duration_time,obs_velocity_time,
+        obs_trail_time,generalization_type,scenario_resume,scene_detailed_description,evaluating_indicator,
+        video_link,file_name,version,share,
+        create_user_id,create_time,modify_time,
+        is_deleted,obs_type
+        from simulation.scene_general_template
+        <where >
+            is_deleted = '0'
+            <if test="sceneId != null and sceneId!=''">
+                and scene_id =#{sceneId}
+            </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
+        </where>
+    </select>
+
+    <update id="updateSceneGeneralTemplate" parameterType="api.common.pojo.po.scene.SceneGeneralTemplatePO">
+        update simulation.scene_general_template
+        set scene_id=#{sceneId,jdbcType=VARCHAR},
+        scenario_name=#{scenarioName,jdbcType=VARCHAR},
+        scenario_weather=#{scenarioWeather,jdbcType=VARCHAR},
+        scenario_time=#{scenarioTime,jdbcType=VARCHAR},
+        scenario_vehicle_model= #{scenarioVehicleModel,jdbcType=VARCHAR},
+        scenario_road_type=#{scenarioRoadType,jdbcType=VARCHAR},
+        scenario_radius_curvature= #{scenarioRadiusCurvature,jdbcType=VARCHAR},
+        ego_start_x= #{egoStartX,jdbcType=VARCHAR},
+        ego_start_y= #{egoStartY,jdbcType=VARCHAR},
+        ego_start_velocity= #{egoStartVelocity,jdbcType=VARCHAR},
+        ego_heading_angle=#{egoHeadingAngle,jdbcType=VARCHAR},
+        ego_velocity_status=#{egoVelocityStatus,jdbcType=VARCHAR},
+        ego_trajectory= #{egoTrajectory,jdbcType=VARCHAR},
+        ego_duration_time= #{egoDurationTime,jdbcType=VARCHAR},
+        ego_velocity_time=#{egoVelocityTime,jdbcType=VARCHAR},
+        ego_trajectory_time=#{egoTrajectoryTime,jdbcType=VARCHAR},
+        obs_start_x=#{obsStartX,jdbcType=VARCHAR},
+        obs_start_y=#{obsStartY,jdbcType=VARCHAR},
+        obs_start_velocity=#{obsStartVelocity,jdbcType=VARCHAR},
+        obs_lateral_acceleration=#{obsLateralAcceleration,jdbcType=VARCHAR},
+        obs_longitudinal_acceleration=#{obsLongitudinalAcceleration,jdbcType=VARCHAR},
+        obs_heading_angle_rel=#{obsHeadingAngleRel,jdbcType=VARCHAR},
+        obs_velocity_status=#{obsVelocityStatus,jdbcType=VARCHAR},
+        obs_trajectory=#{obsTrajectory,jdbcType=VARCHAR},
+        obs_duration_time=#{obsDurationTime,jdbcType=VARCHAR},
+        obs_velocity_time=#{obsVelocityTime,jdbcType=VARCHAR},
+        obs_trail_time=#{obsTrailTime,jdbcType=VARCHAR},
+        generalization_type= #{generalizationType,jdbcType=VARCHAR},
+        scenario_resume=#{scenarioResume,jdbcType=VARCHAR},
+        scene_detailed_description=#{sceneDetailedDescription},
+        evaluating_indicator=#{evaluatingIndicator,jdbcType=VARCHAR},
+        video_link=#{videoLink},
+        file_name=#{fileName},
+        version= #{version},
+        share=#{share},
+        create_user_id=#{createUserId,jdbcType=VARCHAR},
+        create_time=#{createTime},
+        modify_time=#{modifyTime},
+        is_deleted=#{isDeleted,jdbcType=VARCHAR},
+        obs_type=#{obsType}
+        where id = #{id,jdbcType=VARCHAR}
+    </update>
 </mapper>

+ 59 - 4
simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml

@@ -359,6 +359,15 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
+            <if test="userId != null and userId != ''">
+                and create_user_id =#{userId}
+            </if>
             order by modify_time desc
         </where>
     </select>
@@ -380,10 +389,32 @@
     </update>
 
 
-    <select id="querySceneNaturaByName" parameterType="java.lang.String" resultType="java.lang.String">
-        select natural_id
+    <select id="querySceneNaturaByName" parameterType="api.common.pojo.po.scene.SceneNaturalPO" resultType="api.common.pojo.po.scene.SceneNaturalPO">
+        select natural_id,natural_name,weather,backlight,
+        light_change,road_type,road_matrrial,driveway_num,
+        driveway_type,road_flatness,road_curvature,ramp,
+        intersection_type,plane_intersection,bridge,tunnel,
+        speed_limit,min_speed_limit,no_entry,no_stopping,
+        left_lane_line,right_lane_line,conductor_marking,pedestrian_crossing,
+        traffic_light,deceleration_marking,pavement_condition,natural_disaster,
+        road_safety_signs,safety_warning_board,traffic_accident,patency,
+        special_vehicle_yield,violation,double_flashing_car,self_behavior,
+        target_behavior,create_user_id,create_time,modify_user_id,modify_time,
+        is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
+        json_address,max_time
         from simulation.scene_natural
-        where is_deleted = '0' and natural_name =#{naturalName}
+        <where >
+            is_deleted = '0'
+            <if test="naturalName != null and naturalName!=''">
+                and natural_name =#{naturalName}
+            </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
+        </where>
     </select>
 
     <select id="querySceneNumBySy" parameterType="api.common.pojo.param.scene.SceneNaturalParam" resultType="java.lang.Integer">
@@ -1364,7 +1395,8 @@
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='1' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural  zr on qx.scene_name=zr.natural_name) dd
+        where scene_type='1' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural  zr on qx.scene_name=zr.natural_name
+        and zr.share='2' union select jtNew.* from scene_natural jtNew where jtNew.share='1' and is_deleted='0') dd
         <where>
             is_deleted = '0'
             <if test="naturalName != null and naturalName != ''">
@@ -1644,6 +1676,12 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
             order by modify_time desc
         </where>
     </select>
@@ -2565,4 +2603,21 @@
         </where>
     </select>
 
+    <select id="querySceneNaturalById" parameterType="java.lang.String"
+            resultType="api.common.pojo.po.scene.SceneNaturalPO">
+    select
+    natural_id,natural_name,weather,backlight,
+    light_change,road_type,road_matrrial,driveway_num,
+    driveway_type,road_flatness,road_curvature,ramp,
+    intersection_type,plane_intersection,bridge,tunnel,
+    speed_limit,min_speed_limit,no_entry,no_stopping,
+    left_lane_line,right_lane_line,conductor_marking,pedestrian_crossing,
+    traffic_light,deceleration_marking,pavement_condition,natural_disaster,
+    road_safety_signs,safety_warning_board,traffic_accident,patency,
+    special_vehicle_yield,violation,double_flashing_car,self_behavior,
+    target_behavior,create_user_id,create_time,modify_user_id,modify_time,
+    is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
+    json_address,max_time from scene_natural where natural_id=#{id}
+    </select>
+
 </mapper>

+ 8 - 2
simulation-resource-server/src/main/resources/mapper/scene/ScenePackageMapper.xml

@@ -39,7 +39,10 @@
                 and a.package_name like CONCAT('%',#{packageName,jdbcType=VARCHAR},'%')
             </if>
             <if test="yearMax != null and yearMax != ''">
-                and #{yearMax,jdbcType=VARCHAR} &gt; a.CREATE_TIME and #{yearMin,jdbcType=VARCHAR} &lt; a.CREATE_TIME
+                and #{yearMax,jdbcType=VARCHAR} &gt; a.CREATE_TIME
+            </if>
+            <if test="yearMin != null and yearMin != ''">
+                and #{yearMin,jdbcType=VARCHAR} &lt; a.CREATE_TIME
             </if>
             <if test="createUserId != null and createUserId != ''">
                 and create_user_id=#{createUserId,jdbcType=VARCHAR}
@@ -70,7 +73,10 @@
                 and a.package_name like CONCAT('%',#{packageName,jdbcType=VARCHAR},'%')
             </if>
             <if test="yearMax != null and yearMax != ''">
-                and #{yearMax,jdbcType=VARCHAR} &gt; a.CREATE_TIME and #{yearMin,jdbcType=VARCHAR} &lt; a.CREATE_TIME
+                and #{yearMax,jdbcType=VARCHAR} &gt; a.CREATE_TIME
+            </if>
+            <if test="yearMin != null and yearMin != ''">
+                and #{yearMin,jdbcType=VARCHAR} &lt; a.CREATE_TIME
             </if>
             <if test="createUserId != null and createUserId != ''">
                 and create_user_id=#{createUserId,jdbcType=VARCHAR}

+ 4 - 1
simulation-resource-server/src/main/resources/mapper/scene/ScoringRulesMapper.xml

@@ -38,7 +38,10 @@
                 and rule_description like CONCAT('%',#{ruleDescription},'%')
             </if>
             <if test="yearMax != null and yearMax != ''">
-                and #{yearMax,jdbcType=VARCHAR} &gt; create_time and #{yearMin,jdbcType=VARCHAR} &lt; create_time
+                and #{yearMax,jdbcType=VARCHAR} &gt; create_time
+            </if>
+            <if test="yearMin != null and yearMin != ''">
+                and #{yearMin,jdbcType=VARCHAR} &lt; create_time
             </if>
             <if test="createUserId != null and createUserId != ''">
                 and create_user_id=#{createUserId,jdbcType=VARCHAR}

+ 46 - 29
simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml

@@ -47,9 +47,8 @@
         xml_address,xodr_address,json_address,video_preview,max_time
         from simulation.scene_standards_regulations
         <where>
-            (is_deleted = '0'
-            <if test=
-                        "sceneName != null and sceneName != ''">
+            is_deleted = '0'
+            <if test="sceneName != null and sceneName != ''">
                 and scene_name like CONCAT('%',#{sceneName,jdbcType=VARCHAR},'%')
             </if>
             <if test="regulationType != null and regulationType.size()>0">
@@ -83,14 +82,14 @@
                     #{item}
                 </foreach>
             </if>
-            )
-            <if test="label != null and label.size()>0">
-                or (regulation_type in
-                <foreach collection="label" item="item" index="index"
-                         separator="," open="(" close=")">
-                    #{item}
-                </foreach>
-                and is_deleted = '0')
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share==1">
+                and share !='0'
+            </if>
+            <if test="userId != null and userId != ''">
+                and create_user_id =#{userId}
             </if>
         </where>
         order by modify_time desc
@@ -142,13 +141,25 @@
         where regulations_id = #{regulationsId,jdbcType=VARCHAR}
     </update>
 
-    <select id="queryStandardsRegulationsByName" parameterType="java.lang.String"
-            resultType="java.lang.String">
-        select regulations_id
+    <select id="queryStandardsRegulationsByName" parameterType="api.common.pojo.po.scene.StandardsRegulationsPO"
+            resultType="api.common.pojo.po.scene.StandardsRegulationsPO">
+        select regulations_id, scene_name, regulation_type, standard_type,
+        create_user_id, create_time, modify_user_id, modify_time,
+        is_deleted, share, video_preview, video_address, osgb_address, xml_address, xodr_address,
+        json_address, max_time
         from simulation.scene_standards_regulations
-        where is_deleted = '0'
-          and scene_name = #{sceneName,jdbcType=VARCHAR}
-
+        <where>
+            is_deleted = '0'
+            <if test="sceneName != null and sceneName!=''">
+                and scene_name = #{sceneName,jdbcType=VARCHAR}
+            </if>
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
+            </if>
+        </where>
     </select>
 
     <update id="updateStandardsRegulations" parameterType="api.common.pojo.po.scene.StandardsRegulationsPO">
@@ -190,11 +201,10 @@
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
         where scene_type='2' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join
-        scene_standards_regulations bz on qx.scene_name=bz.scene_name) dd
+        scene_standards_regulations bz on qx.scene_name=bz.scene_name and bz.share='2' union select jtNew.* from scene_standards_regulations jtNew where jtNew.share='1' and is_deleted='0') dd
         <where>
-            (is_deleted = '0'
-            <if test=
-                        "sceneName != null and sceneName != ''">
+            is_deleted = '0'
+            <if test="sceneName != null and sceneName != ''">
                 and scene_name like CONCAT('%',#{sceneName,jdbcType=VARCHAR},'%')
             </if>
             <if test="regulationType != null and regulationType.size()>0">
@@ -228,14 +238,11 @@
                     #{item}
                 </foreach>
             </if>
-            )
-            <if test="label != null and label.size()>0">
-                or (regulation_type in
-                <foreach collection="label" item="item" index="index"
-                         separator="," open="(" close=")">
-                    #{item}
-                </foreach>
-                and is_deleted = '0')
+            <if test="share != null and share==0">
+                and share =#{share}
+            </if>
+            <if test="share != null and share!= '' and share!=0">
+                and share !='0'
             </if>
         </where>
         order by modify_time desc
@@ -277,4 +284,14 @@
         order by modify_time desc
 
     </select>
+
+    <select id="queryStandardsRegulationsById" parameterType="java.lang.String"
+            resultType="api.common.pojo.po.scene.StandardsRegulationsPO">
+        select regulations_id, scene_name, regulation_type, standard_type,
+         create_user_id, create_time, modify_user_id, modify_time,
+         is_deleted, share, video_preview, video_address, osgb_address, xml_address, xodr_address,
+         json_address, max_time
+        from simulation.scene_standards_regulations
+     where regulations_id=#{id}
+    </select>
 </mapper>

+ 8 - 2
simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageMapper.xml

@@ -44,7 +44,10 @@
                 and t.package_name like CONCAT('%',#{packageName,jdbcType=VARCHAR},'%')
             </if>
             <if test="yearMax != null and yearMax != ''">
-                and #{yearMax,jdbcType=VARCHAR} &gt; t.create_time and #{yearMin,jdbcType=VARCHAR} &lt; t.create_time
+                and #{yearMax,jdbcType=VARCHAR} &gt; t.create_time
+            </if>
+            <if test="yearMin != null and yearMin != ''">
+                and #{yearMin,jdbcType=VARCHAR} &lt; t.create_time
             </if>
             <if test="packageNames != null and packageNames.length>0">
                 and t.package_name in
@@ -72,10 +75,13 @@
         </if>
         <if test="yearMax != null and yearMax != ''">
             and #{yearMax,jdbcType=VARCHAR} &gt; modify_time
+        </if>
+        <if test="yearMin != null and yearMin != ''">
             and #{yearMin,jdbcType=VARCHAR} &lt; modify_time
         </if>
+
         GROUP BY a.username
-        ORDER BY modify_time DESC
+        ORDER BY a.modify_time DESC
     </select>
     <select id="querySystemScenePackageById" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
             resultType="api.common.pojo.po.scene.SystemScenePackagePO">