Переглянути джерело

Merge remote-tracking branch 'origin/master'

martin 2 роки тому
батько
коміт
2af1ec9db4
33 змінених файлів з 819 додано та 210 видалено
  1. 10 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. 27 0
      api-common/src/main/java/api/common/pojo/param/scene/SystemUserSceneParam.java
  9. 3 4
      api-common/src/main/java/api/common/pojo/param/system/SceneImportPageParam.java
  10. 2 0
      api-common/src/main/java/api/common/pojo/po/scene/SystemScenePackageNewPO.java
  11. 109 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/log/service/LogService.java
  12. 47 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneGeneralTemplateController.java
  13. 27 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java
  14. 4 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScoringRulesController.java
  15. 30 19
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SystemScenePackageController.java
  16. 8 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SystemScenePackageMapper.java
  17. 3 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SystemUserSceneMapper.java
  18. 27 12
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java
  19. 31 81
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneGeneralTemplateService.java
  20. 64 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  21. 8 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java
  22. 4 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScoringRulesService.java
  23. 55 6
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java
  24. 117 32
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SystemScenePackageService.java
  25. 2 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/ParameterService.java
  26. 21 0
      simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml
  27. 15 1
      simulation-resource-server/src/main/resources/mapper/scene/SceneGeneralTemplateMapper.xml
  28. 57 3
      simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml
  29. 14 0
      simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml
  30. 77 23
      simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageMapper.xml
  31. 2 2
      simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageSublistMapper.xml
  32. 15 4
      simulation-resource-server/src/main/resources/mapper/scene/SystemUserSceneMapper.xml
  33. 6 6
      simulation-resource-server/src/main/resources/mapper/system/SceneImportMapper.xml

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

@@ -38,8 +38,17 @@ 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_DISTRIBUTION = "0704";//场景包管理-分配场景包
+    public static final String SYS_LOG_PACKAGE_DISTRIBUTION_DELETE = "0705";//场景包管理-分配场景包移除人员
     public static final String SYS_LOG_PACKAGE_GRANT = "08";//场景包分配
+    public static final String SYS_LOG_PACKAGE_GRANT_INSERT = "0801";//场景包分配-分配
+
 
 }

+ 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;
 }

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

@@ -0,0 +1,27 @@
+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 userName;//人分配包时用
+    private String type;
+}

+ 3 - 4
api-common/src/main/java/api/common/pojo/param/system/SceneImportPageParam.java

@@ -12,10 +12,9 @@ public class SceneImportPageParam extends PageVO {
     //任务名称
     private String name;
     //开始时间
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Timestamp timeBegin;
+
+    private String timeBegin;
     //结束时间
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Timestamp timeEnd;
+    private String  timeEnd;
 
 }

+ 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;//用户集合
 }

+ 109 - 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,107 @@ public class LogService {
         po.setOperationType(operationType);
         return po;
     }
