Kaynağa Gözat

Merge branch 'master' of http://10.15.12.70:3000/CSS/simulation-cloud

martin 3 yıl önce
ebeveyn
işleme
091c033b5a
40 değiştirilmiş dosya ile 476 ekleme ve 104 silme
  1. 11 0
      api-common/src/main/java/api/common/pojo/annotation/WChildren.java
  2. 11 0
      api-common/src/main/java/api/common/pojo/annotation/WId.java
  3. 11 0
      api-common/src/main/java/api/common/pojo/annotation/WParentId.java
  4. 3 0
      api-common/src/main/java/api/common/pojo/param/project/SimulationManualProjectParam.java
  5. 1 0
      api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalParam.java
  6. 2 0
      api-common/src/main/java/api/common/pojo/po/model/VehiclePO.java
  7. 1 0
      api-common/src/main/java/api/common/pojo/po/scene/SceneAccidentPO.java
  8. 2 0
      api-common/src/main/java/api/common/pojo/po/scene/SceneNaturalPO.java
  9. 1 0
      api-common/src/main/java/api/common/pojo/po/scene/StandardsRegulationsPO.java
  10. 2 0
      api-common/src/main/java/api/common/pojo/vo/model/ConfigVO.java
  11. 5 0
      api-common/src/main/java/api/common/pojo/vo/model/VehicleVO.java
  12. 3 0
      api-common/src/main/java/api/common/pojo/vo/project/ProjectDetailsVo.java
  13. 15 0
      api-common/src/main/java/api/common/pojo/vo/scene/RunProjectVO.java
  14. 1 0
      api-common/src/main/java/api/common/pojo/vo/scene/SceneAccidentVO.java
  15. 2 0
      api-common/src/main/java/api/common/pojo/vo/scene/SceneNaturalVO.java
  16. 1 1
      api-common/src/main/java/api/common/pojo/vo/scene/StandardsRegulationsVO.java
  17. 6 1
      api-common/src/main/java/api/common/pojo/vo/system/MenuVO.java
  18. 76 0
      api-common/src/main/java/api/common/util/ObjectUtil.java
  19. 26 2
      api-common/src/main/java/api/common/util/TimeUtil.java
  20. 0 10
      simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/ctrl/AlgorithmCtrl.java
  21. 5 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/serviceImpl/AlgorithmServiceImpl.java
  22. 48 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/common/utils/PoUtil.java
  23. 6 6
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/VehicleCtrl.java
  24. 3 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/ConfigMapper.java
  25. 6 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/ConfigService.java
  26. 35 25
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/VehicleService.java
  27. 61 7
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java
  28. 8 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectMapper.java
  29. 7 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/service/SimulationProjectService.java
  30. 11 10
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneAccidentController.java
  31. 11 15
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneNaturalController.java
  32. 0 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java
  33. 11 18
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/StandardsRegulationsController.java
  34. 1 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  35. 1 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java
  36. 3 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/MenuService.java
  37. 6 1
      simulation-resource-server/src/main/resources/mapper/model/ConfigMapper.xml
  38. 5 0
      simulation-resource-server/src/main/resources/mapper/model/VehicleMapper.xml
  39. 61 0
      simulation-resource-server/src/main/resources/mapper/project/SimulationProjectMapper.xml
  40. 7 0
      simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml

+ 11 - 0
api-common/src/main/java/api/common/pojo/annotation/WChildren.java

@@ -0,0 +1,11 @@
+package api.common.pojo.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface WChildren {
+}

+ 11 - 0
api-common/src/main/java/api/common/pojo/annotation/WId.java

@@ -0,0 +1,11 @@
+package api.common.pojo.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface WId {
+}

+ 11 - 0
api-common/src/main/java/api/common/pojo/annotation/WParentId.java

@@ -0,0 +1,11 @@
+package api.common.pojo.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface WParentId {
+}

+ 3 - 0
api-common/src/main/java/api/common/pojo/param/project/SimulationManualProjectParam.java

@@ -96,5 +96,8 @@ public class SimulationManualProjectParam extends PageVO {
     //任务id
     private String taskId;
 
+    //算法类型
+    private String algorithmType;
+
 
 }

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

@@ -63,5 +63,6 @@ public class SceneNaturalParam extends PageVO implements Serializable {
     private String jsonAddress ; //
     private String videoPreview;//视频预览地址
     private String[] ids ; //回显数组
+    private String createUserId ; //创建人id
 
 }

+ 2 - 0
api-common/src/main/java/api/common/pojo/po/model/VehiclePO.java

