Browse Source

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

martin 3 years ago
parent
commit
c4bae68c82
38 changed files with 702 additions and 317 deletions
  1. 0 23
      api-common/src/main/java/api/common/pojo/vo/project/AlgorithmBaseInfoVo.java
  2. 0 15
      api-common/src/main/java/api/common/pojo/vo/project/ConfigSensorVo.java
  3. 0 21
      api-common/src/main/java/api/common/pojo/vo/project/ConfigVehicleVO.java
  4. 0 25
      api-common/src/main/java/api/common/pojo/vo/project/VehicleBaseInfoVo.java
  5. 13 0
      api-common/src/main/java/api/common/util/JsonUtil.java
  6. 1 1
      simulation-oauth-server/src/main/java/com/css/simulation/oauth/server/cofiguration/oauth/OauthAuthorizationServerConfiguration.java
  7. 18 0
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/configuration/algPlatform/ClientDetail.java
  8. 70 0
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/AlgPlatformCtrl.java
  9. 30 14
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/MinioController.java
  10. 4 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/util/MinioUtil.java
  11. 10 0
      simulation-resource-common/src/main/resources/bootstrap-windowstest.yaml
  12. 14 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/ctrl/AlgorithmCtrl.java
  13. 2 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/service/AlgorithmService.java
  14. 63 4
      simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/serviceImpl/AlgorithmServiceImpl.java
  15. 1 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/common/config/OAuth2Config.java
  16. 26 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/AlgoPlatformService.java
  17. 0 5
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/FileDownService.java
  18. 5 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/RedisService.java
  19. 11 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/AlgoPlatformServiceFallback.java
  20. 0 4
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/FileDownServiceFallback.java
  21. 5 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/RedisServiceFallback.java
  22. 38 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/open/ctrl/ReportCtrl.java
  23. 18 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/open/service/ReportService.java
  24. 67 41
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java
  25. 25 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationMptFirstTargetScoreMapper.java
  26. 14 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationMptLastTargetScoreMapper.java
  27. 11 26
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectMapper.java
  28. 41 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectTaskMapper.java
  29. 12 10
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/FileController.java
  30. 1 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java
  31. 5 6
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  32. 50 5
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java
  33. 2 1
      simulation-resource-server/src/main/resources/bootstrap-dev.yaml
  34. 10 0
      simulation-resource-server/src/main/resources/bootstrap-windowstest.yaml
  35. 12 0
      simulation-resource-server/src/main/resources/mapper/project/SimulationMptFirstTargetScoreMapper.xml
  36. 13 0
      simulation-resource-server/src/main/resources/mapper/project/SimulationMptLastTargetScoreMapper.xml
  37. 9 113
      simulation-resource-server/src/main/resources/mapper/project/SimulationProjectMapper.xml
  38. 101 0
      simulation-resource-server/src/main/resources/mapper/project/SimulationProjectTaskMapper.xml

+ 0 - 23
api-common/src/main/java/api/common/pojo/vo/project/AlgorithmBaseInfoVo.java

@@ -1,23 +0,0 @@
-package api.common.pojo.vo.project;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 算法基本信息
- */
-@Getter
-@Setter
-public class AlgorithmBaseInfoVo {
-
-    ///TODO 一下参数有待确认
-
-    //id
-    private String id;
-
-    //算法名称
-    private String algorithmName;
-
-    //算法描述
-    private String description;
-}

+ 0 - 15
api-common/src/main/java/api/common/pojo/vo/project/ConfigSensorVo.java

@@ -1,15 +0,0 @@
-package api.common.pojo.vo.project;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 车辆配置传感器
- */
-@Getter
-@Setter
-public class ConfigSensorVo {
-
-    private String sensorType;
-
-}

+ 0 - 21
api-common/src/main/java/api/common/pojo/vo/project/ConfigVehicleVO.java

@@ -1,21 +0,0 @@
-package api.common.pojo.vo.project;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 车辆配置ov
- */
-@Getter
-@Setter
-public class ConfigVehicleVO {
-
-    private String id;
-
-    private String configName;
-
-    //传感器
-    private String sensor;
-
-    private String vehicleId;
-}

+ 0 - 25
api-common/src/main/java/api/common/pojo/vo/project/VehicleBaseInfoVo.java

@@ -1,25 +0,0 @@
-package api.common.pojo.vo.project;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 车辆基本信息
- */
-@Getter
-@Setter
-public class VehicleBaseInfoVo {
-
-    //id
-    private String id;
-
-    //车辆名称
-    private String vehicleName;
-
-    //车辆描述
-    private String description;
-
-    //车辆图片地址
-    private String vehicleImage;
-
-}

+ 13 - 0
api-common/src/main/java/api/common/util/JsonUtil.java

@@ -2,7 +2,9 @@ package api.common.util;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.TextNode;
 import com.fasterxml.jackson.databind.type.TypeFactory;
 
 