-}
+
+
+    /**
+     * 记录场景包模块日志
+     */
+    public void logScenePackage(String operationType, SystemScenePackagePO systemScenePackagePO,Map map) {
+            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 = "删除场景包:"+systemScenePackagePO.getPackageName()+"(ID:"+systemScenePackagePO.getId()+")";
+                }else if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_UPDATE)){
+                    content = "编辑场景包:"+systemScenePackagePO.getPackageName()+"(ID:"+systemScenePackagePO.getId()+")";
+                }else if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_INSERT)){
+                    content = "创建场景包:"+systemScenePackagePO.getPackageName()+"(ID:"+systemScenePackagePO.getId()+")";
+                }else if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_DISTRIBUTION)){
+                    SystemUserSceneParam params=(SystemUserSceneParam)map.get("params");
+                   List<UserSceneVO> userIds= params.getUserIds();
+                   String userCount=null;
+                    for (UserSceneVO vo:userIds) {
+                        if (ObjectUtil.isNull(userCount)){
+                            userCount= vo.getUserName() +"(ID:"+vo.getUserId()+")";
+                        }else{
+                            userCount= userCount+"、"+vo.getUserName() +"(ID:"+vo.getUserId()+")";
+                        }
+
+                    }
+                    userCount=userCount+")";
+                    content = "分配场景包:"+params.getPackageName()+"(ID:"+params.getPackageId()+")给用户:"+userCount;
+                }else if(operationType.equals(LogConstants.SYS_LOG_PACKAGE_DISTRIBUTION_DELETE)){
+                    SystemUserSceneParam params=(SystemUserSceneParam)map.get("params");
+                    List<UserSceneVO> userIds= params.getUserIds();
+                    String userCount=null;
+                    for (UserSceneVO vo:userIds) {
+                        if (ObjectUtil.isNull(userCount)){
+                            userCount= vo.getUserName() +"(ID:"+vo.getUserId()+")";
+                        }else{
+                            userCount= userCount+"、"+vo.getUserName() +"(ID:"+vo.getUserId()+")";
+                        }
+
+                    }
+                    userCount=userCount+")";
+                    content = "分配场景包:"+params.getPackageName()+"(ID:"+params.getPackageId()+")时移除用户:"+userCount;
+                }
+                System.out.println("记录场景包模块日志:---"+content);
+                po.setContent(content);
+                logMapper.insertSystemLog(po);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }
+    /**
+     * 记录场景包分配模块日志
+     */
+    public void logSystemUserSceneByPackageId(String operationType, SystemUserSceneParam param,String packageCount) {
+        try {
+            LogSystemPO po = getLogSystemPO(LogConstants.SYS_LOG_PACKAGE_GRANT, operationType);
+            /*//获取当前登录人姓名
+            String userName= AuthUtil.getCurrentUsername();*/
+            String content=null;
+            content = param.getUserName()+"(ID"+param.getUserId()+")"+"分配场景包:"+packageCount;
+
+            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 = "删除"+mapType.get(map.get("type"))+":"+map.get("sceneName")+"(ID:"+map.get("sceneId")+")" ;
+            po.setContent(content);
+            logMapper.insertSystemLog(po);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 记录场景上传模块日志
+     */
+    public void logSceneUpload(String operationType, String content) {
+        try {
+            LogSystemPO po = getLogSystemPO(LogConstants.SYS_LOG_SCENE_TASK, operationType);
+            //获取当前登录人姓名
+            po.setContent(content);
+            logMapper.insertSystemLog(po);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+    }

+ 47 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneGeneralTemplateController.java

@@ -2,6 +2,7 @@ package com.css.simulation.resource.scene.ctrl;
 
 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.scene.SceneGeneralDataPO;
 import api.common.pojo.po.scene.SceneGeneralExamplePO;
@@ -24,6 +25,7 @@ import org.apache.http.client.config.RequestConfig;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.Field;
@@ -218,4 +220,49 @@ public class SceneGeneralTemplateController {
         return map;
     }
 
+
+    //新增泛化模板
+    @PostMapping("/saveSceneGeneralTemplateAll")
+    @ResponseBody
+    public ResponseBodyVO<String> saveSceneGeneralTemplateAll(@RequestParam("file") MultipartFile multipartFile, HttpServletRequest request) {
+
+        SceneImportPO sceneImportPO=new SceneImportPO();
+        //获取文件类型
+        String taskName = request.getParameter("taskName");
+        sceneImportPO.setName(taskName);
+        sceneImportPO.setSceneType("4");
+        SceneImportPO  sceneImportPO1=sceneImportService.saveTask(sceneImportPO);
+        sceneImportPO1.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
+        sceneImportService.updateStatus(sceneImportPO1);
+        File file = null;
+        String originalFilename = multipartFile.getOriginalFilename();
+        if (originalFilename.indexOf(".xls") == -1 && originalFilename.indexOf(".xlsx") == -1) {
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "文件格式错误,请检查模板.");
+
+        }
+        //版本号
+        String version = TimeUtil.getToStringDate(new Date(), 5);
+        try {
+            ResponseBodyVO<String> respon;
+            // Integer nowTime = TimeUtil.getRq(new Date(), 0);
+            String fileName = "泛化场景/" + version + "/" + originalFilename;
+            respon = fileDownService.upload(multipartFile, fileName);
+
+            String[] filename = originalFilename.split("\\.");
+            file = File.createTempFile(filename[0], filename[1]);
+            multipartFile.transferTo(file);
+            file.deleteOnExit();
+        } catch (IOException e) {
+            e.printStackTrace();
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "模板解析失败,请检查模板.");
+
+        }
+
+        sceneGeneralTemplateService.saveSceneGeneralTemplateNew(file, version,sceneImportPO);
+       sceneImportService.updateInfo(sceneImportPO);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+
+    }
+
+
 }

