Procházet zdrojové kódy

场景库及场景库分配

wangzhiqiang před 2 roky
rodič
revize
11d1571614
28 změnil soubory, kde provedl 681 přidání a 113 odebrání
  1. 8 1
      api-common/src/main/java/api/common/pojo/constants/LogConstants.java
  2. 2 1
      api-common/src/main/java/api/common/pojo/param/scene/SceneAccidentParam.java
  3. 3 0
      api-common/src/main/java/api/common/pojo/param/scene/SceneGeneralTemplateParam.java
  4. 2 0
      api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalNewParam.java
  5. 1 0
      api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalParam.java
  6. 1 0
      api-common/src/main/java/api/common/pojo/param/scene/StandardsRegulationsParam.java
  7. 25 5
      api-common/src/main/java/api/common/pojo/param/scene/SystemScenePackageParam.java
  8. 26 0
      api-common/src/main/java/api/common/pojo/param/scene/SystemUserSceneParam.java
  9. 2 0
      api-common/src/main/java/api/common/pojo/po/scene/SystemScenePackageNewPO.java
  10. 90 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/log/service/LogService.java
  11. 21 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java
  12. 2 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScoringRulesController.java
  13. 30 19
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SystemScenePackageController.java
  14. 8 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SystemScenePackageMapper.java
  15. 3 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SystemUserSceneMapper.java
  16. 11 5
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java
  17. 30 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneGeneralTemplateService.java
  18. 62 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  19. 3 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java
  20. 46 6
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java
  21. 104 31
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SystemScenePackageService.java
  22. 21 0
      simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml
  23. 15 1
      simulation-resource-server/src/main/resources/mapper/scene/SceneGeneralTemplateMapper.xml
  24. 57 3
      simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml
  25. 14 0
      simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml
  26. 77 23
      simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageMapper.xml
  27. 2 2
      simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageSublistMapper.xml
  28. 15 4
      simulation-resource-server/src/main/resources/mapper/scene/SystemUserSceneMapper.xml

+ 8 - 1
api-common/src/main/java/api/common/pojo/constants/LogConstants.java

@@ -38,8 +38,15 @@ public class LogConstants {
     public static final String SYS_LOG_VEHICLE_UPDATE = "0402";//车辆模板管理-修改
     public static final String SYS_LOG_VEHICLE_DEL = "0403";//车辆模板管理-删除
     public static final String SYS_LOG_SCENE_TASK = "05";//场景上传
-    public static final String SYS_LOG_SCENE = "06";//场景管理
+    public static final String SYS_LOG_SCENE = "06";//场景库管理
+    public static final String SYS_LOG_SCENE_INSERT = "0601";//场景库管理-编辑即新增
+    public static final String SYS_LOG_SCENE_DELETE = "0602";//场景库管理-删除
     public static final String SYS_LOG_PACKAGE = "07";//场景包管理
+    public static final String SYS_LOG_PACKAGE_INSERT = "0701";//场景包管理-新增
+    public static final String SYS_LOG_PACKAGE_UPDATE = "0702";//场景包管理-修改
+    public static final String SYS_LOG_PACKAGE_DELETE = "0703";//场景包管理-删除
     public static final String SYS_LOG_PACKAGE_GRANT = "08";//场景包分配
+    public static final String SYS_LOG_PACKAGE_GRANT_INSERT = "0801";//场景包分配-编辑即新增
+    public static final String SYS_LOG_PACKAGE_GRANT_DELETE = "0802";//场景包分配-删除
 
 }

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

@@ -23,7 +23,6 @@ public class SceneAccidentParam extends PageVO implements Serializable {
     private List<String> selfReaction ; //自车反应行为
     private List<String> conflictBehavior ; //冲突行为
     private List<String> conflictType ; //冲突类型
-    private String[] ids ; //回显数组
     private String videoAddress ; //视频地址
     private String osgbAddress  ;//
     private String xmlAddress ; //
@@ -42,5 +41,7 @@ public class SceneAccidentParam extends PageVO implements Serializable {
 
     private String  userId;//用户id
 
+    private String[] ids ; //回显数组
+    private String[] allSceneNames ; //场景名集合
 
 }

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

@@ -25,4 +25,7 @@ public class SceneGeneralTemplateParam extends PageVO implements Serializable {
 
     private String userId;//用户id
 
+    private String[] ids ; //回显数组
+    private String[] allSceneNames ; //场景名集合
+
 }

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

@@ -34,5 +34,7 @@ public class SceneNaturalNewParam extends PageVO implements Serializable {
     private String[][] laneChange;//变道
     private String[][] turnAround;//掉头
 
+    private String[] allSceneNames ; //场景名集合
+
 
 }

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

@@ -71,4 +71,5 @@ public class SceneNaturalParam extends PageVO implements Serializable {
     private String  bq="0";//判断标签是否为空 0为空  1为有值
 
     private String userId;//用户id
+    private String[] allSceneNames ; //场景名集合
 }

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

@@ -37,4 +37,5 @@ public class StandardsRegulationsParam extends PageVO implements Serializable {
 
     private String userId;
 
+    private String[] allSceneNames ; //场景名集合
 }

+ 25 - 5
api-common/src/main/java/api/common/pojo/param/scene/SystemScenePackageParam.java

@@ -1,6 +1,7 @@
 package api.common.pojo.param.scene;
 
 import api.common.pojo.common.CommonPO;
+import api.common.pojo.common.PageVO;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -8,6 +9,7 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.sql.Timestamp;
 
 /**
  * 人员场景包表。
@@ -16,21 +18,39 @@ import java.io.Serializable;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-public class SystemScenePackageParam extends CommonPO   implements Serializable {
+public class SystemScenePackageParam extends  PageVO implements Serializable {
     private String id;              // 主键
     private String packageName;        // 场景包名
     private String sceneDescribe;          // 场景包描述
     private String userName;          // 账号名称
     private String userId;          // 账号id
 
+    private String[] packageNames ; //回显数组
 
 
     public String yearMax;//结束时间
 
     public String yearMin;//开始时间
 
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    private Integer currentPage=1;
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    private Integer pageSize=10;
+
+    /**
+     * 记录创建时间
+     */
+    public Timestamp createTime;
+    /**
+     * 记录最后更新时间(包括删除)
+     */
+    public Timestamp modifyTime;
+    /**
+     * 记录创建人(用户id)
+     */
+    public String createUserId;
+    /**
+     * 记录最后更新人(包括删除)(用户id)
+     */
+    public String modifyUserId;
+    /**
+     * 是否已删除
+     */
+    public String isDeleted;
 }

+ 26 - 0
api-common/src/main/java/api/common/pojo/param/scene/SystemUserSceneParam.java

@@ -0,0 +1,26 @@
+package api.common.pojo.param.scene;
+
+import api.common.pojo.common.PageVO;
+import api.common.pojo.vo.scene.PackageVO;
+import api.common.pojo.vo.scene.UserSceneVO;
+import lombok.*;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *人员场景包关系
+ */
+@EqualsAndHashCode()
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SystemUserSceneParam  implements Serializable {
+    private String packageId ;//场景包Id
+    private String packageName ;//场景包名称
+    private List<UserSceneVO> userIds;//用户集合
+    private List<String> packageNames;//场景包集合
+    private String userId;//人分配包时用
+    private String type;
+}