@@ -13,6 +15,8 @@ import java.util.Map;
 
 public class JsonUtil {
 
+    private static final ObjectMapper mapper = new ObjectMapper();
+
 
     /**
      * bean 转成 json
@@ -68,4 +72,13 @@ public class JsonUtil {
         }
         return new HashMap();
     }
+
+    public static JsonNode readTree(String json) {
+        try {
+            return mapper.readTree(json);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+        return new TextNode("");
+    }
 }

+ 1 - 1
simulation-oauth-server/src/main/java/com/css/simulation/oauth/server/cofiguration/oauth/OauthAuthorizationServerConfiguration.java

@@ -66,7 +66,7 @@ public class OauthAuthorizationServerConfiguration extends AuthorizationServerCo
                         "simulation-resource-scheduler",
                         "simulation-resource-sever"
                 )  // 客户端拥有的资源列表
-                .authorizedGrantTypes("password", "refresh_token") // 允许的授权方式
+                .authorizedGrantTypes("client_credentials", "refresh_token") // 允许的授权方式
                 .scopes("other")    // 授权范围划分
                 .autoApprove(true)
         ; // 是否自动通过,即是否跳过 scope 选择界面,跳过的话代表将所有 scope 授权范围赋予该 client

+ 18 - 0
simulation-resource-common/src/main/java/com/css/simulation/resource/common/configuration/algPlatform/ClientDetail.java

@@ -0,0 +1,18 @@
+package com.css.simulation.resource.common.configuration.algPlatform;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Data
+@Configuration
+@ConfigurationProperties(prefix = "alg-platform")
+public class ClientDetail {
+
+    private String appid;//客户端id
+    private String secret;//秘钥
+    private String tokenUri;//获取token接口
+    private String algorithmListUri;//获取列表查询接口
+    private String algorithmAddrUri;//获取算法地址接口
+
+}

+ 70 - 0
simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/AlgPlatformCtrl.java

@@ -0,0 +1,70 @@
+package com.css.simulation.resource.common.controller;
+
+import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.param.RedisParameter;
+import api.common.util.HttpUtil;
+import api.common.util.JsonUtil;
+import api.common.util.ObjectUtil;
+import com.css.simulation.resource.common.configuration.algPlatform.ClientDetail;
+import com.fasterxml.jackson.databind.JsonNode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+
+@Controller
+@RequestMapping("/algPlatform")
+public class AlgPlatformCtrl {
+
+    private static final String TOKEN_KEY = "ALGPLATFORM:TOKEN";
+
+    @Autowired
+    RedisController redisController;
+
+    @Resource
+    ClientDetail clientDetail;
+
+    @RequestMapping("/getAlgorithmList")
+    @ResponseBody
+    public ResponseBodyVO getAlgorithmList(@RequestBody String param) throws Exception {
+        //取得token
+        String token = getToken();
+        if(ObjectUtil.isNull(token)){
+           return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE, "获取算法平台token失败!");
+        }
+        String algorithmListUri = clientDetail.getAlgorithmListUri() + "?access_token=" + token + param;
+        String result = HttpUtil.get(HttpUtil.getHttpClient(), HttpUtil.getRequestConfig(), algorithmListUri);
+        ResponseBodyVO responseBodyVO = new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, "请求成功!", result);
+        return responseBodyVO;
+    }
+
+    private  String getToken() throws Exception {
+        RedisParameter redisParameter = new RedisParameter();
+        redisParameter.setKey(TOKEN_KEY);
+        ResponseBodyVO<String> responseBodyVO = redisController.get(redisParameter);
+        String token = responseBodyVO.getInfo();
+        if(ObjectUtil.isNull(token)){//token失效重新获取
+            String tokenUri = clientDetail.getTokenUri();
+            String appid = clientDetail.getAppid();
+            String secret = clientDetail.getSecret();
+            String URI = tokenUri + "&appid=" + appid + "&secret=" + secret;
+            String result = HttpUtil.get(HttpUtil.getHttpClient(), HttpUtil.getRequestConfig(), URI);
+            JsonNode jsonNode = JsonUtil.readTree(result);
+            JsonNode dataNode = jsonNode.path("data");
+            if(ObjectUtil.isNotNull(dataNode)){
+                token = dataNode.path("access_token").asText();
+                if(ObjectUtil.isNotNull(token)){
+                    int expiresSec = dataNode.path("expires_in_sec").asInt();
+                    redisParameter.setMinutes(expiresSec / 60);
+                    redisParameter.setValue(token);
+                    redisController.set(redisParameter);
+                }
+            }
+        }
+        return token;
+    }
+
+}

+ 30 - 14
simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/MinioController.java

@@ -1,8 +1,10 @@
 package com.css.simulation.resource.common.controller;
 
 import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.constants.DictConstants;
 import api.common.pojo.param.MinioParameter;
 import api.common.util.FileUtil;
+import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.util.MinioUtil;
 import io.minio.MinioClient;
 import io.minio.errors.*;
@@ -15,11 +17,15 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.InputStream;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/minio")
@@ -60,21 +66,31 @@ public class MinioController {
     @PostMapping(value = "/uploadProcessBar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     public ResponseBodyVO<String> uploadProcessBar(
             @RequestPart("file") MultipartFile file,
-            @RequestParam("objectName") String objectName,//  "/xx/xxx/x/xx"
-            @RequestParam("objectPath") String objectPath
+            HttpServletRequest request
     ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
-
-        MinioUtil.uploadProcessBar(
-                minioClient,
-                file,
-                bucketName,
-                objectName,
-                objectPath,
-                redisController
-        );
-        String previewUrl = MinioUtil.getPreviewUrl(minioClient, Method.GET, bucketName, objectName);
-
-        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "请求成功!", previewUrl);
+        String type = request.getParameter("type");
+        String objectPath = request.getParameter("objectPath");
+        if (file != null){
+            String objectName = "";
+            Integer nowTime = TimeUtil.getRq(new Date(), 0);
+            if (type.equals(DictConstants.ALGORITHM_FILE)) {
+                objectName = "algorithm/" + nowTime + "/" + objectPath + "/" + file.getOriginalFilename();
+            }
+
+            MinioUtil.uploadProcessBar(
+                    minioClient,
+                    file,
+                    bucketName,
+                    objectName,
+                    objectPath,
+                    redisController
+            );
+            Map map = new HashMap();
+            map.put("fileName", objectName);
+
+            return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, map);
+        }
+        return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "文件流file为空,请检查!");
     }
 
 //    @PostMapping("/download")

+ 4 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/util/MinioUtil.java

@@ -143,7 +143,6 @@ public class MinioUtil {
                     public void getStep(int readBytes){
                         RedisParameter redisParameter = getProgress(readBytes,longs);
                         if(ObjectUtil.isNotNull(redisParameter)){
-                            //System.out.println("progress----:" + redisParameter.getValue());
                             redisParameter.setKey(DictConstants.ALGORITHM_KEY + objectPath);//进度缓存的 key
                             redisController.set(redisParameter);
                         }
@@ -155,6 +154,7 @@ public class MinioUtil {
                 .stream(pis, fileSize, -1)
                 .build());
         pis.close();
+
     }
 
     /**
@@ -197,6 +197,9 @@ public class MinioUtil {
             RedisParameter redisParameter = new RedisParameter();
             redisParameter.setValue(String.format("%.2f",progress-progressStep));
             redisParameter.setMinutes(1);
+            if(longs[0] == longs[2]){
+                redisParameter.setValue("1.00");
+            }
             return redisParameter;
         }
         return null;

+ 10 - 0
simulation-resource-common/src/main/resources/bootstrap-windowstest.yaml

@@ -0,0 +1,10 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.15.12.70:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+      config:
+        server-addr: 10.15.12.70:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml

+ 14 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/ctrl/AlgorithmCtrl.java

@@ -40,10 +40,23 @@ public class AlgorithmCtrl {
      */
     @RequestMapping("selectAlgorithmList")
     @ResponseBody
-    public ResponseBodyVO selectAlgorithmList(@RequestBody AlgorithmParameter param){
+    public ResponseBodyVO selectAlgorithmList(@RequestBody AlgorithmParameter param) throws IOException {
         return service.selectAlgorithmList(param);
     }
 
+    /**
+     * 查询算法列表-算法平台页面
+     * @param param
+     * @return
+     */
+    @RequestMapping("selectAlgoPlatformList")
+    @ResponseBody
+    public ResponseBodyVO selectAlgoPlatformList(@RequestBody AlgorithmParameter param) throws IOException {
+        return service.selectAlgoPlatformList(param);
+    }
+
+
+
     /**
      * 查询算法列表-公有页面
      * @param param

+ 2 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/service/AlgorithmService.java

@@ -14,6 +14,8 @@ public interface AlgorithmService {
 
     ResponseBodyVO selectAlgorithmList(AlgorithmParameter param);
 
+    ResponseBodyVO selectAlgoPlatformList(AlgorithmParameter param);
+
     ResponseBodyVO deleteByid(AlgorithmParameter param);
 
     ResponseBodyVO selectDetailsById(AlgorithmParameter param);

+ 63 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/algorithm/serviceImpl/AlgorithmServiceImpl.java

@@ -4,21 +4,25 @@ import api.common.pojo.param.algorithm.AlgorithmParameter;
 import api.common.pojo.param.system.DictParam;
 import api.common.pojo.po.algorithm.AlgorithmPO;
 import api.common.pojo.constants.DictConstants;
-import api.common.util.JgitUtil;
-import api.common.util.StringUtil;
+import api.common.util.*;
 import api.common.pojo.vo.algorithm.AlgorithmVO;
 import api.common.pojo.vo.algorithm.RunningProjectVO;
-import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.algorithm.mapper.AlgorithmMapper;
 import com.css.simulation.resource.algorithm.service.AlgorithmService;
+import com.css.simulation.resource.feign.AlgoPlatformService;
 import com.css.simulation.resource.system.service.DictService;
 import com.github.pagehelper.PageInfo;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.impl.client.CloseableHttpClient;
 import org.eclipse.jgit.lib.Ref;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -26,6 +30,9 @@ import java.util.Map;
 @Service
 public class AlgorithmServiceImpl implements AlgorithmService {
 
+    @Resource
+    AlgoPlatformService algoPlatformService;
+
     @Autowired
     private AlgorithmMapper algorithmMapper;
 
@@ -68,7 +75,7 @@ public class AlgorithmServiceImpl implements AlgorithmService {
     }
 
     @Override
-    public ResponseBodyVO selectAlgorithmList(AlgorithmParameter param) {
+    public ResponseBodyVO selectAlgorithmList(AlgorithmParameter param){
         param.setIsDeleted("0");
         param.setCreateUserId(AuthUtil.getCurrentUserId());
         PageUtil.setPageInfo(param);
@@ -79,6 +86,58 @@ public class AlgorithmServiceImpl implements AlgorithmService {
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS,new PageInfo<>(vos));
     }
 
+    @Override
+    public ResponseBodyVO selectAlgoPlatformList(AlgorithmParameter param){
+        //获取参数
+        String algorithmId = param.getAlgorithmCode();
+        String algorithmName = param.getAlgorithmName();
+        String description = param.getDescription();
+        Integer page = param.getPageNum();
+        Integer size = param.getPageSize();
+        String sort = "algorithmId-desc";
+        String urlParam = "";
+        if (StringUtil.isNotEmpty(algorithmId)){
+            urlParam = urlParam + "&algorithmId=" + algorithmId;
+        }
+        if (StringUtil.isNotEmpty(algorithmName)){
+            urlParam = urlParam + "&algorithmName=" + algorithmName;
+        }
+        if (StringUtil.isNotEmpty(description)){
+            urlParam = urlParam + "&description=" + description;
+        }
+        if (StringUtil.isNotEmpty(page)){
+            urlParam = urlParam + "&page=" + page;
+        }
+        if (StringUtil.isNotEmpty(size)){
+            urlParam = urlParam + "&size=" + size;
+        }
+        urlParam = urlParam + "&sort=" + sort;
+
+        ResponseBodyVO algorithmList = algoPlatformService.getAlgorithmList(urlParam);
+
+        //解析数据
+        Map jsonMap = JsonUtil.jsonToMap((String) algorithmList.getInfo());
+        Map<String, Object> dataMap = (Map<String, Object>) jsonMap.get("data");
+        List<Map<String, String>> contentList = (List<Map<String, String>>) dataMap.get("content");
+        Integer totalElements = (Integer) dataMap.get("totalElements");
+        List<AlgorithmVO> vos = new ArrayList<>();
+        if(totalElements > 0){
+            for (Map<String, String> content: contentList) {
+                AlgorithmVO vo = new AlgorithmVO();
+                vo.setId(content.get("id"));
+                vo.setAlgorithmCode(content.get("algorithmId"));
+                vo.setAlgorithmName(content.get("algorithmName"));
+                vo.setDescription(content.get("description"));
+                vos.add(vo);
+            }
+        }
+        PageInfo<AlgorithmVO> objectPageInfo = new PageInfo<>(vos);
+        objectPageInfo.setTotal(totalElements);
+
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS,objectPageInfo);
+    }
+
+
     @Override
     public ResponseBodyVO selectSharedAlgorithmList(AlgorithmParameter param) {
         param.setShare("1");

+ 1 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/common/config/OAuth2Config.java

@@ -46,6 +46,7 @@ public class OAuth2Config extends ResourceServerConfigurerAdapter {
                 .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)// 无状态验证
                 .and()
                 .authorizeRequests()
+                .antMatchers("/**/report/**").access("#oauth2.hasScope('other')")//算法平台接口
                 .antMatchers("/druid/**").permitAll()
                 .anyRequest().access("#oauth2.hasScope('all')") // 拦截所有请求判断 scope
         ;

+ 26 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/AlgoPlatformService.java

@@ -0,0 +1,26 @@
+package com.css.simulation.resource.feign;
+
+import api.common.pojo.common.ResponseBodyVO;
+import com.css.simulation.resource.common.config.FeignConfiguration;
+import com.css.simulation.resource.feign.fallback.AlgoPlatformServiceFallback;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+
+//@FeignClient(name = "test", url = "http://10.15.12.87:8001",path = "/simulation/resource/common", fallback = AlgoPlatformServiceFallback.class, configuration = FeignConfiguration.class)
+@FeignClient(
+        contextId = "algoPlatform",
+        value = "simulation-resource-common",
+        path = "/simulation/resource/common",
+        fallback = AlgoPlatformServiceFallback.class,
+        configuration = FeignConfiguration.class
+)
+public interface AlgoPlatformService {
+
+    @PostMapping(value = "/algPlatform/getAlgorithmList")
+    ResponseBodyVO getAlgorithmList(@RequestBody String param);
+
+
+
+}

+ 0 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/FileDownService.java

@@ -37,9 +37,4 @@ public interface FileDownService {
     @PostMapping("/minio/download")
     Response download(@RequestBody @Validated MinioParameter minioParameter);
 
-    @PostMapping(value = "/redis/get")
-    ResponseBodyVO<String> getProgress(@RequestBody @Validated RedisParameter redisParameter);
-
-
-
 }

+ 5 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/RedisService.java

@@ -5,7 +5,9 @@ import api.common.pojo.param.RedisParameter;
 import com.css.simulation.resource.common.config.FeignConfiguration;
 import com.css.simulation.resource.feign.fallback.RedisServiceFallback;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 import java.util.Map;
@@ -30,4 +32,7 @@ public interface RedisService {
     @PostMapping("/redis/getDictMaps")
     ResponseBodyVO<Map<String,String>> getDictMaps(List<String> keyList);
 
+    @PostMapping(value = "/redis/get")
+    ResponseBodyVO<String> getProgress(RedisParameter redisParameter);
+
 }

+ 11 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/AlgoPlatformServiceFallback.java

@@ -0,0 +1,11 @@
+package com.css.simulation.resource.feign.fallback;
+
+import api.common.pojo.common.ResponseBodyVO;
+import com.css.simulation.resource.feign.AlgoPlatformService;
+
+public class AlgoPlatformServiceFallback implements AlgoPlatformService {
+    @Override
+    public ResponseBodyVO<String> getAlgorithmList(String param) {
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
+    }
+}

+ 0 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/FileDownServiceFallback.java

@@ -39,8 +39,4 @@ public class FileDownServiceFallback implements FileDownService {
         return null;
     }
 
-    @Override
-    public ResponseBodyVO<String> getProgress(RedisParameter redisParameter) {
-        return null;
-    }
 }

+ 5 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/RedisServiceFallback.java

@@ -31,4 +31,9 @@ public class RedisServiceFallback implements RedisService {
     public ResponseBodyVO<Map<String, String>> getDictMaps(List<String> keyList) {
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
     }
+
+    @Override
+    public ResponseBodyVO<String> getProgress(RedisParameter redisParameter) {
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
+    }
 }

+ 38 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/open/ctrl/ReportCtrl.java

@@ -0,0 +1,38 @@
+package com.css.simulation.resource.open.ctrl;
+
+import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.vo.project.ProjectReportVo;
+import api.common.util.ObjectUtil;
+import com.css.simulation.resource.open.service.ReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.Map;
+
+@Controller
+@RequestMapping("/report")
+public class ReportCtrl {
+
+    @Autowired
+    ReportService reportService;
+
+    /**
+     * 获取测试报告详情
+     * @param paramMap
+     * @return
+     */
+    @RequestMapping("getSimulationReportById")
+    @ResponseBody
+    public ResponseBodyVO<ProjectReportVo> getSimulationReportById(@RequestBody Map<String,String> paramMap){
+        if(ObjectUtil.isNull(paramMap) || ObjectUtil.isNull(paramMap.get("algorithmId"))){
+            return new ResponseBodyVO(false, 500, "参数必传!",null);
+        }
+        ProjectReportVo reportVo = reportService.getSimulationReportById(paramMap);
+        ResponseBodyVO<ProjectReportVo> response = new ResponseBodyVO<ProjectReportVo>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(reportVo);
+        return response;
+    }
+}

+ 18 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/open/service/ReportService.java

@@ -0,0 +1,18 @@
+package com.css.simulation.resource.open.service;
+
+import api.common.pojo.vo.project.ProjectReportVo;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class ReportService {
+    public ProjectReportVo getSimulationReportById(Map<String, String> paramMap) {
+        ProjectReportVo vo = new ProjectReportVo();
+        vo.setAlgorithmName("test");
+        vo.setAlgorithmScore(26.2);
+        return vo;
+    }
+}

+ 67 - 41
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -10,7 +10,11 @@ import api.common.pojo.param.project.SimulationManualProjectKafkaParam;
 import api.common.pojo.param.project.SimulationManualProjectParam;
 import api.common.pojo.param.system.DictParam;
 import api.common.pojo.po.algorithm.AlgorithmPO;
+import api.common.pojo.po.model.ConfigPO;
+import api.common.pojo.po.model.ConfigSensorPO;
+import api.common.pojo.po.model.VehiclePO;
 import api.common.pojo.po.project.*;
+import api.common.pojo.po.scene.ScenePackagePO;
 import api.common.pojo.po.scene.ScenePackageSublistPO;
 import api.common.pojo.vo.project.*;
 import api.common.pojo.vo.scene.RunProjectVO;
@@ -24,7 +28,10 @@ import com.css.simulation.resource.project.constants.ProjectConstants;
 import com.css.simulation.resource.project.enums.ProjectRunStateEnum;
 import com.css.simulation.resource.project.enums.SceneTypeEnum;
 import com.css.simulation.resource.project.feign.KafkaService;
+import com.css.simulation.resource.project.mapper.SimulationMptFirstTargetScoreMapper;
+import com.css.simulation.resource.project.mapper.SimulationMptLastTargetScoreMapper;
 import com.css.simulation.resource.project.mapper.SimulationProjectMapper;
+import com.css.simulation.resource.project.mapper.SimulationProjectTaskMapper;
 import com.css.simulation.resource.project.service.SimulationProjectService;
 import com.css.simulation.resource.system.service.DictService;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -50,6 +57,15 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     @Autowired
     private SimulationProjectMapper simulationProjectMapper;
 
+    @Autowired
+    private SimulationProjectTaskMapper simulationProjectTaskMapper;
+
+    @Autowired
+    private SimulationMptFirstTargetScoreMapper simulationMptFirstTargetScoreMapper;
+
+    @Autowired
+    private SimulationMptLastTargetScoreMapper simulationMptLastTargetScoreMapper;
+
     @Resource
     private KafkaService kafkaService;
 
@@ -280,27 +296,29 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 
         //算法配置
         String algorithmId = po.getAlgorithm();
-        AlgorithmBaseInfoVo algorithmBaseInfoVo = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithmId).get(0);
+        AlgorithmPO algorithmBaseInfoVo = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithmId).get(0);
 
         //车辆配置