+ 27 - 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,27 @@ 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.security.access.prepost.PreAuthorize;
 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")
@@ -81,6 +88,7 @@ public class ScenePackageController {
 
     //测试包分享
     @PostMapping("/instShareList")
+    @PreAuthorize("@AuthorityCheck.admin()")
     @ResponseBody
     public ResponseBodyVO<String> instShareList(@RequestBody ScenePackageParam parms) {
         if (ObjectUtil.isNull(parms.getPackageId())) {
@@ -107,4 +115,22 @@ 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);
+        Integer creatNum=0;
+        if(ObjectUtil.isNotNull(list)){
+            creatNum=list.size();
+        }
+        map.put("creatNum",creatNum);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS,map);
+    }
 }

+ 4 - 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;
@@ -10,6 +11,7 @@ import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.scene.service.ScoringRulesService;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.BeanUtils;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -18,7 +20,7 @@ import java.util.List;
 
 //打分规则
 @RestController
-@RequestMapping("/ScoringRules")
+@RequestMapping(value ="/ScoringRules" ,name = LogConstants.MODULE_SCORING)
 public class ScoringRulesController {
 
     @Resource
@@ -74,7 +76,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已存在,请重新命名");
@@ -89,6 +90,7 @@ public class ScoringRulesController {
 
     //分享
     @PostMapping("/fxScoringRules")
+    @PreAuthorize("@AuthorityCheck.admin()")
     @ResponseBody
     public ResponseBodyVO<String> fxScoringRules(@RequestBody ScoringRulesParam params) {
         if (ObjectUtil.isNull(params.getRulesId())) {
@@ -120,7 +122,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);
+
 }

+ 27 - 12
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,24 @@ 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.system.service.DictService;
 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 +43,11 @@ public class SceneAccidentService {
 
     @Resource
     private FileDownService fileDownService;
-    @Resource
-    private SystemUserSceneService systemUserSceneService;
 
+    @Autowired
+    LogService logService;
+    @Autowired
+    DictService dictService;
     /**
      * 获取交通事故场景数据:
      */
@@ -114,9 +118,9 @@ public class SceneAccidentService {
 
     }
 
-    /**
+  /*  *//**
      * 获取交通事故场景数据:
-     */
+     *//*
     @SneakyThrows
     public void testCS(SceneAccidentParam param) {
         //1 获取所有目录下所有场景
@@ -184,7 +188,7 @@ public class SceneAccidentService {
             log.error("标准法规场景" + fileName + " 解析出错:", e);
         }
     }
-
+*/
     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)) {
@@ -376,12 +380,17 @@ 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_ACCIDENT);
+        logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
         //systemUserSceneService.deleteSystemUserSceneBySceneId(params.getAccidentId());
     }
 
     /*
      * 获取交通事故场景数据:
-     */
+     *//*
     @SneakyThrows
     public ResponseBodyVO<String> saveAll(SceneAccidentParam param) {
         //1 获取所有目录下所有场景
@@ -410,9 +419,9 @@ public class SceneAccidentService {
                     // File pdfFile = new File(dataUrl);
                     fileName = scene.getName();
                     //文件上传测试1  遍历拿到的文件scene
-                   /* FileInputStream inputStream = new FileInputStream(scene);
+                   *//* FileInputStream inputStream = new FileInputStream(scene);
                     MultipartFile multipartFile = new MockMultipartFile("file", fileName, "text/plain", IOUtils.toByteArray(inputStream));
-                 */
+                 *//*
                     FileItem fileItem = XmlParse.createFileItem(scene.getPath(), scene.getName());
                     MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
                     fileItem.delete();
@@ -492,7 +501,7 @@ public class SceneAccidentService {
         }
 
     }
-
+*/
     /*
      * 获取交通事故场景数据:最新的自己获取路径
      */
@@ -752,6 +761,12 @@ public class SceneAccidentService {
             sceneImportPO.setFalseNum(falseNum);
             sceneImportPO.setErrorMessage(errorMessage);
            // sceneImportTaskService.updateSceneImportTask(sceneImportTaskPO);
+            //记录日志
+            Map<String,String>  mapType= dictService.getDictMapByType(DictConstants.SCENE_TYPE);
+            String type= mapType.get(DictConstants.SCENE_ACCIDENT);
+            String content="创建"+type+"上传任务:"+sceneImportPO.getName()+"(ID:"+sceneImportPO.getId()+")";
+            logService.logSceneUpload(LogConstants.SYS_LOG_SCENE_TASK,content);
+
             return sceneImportPO;
         }catch (Exception e){
             sceneImportPO.setErrorMessage("该文件地址:"+parms.getMinioDirectory()+"解析失败,请检查");

+ 31 - 81
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,84 +40,8 @@ public class SceneGeneralTemplateService {
     SceneGeneralTemplateMapper mapper;
     @Autowired
     DictService dictService;
-
-    /**
-     * 泛化模板导入:
-     *//*
-    @SneakyThrows
-    public ResponseBodyVO<String> saveSceneGeneralTemplate1() {
-            //同时支持Excel 2003、2007
-            File excelFile = new File("D:\\配置参数表样例0415.xlsx"); //创建文件对象
-            String fileName=    excelFile.getName();//文件名
-        //  String fileName=   excelFile.getAbsolutePath();//文件地址
-            // File excelFile = new File("D:\\0414.xlsx"); //创建文件对象
-            FileInputStream is = new FileInputStream(excelFile); //文件流
-            Workbook workbook = WorkbookFactory.create(is); //这种方式 Excel 2003/2007/2010 都是可以处理的
-            int sheetCount = workbook.getNumberOfSheets();  //Sheet的数量
-        List<SceneGeneralTemplatePO> list=new ArrayList<>();
-        //遍历每个Sheet
-            for (int s = 0; s < sheetCount; s++) {
-                Sheet sheet = workbook.getSheetAt(s);
-              // String aqq=sheet.getSheetName();  //文件Sheet的名称
-                int rowCount = sheet.getPhysicalNumberOfRows(); //获取总行数
-                //效验sheet页是否符合标准
-                Cell ce00 = sheet.getRow(0).getCell(0);
-                ce00.setCellType(Cell.CELL_TYPE_STRING);
-                 String   c00Value = ce00.getStringCellValue();
-                 System.out.println("测试是否符合---"+c00Value);
-                 if(c00Value!=null&&c00Value.equals("场景编号")) {
-                     //遍历每一行
-                     for (int r = 0; r < rowCount; r++) {
-                         Row row = sheet.getRow(r);
-                         int cellCount = row.getPhysicalNumberOfCells(); //获取总列数
-                         SceneGeneralTemplatePO po = new SceneGeneralTemplatePO();
-                         Field[] field = po.getClass().getDeclaredFields();
-                         //遍历每一个单元格
-                         for (int c = 0; c < cellCount; c++) {
-                             int a = c + 1;
-                             Cell cell = row.getCell(c);
-                             String cellValue = null;
-                             //在读取单元格内容前,设置所有单元格中内容都是字符串类型
-                             cell.setCellType(Cell.CELL_TYPE_STRING);
-                             //按照字符串类型读取单元格内数据
-                             cellValue = cell.getStringCellValue();
-                             *//*在这里可以对每个单元格中的值进行二次操作转化*//*
-                             //    System.out.print(cellValue + "    ");
-                             if (r > 0) {
-                                 //获取属性的名字
-                                 String name = field[a].getName();
-                                 //将属性名的第一位字母大写
-                                 name = name.substring(0, 1).toUpperCase() + name.substring(1);
-                                 //调用setter方法设属性值
-                                 Class[] parameterTypes = new Class[1];
-                                 parameterTypes[0] = field[a].getType();
-                                 Method getOrSet = po.getClass().getDeclaredMethod("set" + name, parameterTypes);
-                                 getOrSet.invoke(po, cellValue);
-                             }
-                         }
-                         System.out.println();
-                         if (r > 0) {
-                             po.setCreateTime(TimeUtil.getNowForMysql());
-                             po.setCreateUserId(AuthUtil.getCurrentUserId());
-                             po.setModifyUserId(AuthUtil.getCurrentUserId());
-                             po.setModifyTime(TimeUtil.getNowForMysql());
-                             po.setIsDeleted("0");
-                             po.setId(StringUtil.getRandomUUID());
-                             po.setFileName(fileName);
-                             list.add(po);
-                         }
-                     }
-                 }
-            }
-            if(ObjectUtil.isNotNull(list)){
-                mapper.deleteSceneGeneralTemplateAll(list.get(0));
-                mapper.saveSceneGeneralTemplateAll(list);
-                return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
-            }
-        return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, fileName+"模板解析失败,请检查模板");
-    }
-
-*/
+    @Autowired
+    LogService logService;
     /**
      * 泛化模板导入:
      */
@@ -301,8 +227,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()));
@@ -384,7 +328,13 @@ public class SceneGeneralTemplateService {
     public  ResponseBodyVO<String> deleteSceneGeneralTemplateById(SceneGeneralTemplatePO po) {
         po.setModifyUserId(AuthUtil.getCurrentUserId());
         po.setModifyTime(TimeUtil.getNowForMysql());
-        mapper.deleteSceneGeneralTemplateAll(po);
+        mapper.deleteSceneGeneralTemplateById(po);
+
+        Map map=new HashMap();
+        map.put("sceneId",po.getId());
+        map.put("sceneName",po.getSceneId());
+        map.put("type",DictConstants.SCENE_GENERAL);
+        logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
 
 

+ 64 - 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,14 +14,17 @@ 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.css.simulation.resource.system.service.DictService;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 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,9 +40,12 @@ public class SceneNaturalService {
     @Resource
     private SystemScenePackageMapper systemScenePackageMapper;
 
-
+    @Autowired
+    LogService logService;
     @Resource
     private FileDownService fileDownService;
+    @Autowired
+    DictService dictService;
 
     /**
      * 获取自然驾驶场景数据:包括切分数据和标注数据
@@ -251,6 +258,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 +316,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 +422,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.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();
@@ -402,6 +456,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 +596,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 +613,11 @@ public class SceneNaturalService {
             sceneImportPO.setSuccessNum(successNum);
             sceneImportPO.setFalseNum(falseNum);
             sceneImportPO.setErrorMessage(errorMessage);
+            //记录日志
+            Map<String,String>  mapType= dictService.getDictMapByType(DictConstants.SCENE_TYPE);
+            String type= mapType.get(DictConstants.SCENE_NATURAL);
+            String content="创建"+type+"上传任务:"+sceneImportPO.getName()+"(ID:"+sceneImportPO.getId()+")";
+            logService.logSceneUpload(LogConstants.SYS_LOG_SCENE_TASK,content);
             return sceneImportPO;
         }catch (Exception e){
             sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);

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

@@ -6,6 +6,7 @@ import api.common.pojo.po.scene.ScenePackagePO;
 import api.common.pojo.po.scene.ScenePackageSublistPO;
 import api.common.pojo.vo.scene.ScenePackageNewVO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
+import api.common.util.LogUtil;
 import api.common.util.ObjectUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
@@ -84,12 +85,16 @@ public class ScenePackageService {
         }
         scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
+        LogUtil.insert();
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
     //查询测试包主表列表
     @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;
     }
@@ -143,6 +148,7 @@ public class ScenePackageService {
         scenePackageMapper.updateScenePackage(po);
         scenePackageSublistMapper.deleteScenePackageSublist(po.getPackageId());
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
+        LogUtil.update();
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
@@ -156,6 +162,7 @@ public class ScenePackageService {
         po.setPackageId(params.getPackageId());
         scenePackageSublistMapper.deleteScenePackageSublist(params.getPackageId());
         scenePackageMapper.deleteScenePackage(po);
+        LogUtil.delete();
     }
 
     //查询一个测试包的指标列表
@@ -285,6 +292,7 @@ public class ScenePackageService {
         }
         scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
+        LogUtil.insert();
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 

+ 4 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScoringRulesService.java

@@ -2,6 +2,7 @@ package com.css.simulation.resource.scene.service;
 
 import api.common.pojo.param.scene.ScoringRulesParam;
 import api.common.pojo.po.scene.ScoringRulesPO;
+import api.common.util.LogUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
@@ -31,6 +32,7 @@ public class ScoringRulesService {
         params.setCreateUserId(AuthUtil.getCurrentUserId());
         params.setIsDeleted("0");
         scoringRulesMapper.saveScoringRules(params);
+        LogUtil.insert();
     }
 
     @SneakyThrows
@@ -61,6 +63,7 @@ public class ScoringRulesService {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
         scoringRulesMapper.updateScoringRules(params);
+        LogUtil.update();
     }
 
     @SneakyThrows
@@ -69,5 +72,6 @@ public class ScoringRulesService {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
         scoringRulesMapper.updateScoringRules(params);
+        LogUtil.delete();
     }
 }

+ 55 - 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,21 @@ 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.css.simulation.resource.system.service.DictService;
 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 +38,11 @@ public class StandardsRegulationsService {
 
     @Resource
     private FileDownService fileDownService;
-    @Resource
-    private SystemUserSceneService systemUserSceneService;
+    @Autowired
+    LogService logService;
+
+    @Autowired
+    DictService dictService;
     /**
      * 获取标准法规场景数据:
      */
@@ -109,15 +118,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 +185,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_STANDARD);
+        logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
        // systemUserSceneService.deleteSystemUserSceneBySceneId(params.getRegulationsId());
     }
 
@@ -263,6 +307,11 @@ public class StandardsRegulationsService {
             sceneImportPO.setSuccessNum(successNum);
             sceneImportPO.setFalseNum(falseNum);
             sceneImportPO.setErrorMessage(errorMessage);
+            //记录日志
+            Map<String,String>  mapType= dictService.getDictMapByType(DictConstants.SCENE_TYPE);
+            String type= mapType.get(DictConstants.SCENE_STANDARD);
+            String content="创建"+type+"上传任务:"+sceneImportPO.getName()+"(ID:"+sceneImportPO.getId()+")";
+            logService.logSceneUpload(LogConstants.SYS_LOG_SCENE_TASK,content);
             return sceneImportPO;
         }catch (Exception e){
             sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);

+ 117 - 32
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,18 +14,22 @@ 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;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -36,14 +43,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.isNotNull(packageId)){
+          return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景包名称已存在,请检查");
+      }
         po.setPackageName(params.getPackageName());
         po.setSceneDescribe(params.getSceneDescribe());
         String packId=StringUtil.getRandomUUID();
@@ -125,6 +138,11 @@ public class SystemScenePackageService {
             systemScenePackageSublistMapper.saveSystemScenePackageSublist(fhList);
         }
         systemScenePackageMapper.saveSystemScenePackage(po);
+
+        //记录场景包新增
+        logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_INSERT, po,null);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
     //场景包列表
     @SneakyThrows