@@ -22,6 +22,8 @@ public class VehiclePO extends CommonPO {
     private String vehicleModel;
     //车辆颜色
     private String vehicleColour;
+    //车辆图片
+    private String vehicleImage;
     //最大速度(千米/小时)
     private BigDecimal maxSpeed;
     //发动机功率(千瓦)

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

@@ -29,6 +29,7 @@ public class SceneAccidentPO implements Serializable {
     private String xodrAddress ; //
     private String jsonAddress ; //
     private String videoPreview;//视频预览地址
+    private String label;//标签
     /**
      * 记录创建时间
      */

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

@@ -60,6 +60,8 @@ public class SceneNaturalPO  implements Serializable {
     private String xoscAddress ; //
     private String jsonAddress ; //
     private String videoPreview;//视频预览地址
+
+    private String label;//标签
     /**
      * 记录创建时间
      */

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

@@ -26,6 +26,7 @@ public class StandardsRegulationsPO implements Serializable {
     private String xodrAddress ; //
     private String jsonAddress ; //
     private String videoPreview;//视频预览地址
+    private String label;//标签
     /**
      * 记录创建时间
      */

+ 2 - 0
api-common/src/main/java/api/common/pojo/vo/model/ConfigVO.java

@@ -22,6 +22,8 @@ public class ConfigVO {
     private String vehicleName;
     //车辆描述
     private String vehicleDescription;
+    //车辆图片
+    private String vehicleImage;
     //是否分享
     private String share;
 

+ 5 - 0
api-common/src/main/java/api/common/pojo/vo/model/VehicleVO.java

@@ -3,6 +3,7 @@ package api.common.pojo.vo.model;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 @Data
 public class VehicleVO {
@@ -15,12 +16,16 @@ public class VehicleVO {
     private String vehicleName;
     //车辆描述
     private String description;
+    //车辆模型
+    private List<String> modelLabel;
     //车辆类型(字典代码)
     private String vehicleType;
     //车辆型号
     private String vehicleModel;
     //车辆颜色
     private String vehicleColour;
+    //车辆图片
+    private String vehicleImage;
     //最大速度(千米/小时)
     private BigDecimal maxSpeed;
     //发动机功率(千瓦)

+ 3 - 0
api-common/src/main/java/api/common/pojo/vo/project/ProjectDetailsVo.java

@@ -30,6 +30,9 @@ public class ProjectDetailsVo {
     //当前运行状态(进度)
     private String nowRunState;
 
+    //当前运行状态(进度)
+    private String nowRunStateName;
+
     //评测等级
     private String evaluationLevel;
 

+ 15 - 0
api-common/src/main/java/api/common/pojo/vo/scene/RunProjectVO.java

@@ -0,0 +1,15 @@
+package api.common.pojo.vo.scene;
+
+import lombok.*;
+
+import java.io.Serializable;
+
+@EqualsAndHashCode()
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class RunProjectVO implements Serializable {
+    private String toDate;//时间
+    private Integer Num;//数量
+}

+ 1 - 0
api-common/src/main/java/api/common/pojo/vo/scene/SceneAccidentVO.java

@@ -24,5 +24,6 @@ public class SceneAccidentVO extends PageVO implements Serializable {
     private String conflictType ; //冲突类型
     private String videoAddress ; //视频地址
     private String videoPreview;//视频预览地址
+    private String label;//标签
 
 }

+ 2 - 0
api-common/src/main/java/api/common/pojo/vo/scene/SceneNaturalVO.java

@@ -61,5 +61,7 @@ public class SceneNaturalVO extends PageVO implements Serializable {
     private String jsonAddress ; //
     private String videoPreview;//视频预览地址
 
+    private String label;//标签
+
 
 }

+ 1 - 1
api-common/src/main/java/api/common/pojo/vo/scene/StandardsRegulationsVO.java

@@ -22,5 +22,5 @@ public class StandardsRegulationsVO extends PageVO implements Serializable {
     private String share ; //是否分析  1为分享
     private String videoAddress ; //视频地址
     private String videoPreview;//视频预览地址
-
+    private String label;//标签
 }

+ 6 - 1
api-common/src/main/java/api/common/pojo/vo/system/MenuVO.java

@@ -1,5 +1,8 @@
 package api.common.pojo.vo.system;
 
+import api.common.pojo.annotation.WChildren;
+import api.common.pojo.annotation.WId;
+import api.common.pojo.annotation.WParentId;
 import lombok.Data;
 
 import java.util.List;
@@ -8,6 +11,7 @@ import java.util.List;
 public class MenuVO {
 
     //主键
+    @WId
     private String id;
     //菜单名称
     private String name;
@@ -16,9 +20,10 @@ public class MenuVO {
     //菜单排序
     private int sort;
     //父id
+    @WParentId
     private String parentId;
     //是否可见
     private String visible;
-
+    @WChildren
     private List<MenuVO> children;
 }

+ 76 - 0
api-common/src/main/java/api/common/util/ObjectUtil.java

@@ -1,9 +1,15 @@
 package api.common.util;
 
+import api.common.pojo.annotation.WChildren;
+import api.common.pojo.annotation.WId;
+import api.common.pojo.annotation.WParentId;
 import api.common.pojo.vo.system.DictVO;
 import com.fasterxml.jackson.databind.JsonNode;
 import org.springframework.beans.BeanUtils;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.security.PublicKey;
 import java.util.*;
 import java.util.function.BiConsumer;
@@ -146,4 +152,74 @@ public class ObjectUtil {
             }
         return parent;
     }
+
+    /**
+     * list转tree结构,<T>类型需要在属性上添加注解,标识树形结构:@WId 、@WParentId、 @WChildren;
+     * @param list
+     * @param <T>
+     * @return
+     */
+    public static <T> List<T> listToTree(List<T> list){
+        return listToTree(list,"0");
+    }
+
+    public static <T> List<T> listToTree(List<T> list,String root) {
+        try {
+            List<T> treeList = new LinkedList<T>();
+            Class<?> tClass = null;
+            for (T t : list) {
+                tClass = t.getClass();
+                break;
+            }
+            //反射解析Getter和Setter
+            Field[] fields = tClass.getDeclaredFields();
+            Method getId = null;
+            Method getParentId = null;
+            Method getChildren = null;
+            Method setChildren = null;
+            for (Field field:fields) {
+                String fieldName= field.getName();
+                String firstChar = fieldName.substring(0,1);
+                if(field.isAnnotationPresent(WId.class)){
+                    getId = tClass.getMethod("get" + fieldName.replaceFirst(firstChar,firstChar.toUpperCase()));
+                };
+                if(field.isAnnotationPresent(WParentId.class)){
+                    getParentId = tClass.getMethod("get" + fieldName.replaceFirst(firstChar,firstChar.toUpperCase()));
+                };
+                if(field.isAnnotationPresent(WChildren.class)){
+                    getChildren = tClass.getMethod("get" + fieldName.replaceFirst(firstChar,firstChar.toUpperCase()));
+                    setChildren = tClass.getMethod("set" + fieldName.replaceFirst(firstChar,firstChar.toUpperCase()),List.class);
+                };
+            }
+            //解析列表
+            for (T node : list) {
+                if (root.equals((String)getParentId.invoke(node))) {
+                    treeList.add(findChildren(node, list,getId,getParentId,getChildren,setChildren));
+                }
+            }
+            return treeList;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return list;
+    }
+
+    /**
+     * list转tree递归调用
+     */
+    private static <T> T findChildren(T parent, List<T> list, Method getId, Method getParentId, Method getChildren , Method setChildren) throws InvocationTargetException, IllegalAccessException {
+        for (T node : list){
+            String id = (String)getId.invoke(parent);
+            String parentId = (String)getParentId.invoke(node);
+            if(id.equals(parentId)){
+                List<T> children = (List<T>) getChildren.invoke(parent);
+                if(ObjectUtil.isNull(children)){
+                    children = new ArrayList<T>();
+                    setChildren.invoke(parent,children);
+                }
+                children.add(findChildren(node, list,getId,getParentId,getChildren,setChildren));
+            }
+        }
+        return parent;
+    }
 }

+ 26 - 2
api-common/src/main/java/api/common/util/TimeUtil.java

@@ -1,9 +1,9 @@
 package api.common.util;
 
 import java.sql.Timestamp;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
+import java.util.*;
 
 public class TimeUtil {
 
@@ -36,4 +36,28 @@ public class TimeUtil {
         return Integer.valueOf(sdf.format(date));
 
     }
+    //获取时间类型格式转化
+    public static String getToStringDate(Date date, int index){
+        SimpleDateFormat sdf = new SimpleDateFormat(dateFmtArr[index]);
+        if(date == null){
+            date = new Date();
+        }
+        return sdf.format(date);
+
+    }
+
+    //获取过去某天的起始日期
+    public static Map<String,Object> getPastTime(Integer num) {
+        Calendar c = Calendar.getInstance();
+        c.setTime(new Date());
+        c.add(Calendar.DATE, -num);
+        Date d = c.getTime();
+        String  startDate=getToStringDate(d,2) + " 00:00:00";
+        String  endDate=getToStringDate(d,2) + " 23:59:59";
+        Map<String,Object> map = new HashMap();
+        map.put("startDate", startDate);
+        map.put("endDate", endDate);
+        map.put("toDate", getToStringDate(d,2));
+        return map;
+    }
 }

+ 0 - 10
simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/ctrl/AlgorithmCtrl.java

@@ -111,15 +111,5 @@ public class AlgorithmCtrl {
         return service.testConnection(param);
     }
 
-    /**
-     * 首页文件数量
-     * @param
-     * @return
-     */
-    @RequestMapping("selectDetailsBySy")
-    @ResponseBody
-    public ResponseBodyVO selectDetailsBySy(){
-        return service.selectDetailsBySy();
-    }
 
 }

+ 5 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/serviceImpl/AlgorithmServiceImpl.java

@@ -17,6 +17,8 @@ import com.css.simulation.resource.system.service.DictService;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -29,8 +31,8 @@ public class AlgorithmServiceImpl implements AlgorithmService {
 
     @Autowired
     DictService dictService;
-    
-    @Autowired
+
+    @Resource
     FileDownService fileDownService;
     
     @Override
@@ -234,6 +236,7 @@ public class AlgorithmServiceImpl implements AlgorithmService {
         AlgorithmParameter param=new AlgorithmParameter();
         param.setUploadMode("1");
         param.setShare("0");
+        param.setCreateUserId(AuthUtil.getCurrentUserId());
         int fileNum= algorithmMapper.selectDetailsBySy(param);
         param.setUploadMode("2");
         int pathNum= algorithmMapper.selectDetailsBySy(param);

+ 48 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/common/utils/PoUtil.java

@@ -0,0 +1,48 @@
+package com.css.simulation.resource.common.utils;
+
+import api.common.pojo.common.CommonPO;
+import api.common.pojo.constants.DictConstants;
+import api.common.util.ObjectUtil;
+import api.common.util.TimeUtil;
+
+import java.sql.Timestamp;
+
+public class PoUtil {
+
+    /**
+     * 初始化po的常规字段
+     */
+    public static void initAddPo(CommonPO po){
+        if(ObjectUtil.isNull(po)){
+            return ;
+        }
+        String currentUserId = AuthUtil.getCurrentUserId();
+        Timestamp currentTime = TimeUtil.getNowForMysql();
+        po.setCreateUserId(currentUserId);
+        po.setCreateTime(currentTime);
+        po.setModifyUserId(currentUserId);
+        po.setModifyTime(currentTime);
+        po.setIsDeleted(DictConstants.NO);
+    };
+
+    public static void initDelPo(CommonPO po){
+        if(ObjectUtil.isNull(po)){
+            return ;
+        }
+        String currentUserId = AuthUtil.getCurrentUserId();
+        Timestamp currentTime = TimeUtil.getNowForMysql();
+        po.setModifyUserId(currentUserId);
+        po.setModifyTime(currentTime);
+        po.setIsDeleted(DictConstants.YES);
+    };
+
+    public static void initUpdatePo(CommonPO po){
+        if(ObjectUtil.isNull(po)){
+            return ;
+        }
+        String currentUserId = AuthUtil.getCurrentUserId();
+        Timestamp currentTime = TimeUtil.getNowForMysql();
+        po.setModifyUserId(currentUserId);
+        po.setModifyTime(currentTime);
+    };
+}

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

@@ -60,12 +60,12 @@ public class VehicleCtrl {
      */
     @RequestMapping("/saveVehicle")
     @ResponseBody
-    public ResponseBodyVO<VehiclePO> saveVehicle(@RequestBody VehiclePO vehiclePO){
-        if(ObjectUtil.isNull(vehiclePO)){
+    public ResponseBodyVO<VehiclePO> saveVehicle(@RequestBody VehicleVO vehicleVO){
+        if(ObjectUtil.isNull(vehicleVO)){
             return new ResponseBodyVO(false, 500, "参数必传!",null);
         }
         ResponseBodyVO<VehiclePO> response = new ResponseBodyVO<VehiclePO>(ResponseBodyVO.Response.SUCCESS);
-        VehiclePO po = vehicleService.saveVehicle(vehiclePO);
+        VehiclePO po = vehicleService.saveVehicle(vehicleVO);
         if(ObjectUtil.isNull(po.getId())){
             return new ResponseBodyVO(false, 500, "车辆名称重复!",null);
         }
@@ -78,12 +78,12 @@ public class VehicleCtrl {
      */
     @RequestMapping("/shareVehicle")
     @ResponseBody
-    public ResponseBodyVO<VehiclePO> shareVehicle(@RequestBody VehiclePO vehiclePO){
-        if(ObjectUtil.isNull(vehiclePO)){
+    public ResponseBodyVO<VehiclePO> shareVehicle(@RequestBody VehicleVO vehicleVO){
+        if(ObjectUtil.isNull(vehicleVO)){
             return new ResponseBodyVO(false, 500, "参数必传!",null);
         }
         ResponseBodyVO<VehiclePO> response = new ResponseBodyVO<VehiclePO>(ResponseBodyVO.Response.SUCCESS);
-        VehiclePO po = vehicleService.shareVehicle(vehiclePO);
+        VehiclePO po = vehicleService.shareVehicle(vehicleVO);
         if(ObjectUtil.isNull(po.getId())){
             return new ResponseBodyVO(false, 500, "车辆名称重复!",null);
         }

+ 3 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/ConfigMapper.java

@@ -7,6 +7,7 @@ import api.common.pojo.po.model.ConfigSensorPO;
 import api.common.pojo.vo.model.ConfigSensorVO;
 import api.common.pojo.vo.model.ConfigVO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -33,4 +34,6 @@ public interface ConfigMapper {
     void insertConfigSensors(List<ConfigSensorPO> configSensorPOs);
 
     int delConfigById(ConfigPO po);
+
+    int getConfigTotal(@Param("createUserId") String currentUserId);
 }

+ 6 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/ConfigService.java

@@ -50,6 +50,8 @@ public class ConfigService {
 
     public ConfigVO getConfigInfo(ConfigVO configVO) {
         configVO = configMapper.getConfigInfo(configVO);
+        String vehicleImage = configVO.getVehicleImage();
+        configVO.setVehicleImage(vehicleImage.replaceFirst("Front side","Top"));
         List<ConfigSensorVO> sensorList = configMapper.getConfigSensors(configVO);
         Map<String, List<ConfigSensorVO>> configSensors = sensorList.stream().collect(Collectors.groupingBy(ConfigSensorVO::getSensorType));
         configVO.setConfigSensors(configSensors);
@@ -188,4 +190,8 @@ public class ConfigService {
         ConfigPO configPO = shareConfigByInfo(configVO);
         return configPO;
     }
+
+    public int getConfigTotal(){
+        return configMapper.getConfigTotal(AuthUtil.getCurrentUserId());
+    }
 }

+ 35 - 25
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/VehicleService.java

@@ -6,14 +6,15 @@ import api.common.pojo.po.model.VehiclePO;
 import api.common.pojo.vo.model.VehicleVO;
 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.common.utils.PoUtil;
 import com.css.simulation.resource.model.mapper.VehicleMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -33,22 +34,41 @@ public class VehicleService {
         vehicleParam.setCreateUserId(AuthUtil.getCurrentUserId());
         vehicleParam.setShare(DictConstants.NO);
         List<VehicleVO> list = vehicleMapper.getVehicleList(vehicleParam);
+        list.stream().forEach(vo->{
+            String vehicleImage = vo.getVehicleImage();
+            if(ObjectUtil.isNotNull(vehicleImage)){
+                vo.setVehicleImage(vehicleImage.replaceFirst("Front side","Top"));
+            }
+        });
         return list;
     }
 
     public VehicleVO getVehicleInfo(VehicleParam vehicleParam) {
-        return vehicleMapper.getVehicleInfo(vehicleParam);
+        VehicleVO vehicleInfo = vehicleMapper.getVehicleInfo(vehicleParam);
+        //车辆模型字段解析
+        String vehicleType = vehicleInfo.getVehicleType();
+        String vehicleModel = vehicleInfo.getVehicleModel();
+        String vehicleColour = vehicleInfo.getVehicleColour();
+        List<String> modelLabel = new ArrayList<>();
+        modelLabel.add(vehicleType);
+        modelLabel.add(vehicleModel);
+        modelLabel.add(vehicleColour);
+        vehicleInfo.setModelLabel(modelLabel);
+        return vehicleInfo;
     }
 
-    public VehiclePO saveVehicle(VehiclePO vehiclePO) {
+    public VehiclePO saveVehicle(VehicleVO vehicleVO) {
+        VehiclePO vehiclePO = new VehiclePO();
+        ObjectUtil.voToPo(vehicleVO,vehiclePO);
+        //车辆模型字段解析
+        List<String> modelLabel = vehicleVO.getModelLabel();
+        if(ObjectUtil.isNotNull(modelLabel) && modelLabel.size() == 3){
+            vehiclePO.setVehicleType(modelLabel.get(0));
+            vehiclePO.setVehicleModel(modelLabel.get(1));
+            vehiclePO.setVehicleColour(modelLabel.get(2));
+        }
         //常规字段赋值
-        String currentUserId = AuthUtil.getCurrentUserId();
-        Timestamp currentTime = TimeUtil.getNowForMysql();
-        vehiclePO.setCreateUserId(currentUserId);
-        vehiclePO.setCreateTime(currentTime);
-        vehiclePO.setModifyUserId(currentUserId);
-        vehiclePO.setModifyTime(currentTime);
-        vehiclePO.setIsDeleted(DictConstants.NO);
+        PoUtil.initAddPo(vehiclePO);
         vehiclePO.setShare(DictConstants.NO);//私有
         //名称校验
         List<VehicleVO> list = vehicleMapper.checkVehicleName(vehiclePO);
@@ -67,9 +87,9 @@ public class VehicleService {
         return vehiclePO;
     }
 
-    public VehiclePO shareVehicle(VehiclePO vehiclePO) {
+    public VehiclePO shareVehicle(VehicleVO vehicleVO) {
         //调用保存
-        saveVehicle(vehiclePO);
+        VehiclePO vehiclePO = saveVehicle(vehicleVO);
         vehiclePO.setShare(DictConstants.YES);//转公有
         vehiclePO.setCreateUserId(null);
         //名称校验
@@ -79,14 +99,7 @@ public class VehicleService {
             return vehiclePO;
         }
         //常规字段赋值
-        String currentUserId = AuthUtil.getCurrentUserId();
-        Timestamp currentTime = TimeUtil.getNowForMysql();
-        vehiclePO.setCreateUserId(currentUserId);
-        vehiclePO.setCreateTime(currentTime);
-        vehiclePO.setModifyUserId(currentUserId);
-        vehiclePO.setModifyTime(currentTime);
-        vehiclePO.setIsDeleted(DictConstants.NO);
-
+        PoUtil.initAddPo(vehiclePO);
         vehiclePO.setId(StringUtil.getRandomUUID());
         vehiclePO.setVehicleCode(StringUtil.getRandomCode());
         vehicleMapper.insert(vehiclePO);
@@ -94,10 +107,7 @@ public class VehicleService {
     }
 
     public int delVehicleById(VehiclePO vehiclePO) {
-        vehiclePO.setIsDeleted(DictConstants.YES);
-        vehiclePO.setModifyUserId(AuthUtil.getCurrentUserId());
-        vehiclePO.setModifyTime(TimeUtil.getNowForMysql());
-        int i = vehicleMapper.delVehicleById(vehiclePO);
-        return i;
+        PoUtil.initDelPo(vehiclePO);
+        return vehicleMapper.delVehicleById(vehiclePO);
     }
 }

+ 61 - 7
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -12,6 +12,7 @@ import api.common.pojo.param.system.DictParam;
 import api.common.pojo.po.project.*;
 import api.common.pojo.po.scene.ScenePackageSublistPO;
 import api.common.pojo.vo.project.*;
+import api.common.pojo.vo.scene.RunProjectVO;
 import api.common.util.JsonUtil;
 import api.common.util.ObjectUtil;
 import api.common.util.TimeUtil;
@@ -32,6 +33,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.io.*;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
@@ -45,7 +47,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     @Autowired
     private SimulationProjectMapper simulationProjectMapper;
 
-    @Autowired
+    @Resource
     private KafkaService kafkaService;
 
     @Autowired
@@ -111,7 +113,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         }
         if(!isEmpty(param.getCreateEndDate())){
             String createEndDate = param.getCreateEndDate();
-            Date endDate = getDate(createEndDate + " 11:59:59",1);
+            Date endDate = getDate(createEndDate + " 23:59:59",1);
             if(endDate == null){
                 return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
@@ -129,7 +131,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         }
         if(!isEmpty(param.getFinishDateEnd())){
             String finishDateEnd = param.getFinishDateEnd();
-            Date enddate = getDate(finishDateEnd + " 11:59:59",1);
+            Date enddate = getDate(finishDateEnd + " 23:59:59",1);
             if(enddate == null){
                 return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
@@ -358,7 +360,8 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         projectDetailsVo.setProjectDescribe(po.getProjectDescribe());
         projectDetailsVo.setStartTime(getRqStr(po.getStartTime(),1));
         projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(),1));
-        projectDetailsVo.setNowRunState(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
+        projectDetailsVo.setNowRunState(po.getNowRunState());
+        projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
 //        projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
         projectDetailsVo.setEvaluationLevel(s);
         if(algorithmBaseInfoVo != null){
@@ -1475,7 +1478,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 /*
     *//**
      * 查询所有指标和得分
-     * @param scenePackageId
+     * @param
      *//*
     private void selectScenePackageSubListAndSetScore(String pId, String scenePackageId, List<List<String>> resultArr, List<ScenePackageSubListVO>  single){
 
@@ -1783,6 +1786,57 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             cloums.add(map);
         }
     }
-
-
+    //运行项目统计-折线图
+    @Override
+    public ResponseBodyVO selectRunProjectBySy() {
+        List<RunProjectVO> list=new ArrayList();
+        for(Integer i=6;i>-1;i--) {
+            RunProjectVO vo=new RunProjectVO();
+            Map<String,Object> params = TimeUtil.getPastTime(i);
+            params.put("createUserId", AuthUtil.getCurrentUserId());
+            Integer num = simulationProjectMapper.selectRunProjectBySy(params);
+            vo.setToDate(params.get("toDate").toString());
+            vo.setNum(num);
+            list.add(vo);
+        }
+         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,list);
+    }
+    //运行任务统计-折线图
+    @Override
+    public ResponseBodyVO selectRunTaskBySy() {
+        List<RunProjectVO> list=new ArrayList();
+        for(Integer i=6;i>-1;i--) {
+            RunProjectVO vo=new RunProjectVO();
+            Map<String,Object> params = TimeUtil.getPastTime(i);
+            params.put("createUserId", AuthUtil.getCurrentUserId());
+            Integer num = simulationProjectMapper.selectRunTaskBySy(params);
+            vo.setToDate(params.get("toDate").toString());
+            vo.setNum(num);
+            list.add(vo);
+        }
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,list);
+    }
+    //任务运行状态统计-饼图
+    @Override
+    public ResponseBodyVO selectRunTaskByState() {
+            Map<String,Object> params =new HashMap<>();
+            params.put("createUserId", AuthUtil.getCurrentUserId());
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, simulationProjectMapper.selectRunTaskByState(params));
+    }
+    //项目运行状态统计-饼图
+    @Override
+    public ResponseBodyVO selectRunProjectByState() {
+        Map<String,Object> params =new HashMap<>();
+        params.put("createUserId", AuthUtil.getCurrentUserId());
+        //10:未执行,20:执行中,30:执行完成,40:已中止
+        List list=simulationProjectMapper.selectRunProjectByState(params);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
+    }
+    //评测等级分布-饼图
+    @Override
+    public ResponseBodyVO selectEvaluationLevel() {
+        Map<String,Object> params =new HashMap<>();
+        params.put("createUserId", AuthUtil.getCurrentUserId());
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, simulationProjectMapper.selectEvaluationLevel(params));
+    }
 }

+ 8 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectMapper.java

@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 @Repository
@@ -101,4 +102,11 @@ public interface SimulationProjectMapper {
 
     List<SublistScoreVo> selectSubScore(String id);
 
+    Integer selectRunProjectBySy(Map map);
+    Integer selectRunTaskBySy(Map map);
+
+    List<Map> selectRunTaskByState(Map map);
+    List<Map> selectRunProjectByState(Map map);
+    List<Map> selectEvaluationLevel(Map map);
+
 }

+ 7 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/service/SimulationProjectService.java

@@ -3,6 +3,8 @@ package com.css.simulation.resource.project.service;
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.project.SimulationManualProjectParam;
 
+import java.util.Map;
+
 
 public interface SimulationProjectService {
 
@@ -32,4 +34,9 @@ public interface SimulationProjectService {
 
     ResponseBodyVO selectProjectTaskList(SimulationManualProjectParam param);
 
+    ResponseBodyVO selectRunProjectBySy();
+    ResponseBodyVO selectRunTaskBySy();
+    ResponseBodyVO selectRunTaskByState();
+    ResponseBodyVO selectRunProjectByState();
+    ResponseBodyVO selectEvaluationLevel();
 }

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

@@ -4,14 +4,12 @@ import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.scene.SceneAccidentParam;
 import api.common.pojo.po.scene.SceneAccidentPO;
 import api.common.pojo.vo.scene.SceneAccidentVO;
+import api.common.util.ObjectUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
-import com.css.simulation.resource.feign.FileDownService;
 import com.css.simulation.resource.scene.service.SceneAccidentService;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.BeanUtils;
-import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -28,9 +26,9 @@ public class SceneAccidentController {
     //查询列表
     @PostMapping("/querySceneAccidentList")
     @ResponseBody
-    public ResponseBodyVO<List<SceneAccidentVO>> querySceneAccidentList(@RequestBody SceneAccidentParam parms) {
-        PageUtil.setPageInfo(parms);
-        List<SceneAccidentPO> list = sceneAccidentService.querySceneAccidentList(parms);
+    public ResponseBodyVO<List<SceneAccidentVO>> querySceneAccidentList(@RequestBody SceneAccidentParam params) {
+        PageUtil.setPageInfo(params);
+        List<SceneAccidentPO> list = sceneAccidentService.querySceneAccidentList(params);
         PageInfo<SceneAccidentPO> objectPageInfo = new PageInfo<>(list);
         List<SceneAccidentVO> list1 = new ArrayList<>();
         for (SceneAccidentPO po : list) {
@@ -47,16 +45,19 @@ public class SceneAccidentController {
     //新增交通事故
     @PostMapping("/saveSceneAccident")
     @ResponseBody
-    public ResponseBodyVO<String> saveSceneAccident(@RequestBody SceneAccidentParam parms) {
-        return sceneAccidentService.importJtSg(parms);
+    public ResponseBodyVO<String> saveSceneAccident(@RequestBody SceneAccidentParam params) {
+        return sceneAccidentService.importJtSg(params);
 
     }
 
     //删除交通事故
     @PostMapping("/deleteSceneAccident")
     @ResponseBody
-    public ResponseBodyVO<String> deleteSceneAccident(@RequestBody SceneAccidentPO parms) {
-        sceneAccidentService.deleteSceneAccidentList(parms);
+    public ResponseBodyVO<String> deleteSceneAccident(@RequestBody SceneAccidentPO params) {
+        if (ObjectUtil.isNull(params.getAccidentId())) {
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "参数场景Id不能为空,请检查");
+        }
+        sceneAccidentService.deleteSceneAccidentList(params);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 

+ 11 - 15
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneNaturalController.java

@@ -5,6 +5,7 @@ import api.common.pojo.param.scene.SceneNaturalNewParam;
 import api.common.pojo.param.scene.SceneNaturalParam;
 import api.common.pojo.po.scene.SceneNaturalPO;
 import api.common.pojo.vo.scene.SceneNaturalVO;
+import api.common.util.ObjectUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.scene.service.SceneNaturalService;
 import com.github.pagehelper.PageInfo;
@@ -26,9 +27,9 @@ public class SceneNaturalController {
     //查询列表
     @PostMapping("/querySceneNaturalList")
     @ResponseBody
-    public ResponseBodyVO<List<SceneNaturalVO>> querySceneNaturalList(@RequestBody SceneNaturalNewParam parms) {
-        PageUtil.setPageInfo(parms);
-        List<SceneNaturalPO> list = sceneNaturalService.querySceneNaturalList(parms);
+    public ResponseBodyVO<List<SceneNaturalVO>> querySceneNaturalList(@RequestBody SceneNaturalNewParam params) {
+        PageUtil.setPageInfo(params);
+        List<SceneNaturalPO> list = sceneNaturalService.querySceneNaturalList(params);
         PageInfo<SceneNaturalPO> objectPageInfo = new PageInfo<>(list);
         List<SceneNaturalVO> list1 = new ArrayList<>();
         for (SceneNaturalPO po : list) {
@@ -45,26 +46,21 @@ public class SceneNaturalController {
     //新增自然场景
     @PostMapping("/saveSceneNatural")
     @ResponseBody
-    public ResponseBodyVO<String> saveSceneNatural(@RequestBody SceneNaturalParam parms) {
+    public ResponseBodyVO<String> saveSceneNatural(@RequestBody SceneNaturalParam params) {
 
-        return sceneNaturalService.importZrjsSceneCicv(parms);
+        return sceneNaturalService.importZrjsSceneCicv(params);
     }
 
     //删除
     @PostMapping("/deleteSceneNatural")
     @ResponseBody
-    public ResponseBodyVO<String> deleteSceneNatural(@RequestBody SceneNaturalPO parms) {
-        sceneNaturalService.deleteSceneNatural(parms);
+    public ResponseBodyVO<String> deleteSceneNatural(@RequestBody SceneNaturalPO params) {
+        if (ObjectUtil.isNull(params.getNaturalId())) {
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "参数场景Id不能为空,请检查");
+        }
+        sceneNaturalService.deleteSceneNatural(params);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
-    //首页查询场景数量
-    @PostMapping("/querySceneNumBySy")
-    @ResponseBody
-    public ResponseBodyVO<Integer> querySceneNumBySy() {
-        Integer a=sceneNaturalService.querySceneNumBySy();
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,a);
-    }
-
 
 }

+ 0 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java

@@ -79,7 +79,6 @@ public class ScenePackageController {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
     }
 
-
     //测试包分享
     @PostMapping("/instShareList")
     @ResponseBody
@@ -87,7 +86,6 @@ public class ScenePackageController {
         if (ObjectUtil.isNull(parms.getPackageId())) {
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "参数PackageId不能为空,请检查");
         }
-
         return scenePackageService.instShareList(parms);
     }
 

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

@@ -1,26 +1,16 @@
 package com.css.simulation.resource.scene.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
-import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.StandardsRegulationsParam;
 import api.common.pojo.po.scene.StandardsRegulationsPO;
 import api.common.pojo.vo.scene.StandardsRegulationsVO;
-import api.common.util.FileUtil;
+import api.common.util.ObjectUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
-import com.css.simulation.resource.feign.FileDownService;
 import com.css.simulation.resource.scene.service.StandardsRegulationsService;
 import com.github.pagehelper.PageInfo;
-import feign.Response;
 import org.springframework.beans.BeanUtils;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -35,9 +25,9 @@ public class StandardsRegulationsController {
     //查询列表
     @PostMapping("/queryStandardsRegulationsList")
     @ResponseBody
-    public ResponseBodyVO<List<StandardsRegulationsVO>> queryStandardsRegulationsList(@RequestBody StandardsRegulationsParam parms) {
-        PageUtil.setPageInfo(parms);
-        List<StandardsRegulationsPO> list = standardsRegulationsService.querySceneNaturalList(parms);
+    public ResponseBodyVO<List<StandardsRegulationsVO>> queryStandardsRegulationsList(@RequestBody StandardsRegulationsParam params) {
+        PageUtil.setPageInfo(params);
+        List<StandardsRegulationsPO> list = standardsRegulationsService.queryStandardsRegulationsList(params);
         PageInfo<StandardsRegulationsPO> objectPageInfo = new PageInfo<>(list);
         List<StandardsRegulationsVO> list1 = new ArrayList<>();
         for (StandardsRegulationsPO po : list) {
@@ -54,17 +44,20 @@ public class StandardsRegulationsController {
     //新增标准法规
     @PostMapping("/saveStandardsRegulations")
     @ResponseBody
-    public ResponseBodyVO<String> saveStandardsRegulations(@RequestBody StandardsRegulationsParam parms) {
+    public ResponseBodyVO<String> saveStandardsRegulations(@RequestBody StandardsRegulationsParam params) {
 
-        return standardsRegulationsService.importBzFg(parms);
+        return standardsRegulationsService.importBzFg(params);
 
     }
 
     //删除
     @PostMapping("/deleteStandardsRegulations")
     @ResponseBody
-    public ResponseBodyVO<String> deleteStandardsRegulations(@RequestBody StandardsRegulationsPO parms) {
-        standardsRegulationsService.deleteStandardsRegulations(parms);
+    public ResponseBodyVO<String> deleteStandardsRegulations(@RequestBody StandardsRegulationsPO params) {
+        if (ObjectUtil.isNull(params.getRegulationsId())) {
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "参数场景Id不能为空,请检查");
+        }
+        standardsRegulationsService.deleteStandardsRegulations(params);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 

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

@@ -248,7 +248,7 @@ public class SceneNaturalService {
     }
     public Integer querySceneNumBySy() {
         SceneNaturalParam params=new SceneNaturalParam();
-
+        params.setCreateUserId(AuthUtil.getCurrentUserId());
        return sceneNaturalMapper.querySceneNumBySy(params);
     }
 }

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

@@ -83,7 +83,7 @@ public class StandardsRegulationsService {
     }
 
     //查看列表
-    public List<StandardsRegulationsPO> querySceneNaturalList(StandardsRegulationsParam params) {
+    public List<StandardsRegulationsPO> queryStandardsRegulationsList(StandardsRegulationsParam params) {
         List<StandardsRegulationsPO> list = standardsRegulationsMapper.queryStandardsRegulationsList(params);
         return list;
     }

+ 3 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/MenuService.java

@@ -18,7 +18,8 @@ public class MenuService {
     public List<MenuVO> getMenus() {
         String userId = AuthUtil.getCurrentUserId();
         List<MenuVO> menus = menuMapper.getMenus(userId);
-        List<MenuVO> treeList = ObjectUtil.listToTree(menus, "0", MenuVO::getId, MenuVO::getParentId, MenuVO::getChildren, MenuVO::setChildren);
-        return treeList;
+        //List<MenuVO> treeList = ObjectUtil.listToTree(menus, "0", MenuVO::getId, MenuVO::getParentId, MenuVO::getChildren, MenuVO::setChildren);
+        List<MenuVO> menuVOS = ObjectUtil.listToTree(menus);//注解方式转tree
+        return menuVOS;
     }
 }

+ 6 - 1
simulation-resource-server/src/main/resources/mapper/model/ConfigMapper.xml

@@ -56,7 +56,8 @@
             c.vehicle_id,
             c.share,
             v.vehicle_name,
-            v.description as vehicleDescription
+            v.description as vehicleDescription,
+            v.vehicle_image
         FROM model_config c
         LEFT JOIN model_vehicle v ON v.id = c.vehicle_id
         WHERE c.is_deleted = '0'
@@ -216,4 +217,8 @@
           is_deleted = #{isDeleted,jdbcType=VARCHAR}
         where id = #{id,jdbcType=VARCHAR}
     </update>
+
+    <select id="getConfigTotal" parameterType="java.lang.String" resultType="java.lang.Integer">
+        select COUNT(1) from model_config where is_deleted = '0' and share = '0' and create_user_id = #{createUserId,jdbcType=VARCHAR}
+    </select>
 </mapper>

+ 5 - 0
simulation-resource-server/src/main/resources/mapper/model/VehicleMapper.xml

@@ -35,6 +35,7 @@
           id,
           vehicle_name,
           description,
+          vehicle_image,
           share
         from model_vehicle v
         where v.is_deleted = '0'
@@ -60,6 +61,7 @@
             vehicle_type,
             vehicle_model,
             vehicle_colour,
+            vehicle_image,
             max_speed,
             engine_power,
             max_deceleration,
@@ -106,6 +108,7 @@
             vehicle_type,
             vehicle_model,
             vehicle_colour,
+            vehicle_image,
             max_speed,
             engine_power,
             max_deceleration,
@@ -138,6 +141,7 @@
             #{vehicleType,jdbcType=VARCHAR},
             #{vehicleModel,jdbcType=VARCHAR},
             #{vehicleColour,jdbcType=VARCHAR},
+            #{vehicleImage,jdbcType=VARCHAR},
             #{maxSpeed,jdbcType=DECIMAL},
             #{enginePower,jdbcType=DECIMAL},
             #{maxDeceleration,jdbcType=DECIMAL},
@@ -171,6 +175,7 @@
             vehicle_type = #{vehicleType,jdbcType=VARCHAR},
             vehicle_model = #{vehicleModel,jdbcType=VARCHAR},
             vehicle_colour = #{vehicleColour,jdbcType=VARCHAR},
+            vehicle_image = #{vehicleImage,jdbcType=VARCHAR},
             max_speed = #{maxSpeed,jdbcType=DECIMAL},
             engine_power = #{enginePower,jdbcType=DECIMAL},
             max_deceleration = #{maxDeceleration,jdbcType=DECIMAL},

+ 61 - 0
simulation-resource-server/src/main/resources/mapper/project/SimulationProjectMapper.xml

@@ -554,5 +554,66 @@
 				order by seq
     </select>
 
+    <!--查询某天运行项目数量-->
+    <select id="selectRunProjectBySy" parameterType="java.util.Map" resultType="java.lang.Integer">
+        select count(id) from simulation_manual_project
+        where
+        is_deleted = '0'
+        <if test="createUserId != null and createUserId != ''">
+            and create_user_id=#{createUserId,jdbcType=VARCHAR}
+        </if>
+        <if test="startDate != null">
+            and start_time &gt;= #{startDate}
+        </if>
+        <if test="endDate != null">
+            and start_time &lt;= #{endDate}
+        </if>
+    </select>
+
+    <!--查询某天运行任务数量-->
+    <select id="selectRunTaskBySy" parameterType="java.util.Map" resultType="java.lang.Integer">
+        select count(id) from simulation_manual_project_task
+        where
+        is_deleted = '0'
+        <if test="createUserId != null and createUserId != ''">
+            and create_user_id=#{createUserId,jdbcType=VARCHAR}
+        </if>
+        <if test="startDate != null">
+            and run_start_time &gt;= #{startDate}
+        </if>
+        <if test="endDate != null">
+            and run_start_time &lt;= #{endDate}
+        </if>
+    </select>
 
+    <!--运行任务状态-->
+    <select id="selectRunTaskByState" parameterType="java.util.Map" resultType="java.util.Map">
+        select count(run_state) num,run_state runState from simulation_manual_project_task
+        where
+        is_deleted = '0'
+        <if test="createUserId != null and createUserId != ''">
+            and create_user_id=#{createUserId,jdbcType=VARCHAR}
+        </if>
+        group by run_state
+    </select>
+    <!--运行项目状态-->
+    <select id="selectRunProjectByState" parameterType="java.util.Map" resultType="java.util.Map">
+        select count(now_run_state) num,now_run_state nowRunState from simulation_manual_project
+        where
+        is_deleted = '0'
+        <if test="createUserId != null and createUserId != ''">
+            and create_user_id=#{createUserId,jdbcType=VARCHAR}
+        </if>
+        group by now_run_state
+    </select>
+    <!--评测等级分布-->
+    <select id="selectEvaluationLevel" parameterType="java.util.Map" resultType="java.util.Map">
+        select count(evaluation_level) num,evaluation_level evaluationLevel from simulation_manual_project
+        where
+        is_deleted = '0' and evaluation_level is not null
+        <if test="createUserId != null and createUserId != ''">
+            and create_user_id=#{createUserId,jdbcType=VARCHAR}
+        </if>
+        group by evaluation_level
+    </select>
 </mapper>

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

@@ -38,6 +38,13 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="ids != null and ids.length != 0">
+                and regulation_type in
+                <foreach collection="regulationType" item="item" index="index"
+                         separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
             <if test="standardType != null and standardType != ''">
                 and standard_type like CONCAT('%',#{standardType,jdbcType=VARCHAR},'%')
             </if>