-        VehicleBaseInfoVo vehicleBaseInfoVo = null;
+        VehiclePO vehicleBaseInfoVo = null;
         String vehicleConfigId = po.getVehicle();
-        List<ConfigVehicleVO> configVehicleVOS = simulationProjectMapper.selectConfigVehicle(vehicleConfigId);
+        List<ConfigPO> configVehicleVOS = simulationProjectMapper.selectConfigVehicle(vehicleConfigId);
         if(!isEmpty(configVehicleVOS)){
-            ConfigVehicleVO configVehicleVO = configVehicleVOS.get(0);
+            ConfigPO configVehicleVO = configVehicleVOS.get(0);
             vehicleBaseInfoVo = simulationProjectMapper.selectVehicleBaseInfoById(configVehicleVO.getVehicleId()).get(0);
         }
         String vehicleImage = vehicleBaseInfoVo.getVehicleImage();
-        vehicleBaseInfoVo.setVehicleImage(vehicleImage.replaceFirst("Front side","Top"));
+        if(!isEmpty(vehicleImage)){
+            vehicleBaseInfoVo.setVehicleImage(vehicleImage.replaceFirst("Front side","Top"));
+        }
 
-        List<VehicleSensorVo> vehicleSensorVos = simulationProjectMapper.selectVehicleSensor(vehicleConfigId);
+        List<ConfigSensorPO> vehicleSensorVos = simulationProjectMapper.selectVehicleSensor(vehicleConfigId);
 
         List<SensorBaseInfoVo> sensorCameraList = new ArrayList<>();
         List<SensorBaseInfoVo> sensorOgtList = new ArrayList<>();
         List<SensorBaseInfoVo> sensorLidarList = new ArrayList<>();
         List<SensorBaseInfoVo> sensorRadarList = new ArrayList<>();
         List<SensorBaseInfoVo> sensorGpsList = new ArrayList<>();