@@ -132,7 +150,7 @@ public class SystemScenePackageService {
         List<SystemScenePackageVO> list = systemScenePackageMapper.querySystemScenePackageList(params);
         return list;
     }
-    //编辑场景包
+    //
     @SneakyThrows
     public SystemScenePackageNewPO querySystemScenePackageById(SystemScenePackageParam params) {
         SystemScenePackageNewPO newPo=new SystemScenePackageNewPO();
@@ -152,11 +170,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.isNotNull(packageId)){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该场景包名称已存在,请检查");
+        }
         SystemScenePackagePO  po=new SystemScenePackagePO();
         po.setPackageName(params.getPackageName());
         po.setSceneDescribe(params.getSceneDescribe());
@@ -182,6 +209,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 +222,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 +240,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 +254,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 +272,11 @@ public class SystemScenePackageService {
         po.setModifyTime(TimeUtil.getNowForMysql());
         po.setModifyUserId(AuthUtil.getCurrentUserId());
         systemScenePackageMapper.updateSystemScenePackage(po);
+
+        //记录场景包修改
+        logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_UPDATE, po,null);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
     //删除场景包
     @SneakyThrows
@@ -249,6 +285,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,null);
+
+
+
     }
     //根据场景包查询配置账号
     @SneakyThrows