+ 2 - 0
api-common/src/main/java/api/common/pojo/po/scene/SystemScenePackageNewPO.java

@@ -1,6 +1,7 @@
 package api.common.pojo.po.scene;
 
 import api.common.pojo.common.CommonPO;
+import api.common.pojo.vo.scene.UserSceneVO;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -24,4 +25,5 @@ public class SystemScenePackageNewPO extends CommonPO implements Serializable {
     private List<String> bzSceneNames;          // 标准法规场景名集合
     private List<String> jtSceneNames;          // 交通事故自然场景名集合
     private List<String> fhSceneNames;          // 泛化模板场景名集合
+    private List<UserSceneVO> userIds;//用户集合
 }

+ 90 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/log/service/LogService.java

@@ -3,13 +3,17 @@ package com.css.simulation.resource.log.service;
 import api.common.pojo.constants.DictConstants;
 import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.log.LogPageParam;
+import api.common.pojo.param.scene.SystemUserSceneParam;
 import api.common.pojo.po.log.LogLoginPO;
 import api.common.pojo.po.log.LogOperationPO;
 import api.common.pojo.po.log.LogSystemPO;
 import api.common.pojo.po.model.VehicleTempPO;
+import api.common.pojo.po.scene.SystemScenePackagePO;
+import api.common.pojo.po.scene.SystemUserScenePO;
 import api.common.pojo.po.system.ClusterPO;
 import api.common.pojo.po.system.ParameterPO;
 import api.common.pojo.po.system.UserPO;
+import api.common.pojo.vo.scene.UserSceneVO;
 import api.common.util.ObjectUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
@@ -24,6 +28,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -174,4 +179,88 @@ public class LogService {
         po.setOperationType(operationType);
         return po;
     }