-        for(VehicleSensorVo vs : vehicleSensorVos){
+        for(ConfigSensorPO vs : vehicleSensorVos){
             String sensorType = vs.getSensorType();
             String sensorId = vs.getSensorId();
             if(DictConstants.SENSOR_CAMERA.equals(sensorType)){
@@ -346,9 +364,9 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 //            }
 
             //任务运行状态统计
-            Integer size = simulationProjectMapper.selectProjectTaskNumByProjectId(projectTaskParam);
+            Integer size = simulationProjectTaskMapper.selectProjectTaskNumByProjectId(projectTaskParam);
 //            List<ProjectRunStateNumVo> projectRunStateNumVos = simulationProjectMapper.selectRunStateCount(po.getId());
-            projectRunStateNumVoList = simulationProjectMapper.selectRunStateCount(po.getId());
+            projectRunStateNumVoList = simulationProjectTaskMapper.selectRunStateCount(po.getId());
 
             /*状态统计统计数字,不统计比率
             for(ProjectRunStateNumVo pv : projectRunStateNumVos){
@@ -360,7 +378,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             }*/
 
             //结果状态统计
-            List<ProjectRunResultRatioNumVo> projectRunResultRatioNumVos = simulationProjectMapper.selectRunResultCount(po.getId());
+            List<ProjectRunResultRatioNumVo> projectRunResultRatioNumVos = simulationProjectTaskMapper.selectRunResultCount(po.getId());
             for(ProjectRunResultRatioNumVo rv : projectRunResultRatioNumVos){
                 Integer num = rv.getNum();
                 Double d = (double)num/size;
@@ -404,16 +422,16 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, projectDetailsVo);
     }
 
-    private void setVehicleConfig(SensorBaseInfoVo vo, VehicleSensorVo vs){
+    private void setVehicleConfig(SensorBaseInfoVo vo, ConfigSensorPO vs){
         vo.setConfigId(vs.getConfigId());
         vo.setSensorId(vs.getSensorId());
         vo.setSensorType(vs.getSensorType());
-        vo.setSensorX(saveTwoDecimalPlaces(vs.getSensorX()));
-        vo.setSensorY(saveTwoDecimalPlaces(vs.getSensorY()));
-        vo.setSensorZ(saveTwoDecimalPlaces(vs.getSensorZ()));
-        vo.setSensorH(saveTwoDecimalPlaces(vs.getSensorH()));
-        vo.setSensorP(saveTwoDecimalPlaces(vs.getSensorP()));
-        vo.setSensorR(saveTwoDecimalPlaces(vs.getSensorR()));
+        vo.setSensorX(saveTwoDecimalPlaces(vs.getSensorX().doubleValue()));
+        vo.setSensorY(saveTwoDecimalPlaces(vs.getSensorY().doubleValue()));
+        vo.setSensorZ(saveTwoDecimalPlaces(vs.getSensorZ().doubleValue()));
+        vo.setSensorH(saveTwoDecimalPlaces(vs.getSensorH().doubleValue()));
+        vo.setSensorP(saveTwoDecimalPlaces(vs.getSensorP().doubleValue()));
+        vo.setSensorR(saveTwoDecimalPlaces(vs.getSensorR().doubleValue()));
         vo.setSensorPort(vs.getSensorPort());
     }
 
@@ -431,7 +449,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         }
         //算法配置
         String algorithmId = po.getAlgorithm();
-        AlgorithmBaseInfoVo algorithmBaseInfoVo = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithmId).get(0);
+        AlgorithmPO algorithmBaseInfoVo = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithmId).get(0);
 
 
         ProjectReportVo projectReportVo = new ProjectReportVo();
@@ -480,7 +498,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
                 simulationMptFirstTargetScorePo.setPId(po.getId());
                 simulationMptFirstTargetScorePo.setTarget(v.getSublistId());
                 //单个二级指标得分
-                SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo1 = simulationProjectMapper.selectFirstTargetScore(simulationMptFirstTargetScorePo);
+                SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo1 = simulationMptFirstTargetScoreMapper.selectFirstTargetScore(simulationMptFirstTargetScorePo);
                 Double score = simulationMptFirstTargetScorePo1.getScore();
                 totalScore += score*(weightDouble/100);
                 algorithmScoreVo.setScore(saveTwoDecimalPlaces(score));
@@ -577,7 +595,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         ProjectTaskParam projectTaskParam = new ProjectTaskParam();
         projectTaskParam.setPId(id);
         projectTaskParam.setId(taskId);
-        List<ManualProjectTaskPo> pos = simulationProjectMapper.selectprojectTaskByQuery(projectTaskParam);
+        List<ManualProjectTaskPo> pos = simulationProjectTaskMapper.selectprojectTaskByQuery(projectTaskParam);
         if(isEmpty(pos)){
             return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE,"没有获取到任务信息");
         }
@@ -656,7 +674,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         ProjectTaskParam projectTaskParam = new ProjectTaskParam();
         projectTaskParam.setPId(param.getId());
         setPage(param.getCurrentPage()==null?1:param.getCurrentPage(), param.getPageSize()==null?10:param.getPageSize());
-        List<ManualProjectTaskVo> manualProjectTaskVos = simulationProjectMapper.selectProjectTaskByProjectId(projectTaskParam);
+        List<ManualProjectTaskVo> manualProjectTaskVos = simulationProjectTaskMapper.selectProjectTaskByProjectId(projectTaskParam);
 
         PageInfo<ManualProjectTaskVo> pageInfo = new PageInfo(manualProjectTaskVos);
 