@@ -262,10 +309,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 +320,68 @@ 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);
+        Map map=new HashMap();
+        map.put("params",params);
+
+        //记录场景包
+       logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_DISTRIBUTION, null,map);
     }
     //根据场景包删除配置账号
     @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);
+        //记录场景包删除
+        Map map=new HashMap();
+        map.put("params",params);
+        //记录场景包
+        logService.logScenePackage(LogConstants.SYS_LOG_PACKAGE_DISTRIBUTION_DELETE, null,map);
     }
-
-    //场景分配时场景包的列表
+    //人员表查询测试包详情
     @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();
+        String packageCount=null;
+        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());
@@ -317,24 +389,29 @@ public class SystemScenePackageService {
             po.setIsDeleted("0");
             po.setUserId(params.getUserId());
             list.add(po);
+
+            if (ObjectUtil.isNull(packageCount)){
+                packageCount= packageName +"(ID:"+packageId+")";
+            }else{
+                packageCount= packageCount+"、"+packageName +"(ID:"+packageId+")";
+            }
         }
         systemUserSceneMapper.saveSystemUserScene(list);
+
+        //记录场景包
+        logService.logSystemUserSceneByPackageId(LogConstants.SYS_LOG_PACKAGE_GRANT_INSERT, params,packageCount);
     }
 