-}
+
+
+    /**
+     * 记录场景包模块日志
+     */
+    public void logScenePackage(String operationType, SystemScenePackagePO systemScenePackagePO) {
+            try {
+                LogSystemPO po = getLogSystemPO(LogConstants.SYS_LOG_PACKAGE, operationType);
+                //获取当前登录人姓名
+                String userName= AuthUtil.getCurrentUsername();
+                String content=null;
+                if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_DELETE)){
+                    content = userName+"删除场景包:"+systemScenePackagePO.getPackageName();                }else if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_UPDATE)){
+                    content = userName+"修改场景包:"+systemScenePackagePO.getPackageName();
+                }else if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_INSERT)){
+                    content = userName+"新增场景包:"+systemScenePackagePO.getPackageName();
+                }
+                po.setContent(content);
+                logMapper.insertSystemLog(po);
+                logMapper.insertSystemLog(po);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }
+    /**
+     * 记录场景包分配模块日志
+     */
+    public void logSystemUserSceneByPackageId(String operationType, SystemUserSceneParam param) {
+        try {
+            LogSystemPO po = getLogSystemPO(LogConstants.SYS_LOG_PACKAGE_GRANT, operationType);
+            //获取当前登录人姓名
+            String userName= AuthUtil.getCurrentUsername();
+            String content=null;
+            if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_GRANT_INSERT)){
+                 content = userName+"操作场景包:"+param.getPackageName()+"新增配置用户:"+param.getUserIds().stream().map(UserSceneVO::getUserName).collect(Collectors.toList());
+            }else if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_GRANT_DELETE)){
+                content = userName+"操作场景包:"+param.getPackageName()+"删除配置用户:"+param.getUserIds().stream().map(UserSceneVO::getUserName).collect(Collectors.toList());
+
+            }
+            System.out.println("测试日子记录"+content);
+            po.setContent(content);
+            logMapper.insertSystemLog(po);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 记录场景库管理模块日志
+     */
+    public void logSceneDelete(String operationType, Map map) {
+        try {
+            LogSystemPO po = getLogSystemPO(LogConstants.SYS_LOG_SCENE, operationType);
+            Map<String,String>  mapType= dictService.getDictMapByType(DictConstants.SCENE_TYPE);
+
+            //获取当前登录人姓名
+            String userName= AuthUtil.getCurrentUsername();
+            String content=null;
+            content = userName+"在:"+mapType.get(map.get("type"))+"中删除场景:"+map.get("sceneName")+"("+map.get("sceneId")+")" ;
+            po.setContent(content);
+            logMapper.insertSystemLog(po);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 记录场景上传模块日志
+     */
+    public void logSceneUpload(String operationType, Map map) {
+        try {
+            LogSystemPO po = getLogSystemPO(LogConstants.SYS_LOG_SCENE_TASK, operationType);
+            Map<String,String>  mapType= dictService.getDictMapByType(DictConstants.SCENE_TYPE);
+
+            //获取当前登录人姓名
+            String userName= AuthUtil.getCurrentUsername();
+            String content=null;
+            content = userName+"在:"+mapType.get(map.get("type"))+"模块上传:"+map.get("sceneName") ;
+            po.setContent(content);
+            logMapper.insertSystemLog(po);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+    }

+ 21 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java

@@ -1,6 +1,7 @@
 package com.css.simulation.resource.scene.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.scene.ScenePackageParam;
 import api.common.pojo.po.scene.ScenePackagePO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
@@ -8,21 +9,26 @@ import api.common.pojo.vo.scene.ScenePackageVO;
 import api.common.util.ObjectUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.scene.service.ScenePackageService;
+import com.css.simulation.resource.system.service.ParameterService;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 //测试包
 @RestController
-@RequestMapping("/ScenePackage")
+@RequestMapping(value ="/ScenePackage" ,name = LogConstants.MODULE_SCENE_TEST_PACKAGE)
 public class ScenePackageController {
 
     @Resource
     ScenePackageService scenePackageService;
+    @Autowired
+    ParameterService parameterService;
 
     //查询主表列表
     @PostMapping("/queryScenePackageList")
@@ -107,4 +113,18 @@ public class ScenePackageController {
        Map map= scenePackageService.queryPackageCount();
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS,map);
     }
+
+    /**
+     * 查询场景分配配置信息
+     */
+    @PostMapping("/getSceneParam")
+    @ResponseBody
+    public ResponseBodyVO<Map>  getSceneParam() {
+        HashMap<String, Integer> map = parameterService.getSceneParam();
+        ScenePackageParam parms=new ScenePackageParam();
+        parms.setShare("0");
+        List<ScenePackagePO> list = scenePackageService.queryScenePackageList(parms);
+        map.put("creatNum",list.size());
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS,map);
+    }
 }

+ 2 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScoringRulesController.java

@@ -1,6 +1,7 @@
 package com.css.simulation.resource.scene.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.scene.ScoringRulesParam;
 import api.common.pojo.po.scene.ScoringRulesPO;
 import api.common.pojo.vo.scene.ScoringRulesVO;
@@ -18,7 +19,7 @@ import java.util.List;
 
 //打分规则
 @RestController
-@RequestMapping("/ScoringRules")
+@RequestMapping(value ="/ScoringRules" ,name = LogConstants.MODULE_SCORING)
 public class ScoringRulesController {
 
     @Resource
@@ -74,7 +75,6 @@ public class ScoringRulesController {
         ScoringRulesParam vo = new ScoringRulesParam();
         BeanUtils.copyProperties(parms, vo);
         vo.setShare("0");
-        vo.setCreateUserId(AuthUtil.getCurrentUserId());
         List<ScoringRulesPO> list = scoringRulesService.queryScoringRulesByRuleName(vo);
         if (list != null && list.size() > 0) {
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "规则名称ruleName已存在,请重新命名");
@@ -120,7 +120,6 @@ public class ScoringRulesController {
     public ResponseBodyVO<List<ScoringRulesPO>> queryCsb() {
         ScoringRulesParam params = new ScoringRulesParam();
         params.setShare("0");
-        //params.setCreateUserId(AuthUtil.getCurrentUserId());
         List<ScoringRulesPO> list = scoringRulesService.queryScoringRulesList(params);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
     }

+ 30 - 19
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SystemScenePackageController.java

@@ -2,6 +2,7 @@ package com.css.simulation.resource.scene.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.scene.SystemScenePackageParam;
+import api.common.pojo.param.scene.SystemUserSceneParam;
 import api.common.pojo.po.scene.ScoringRulesPO;
 import api.common.pojo.po.scene.SystemScenePackageNewPO;
 import api.common.pojo.po.scene.SystemScenePackagePO;
@@ -50,7 +51,11 @@ public class SystemScenePackageController {
     @PostMapping("/saveSystemScenePackage")
     @ResponseBody
     public ResponseBodyVO<String> saveSystemScenePackage(@RequestBody SystemScenePackageNewPO parms) {
-        systemScenePackageService.saveSystemScenePackage(parms);
+        if(ObjectUtil.isNotNull(parms.getId())){
+            systemScenePackageService.updateSystemScenePackage(parms);
+        }else{
+         return   systemScenePackageService.saveSystemScenePackage(parms);
+        }
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
@@ -71,7 +76,7 @@ public class SystemScenePackageController {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
-    //场景包配置账号查询
+    //场景包配置账号查询 (未启用)
     @PostMapping("/queryUserByPackageId")
     @ResponseBody
     public ResponseBodyVO<SystemUserSceneVO> queryUserByPackageId(@RequestBody SystemScenePackageNewPO params) {
@@ -81,48 +86,54 @@ public class SystemScenePackageController {
     //场景包配置账号添加
     @PostMapping("/saveUserByPackageId")
     @ResponseBody
-    public ResponseBodyVO<String> saveUserByPackageId(@RequestBody SystemUserSceneVO params) {
+    public ResponseBodyVO<String> saveUserByPackageId(@RequestBody SystemUserSceneParam params) {
          systemScenePackageService.saveUserByPackageId(params);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
     //场景包配置账号删除
     @PostMapping("/deleteUserByPackageId")
     @ResponseBody
-    public ResponseBodyVO<String> deleteUserByPackageId(@RequestBody SystemUserSceneVO params) {
+    public ResponseBodyVO<String> deleteUserByPackageId(@RequestBody SystemUserSceneParam params) {
         systemScenePackageService.deleteUserByPackageId(params);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
-    //场景包配置场景列表
-    @PostMapping("/queryPackageList")
+    //人员表查询测试包详情
+    @PostMapping("/queryPackageByUserId")
     @ResponseBody
-    public ResponseBodyVO<List<Map>> queryPackageList() {
-        List<Map> list=  systemScenePackageService.queryPackageList();
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,list);
+    public ResponseBodyVO<List<Map>> queryPackageByUserId(@RequestBody SystemScenePackageParam parms) {
+       // PageUtil.setPageInfo(parms);
+       Map map=  systemScenePackageService.queryPackageByUserId(parms);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,map);
     }
 
     //人员添加场景包
     @PostMapping("/savePackageByUserId")
     @ResponseBody
-    public ResponseBodyVO<String> savePackageByUserId(@RequestBody SystemUserSceneVO params) {
+    public ResponseBodyVO<String> savePackageByUserId(@RequestBody SystemUserSceneParam params) {
         systemScenePackageService.savePackageByUserId(params);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
-    //配置账号删除场景包
-    @PostMapping("/deletePackageByUserId")
-    @ResponseBody
-    public ResponseBodyVO<String> deletePackageByUserId(@RequestBody SystemUserSceneVO params) {
-        systemScenePackageService.deletePackageByUserId(params);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
-    }
+
 
     //人员场景包列表
     @PostMapping("/queryPackageByUserIdList")
     @ResponseBody
     public ResponseBodyVO<String> queryPackageByUserIdList(@RequestBody SystemScenePackageParam parms) {
-            PageUtil.setPageInfo(parms);
+                 PageUtil.setPageInfo(parms);
             List<SystemScenePackageVO>  list = systemScenePackageService.queryPackageByUserIdList(parms);
 
-            return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,  new PageInfo(list));
+            return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, new PageInfo<SystemScenePackageVO>(list));
+    }
+
+    // 查询勾选场景数量
+    @PostMapping("/querySystemScenePackageListByTJ")
+    @ResponseBody
+    public ResponseBodyVO<List<Map>> querySystemScenePackageListByTJ(@RequestBody SystemScenePackageParam parms) {
+        if (ObjectUtil.isNull(parms.getPackageNames())) {
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "参数packageNames不能为空,请检查");
+        }
+
+        return  systemScenePackageService.querySystemScenePackageListByTJ(parms);
     }
 }

+ 8 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SystemScenePackageMapper.java

@@ -1,6 +1,7 @@
 package com.css.simulation.resource.scene.mapper;
 
 import api.common.pojo.param.scene.SystemScenePackageParam;
+import api.common.pojo.po.scene.SystemScenePackageNewPO;
 import api.common.pojo.po.scene.SystemScenePackagePO;
 import api.common.pojo.vo.scene.SystemScenePackageVO;
 import org.apache.ibatis.annotations.Mapper;
@@ -17,7 +18,7 @@ public interface SystemScenePackageMapper {
 
     List<SystemScenePackageVO> querySystemScenePackageList(SystemScenePackageParam params);
     List<SystemScenePackageVO> queryPackageByUserIdList(SystemScenePackageParam params);
-    List<Map> queryPackageList( );
+    Map queryPackageByUserId(SystemScenePackageParam param );
     SystemScenePackagePO querySystemScenePackageById(SystemScenePackageParam params);
     void deleteSystemScenePackage(SystemScenePackagePO po);
     void updateSystemScenePackage(SystemScenePackagePO po);
@@ -25,4 +26,10 @@ public interface SystemScenePackageMapper {
     //首页场景数量
     Integer querySceneNum(String userId);
 
+    //查询名称是否重复
+    String queryScenePackageByPackageName(SystemScenePackageNewPO params);
+
+    //查询勾选场景数量
+    List<Map> querySystemScenePackageListByTJ(SystemScenePackageParam params);
+
 }

+ 3 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SystemUserSceneMapper.java

@@ -24,4 +24,7 @@ public interface SystemUserSceneMapper {
     //场景删除时关联删除关系表
     void deleteSystemUserScene(SystemUserScenePO po);
 
+    //场景删除时关联删除关系表
+    void deleteSystemUserSceneList(List<SystemUserScenePO> list);
+
 }

+ 11 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java

@@ -2,6 +2,7 @@ package com.css.simulation.resource.scene.service;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
+import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.SceneAccidentParam;
 import api.common.pojo.param.scene.SceneImportParam;
@@ -13,23 +14,23 @@ import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.feign.FileDownService;
+import com.css.simulation.resource.log.service.LogService;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import feign.Response;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.fileupload.FileItem;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.Date;
+import java.util.*;
 
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.commons.CommonsMultipartFile;
 
 import javax.annotation.Resource;
 import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
 
 @Slf4j
 @Service
@@ -41,9 +42,9 @@ public class SceneAccidentService {
 
     @Resource
     private FileDownService fileDownService;
-    @Resource
-    private SystemUserSceneService systemUserSceneService;
 
+    @Autowired
+    LogService logService;
     /**
      * 获取交通事故场景数据:
      */
@@ -376,6 +377,11 @@ public class SceneAccidentService {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
         SceneAccidentMapper.deleteSceneAccidentList(params);
+        Map map=new HashMap();
+        map.put("sceneId",params.getAccidentId());
+        map.put("sceneName",params.getSceneName());
+        map.put("type",DictConstants.SCENE_NATURAL);
+        logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
         //systemUserSceneService.deleteSystemUserSceneBySceneId(params.getAccidentId());
     }
 

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

@@ -3,6 +3,7 @@ package com.css.simulation.resource.scene.service;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
+import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.scene.SceneGeneralTemplateParam;
 import api.common.pojo.po.system.SceneImportPO;
 import api.common.pojo.vo.scene.SceneGeneralTemplateMbVO;
@@ -12,6 +13,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.log.service.LogService;
 import com.css.simulation.resource.scene.mapper.SceneGeneralTemplateMapper;
 import api.common.pojo.po.scene.SceneGeneralTemplatePO;
 import com.css.simulation.resource.system.service.DictService;
@@ -38,7 +40,8 @@ public class SceneGeneralTemplateService {
     SceneGeneralTemplateMapper mapper;
     @Autowired
     DictService dictService;
-
+    @Autowired
+    LogService logService;
     /**
      * 泛化模板导入:
      *//*
@@ -301,8 +304,26 @@ public class SceneGeneralTemplateService {
 
 
     public List<SceneGeneralTemplatePO> querySceneGeneralTemplateList(SceneGeneralTemplateParam po) {
-        List<SceneGeneralTemplatePO> list=mapper.querySceneGeneralTemplateList(po);
-     Map<String,String>  scenarioRoadTypeMap= dictService.getDictMapByType("scenarioRoadType");
+        List<SceneGeneralTemplatePO> list=new ArrayList<>();
+        //添加权限
+        String roleCode = AuthUtil.getCurrentUserRoleCode();
+        String userId = AuthUtil.getCurrentUserId();
+        if(DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)){ //管理员账户
+             list=mapper.querySceneGeneralTemplateList(po);
+
+        }else if(DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)){
+            //查询父账户
+            userId = AuthUtil.getCreateUserId();
+            po.setUserId(userId);
+           list=mapper.querySceneGeneralTemplateListByQx(po);
+
+        }else if(DictConstants.ROLE_CODE_UESR.equals(roleCode)){
+            //查询普通账户
+            po.setUserId(userId);
+            list=mapper.querySceneGeneralTemplateListByQx(po);
+        }
+
+        Map<String,String>  scenarioRoadTypeMap= dictService.getDictMapByType("scenarioRoadType");
         Map<String,String>  scenarioWeatherMap= dictService.getDictMapByType("scenarioWeather");
         for (SceneGeneralTemplatePO vo : list) {
             vo.setScenarioRoadType(scenarioRoadTypeMap.get(vo.getScenarioRoadType()));
@@ -385,6 +406,12 @@ public class SceneGeneralTemplateService {
         po.setModifyUserId(AuthUtil.getCurrentUserId());
         po.setModifyTime(TimeUtil.getNowForMysql());
         mapper.deleteSceneGeneralTemplateAll(po);
+
+        Map map=new HashMap();
+        map.put("sceneId",po.getId());
+        map.put("sceneName",po.getSceneId());
+        map.put("type",DictConstants.SCENE_NATURAL);
+        logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
 
 

+ 62 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -2,6 +2,7 @@ package com.css.simulation.resource.scene.service;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
+import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.SceneImportParam;
 import api.common.pojo.param.scene.SceneNaturalNewParam;
@@ -13,6 +14,7 @@ import api.common.util.ParamUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.feign.FileDownService;
+import com.css.simulation.resource.log.service.LogService;
 import com.css.simulation.resource.scene.mapper.SceneNaturalMapper;
 import com.css.simulation.resource.scene.mapper.SystemScenePackageMapper;
 import com.fasterxml.jackson.databind.JsonNode;
@@ -21,6 +23,7 @@ import com.github.pagehelper.util.StringUtil;
 import feign.Response;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -36,7 +39,8 @@ public class SceneNaturalService {
     @Resource
     private SystemScenePackageMapper systemScenePackageMapper;
 
-
+    @Autowired
+    LogService logService;
     @Resource
     private FileDownService fileDownService;
 
@@ -251,6 +255,9 @@ public class SceneNaturalService {
         if (ObjectUtil.isNotNull(params.getIds())) {
             po.setIds(params.getIds());
         }
+        if (ObjectUtil.isNotNull(params.getAllSceneNames())) {
+            po.setAllSceneNames(params.getAllSceneNames());
+        }
         if (ObjectUtil.isNotNull(naturalName)) {
             po.setNaturalName(naturalName);
         }
@@ -306,12 +313,50 @@ public class SceneNaturalService {
         //List<SceneNaturalPO> list = sceneNaturalMapper.querySceneNaturalList(po);
         //只有标签,或下拉框,或者两者都为空
         List<SceneNaturalPO> list=new ArrayList<>();
-        if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
+     /*   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.querySceneNaturalListByBq(map);
         }else{
             list = sceneNaturalMapper.querySceneNaturalListByBqAndXlk(map);
+        }*/
+
+        //添加权限
+        String roleCode = AuthUtil.getCurrentUserRoleCode();
+        String userId = AuthUtil.getCurrentUserId();
+        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.querySceneNaturalListByBq(map);
+            }else{
+                list = sceneNaturalMapper.querySceneNaturalListByBqAndXlk(map);
+            }
+
+        }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"))){
+                list = sceneNaturalMapper.querySceneNaturalListByQx(po);
+            }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)){
+            //查询普通账户
+            po.setUserId(userId);
+            poBq.setUserId(userId);
+            if((po.getXlk().equals("0")&&po.getBq().equals("0"))||(po.getXlk().equals("1")&&po.getBq().equals("0"))){
+                list = sceneNaturalMapper.querySceneNaturalListByQx(po);
+            }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);
@@ -374,7 +419,13 @@ public class SceneNaturalService {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
         sceneNaturalMapper.deleteSceneNatural(params);
-       // systemUserSceneService.deleteSystemUserSceneBySceneId(params.getNaturalId());
+        Map map=new HashMap();
+        map.put("sceneId",params.getNaturalId());
+        map.put("sceneName",params.getNaturalId());
+        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();
@@ -402,6 +453,7 @@ public class SceneNaturalService {
     public SceneImportPO importMiNio(SceneImportParam parms) {
         SceneImportPO sceneImportPO=new  SceneImportPO();
         sceneImportPO.setId(parms.getId());
+        List<String>  listLog=new ArrayList<>();
         try {
             MinioParameter MI = new MinioParameter();
             MI.setObjectName(parms.getMinioDirectory());
@@ -541,6 +593,7 @@ public class SceneNaturalService {
                                 sceneNaturalPO.setModifyUserId(AuthUtil.getCurrentUserId());
                                 sceneNaturalMapper.updateSceneNatural(sceneNaturalPO);
                             }
+                            listLog.add(sceneNaturalPO.getNaturalName());
                             successNum = successNum + 1;
                         } catch (Exception e) {
                             if (ObjectUtil.isNull(errorMessage)) {
@@ -557,6 +610,12 @@ public class SceneNaturalService {
             sceneImportPO.setSuccessNum(successNum);
             sceneImportPO.setFalseNum(falseNum);
             sceneImportPO.setErrorMessage(errorMessage);
+
+            //记录日志
+            Map map=new HashMap();
+            map.put("sceneName",listLog);
+            map.put("type",DictConstants.SCENE_NATURAL);
+            logService.logSceneUpload(LogConstants.SYS_LOG_SCENE_DELETE, map);
             return sceneImportPO;
         }catch (Exception e){
             sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);

+ 3 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java

@@ -90,6 +90,9 @@ public class ScenePackageService {
     //查询测试包主表列表
     @SneakyThrows
     public List<ScenePackagePO> queryScenePackageList(ScenePackageParam params) {
+        if (params != null && params.getShare() != null && params.getShare().equals("0")) {
+            params.setCreateUserId(AuthUtil.getCurrentUserId());
+        }
         List<ScenePackagePO> list = scenePackageMapper.queryScenePackageList(params);
         return list;
     }

+ 46 - 6
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java

@@ -2,6 +2,7 @@ package com.css.simulation.resource.scene.service;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
+import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.SceneImportParam;
 import api.common.pojo.param.scene.StandardsRegulationsParam;
@@ -12,16 +13,20 @@ import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.feign.FileDownService;
+import com.css.simulation.resource.log.service.LogService;
 import com.css.simulation.resource.scene.mapper.StandardsRegulationsMapper;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import feign.Response;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @Service
@@ -32,8 +37,8 @@ public class StandardsRegulationsService {
 
     @Resource
     private FileDownService fileDownService;
-    @Resource
-    private SystemUserSceneService systemUserSceneService;
+    @Autowired
+    LogService logService;
     /**
      * 获取标准法规场景数据:
      */
@@ -109,15 +114,44 @@ public class StandardsRegulationsService {
         }
         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"))){
+
+        /*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")){
+        }*//*else if(params.getXlk().equals("1")&&params.getBq().equals("0")){
             list =  standardsRegulationsMapper.queryStandardsRegulationsList(params);
-        }*/else if(params.getXlk().equals("0")&&params.getBq().equals("1")){
+        }*//*else if(params.getXlk().equals("0")&&params.getBq().equals("1")){
             list =  standardsRegulationsMapper.queryStandardsRegulationsListByBq(params);
-        }
+        }*/
+
+        //添加权限
+        String roleCode = AuthUtil.getCurrentUserRoleCode();
+        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);
+            }
 
+        }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"))){
+                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"))){
+                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();
@@ -147,6 +181,12 @@ public class StandardsRegulationsService {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
         standardsRegulationsMapper.deleteStandardsRegulations(params);
+
+        Map map=new HashMap();
+        map.put("sceneId",params.getRegulationsId());
+        map.put("sceneName",params.getSceneName());
+        map.put("type",DictConstants.SCENE_NATURAL);
+        logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
        // systemUserSceneService.deleteSystemUserSceneBySceneId(params.getRegulationsId());
     }
 

+ 104 - 31
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SystemScenePackageService.java

@@ -1,7 +1,10 @@
 package com.css.simulation.resource.scene.service;
 
+import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.scene.ScoringRulesParam;
 import api.common.pojo.param.scene.SystemScenePackageParam;
+import api.common.pojo.param.scene.SystemUserSceneParam;
 import api.common.pojo.po.scene.*;
 import api.common.pojo.vo.scene.PackageVO;
 import api.common.pojo.vo.scene.SystemScenePackageVO;
@@ -11,14 +14,17 @@ 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.log.service.LogService;
 import com.css.simulation.resource.scene.mapper.ScoringRulesMapper;
 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.github.pagehelper.PageInfo;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -36,14 +42,20 @@ public class SystemScenePackageService {
     private SystemScenePackageSublistMapper systemScenePackageSublistMapper;
     @Resource
     private SystemUserSceneMapper systemUserSceneMapper;
-
+    @Autowired
+    LogService logService;
     /**
      * 场景包录入
      */
     @SneakyThrows
-    public void saveSystemScenePackage(SystemScenePackageNewPO params) {
+    public ResponseBodyVO<String>  saveSystemScenePackage(SystemScenePackageNewPO params) {
 
         SystemScenePackagePO  po=new SystemScenePackagePO();
+        //场景包名称不允许重复
+      String packageId=  systemScenePackageMapper.queryScenePackageByPackageName(params);
+      if(ObjectUtil.isNull(packageId)){
+          return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景包名称已存在,请检查");
+      }
         po.setPackageName(params.getPackageName());
         po.setSceneDescribe(params.getSceneDescribe());
         String packId=StringUtil.getRandomUUID();
@@ -125,6 +137,11 @@ public class SystemScenePackageService {
             systemScenePackageSublistMapper.saveSystemScenePackageSublist(fhList);
         }
         systemScenePackageMapper.saveSystemScenePackage(po);
+
+        //记录场景包新增
+        logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_INSERT, po);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
     //场景包列表
     @SneakyThrows
@@ -132,7 +149,7 @@ public class SystemScenePackageService {
         List<SystemScenePackageVO> list = systemScenePackageMapper.querySystemScenePackageList(params);
         return list;
     }
-    //编辑场景包
+    //
     @SneakyThrows
     public SystemScenePackageNewPO querySystemScenePackageById(SystemScenePackageParam params) {
         SystemScenePackageNewPO newPo=new SystemScenePackageNewPO();
@@ -152,11 +169,20 @@ public class SystemScenePackageService {
         newPo.setBzSceneNames(bzList);
         newPo.setJtSceneNames(jtList);
         newPo.setFhSceneNames(fhList);
+
+        //场景包多少用户
+        List<UserSceneVO> userIds=systemUserSceneMapper.queryUserByPackageId(params.getId());
+        newPo.setUserIds(userIds);
         return newPo;
     }
     //编辑场景包
     @SneakyThrows
-    public void updateSystemScenePackage(SystemScenePackageNewPO params) {
+    public ResponseBodyVO<String>  updateSystemScenePackage(SystemScenePackageNewPO params) {
+        //场景包名称不允许重复
+        String packageId=  systemScenePackageMapper.queryScenePackageByPackageName(params);
+        if(ObjectUtil.isNull(packageId)){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景包名称已存在,请检查");
+        }
         SystemScenePackagePO  po=new SystemScenePackagePO();
         po.setPackageName(params.getPackageName());
         po.setSceneDescribe(params.getSceneDescribe());
@@ -182,6 +208,7 @@ public class SystemScenePackageService {
                 zrPo.setCreateTime(TimeUtil.getNowForMysql());
                 zrPo.setModifyTime(TimeUtil.getNowForMysql());
                 zrPo.setCreateUserId(AuthUtil.getCurrentUserId());
+                zrPo.setIsDeleted("0");
                 zrList.add(zrPo);
             }
             systemScenePackageSublistMapper.saveSystemScenePackageSublist(zrList);
@@ -194,6 +221,7 @@ public class SystemScenePackageService {
                 SystemScenePackageSublistPO bzPo=new SystemScenePackageSublistPO();
                 bzPo.setSublistId(StringUtil.getRandomUUID());
                 bzPo.setSceneType("2");
+                bzPo.setIsDeleted("0");
                 bzPo.setSceneName(id);
                 bzPo.setSceneAndPackage(packId);
                 bzPo.setCreateTime(TimeUtil.getNowForMysql());
@@ -211,6 +239,7 @@ public class SystemScenePackageService {
                 SystemScenePackageSublistPO jtPo=new SystemScenePackageSublistPO();
                 jtPo.setSublistId(StringUtil.getRandomUUID());
                 jtPo.setSceneType("3");
+                jtPo.setIsDeleted("0");
                 jtPo.setSceneName(id);
                 jtPo.setSceneAndPackage(packId);
                 jtPo.setCreateTime(TimeUtil.getNowForMysql());
@@ -224,10 +253,11 @@ public class SystemScenePackageService {
         List<String> fhIds=params.getFhSceneNames();
         if(ObjectUtil.isNotNull(fhIds)){
             List<SystemScenePackageSublistPO> fhList=new ArrayList<>();
-            for (String id:zrIds) {
+            for (String id:fhIds) {
                 SystemScenePackageSublistPO fhPo=new SystemScenePackageSublistPO();
                 fhPo.setSublistId(StringUtil.getRandomUUID());
                 fhPo.setSceneType("4");
+                fhPo.setIsDeleted("0");
                 fhPo.setSceneName(id);
                 fhPo.setSceneAndPackage(packId);
                 fhPo.setCreateTime(TimeUtil.getNowForMysql());
@@ -241,6 +271,11 @@ public class SystemScenePackageService {
         po.setModifyTime(TimeUtil.getNowForMysql());
         po.setModifyUserId(AuthUtil.getCurrentUserId());
         systemScenePackageMapper.updateSystemScenePackage(po);
+
+        //记录场景包修改
+        logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_UPDATE, po);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
     //删除场景包
     @SneakyThrows
@@ -249,6 +284,17 @@ public class SystemScenePackageService {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
         systemScenePackageMapper.deleteSystemScenePackage(params);
+        SystemUserScenePO po=new SystemUserScenePO();
+        po.setPackageId(params.getId());
+        po.setIsDeleted("1");
+        po.setModifyTime(TimeUtil.getNowForMysql());
+        po.setModifyUserId(AuthUtil.getCurrentUserId());
+        systemUserSceneMapper.deleteSystemUserScene(po);
+        //记录场景包删除
+        logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_DELETE, params);
+
+
+
     }
     //根据场景包查询配置账号
     @SneakyThrows
@@ -262,10 +308,10 @@ public class SystemScenePackageService {
 
     //根据场景包添加配置账号
     @SneakyThrows
-    public void saveUserByPackageId(SystemUserSceneVO params) {
-        List<UserSceneVO> listVo=params.getUserIds();
+    public void saveUserByPackageId(SystemUserSceneParam params) {
+        List<UserSceneVO> userIds=params.getUserIds();
         List<SystemUserScenePO>  list=new ArrayList<>();
-        for (UserSceneVO vo:listVo){
+        for (UserSceneVO userScene:userIds){
             SystemUserScenePO po=new SystemUserScenePO();
             po.setPackageId(params.getPackageId());
             po.setId(StringUtil.getRandomUUID());
@@ -273,43 +319,63 @@ public class SystemScenePackageService {
             po.setModifyTime(TimeUtil.getNowForMysql());
             po.setCreateUserId(AuthUtil.getCurrentUserId());
             po.setIsDeleted("0");
-            po.setUserId(vo.getUserId());
+            po.setUserId(userScene.getUserId());
             list.add(po);
         }
         systemUserSceneMapper.saveSystemUserScene(list);
+
+        //记录场景包
+       logService.logSystemUserSceneByPackageId(LogConstants.SYS_LOG_PACKAGE_GRANT_INSERT, params);
     }
     //根据场景包删除配置账号
     @SneakyThrows
-    public void deleteUserByPackageId(SystemUserSceneVO params) {
-        List<UserSceneVO> listVo=params.getUserIds();
-        for (UserSceneVO vo:listVo){
+    public void deleteUserByPackageId(SystemUserSceneParam params) {
+        List<UserSceneVO> userIds=params.getUserIds();
+        for (UserSceneVO userScene:userIds){
             SystemUserScenePO po=new SystemUserScenePO();
             po.setPackageId(params.getPackageId());
             po.setModifyTime(TimeUtil.getNowForMysql());
             po.setModifyUserId(AuthUtil.getCurrentUserId());
-            po.setIsDeleted("0");
-            po.setUserId(vo.getUserId());
+            po.setIsDeleted("1");
+            po.setUserId(userScene.getUserId());
             systemUserSceneMapper.deleteSystemUserScene(po);
-
         }
+       // systemUserSceneMapper.deleteSystemUserSceneList(list);
+        //记录场景包删除
+        logService.logSystemUserSceneByPackageId(LogConstants.SYS_LOG_PACKAGE_GRANT_DELETE, params);
     }
 
-    //场景分配时场景包的列表
+    //人员表查询测试包详情
     @SneakyThrows
-    public  List<Map> queryPackageList( ) {
-        List<Map> list=systemScenePackageMapper.queryPackageList();
-        return list;
+    public  Map queryPackageByUserId(SystemScenePackageParam param ) {
+       Map map=systemScenePackageMapper.queryPackageByUserId(param);
+       if(ObjectUtil.isNotNull(map.get("packageNames"))){
+           String ids=map.get("packageNames").toString();
+           if(ObjectUtil.isNotNull(ids)){
+               String[] idss=ids.split(",");
+               map.put("packageNames",idss);
+           }
+       }
+
+        return map;
     }
 
 
     //根据配置账号添加场景包
     @SneakyThrows
-    public void savePackageByUserId(SystemUserSceneVO params) {
-        List<PackageVO> listVo=params.getPackageList();
+    public void savePackageByUserId(SystemUserSceneParam params) {
+        //先删除后添加
+        deletePackageByUserId(params);
+
+        List<String> packageNames=params.getPackageNames();
         List<SystemUserScenePO>  list=new ArrayList<>();
-        for (PackageVO vo:listVo){
+        SystemScenePackageNewPO systemScenePackageNewPO=new SystemScenePackageNewPO();
+        for (String packageName:packageNames){
+            //场景包名称不允许重复
+            systemScenePackageNewPO.setPackageName(packageName);
+            String packageId=  systemScenePackageMapper.queryScenePackageByPackageName(systemScenePackageNewPO);
             SystemUserScenePO po=new SystemUserScenePO();
-            po.setPackageId(vo.getPackageId());
+            po.setPackageId(packageId);
             po.setId(StringUtil.getRandomUUID());
             po.setCreateTime(TimeUtil.getNowForMysql());
             po.setModifyTime(TimeUtil.getNowForMysql());
@@ -319,22 +385,21 @@ public class SystemScenePackageService {
             list.add(po);
         }
         systemUserSceneMapper.saveSystemUserScene(list);
+
+        //记录场景包
+        logService.logSystemUserSceneByPackageId(LogConstants.SYS_LOG_PACKAGE_GRANT_INSERT, params);
     }
 
-    //根据场景包删除配置账号
+    //根据人员删除配置账号
     @SneakyThrows
-    public void deletePackageByUserId(SystemUserSceneVO params) {
-        List<PackageVO> listVo=params.getPackageList();
-        for (PackageVO vo:listVo){
+    public void deletePackageByUserId(SystemUserSceneParam params) {
+
             SystemUserScenePO po=new SystemUserScenePO();
-            po.setPackageId(vo.getPackageId());
             po.setModifyTime(TimeUtil.getNowForMysql());
             po.setModifyUserId(AuthUtil.getCurrentUserId());
-            po.setIsDeleted("0");
+            po.setIsDeleted("1");
             po.setUserId(params.getUserId());
             systemUserSceneMapper.deleteSystemUserScene(po);
-
-        }
     }
 
     //配置人员场景包列表
@@ -343,4 +408,12 @@ public class SystemScenePackageService {
         List<SystemScenePackageVO> list = systemScenePackageMapper.queryPackageByUserIdList(params);
         return list;
     }
+
+
+    //查询勾选场景数量
+    @SneakyThrows
+    public ResponseBodyVO<List<Map>> querySystemScenePackageListByTJ(SystemScenePackageParam params) {
+        List<Map> list = systemScenePackageMapper.querySystemScenePackageListByTJ(params);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
+    }
 }

+ 21 - 0
simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml

@@ -102,6 +102,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and scene_name in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
          <if test="bq != null and bq.equals(1)">
             union
@@ -240,6 +247,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and scene_name in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             <if test="AllIds != null and AllIds.size()>0">
                 and accident_id in
                 <foreach collection="AllIds" item="item" index="index"
@@ -378,6 +392,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and scene_name in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         <if test="bq != null and bq.equals(1)">
             union

+ 15 - 1
simulation-resource-server/src/main/resources/mapper/scene/SceneGeneralTemplateMapper.xml

@@ -70,6 +70,13 @@
             <if test="version != null and version != ''">
                 and version= #{version}
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and scene_id in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         order by modify_time desc
         </where>
     </select>
@@ -155,7 +162,7 @@
         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='2' 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') dd
         <where>
             is_deleted = '0'
             <if test="id != null and id != ''">
@@ -184,6 +191,13 @@
             <if test="version != null and version != ''">
                 and version= #{version}
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and scene_id in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             order by modify_time desc
         </where>
     </select>

+ 57 - 3
simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml

@@ -345,6 +345,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and natural_name in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             <if test="AllIds != null and AllIds.size()>0">
                 and natural_id in
                 <foreach collection="AllIds" item="item" index="index"
@@ -690,6 +697,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="po.allSceneNames != null and po.allSceneNames.length>0">
+                and natural_name in
+                <foreach collection="po.allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         union
         select
@@ -968,11 +982,18 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="poBq.allSceneNames != null and poBq.allSceneNames.length>0">
+                or natural_name in
+                <foreach collection="poBq.allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         )a where
         a.is_deleted = '0'
         <if test="poBq.AllIds != null and poBq.AllIds.size()>0">
-            and a.natural_id in
+            or a.natural_id in
             <foreach collection="poBq.AllIds" item="item" index="index"
                      separator="," open="(" close=")">
                 #{item}
@@ -1270,7 +1291,13 @@
                     #{item}
                 </foreach>
             </if>
-
+            <if test="poBq.allSceneNames != null and poBq.allSceneNames.length>0">
+                or natural_name in
+                <foreach collection="poBq.allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             ) a
             where
              a.is_deleted = '0'
@@ -1612,6 +1639,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and natural_name in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             <if test="AllIds != null and AllIds.size()>0">
                 and natural_id in
                 <foreach collection="AllIds" item="item" index="index"
@@ -1917,6 +1951,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="po.allSceneNames != null and po.allSceneNames.length>0">
+                and natural_name in
+                <foreach collection="po.allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         union
         select
@@ -2199,6 +2240,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="poBq.allSceneNames != null and poBq.allSceneNames.length>0">
+                or natural_name in
+                <foreach collection="poBq.allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         )a where
         a.is_deleted = '0'
@@ -2505,7 +2553,13 @@
                     #{item}
                 </foreach>
             </if>
-
+            <if test="poBq.allSceneNames != null and poBq.allSceneNames.length>0">
+                or natural_name in
+                <foreach collection="poBq.allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             ) a
             where
             a.is_deleted = '0'

+ 14 - 0
simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml

@@ -64,6 +64,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and scene_name in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             <if test="AllIds != null and AllIds.size()>0">
                 and regulations_id in
                 <foreach collection="AllIds" item="item" index="index"
@@ -196,6 +203,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="allSceneNames != null and allSceneNames.length>0">
+                and scene_name in
+                <foreach collection="allSceneNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             <if test="AllIds != null and AllIds.size()>0">
                 and regulations_id in
                 <foreach collection="AllIds" item="item" index="index"

+ 77 - 23
simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageMapper.xml

@@ -40,40 +40,41 @@
         ) t
         JOIN system_scene_package_sublist s on t.id = s.scene_and_package
         <where>
-            s.is_deleted='0'
+            s.is_deleted='0' and t.is_deleted='0'
             <if test="packageName != null and packageName != ''">
                 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
             </if>
+            <if test="packageNames != null and packageNames.length>0">
+                and t.package_name in
+                <foreach collection="packageNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         GROUP BY t.id   order by create_time desc
     </select>
 
     <select id="queryPackageByUserIdList" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
             resultType="api.common.pojo.vo.scene.SystemScenePackageVO">
-        SELECT
-        s.user_id,
-        u.username user_name,
-        s.package_id,
-        s.modify_time,
-        GROUP_CONCAT(p.package_name) as package_name
-        FROM
-        system_user_scene s
-        JOIN system_scene_package p on s.package_id = p.id AND p.is_deleted = '0'
-        JOIN system_user u ON s.user_id = u.id AND u.is_deleted = '0'
+        select a.*,GROUP_CONCAT(DISTINCT(p.package_name)) as package_name from (select u.id user_id,u.is_deleted  ,username userName, company,s.package_id,s.modify_time
+        from system_user  u left join system_user_scene s
+        on u.id=s.user_id and u.is_deleted = '0' and s.is_deleted = '0') a
+        left join system_scene_package p on a.package_id = p.id AND p.is_deleted = '0'
         <where>
-            s.is_deleted='0'
+            a.is_deleted='0'
             <if test="userName != null and userName != ''">
-                and u.username like CONCAT('%',#{userName,jdbcType=VARCHAR},'%')
+                and a.userName =#{userName,jdbcType=VARCHAR}
             </if>
             <if test="yearMax != null and yearMax != ''">
-                and #{yearMax,jdbcType=VARCHAR} &gt; s.modify_time and #{yearMin,jdbcType=VARCHAR} &lt; s.modify_time
+                and #{yearMax,jdbcType=VARCHAR} &gt; a.modify_time and #{yearMin,jdbcType=VARCHAR} &lt; a.modify_time
             </if>
         </where>
-        GROUP BY s.user_id
-        ORDER BY s.modify_time DESC
+        GROUP BY a.user_id
+        ORDER BY a.modify_time DESC
     </select>
     <select id="querySystemScenePackageById" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
             resultType="api.common.pojo.po.scene.SystemScenePackagePO">
@@ -85,10 +86,20 @@
 
     </select>
 
-    <select id="queryPackageList" resultType="java.util.Map">
-        select id,package_name packageName
-        from system_scene_package
-        where  is_deleted='0'
+    <select id="queryPackageByUserId" parameterType="api.common.pojo.param.scene.SystemScenePackageParam" resultType="java.util.Map">
+        select a.userName,a.company,a.modify_time modifyTime,a.user_id userId,GROUP_CONCAT(DISTINCT(p.package_name)) as packageNames from (select u.id user_id,username userName, company,s.package_id,s.modify_time
+        from system_user  u left join system_user_scene s
+        on u.id=s.user_id and u.is_deleted = '0' and s.is_deleted = '0') a
+        left join system_scene_package p on a.package_id = p.id AND p.is_deleted = '0'
+        <where>
+                    1=1
+            <if test="userName != null and userName != ''">
+                and a.userName=#{userName}
+            </if>
+        </where>
+        GROUP BY a.user_id
+        ORDER BY a.modify_time DESC
+
     </select>
 
     <update id="deleteSystemScenePackage" parameterType="api.common.pojo.po.scene.SystemScenePackagePO">
@@ -118,9 +129,52 @@
 
     <select id="querySceneNum" parameterType="java.lang.String"
             resultType="java.lang.Integer">
-    select count(scene_name) from system_user_scene a left join system_scene_package b on a.package_id=b.id and b.is_deleted='0'
-    join system_scene_package_sublist c on b.id=c.scene_and_package and c.is_deleted='0'
-        where  a.user_id =#{userId} group by scene_name
+           SELECT
+            COUNT(DISTINCT c.scene_name)
+        FROM
+            system_user_scene a
+        LEFT JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
+        JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
+        WHERE a.is_deleted = '0' and a.user_id =#{userId}
+
+    </select>
+
+
+    <select id="queryScenePackageByPackageName" parameterType="api.common.pojo.po.scene.SystemScenePackageNewPO"
+            resultType="java.lang.String">
+        select
+            id
+        from system_scene_package
+        <where>
+            is_deleted = '0'
+            <if test="packageName != null and packageName != ''">
+                and package_name=#{packageName}
+            </if>
+            <if test="id != null and id != ''">
+                and id!=#{id}
+            </if>
+        </where>
 
     </select>
+
+    <select id="querySystemScenePackageListByTJ" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
+            resultType="java.util.Map">
+        SELECT
+        c.scene_type, COUNT(DISTINCT c.scene_name  ) aaa
+        FROM
+        system_user_scene a
+        LEFT JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
+        JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
+        <where>
+           a.is_deleted='0'
+            <if test="packageNames != null and packageNames.length>0">
+                and b.package_name in
+                <foreach collection="packageNames" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        group by c.scene_type
+    </select>
 </mapper>

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

@@ -37,8 +37,8 @@
         </set>
         where
         is_deleted='0'
-        <if test="id != null and id != ''">
-            and id=#{id}
+        <if test="sublistId != null and sublistId != ''">
+            and sublist_id=#{sublistId}
         </if>
         <if test="sceneAndPackage != null and sceneAndPackage != ''">
             and scene_and_package=#{sceneAndPackage}

+ 15 - 4
simulation-resource-server/src/main/resources/mapper/scene/SystemUserSceneMapper.xml

@@ -47,7 +47,7 @@
     </select>
     <select id="queryUserByPackageId" parameterType="java.lang.String"
             resultType="api.common.pojo.vo.scene.UserSceneVO">
-        select a.id,a.user_id,b.username userName from simulation.system_user_scene a left join system_user b on a.user_id=b.id
+        select a.user_id userId,b.username userName from simulation.system_user_scene a left join system_user b on a.user_id=b.id
         <where>
             a.is_deleted = '0' and b.is_deleted = '0'
             <if test="packageId != null and packageId != ''">
@@ -59,9 +59,9 @@
 
     <update id="deleteSystemUserScene" parameterType="api.common.pojo.po.scene.SystemUserScenePO">
         update simulation.system_user_scene
-        set
+        <set>
         <if test="isDeleted != null and isDeleted!=''">
-            is_deleted = #{isDeleted,jdbcType=VARCHAR},
+            is_deleted = #{isDeleted},
         </if>
         <if test="modifyUserId != null and modifyUserId!=''">
             modify_user_id = #{modifyUserId,jdbcType=VARCHAR},
@@ -69,6 +69,7 @@
         <if test="modifyTime != null">
             modify_time = #{modifyTime},
         </if>
+        </set>
         <where>
            is_deleted = '0'
             <if test="packageId != null and packageId != ''">
@@ -80,5 +81,15 @@
         </where>
     </update>
 
-
+    <update id="deleteSystemUserSceneList" parameterType="java.util.List">
+        <foreach collection="list" index="index" item="item" separator=";">
+            update simulation.system_user_scene
+            set modify_time=#{item.modifyTime},
+            modify_user_id=#{item.modifyUserId},
+            is_deleted = #{item.isDeleted}
+            where is_deleted = '0'
+            and package_id = #{item.packageId}
+            and user_id = #{item.userId}
+        </foreach>
+    </update>
 </mapper>