@@ -718,9 +736,9 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     }
 
     private void setAlgorithmDropDown(List<DropDownTypeVo> result){
-        List<AlgorithmBaseInfoVo> algorithmBaseInfoVo = simulationProjectMapper.selectAlgorithmBaseInfoById(null);
+        List<AlgorithmPO> algorithmBaseInfoVo = simulationProjectMapper.selectAlgorithmBaseInfoById(null);
         List<DropDownVo> algorithmList = new ArrayList<>();
-        for(AlgorithmBaseInfoVo v : algorithmBaseInfoVo){
+        for(AlgorithmPO v : algorithmBaseInfoVo){
             DropDownVo dropDownVo = new DropDownVo();
             dropDownVo.setId(v.getId());
             dropDownVo.setName(v.getAlgorithmName());
@@ -732,19 +750,19 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         result.add(algorithmDropDown);
     }
     private void setVehicleDropDown(List<DropDownTypeVo> result){
-        List<ConfigVehicleVO> vehicleBaseInfoVo = simulationProjectMapper.selectConfigVehicle(null);
+        List<ConfigPO> vehicleBaseInfoVo = simulationProjectMapper.selectConfigVehicle(null);
         List<DropDownVo> vehicleList = new ArrayList<>();
-        for(ConfigVehicleVO v : vehicleBaseInfoVo){
+        for(ConfigPO v : vehicleBaseInfoVo){
             DropDownVo dropDownVo = new DropDownVo();
             dropDownVo.setId(v.getId());
             dropDownVo.setName(v.getConfigName());
 
             //获取传感器信息
-            List<ConfigSensorVo> configSensorVos = simulationProjectMapper.selectConfigSensor(v.getId());
+            List<ConfigSensorPO> configSensorVos = simulationProjectMapper.selectConfigSensor(v.getId());
             String sensor = "";
             if(!isEmpty(configSensorVos) && configSensorVos.get(0) != null){
                 StringBuffer stringBuffer = new StringBuffer();
-                for(ConfigSensorVo cv : configSensorVos){
+                for(ConfigSensorPO cv : configSensorVos){
                     stringBuffer.append(cv.getSensorType()+",");
                 }
                 sensor = stringBuffer.substring(0,stringBuffer.lastIndexOf(","));
@@ -761,13 +779,13 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         result.add(vehicleDropDown);
     }
     private void setScenePackageDropDown(List<DropDownTypeVo> result){
-        List<ScenePackageBaseVo> scenePackageBaseVo = simulationProjectMapper.selectScenePackageBaseById(null);
+        List<ScenePackagePO> scenePackageBaseVo = simulationProjectMapper.selectScenePackageBaseById(null);
         List<DropDownVo> scenePackageList = new ArrayList<>();
-        for(ScenePackageBaseVo v : scenePackageBaseVo){
+        for(ScenePackagePO v : scenePackageBaseVo){
             DropDownVo dropDownVo = new DropDownVo();
             dropDownVo.setId(v.getPackageId());
             dropDownVo.setName(v.getPackageName());
-            dropDownVo.setSceneNum(v.getSceneNum());
+            dropDownVo.setSceneNum(String.valueOf(v.getSceneNum()));
             scenePackageList.add(dropDownVo);
         }
         DropDownTypeVo scenePackageDropDown = new DropDownTypeVo();
@@ -800,9 +818,9 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         Date createTime = vo.getCreateTime();
         vo.setCreateTimeFmt(getRqStr(createTime, 2));
         String algorithm = vo.getAlgorithm();
-        List<AlgorithmBaseInfoVo> algorithmBaseInfoVos = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithm);
+        List<AlgorithmPO> algorithmBaseInfoVos = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithm);
         if(!isEmpty(algorithmBaseInfoVos)){
-            AlgorithmBaseInfoVo algorithmBaseInfoVo = algorithmBaseInfoVos.get(0);
+            AlgorithmPO algorithmBaseInfoVo = algorithmBaseInfoVos.get(0);
             vo.setAlgorithm(algorithmBaseInfoVo.getAlgorithmName());
         }
         vo.setNowRunStateDict(getDictName(DictConstants.PROJECT_RUN_STATE, vo.getNowRunState()));
@@ -1063,7 +1081,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         //1.获取项目下所有场景得分
         ProjectTaskParam param = new ProjectTaskParam();
         param.setPId(projectId);
-        List<ManualProjectTaskVo> manualProjectTaskVos = simulationProjectMapper.selectProjectTaskByProjectId(param);
+        List<ManualProjectTaskVo> manualProjectTaskVos = simulationProjectTaskMapper.selectProjectTaskByProjectId(param);
 
         List<SublistScoreVo> lastSubList = new ArrayList<>();
         //2.拼接场景得分信息
@@ -1604,7 +1622,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         SimulationMptLastTargetScorePo poParam = new SimulationMptLastTargetScorePo();
         poParam.setPId(pId);
         poParam.setTarget(vo.getSublistId());
-        SimulationMptLastTargetScorePo po = simulationProjectMapper.selectLastTargetScore(poParam);
+        SimulationMptLastTargetScorePo po = simulationMptLastTargetScoreMapper.selectLastTargetScore(poParam);
         if(po != null){
             vo.setNotStandardSceneNum(po.getNotStandardSceneNum());
             vo.setScore(po.getScore());
@@ -1617,7 +1635,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         SimulationMptFirstTargetScorePo poParam = new SimulationMptFirstTargetScorePo();
         poParam.setPId(pId);
         poParam.setTarget(vo.getSublistId());
-        SimulationMptFirstTargetScorePo po = simulationProjectMapper.selectFirstTargetScore(poParam);
+        SimulationMptFirstTargetScorePo po = simulationMptFirstTargetScoreMapper.selectFirstTargetScore(poParam);
         if(po != null){
             vo.setScore(po.getScore());
         }
@@ -1634,7 +1652,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         sceneScoreParam.setLastTargerId(vo.getSublistId());
         sceneScoreParam.setSceneType(sceneType);
         sceneScoreParam.setSceneIds(Arrays.asList(sceneIdArr));
-        List<SceneScoreVo> sceneScoreVos = simulationProjectMapper.selectSceneScoreByIds(sceneScoreParam);
+        List<SceneScoreVo> sceneScoreVos = simulationProjectTaskMapper.selectSceneScoreByIds(sceneScoreParam);
 
         for(SceneScoreVo s : sceneScoreVos){
             /*if(SceneTypeEnum.SCENE_NATURAL.getCode().equals(sceneType)){
@@ -1743,7 +1761,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         po.setPId(pId);
 //        po.setLastTargerId(scenePackageSubListVO.getSublistId());
         po.setLastTargerId(sublistId);
-        SceneScoreVo sceneScoreVo = simulationProjectMapper.selectSceneScoreNumQuery(po);
+        SceneScoreVo sceneScoreVo = simulationProjectTaskMapper.selectSceneScoreNumQuery(po);
         resultVo.setNum(resultVo.getNum()+sceneScoreVo.getNum());
     }
 
@@ -1770,7 +1788,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
                 simulationMptFirstTargetScorePo.setPId(po.getId());
                 simulationMptFirstTargetScorePo.setTarget(v.getSublistId());
                 //单个二级指标得分
-                SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo1 = simulationProjectMapper.selectFirstTargetScore(simulationMptFirstTargetScorePo);
+                SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo1 = simulationMptFirstTargetScoreMapper.selectFirstTargetScore(simulationMptFirstTargetScorePo);
                 if(simulationMptFirstTargetScorePo1 == null){
                     return evaluationLevelReport;
                 }
@@ -1842,7 +1860,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             RunProjectVO vo=new RunProjectVO();
             Map<String,Object> params = TimeUtil.getPastTime(i);
             params.put("createUserId", AuthUtil.getCurrentUserId());
-            Integer num = simulationProjectMapper.selectRunTaskBySy(params);
+            Integer num = simulationProjectTaskMapper.selectRunTaskBySy(params);
             vo.setToDate(params.get("toDate").toString());
             vo.setNum(num);
             list.add(vo);
@@ -1854,7 +1872,9 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     public ResponseBodyVO selectRunTaskByState() {
             Map<String,Object> params =new HashMap<>();
             params.put("createUserId", AuthUtil.getCurrentUserId());
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, simulationProjectMapper.selectRunTaskByState(params));
+        List<Map> list=   simulationProjectTaskMapper.selectRunTaskByState(params);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
     }
     //项目运行状态统计-饼图
     @Override
@@ -1862,7 +1882,13 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         Map<String,Object> params =new HashMap<>();
         params.put("createUserId", AuthUtil.getCurrentUserId());
         //10:未执行,20:执行中,30:执行完成,40:已中止
-        List list=simulationProjectMapper.selectRunProjectByState(params);
+        List<Map> list=simulationProjectMapper.selectRunProjectByState(params);
+        if(list!=null&&list.size()>0){
+            for (Map map:list) {
+            String nowRunState=map.get("nowRunState").toString();
+             map.put("nowRunState",  getDictName(DictConstants.PROJECT_RUN_STATE, nowRunState));
+            }
+        }
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
     }
     //评测等级分布-饼图

+ 25 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationMptFirstTargetScoreMapper.java

@@ -0,0 +1,25 @@
+package com.css.simulation.resource.project.mapper;
+
+import api.common.pojo.param.project.ProjectTaskParam;
+import api.common.pojo.param.project.SceneScoreParam;
+import api.common.pojo.po.project.ManualProjectTaskPo;
+import api.common.pojo.po.project.SimulationMptFirstTargetScorePo;
+import api.common.pojo.po.project.SimulationMptSceneScorePo;
+import api.common.pojo.vo.project.ManualProjectTaskVo;
+import api.common.pojo.vo.project.ProjectRunResultRatioNumVo;
+import api.common.pojo.vo.project.ProjectRunStateNumVo;
+import api.common.pojo.vo.project.SceneScoreVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+@Repository
+public interface SimulationMptFirstTargetScoreMapper {
+
+    SimulationMptFirstTargetScorePo selectFirstTargetScore(SimulationMptFirstTargetScorePo po);
+
+
+}

+ 14 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationMptLastTargetScoreMapper.java

@@ -0,0 +1,14 @@
+package com.css.simulation.resource.project.mapper;
+
+import api.common.pojo.po.project.SimulationMptLastTargetScorePo;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface SimulationMptLastTargetScoreMapper {
+
+    SimulationMptLastTargetScorePo selectLastTargetScore(SimulationMptLastTargetScorePo po);
+
+
+}

+ 11 - 26
simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectMapper.java

@@ -4,7 +4,11 @@ import api.common.pojo.param.project.ProjectTaskParam;
 import api.common.pojo.param.project.SceneScoreParam;
 import api.common.pojo.param.project.SimulationManualProjectParam;
 import api.common.pojo.po.algorithm.AlgorithmPO;
+import api.common.pojo.po.model.ConfigPO;
+import api.common.pojo.po.model.ConfigSensorPO;
+import api.common.pojo.po.model.VehiclePO;
 import api.common.pojo.po.project.*;
+import api.common.pojo.po.scene.ScenePackagePO;
 import api.common.pojo.po.scene.ScenePackageSublistPO;
 import api.common.pojo.vo.project.*;
 import org.apache.ibatis.annotations.Mapper;
@@ -37,13 +41,13 @@ public interface SimulationProjectMapper {
 
     int updateProjectNowRunState(SimulationManualProjectParam param);
 
-    List<AlgorithmBaseInfoVo> selectAlgorithmBaseInfoById(String id);
+    List<AlgorithmPO> selectAlgorithmBaseInfoById(String id);
 
-    List<VehicleBaseInfoVo> selectVehicleBaseInfoById(String id);
+    List<VehiclePO> selectVehicleBaseInfoById(String id);
 
-    List<ScenePackageBaseVo> selectScenePackageBaseById(String id);
+    List<ScenePackagePO> selectScenePackageBaseById(String id);
 
-    List<VehicleSensorVo> selectVehicleSensor(String id);
+    List<ConfigSensorPO> selectVehicleSensor(String id);
 
     SensorBaseInfoVo selectSensorCamera(String id);
 
@@ -61,16 +65,6 @@ public interface SimulationProjectMapper {
 
     SceneBaseInfoVo selectSceneStandardsRegulations(String id);
 
-    List<ManualProjectTaskPo> selectprojectTaskByQuery(ProjectTaskParam vo);
-
-    List<ManualProjectTaskVo>  selectProjectTaskByProjectId(ProjectTaskParam vo);
-
-    Integer selectProjectTaskNumByProjectId(ProjectTaskParam vo);
-
-    List<ProjectRunStateNumVo> selectRunStateCount(String id);
-
-    List<ProjectRunResultRatioNumVo> selectRunResultCount(String id);
-
     List<ScenePackageSubListVO> selectSubSceneByPid(String id);
 
     ScenePackageSubListVO selectsublistBySublistId(String id);
@@ -83,31 +77,22 @@ public interface SimulationProjectMapper {
 
     int insertSimulationMptFirstTargetScorePo(SimulationMptFirstTargetScorePo po);
 
-    SimulationMptLastTargetScorePo selectLastTargetScore(SimulationMptLastTargetScorePo po);
-
-    SimulationMptFirstTargetScorePo selectFirstTargetScore(SimulationMptFirstTargetScorePo po);
-
     List<SimulationMptSceneScorePo> selectSceneScore(SimulationMptSceneScorePo po);
 
-    List<SceneScoreVo> selectSceneScoreByIds(SceneScoreParam param);
-
-    SceneScoreVo selectSceneScoreNumQuery(SimulationMptSceneScorePo po);
-
     SystemUserVo selectUserById(String id);
 
-    List<ConfigVehicleVO> selectConfigVehicle(String id);
+    List<ConfigPO> selectConfigVehicle(String id);
 
-    List<ConfigSensorVo> selectConfigSensor(String id);
+    List<ConfigSensorPO> selectConfigSensor(String id);
 
     List<SimulationManualProjectPo> selectProjectNowRunState(String[] ids);
 
     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);
 
     int insertOtherAlgorithm(AlgorithmPO po);

+ 41 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectTaskMapper.java

@@ -0,0 +1,41 @@
+package com.css.simulation.resource.project.mapper;
+
+import api.common.pojo.param.project.ProjectTaskParam;
+import api.common.pojo.param.project.SceneScoreParam;
+import api.common.pojo.param.project.SimulationManualProjectParam;
+import api.common.pojo.po.algorithm.AlgorithmPO;
+import api.common.pojo.po.project.*;
+import api.common.pojo.vo.project.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+@Repository
+public interface SimulationProjectTaskMapper {
+
+    List<ManualProjectTaskPo> selectprojectTaskByQuery(ProjectTaskParam vo);
+
+    List<ManualProjectTaskVo>  selectProjectTaskByProjectId(ProjectTaskParam vo);
+
+    Integer selectProjectTaskNumByProjectId(ProjectTaskParam vo);
+
+    List<ProjectRunStateNumVo> selectRunStateCount(String id);
+
+    List<ProjectRunResultRatioNumVo> selectRunResultCount(String id);
+
+    List<SceneScoreVo> selectSceneScoreByIds(SceneScoreParam param);
+
+    SceneScoreVo selectSceneScoreNumQuery(SimulationMptSceneScorePo po);
+
+    Integer selectRunTaskBySy(Map map);
+
+    List<Map> selectRunTaskByState(Map map);
+
+
+
+
+
+}

+ 12 - 10
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/FileController.java

@@ -4,8 +4,10 @@ import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.RedisParameter;
+import api.common.util.ObjectUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.feign.FileDownService;
+import com.css.simulation.resource.feign.RedisService;
 import feign.Response;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
@@ -32,6 +34,9 @@ public class FileController {
     @Resource
     private FileDownService fileDownService;
 
+    @Resource
+    private RedisService redisService;
+
     @PostMapping(value = "/uploadWj", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     public ResponseBodyVO<Map> uploadWj(@RequestParam("file") MultipartFile multipartFile, HttpServletRequest request) {
         //获取文件类型
@@ -48,17 +53,10 @@ public class FileController {
                 fileName = "交通事故场景/" + nowTime + "/" + objectPath + "/" + multipartFile.getOriginalFilename();
             } else if (type.equals(DictConstants.SCENE_GENERAL)) {
                 fileName = "泛化场景/" + nowTime + "/" + objectPath + "/" + multipartFile.getOriginalFilename();
-            } else if (type.equals(DictConstants.ALGORITHM_FILE)) {
-                fileName = "algorithm/" + nowTime + "/"  + objectPath + "/" + multipartFile.getOriginalFilename();
             } else {
                 fileName = multipartFile.getOriginalFilename();
             }
             ResponseBodyVO<String> respon;
-//            if (type.equals(DictConstants.ALGORITHM_FILE)) {
-//                respon = fileDownService.uploadProcessBar(multipartFile, fileName, objectPath);
-//            }else {
-//                respon = fileDownService.upload(multipartFile, fileName);
-//            }
             respon = fileDownService.upload(multipartFile, fileName);
             String videoPreview = respon.getMessage();
             Map map = new HashMap();
@@ -81,10 +79,14 @@ public class FileController {
     }
 
     @PostMapping(value = "/getProgress")
-    public ResponseBodyVO getProgress(@RequestParam("objectPath") String objectPath){
+    public ResponseBodyVO getProgress(@RequestBody Map<String,String> paramMap){
+        String objectPath = paramMap.get("objectPath");
         RedisParameter redisParameter = new RedisParameter();
-        redisParameter.setKey(objectPath);
-        ResponseBodyVO resp = fileDownService.getProgress(redisParameter);
+        redisParameter.setKey(DictConstants.ALGORITHM_KEY + objectPath);
+        ResponseBodyVO resp = redisService.getProgress(redisParameter);
+        if(ObjectUtil.isNull(resp.getInfo())){
+            resp.setInfo("0.00");
+        }
         return resp;
     }
 

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

@@ -229,7 +229,7 @@ public class SceneAccidentService {
                 }
 
             }
-            if(po.getConflictType().indexOf("机动车-机动车冲突")>-1){
+            if(po.getConflictType().indexOf("机动车-机动车")>-1){
                 if(ObjectUtil.isNull(po.getLabel())){
                     po.setLabel("机动车-机动车冲突");
                 }else{

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

@@ -365,34 +365,33 @@ public class SceneNaturalService {
                 }
             }
             if (vo.getTargetBehavior().indexOf("机动车从左侧切入成功")>-1 ||vo.getTargetBehavior().indexOf("机动车从右侧切入成功")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("切入");
                 } else {
                     vo.setLabel(vo.getLabel() + ",切入");
                 }
             }
             if (vo.getTargetBehavior().equals("机动车向左侧切出成功") ||vo.getTargetBehavior().equals("机动车向右侧切出成功")) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("切出");
                 } else {
                     vo.setLabel(vo.getLabel() + ",切出");
                 }
             }
-            if (vo.getSelfBehavior().indexOf("直路掉头")>-1 ||vo.getSelfBehavior().indexOf("路口掉头")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+            if (vo.getSelfBehavior().indexOf("直路掉头")>-1 ||vo.getSelfBehavior().indexOf("路口掉头")>-1){
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("掉头");
                 } else {
                     vo.setLabel(vo.getLabel() + ",掉头");
                 }
             }
             if (vo.getSelfBehavior().indexOf("向左变道成功") >-1||vo.getSelfBehavior().equals("向右变道成功")||vo.getSelfBehavior().indexOf("向左连续变道")>-1||vo.getSelfBehavior().indexOf("向右连续变道")>-1||vo.getSelfBehavior().indexOf("向左变道超车")>-1||vo.getSelfBehavior().indexOf("向右变道超车")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("变道");
                 } else {
                     vo.setLabel(vo.getLabel() + ",变道");
                 }
             }
-
         }
         return list;
     }

+ 50 - 5
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.ObjectUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
@@ -16,8 +17,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 
 @Slf4j
 @Service
@@ -28,7 +28,6 @@ public class ScenePackageService {
     @Resource
     private ScenePackageSublistMapper scenePackageSublistMapper;
 
-
     /**
      * 测试包数据录入大保存:
      */
@@ -60,9 +59,25 @@ public class ScenePackageService {
 
         List<ScenePackageSublistPO> poList = new ArrayList<>();
         List<ScenePackageSublistPO> treeList = instShareListTree(listSublictTree, uuId, uuId, poList, "0",1);
+       //校验指标名称唯一
         if (treeList == null || treeList.size() < 1) {
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查");
         }
+        if(treeList!=null && treeList.size()>1){
+            Set set=new HashSet();
+        Map map=new HashMap<>();
+            for (ScenePackageSublistPO vo: treeList ) {
+              Object sublistName=  map.get(vo.getSublistName());
+              if(ObjectUtil.isNull(sublistName)){
+                  map.put(vo.getSublistName(),vo.getSublistName());
+              }else{
+                      set.add(vo.getSublistName());
+              }
+            }
+            if(ObjectUtil.isNotNull(set)){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称:"+set+"重复,请检查");
+            }
+        }
         scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
@@ -106,6 +121,21 @@ public class ScenePackageService {
         if (treeList == null || treeList.size() < 1) {
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查");
         }
+        if(treeList!=null && treeList.size()>1){
+            Set set=new HashSet();
+            Map map=new HashMap<>();
+            for (ScenePackageSublistPO vo: treeList ) {
+                Object sublistName=  map.get(vo.getSublistName());
+                if(ObjectUtil.isNull(sublistName)){
+                    map.put(vo.getSublistName(),vo.getSublistName());
+                }else{
+                    set.add(vo.getSublistName());
+                }
+            }
+            if(ObjectUtil.isNotNull(set)){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称:"+set+"重复,请检查");
+            }
+        }
         scenePackageMapper.updateScenePackage(po);
         scenePackageSublistMapper.deleteScenePackageSublist(po.getPackageId());
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
@@ -220,7 +250,7 @@ public class ScenePackageService {
         po.setPackageName(scenePackagePO.getPackageName());
         List<ScenePackageNewVO> listName = scenePackageMapper.queryByPackageName(po);
         if (listName != null && listName.size() > 0) {
-            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "公有列表名称packName=" + listName.get(0).getPackageName() + "的测试包已存在,请检查");
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "测试包名称packName=" + listName.get(0).getPackageName() + "的测试包已存在,请检查");
         }
         BeanUtils.copyProperties(scenePackagePO, po);
         po.setCreateTime(TimeUtil.getNowForMysql());
@@ -231,10 +261,25 @@ public class ScenePackageService {
         po.setPackageId(uuId);
         po.setIsDeleted("0");
         po.setShare("1");
-        scenePackageMapper.saveScenePackage(po);
         List<ScenePackageSublistPO> poList = new ArrayList<>();
         List<ScenePackageSublistVO> listSublist = selectScenePackageSubListTree(null, true, params.getPackageId());
         List<ScenePackageSublistPO> treeList = instShareListTree(listSublist, uuId, uuId, poList, "1",1);
+        if(treeList!=null && treeList.size()>1){
+            Set set=new HashSet();
+            Map map=new HashMap<>();
+            for (ScenePackageSublistPO vo: treeList ) {
+                Object sublistName=  map.get(vo.getSublistName());
+                if(ObjectUtil.isNull(sublistName)){
+                    map.put(vo.getSublistName(),vo.getSublistName());
+                }else{
+                    set.add(vo.getSublistName());
+                }
+            }
+            if(ObjectUtil.isNotNull(set)){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称:"+set+"重复,请检查");
+            }
+        }
+        scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }

+ 2 - 1
simulation-resource-server/src/main/resources/bootstrap-dev.yaml

@@ -1,3 +1,4 @@
+#nacos配置
 spring:
   cloud:
     nacos:
@@ -7,4 +8,4 @@ spring:
       config:
         server-addr: 10.15.12.70:8848
         namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
-        file-extension: yaml
+        file-extension: yaml

+ 10 - 0
simulation-resource-server/src/main/resources/bootstrap-windowstest.yaml

@@ -0,0 +1,10 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.15.12.70:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+      config:
+        server-addr: 10.15.12.70:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml

+ 12 - 0
simulation-resource-server/src/main/resources/mapper/project/SimulationMptFirstTargetScoreMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.css.simulation.resource.project.mapper.SimulationMptFirstTargetScoreMapper" >
+
+    <!--查询第一级指标得分-->
+    <select id="selectFirstTargetScore" parameterType="api.common.pojo.po.project.SimulationMptFirstTargetScorePo" resultType="api.common.pojo.po.project.SimulationMptFirstTargetScorePo">
+        select score
+        from simulation_mpt_first_target_score
+        where p_id = #{pId,jdbcType=VARCHAR} and target = #{target,jdbcType=VARCHAR} and is_deleted = '0'
+    </select>
+
+</mapper>

+ 13 - 0
simulation-resource-server/src/main/resources/mapper/project/SimulationMptLastTargetScoreMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.css.simulation.resource.project.mapper.SimulationMptLastTargetScoreMapper" >
+
+
+    <!--查询最后一级指标得分-->
+    <select id="selectLastTargetScore" parameterType="api.common.pojo.po.project.SimulationMptLastTargetScorePo" resultType="api.common.pojo.po.project.SimulationMptLastTargetScorePo">
+        select not_standard_scene_num, score, score_explain
+        from simulation_mpt_last_target_score
+        where p_id = #{pId,jdbcType=VARCHAR} and target = #{target,jdbcType=VARCHAR} and is_deleted = '0'
+    </select>
+
+</mapper>

+ 9 - 113
simulation-resource-server/src/main/resources/mapper/project/SimulationProjectMapper.xml

@@ -222,7 +222,7 @@
     </update>
 
     <!--获取算法基本信息 /*where a.share = '0' and a.is_deleted = '0'*/-->
-    <select id="selectAlgorithmBaseInfoById" parameterType="string" resultType="api.common.pojo.vo.project.AlgorithmBaseInfoVo">
+    <select id="selectAlgorithmBaseInfoById" parameterType="string" resultType="api.common.pojo.po.algorithm.AlgorithmPO">
         select a.id, a.algorithm_name, a.description
         from algorithm a
         where a.is_deleted = '0'
@@ -232,7 +232,7 @@
     </select>
 
     <!--获取车辆基本信息-->
-    <select id="selectVehicleBaseInfoById" parameterType="string" resultType="api.common.pojo.vo.project.VehicleBaseInfoVo">
+    <select id="selectVehicleBaseInfoById" parameterType="string" resultType="api.common.pojo.po.model.VehiclePO">
         select a.id, a.vehicle_name, a.description, a.vehicle_image
         from model_vehicle a
         where is_deleted = '0'
@@ -242,7 +242,7 @@
     </select>
 
     <!--获取车辆配置信息-->
-    <select id="selectConfigVehicle" parameterType="string" resultType="api.common.pojo.vo.project.ConfigVehicleVO">
+    <select id="selectConfigVehicle" parameterType="string" resultType="api.common.pojo.po.model.ConfigPO">
         select id, config_name, vehicle_id
         from model_config
         where share = '0' and is_deleted = '0'
@@ -252,7 +252,7 @@
     </select>
 
     <!--查询车辆配置传感器信息-->
-    <select id="selectConfigSensor" parameterType="string" resultType="api.common.pojo.vo.project.ConfigSensorVo">
+    <select id="selectConfigSensor" parameterType="string" resultType="api.common.pojo.po.model.ConfigSensorPO">
         select sensor_type
         from relation_config_sensor
         where is_deleted = '0'
@@ -263,7 +263,7 @@
     </select>
 
     <!--获取场景包基本信息-->
-    <select id="selectScenePackageBaseById" parameterType="string" resultType="api.common.pojo.vo.project.ScenePackageBaseVo">
+    <select id="selectScenePackageBaseById" parameterType="string" resultType="api.common.pojo.po.scene.ScenePackagePO">
         select a.package_id,a.package_name, a.scene_num
         from scene_package a
         where a.share = '0' and a.is_deleted = '0'
@@ -273,10 +273,11 @@
     </select>
 
     <!--查询车辆与传感器关联信息-->
-    <select id="selectVehicleSensor" parameterType="string" resultType="api.common.pojo.vo.project.VehicleSensorVo">
-        select sensor_id, sensor_type,
-        config_id,
+    <select id="selectVehicleSensor" parameterType="string" resultType="api.common.pojo.po.model.ConfigSensorPO">
+        select
         sensor_id,
+        sensor_type,
+        config_id,
         sensor_x,
         sensor_y,
         sensor_z,
@@ -340,53 +341,6 @@
         from scene_standards_regulations
         where regulations_id = #{id,jdbcType=VARCHAR} and is_deleted = '0'
     </select>
-    <!--查询任务列表-->
-    <select id="selectprojectTaskByQuery" parameterType="api.common.pojo.param.project.ProjectTaskParam" resultType="api.common.pojo.po.project.ManualProjectTaskPo">
-        select *
-        from simulation_manual_project_task
-        <where>
-            is_deleted = '0'
-            <if test="id != null and id != ''">
-                and id = #{id,jdbcType=VARCHAR}
-            </if>
-            <if test="pId != null and pId != ''">
-                and p_id = #{pId,jdbcType=VARCHAR}
-            </if>
-            <if test="sceneId != null and sceneId != ''">
-                and scene_id = #{sceneId,jdbcType=VARCHAR}
-            </if>
-        </where>
-    </select>
-
-    <!--根据项目id查询任务列表-->
-    <select id="selectProjectTaskByProjectId" parameterType="api.common.pojo.param.project.ProjectTaskParam" resultType="api.common.pojo.vo.project.ManualProjectTaskVo">
-        select *
-        from simulation_manual_project_task
-        where is_deleted = '0' and p_id = #{pId,jdbcType=VARCHAR}
-    </select>
-
-    <!--根据项目id查询任务列表总数-->
-    <select id="selectProjectTaskNumByProjectId" parameterType="api.common.pojo.param.project.ProjectTaskParam" resultType="int">
-        select count(*) as num
-        from simulation_manual_project_task
-        where is_deleted = '0' and p_id = #{pId,jdbcType=VARCHAR}
-    </select>
-
-    <!--根据任务运行状态分组查询统计数量-->
-    <select id="selectRunStateCount" parameterType="string" resultType="api.common.pojo.vo.project.ProjectRunStateNumVo">
-        select run_state as stateName, count(*) as num
-        from simulation_manual_project_task
-        where p_id = #{id,jdbcType=VARCHAR} and is_deleted = '0'
-        group by run_state
-    </select>
-
-    <!--根据任务运行状态分组查询统计数量-->
-    <select id="selectRunResultCount" parameterType="string" resultType="api.common.pojo.vo.project.ProjectRunResultRatioNumVo">
-        select run_result as resultName, count(*) as num
-        from simulation_manual_project_task
-        where p_id = #{id,jdbcType=VARCHAR} and is_deleted = '0'
-        group by run_result
-    </select>
 
     <!--根据场景包id获取场景子集-->
     <select id="selectSubSceneByPid" parameterType="string" resultType="api.common.pojo.vo.project.ScenePackageSubListVO">
@@ -504,20 +458,6 @@
         )
     </insert>
 
-    <!--查询最后一级指标得分-->
-    <select id="selectLastTargetScore" parameterType="api.common.pojo.po.project.SimulationMptLastTargetScorePo" resultType="api.common.pojo.po.project.SimulationMptLastTargetScorePo">
-        select not_standard_scene_num, score, score_explain
-        from simulation_mpt_last_target_score
-        where p_id = #{pId,jdbcType=VARCHAR} and target = #{target,jdbcType=VARCHAR} and is_deleted = '0'
-    </select>
-
-    <!--查询第一级指标得分-->
-    <select id="selectFirstTargetScore" parameterType="api.common.pojo.po.project.SimulationMptFirstTargetScorePo" resultType="api.common.pojo.po.project.SimulationMptFirstTargetScorePo">
-        select score
-        from simulation_mpt_first_target_score
-        where p_id = #{pId,jdbcType=VARCHAR} and target = #{target,jdbcType=VARCHAR} and is_deleted = '0'
-    </select>
-
     <!--查询场景得分-->
     <select id="selectSceneScore" parameterType="api.common.pojo.po.project.SimulationMptSceneScorePo" resultType="api.common.pojo.po.project.SimulationMptSceneScorePo">
         select score, target_evaluate
@@ -528,25 +468,6 @@
         </if>
     </select>
 
-    <!--查询场景不等于0的得分的数量-->
-    <select id="selectSceneScoreNumQuery" parameterType="api.common.pojo.po.project.SimulationMptSceneScorePo" resultType="api.common.pojo.vo.project.SceneScoreVo">
-        select count(*) as num
-        from simulation_manual_project_task
-        where p_id = #{pId,jdbcType=VARCHAR} and last_targer_id = #{lastTargerId}
-        and score != 0 and is_deleted = '0'
-    </select>
-
-    <!--批量查询场景得分-->
-    <select id="selectSceneScoreByIds" parameterType="api.common.pojo.param.project.SceneScoreParam" resultType="api.common.pojo.vo.project.SceneScoreVo">
-        select id, scene_id, scene_type,score, target_evaluate, return_scene_id, score_explain
-        from simulation_manual_project_task
-        where p_id = #{pId,jdbcType=VARCHAR} and  scene_type = #{sceneType,jdbcType=VARCHAR}
-        and last_targer_id = #{lastTargerId,jdbcType=VARCHAR} and is_deleted = '0'
-        and scene_id in
-        <foreach collection="sceneIds" open="(" separator="," close=")" item="id">
-            #{id,jdbcType=VARCHAR}
-        </foreach>
-    </select>
 
     <!--获取人员信息-->
     <select id="selectUserById" resultType="api.common.pojo.vo.project.SystemUserVo">
@@ -582,32 +503,7 @@
         </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

+ 101 - 0
simulation-resource-server/src/main/resources/mapper/project/SimulationProjectTaskMapper.xml

@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.css.simulation.resource.project.mapper.SimulationProjectTaskMapper" >
+
+
+    <!--查询任务列表-->
+    <select id="selectprojectTaskByQuery" parameterType="api.common.pojo.param.project.ProjectTaskParam" resultType="api.common.pojo.po.project.ManualProjectTaskPo">
+        select *
+        from simulation_manual_project_task
+        <where>
+            is_deleted = '0'
+            <if test="id != null and id != ''">
+                and id = #{id,jdbcType=VARCHAR}
+            </if>
+            <if test="pId != null and pId != ''">
+                and p_id = #{pId,jdbcType=VARCHAR}
+            </if>
+            <if test="sceneId != null and sceneId != ''">
+                and scene_id = #{sceneId,jdbcType=VARCHAR}
+            </if>
+        </where>
+    </select>
+    <!--根据项目id查询任务列表-->
+    <select id="selectProjectTaskByProjectId" parameterType="api.common.pojo.param.project.ProjectTaskParam" resultType="api.common.pojo.vo.project.ManualProjectTaskVo">
+        select *
+        from simulation_manual_project_task
+        where is_deleted = '0' and p_id = #{pId,jdbcType=VARCHAR}
+    </select>
+
+    <!--根据项目id查询任务列表总数-->
+    <select id="selectProjectTaskNumByProjectId" parameterType="api.common.pojo.param.project.ProjectTaskParam" resultType="int">
+        select count(*) as num
+        from simulation_manual_project_task
+        where is_deleted = '0' and p_id = #{pId,jdbcType=VARCHAR}
+    </select>
+
+    <!--根据任务运行状态分组查询统计数量-->
+    <select id="selectRunStateCount" parameterType="string" resultType="api.common.pojo.vo.project.ProjectRunStateNumVo">
+        select run_state as stateName, count(*) as num
+        from simulation_manual_project_task
+        where p_id = #{id,jdbcType=VARCHAR} and is_deleted = '0'
+        group by run_state
+    </select>
+
+    <!--根据任务运行状态分组查询统计数量-->
+    <select id="selectRunResultCount" parameterType="string" resultType="api.common.pojo.vo.project.ProjectRunResultRatioNumVo">
+        select run_result as resultName, count(*) as num
+        from simulation_manual_project_task
+        where p_id = #{id,jdbcType=VARCHAR} and is_deleted = '0'
+        group by run_result
+    </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="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>
+
+    <!--查询场景不等于0的得分的数量-->
+    <select id="selectSceneScoreNumQuery" parameterType="api.common.pojo.po.project.SimulationMptSceneScorePo" resultType="api.common.pojo.vo.project.SceneScoreVo">
+        select count(*) as num
+        from simulation_manual_project_task
+        where p_id = #{pId,jdbcType=VARCHAR} and last_targer_id = #{lastTargerId}
+        and score != 0 and is_deleted = '0'
+    </select>
+
+    <!--批量查询场景得分-->
+    <select id="selectSceneScoreByIds" parameterType="api.common.pojo.param.project.SceneScoreParam" resultType="api.common.pojo.vo.project.SceneScoreVo">
+        select id, scene_id, scene_type,score, target_evaluate, return_scene_id, score_explain
+        from simulation_manual_project_task
+        where p_id = #{pId,jdbcType=VARCHAR} and  scene_type = #{sceneType,jdbcType=VARCHAR}
+        and last_targer_id = #{lastTargerId,jdbcType=VARCHAR} and is_deleted = '0'
+        and scene_id in
+        <foreach collection="sceneIds" open="(" separator="," close=")" item="id">
+            #{id,jdbcType=VARCHAR}
+        </foreach>
+    </select>
+
+
+</mapper>