-    //根据场景包删除配置账号
+    //根据人员删除配置账号
     @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 +420,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);
+    }
 }

+ 2 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/ParameterService.java

@@ -62,8 +62,9 @@ public class ParameterService {
     public HashMap<String, Integer> getSceneParam(){
         String roleCode = AuthUtil.getCurrentUserRoleCode();
         String userId = AuthUtil.getCurrentUserId();
+        HashMap<String, Integer>  map=new HashMap<>();
         if(DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)){ //管理员账户
-            return null;
+            return map;
         }else if(DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)){
             //查询父账户
             userId = AuthUtil.getCreateUserId();

+ 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>

+ 6 - 6
simulation-resource-server/src/main/resources/mapper/system/SceneImportMapper.xml

@@ -64,8 +64,8 @@
                 success_num = #{successNum},
                 error_message = #{errorMessage},
                 modify_user_id = #{modifyUserId,jdbcType=VARCHAR},
-                total_time = TIMESTAMPDIFF(SECOND,create_time,NOW()),
-                modify_time=NOW()
+                total_time = TIMESTAMPDIFF(SECOND,create_time,#{modifyTime}),
+                modify_time=#{modifyTime}
         where id = #{id,jdbcType=VARCHAR}
     </update>
 
@@ -88,11 +88,11 @@
         <if test="name != null and name != ''">
             and name like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
         </if>
-        <if test="timeBegin != null">
-            and create_time &gt;= #{timeBegin,jdbcType=TIMESTAMP}
+        <if test="timeBegin != null and timeBegin != ''">
+            and  DATE(create_time) &gt;= #{timeBegin}
         </if>
-        <if test="timeEnd != null">
-            and create_time &lt;= #{timeEnd,jdbcType=TIMESTAMP}
+        <if test="timeEnd != null and timeEnd != ''">
+            and  DATE(create_time) &lt;= #{timeEnd}
         </if>
         order by create_time desc
     </select>