martin 2 年 前
コミット
596e95f392

+ 37 - 101
api-common/src/main/java/api/common/pojo/po/project/ManualProjectTaskPo.java

@@ -1,108 +1,44 @@
 package api.common.pojo.po.project;
 
-import lombok.Getter;
-import lombok.Setter;
+import lombok.*;
 
 import java.util.Date;
 
-@Getter
-@Setter
+@Data
+@EqualsAndHashCode(callSuper = false)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
 public class ManualProjectTaskPo extends BasePo {
-
-    //项目主表id
-    private String pId;
-
-    //场景id
-    private String sceneId;
-
-    //场景名称
-    private String sceneName;
-
-    //场景类型
-    private String sceneType;
-
-    //运行开始时间
-    private Date runStartTime;
-
-    //运行结束时间
-    private Date runEndTime;
-
-    //运行状态
-    private String runState;
-
-    //运行结果
-    private String runResult;
-
-    //运行结果文件minio路径
-    private String runResultFilePath;
-
-    //得分
-    private String score;
-
-    //指标评价
-    private String targetEvaluate;
-
-    //里程
-    private String mileage;
-
-    //平均速度
-    private String averageVelocity;
-
-    //最大速度
-    private String maximunSpeed;
-
-    //最小速度
-    private String minimunVelocity;
-
-    //最大加速度
-    private String maximumAcceleration;
-
-    //最大减速度
-    private String maximumDeceleration;
-
-    //最大摆角速度
-    private String maximumSwingSpeed;
-
-    //自车速度方差
-    private String speedVariance;
-
-    //舒适度
-    private String speedComfortLevel;
-
-    //自车横摆角速度均方根
-    private String swingSpeedMeanSquareRoot;
-
-    //舒适度
-    private String swingComfortLevel;
-
-    //acceleration变化曲线
-    private String acceleration;
-
-    //lane_offset变化曲线
-    private String laneOffset;
-
-    //brake变化曲线
-    private String brake;
-
-    //steeting_wheel变化曲线
-    private String steetingWheel;
-
-    //throttle变化曲线
-    private String throttle;
-
-    //yaw_rate变化曲线
-    private String yawRate;
-
-    //velocity变化曲线
-    private String velocity;
-
-    //其他
-    private String otherCurve;
-
-    //时间轴
-    private String timerShaft;
-
-
-
-
+    private String pId; //项目主表id
+    private String sceneId; //场景id
+    private String sceneName;   //场景名称
+    private String sceneType;   //场景类型
+    private Date runStartTime;  //运行开始时间
+    private Date runEndTime;    //运行结束时间
+    private String runState;    //运行状态
+    private String runResult;   //运行结果
+    private String runResultFilePath;   //运行结果文件minio路径
+    private String score;   //得分
+    private String targetEvaluate;  //指标评价
+    private String mileage; //里程
+    private String averageVelocity; //平均速度
+    private String maximunSpeed;    //最大速度
+    private String minimunVelocity;  //最小速度
+    private String maximumAcceleration;  //最大加速度
+    private String maximumDeceleration; //最大减速度
+    private String maximumSwingSpeed;   //最大摆角速度
+    private String speedVariance;    //自车速度方差
+    private String speedComfortLevel;      //舒适度
+    private String swingSpeedMeanSquareRoot;       //自车横摆角速度均方根
+    private String swingComfortLevel;     //舒适度
+    private String acceleration;     //acceleration变化曲线
+    private String laneOffset;  //lane_offset变化曲线
+    private String brake;    //brake变化曲线
+    private String steetingWheel;    //steeting_wheel变化曲线
+    private String throttle;        //throttle变化曲线
+    private String yawRate;      //yaw_rate变化曲线
+    private String velocity;        //velocity变化曲线
+    private String otherCurve;      //其他
+    private String timerShaft;      //时间轴
 }

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/manager/TaskManager.java

@@ -142,7 +142,7 @@ public class TaskManager {
                     return false;
                 }
             } catch (Exception exception) {
-                log.error("TaskManager--isCompleted pod " + podName + " 已经被手动删除,该项目可能已经失败或删除。", exception);
+                log.info("TaskManager--isCompleted pod " + podName + " 已经被手动删除,该项目可能已被终止。", exception);
                 return false;
             }
         }

+ 3 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/RedisUtil.java

@@ -1,10 +1,12 @@
 package com.css.simulation.resource.scheduler.util;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.StringRedisTemplate;
 
 import java.util.Collection;
 import java.util.Set;
 
+@Slf4j
 public class RedisUtil {
 
 
@@ -18,6 +20,7 @@ public class RedisUtil {
 
     public static void deleteByPrefix(StringRedisTemplate stringRedisTemplate, String prefix) {
         Set<String> keySetByPrefix = getKeySetByPrefix(stringRedisTemplate, prefix);
+        log.info("RedisUtil--deleteByPrefix 即将删除 redis 键值对:" + keySetByPrefix);
         deleteByKeyCollection(stringRedisTemplate, keySetByPrefix);
     }
 

+ 28 - 26
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -823,13 +823,13 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 
         //指标得分列表
         Map<String, Object> stringObjectMap = selectScenePackageSubListAndSetScore(poParam.getScene(), poParam.getId());
-        projectReportVo.setSubListScoreLiTitle((List<Map>) stringObjectMap.get("cloums"));
+        projectReportVo.setSubListScoreLiTitle((List<Map>) stringObjectMap.get("headerList"));
         projectReportVo.setSubListScoreLi((List<SubScListVo>) stringObjectMap.get("result"));
 
         //场景得分列表
 //        Map<String, Object> maps = selectSceneScore(pos, po.getId());
         Map<String, Object> maps = selectSceneScore(poParam.getScene(), poParam.getId(), null);
-        projectReportVo.setSceneScoreLiTitle((List<Map>) maps.get("cloums"));
+        projectReportVo.setSceneScoreLiTitle((List<Map>) maps.get("headerList"));
         projectReportVo.setSceneScoreLi((List<SceneScListVo>) maps.get("result"));
 
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, projectReportVo);
@@ -889,39 +889,38 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         Optional.ofNullable(param.getId()).orElseThrow(() -> new RuntimeException("项目 id 不能为空"));
         Optional.ofNullable(param.getTaskId()).orElseThrow(() -> new RuntimeException("任务 id 不能为空"));
         Optional.ofNullable(param.getTaskId()).orElseThrow(() -> new RuntimeException("projectType 不能为空"));
-        String id = param.getId();
-        String taskId = param.getTaskId();
-        String projectType = param.getProjectType();
+        String id = param.getId();  // fb5b576d962d4077955c1a7c03284309
+        String taskId = param.getTaskId();  // e4ba02667b5f4393a9f3a7a3e33d3e90
+        String projectType = param.getProjectType();    // 2
         //2 查询任务信息,手动项目和自动项目共用一个任务表
         ProjectTaskParam projectTaskParam = new ProjectTaskParam();
-        projectTaskParam.setPId(id);
-        projectTaskParam.setId(taskId);
+        projectTaskParam.setPId(id);    // fb5b576d962d4077955c1a7c03284309
+        projectTaskParam.setId(taskId); // e4ba02667b5f4393a9f3a7a3e33d3e90
         List<ManualProjectTaskPo> pos = simulationProjectTaskMapper.selectProjectTask(projectTaskParam);
-        if (isEmpty(pos)) {
-            return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "没有获取到任务信息");
+        if (CollectionUtil.isEmpty(pos)) {
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "没有获取到任务信息");
         }
         ManualProjectTaskPo po = pos.get(0);
-        resultVo.setTaskId(po.getId());
-        String sceneId = po.getSceneId();
-        String sceneType = po.getSceneType();
-        SceneBaseInfoVo sceneBaseInfoVo = getSceneNameAndOther(sceneId, sceneType);
-        resultVo.setSceneName(sceneBaseInfoVo.getCommonSceneName());
-        resultVo.setRunStartTime(getRqStr(po.getRunStartTime(), 1));
-        resultVo.setRunEndTime(getRqStr(po.getRunEndTime(), 1));
-        resultVo.setRunState(po.getRunState());
-        resultVo.setFinishState(po.getRunResult());
-        resultVo.setSceneDescribe("");
+        resultVo.setTaskId(po.getId()); // e4ba02667b5f4393a9f3a7a3e33d3e90
+        String sceneId = po.getSceneId();   // 82ee1b3f2c2441949006ae482b80bc08
+        String sceneType = po.getSceneType();   // 4
+        SceneBaseInfoVo sceneBaseInfoVo = getSceneNameAndOther(sceneId, sceneType); //  ACC_2-5-1
+        resultVo.setSceneName(sceneBaseInfoVo.getCommonSceneName());    //  ACC_2-5-1
+        resultVo.setRunStartTime(getRqStr(po.getRunStartTime(), 1));    //2022-07-27 09:52:04
+        resultVo.setRunEndTime(getRqStr(po.getRunEndTime(), 1));    //2022-07-27 09:53:14
+        resultVo.setRunState(po.getRunState()); //Completed
+        resultVo.setFinishState(po.getRunResult()); //Completed
+        resultVo.setSceneDescribe("");  // 场景描述设置为空
         // -------------------------------- 获取任务得分详情 --------------------------------
         SimulationManualProjectPo poParam = new SimulationManualProjectPo();
         if (DictConstants.PROJECT_TYPE_MANUAL.equals(projectType)) {
-            //项目基本信息
             SimulationManualProjectPo spo = simulationProjectMapper.selectProjectBaseById(param);
             Optional.ofNullable(spo).orElseThrow(() -> new RuntimeException("没有获取到数据。"));
             poParam = spo;
         } else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
             SimulationManualProjectVo spo = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
             Optional.ofNullable(spo).orElseThrow(() -> new RuntimeException("没有获取到数据。"));
-            BeanUtils.copyProperties(po, poParam);
+            BeanUtils.copyProperties(spo, poParam);
         }
         Map<String, Object> stringObjectMap = selectSceneScore(poParam.getScene(), poParam.getId(), taskId);
         resultVo.setSceneScoreLiTitle((List<Map>) stringObjectMap.get("headerList"));
@@ -1292,7 +1291,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     /**
      * 根据场景id和场景类型获取场景名
      *
-     * @return
+     * @return 场景名称
      */
     private SceneBaseInfoVo getSceneNameAndOther(String sceneId, String sceneType) {
         SceneBaseInfoVo resultVo = new SceneBaseInfoVo();
@@ -1312,15 +1311,12 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
                 resultVo.setCommonSceneName(sceneBaseInfoVo.getSceneName());
             }
         } else if (DictConstants.SCENE_GENERAL.equals(sceneType)) {
-            ///TODO 泛化场景暂不支持
             SceneBaseInfoVo sceneBaseInfoVo = simulationProjectMapper.selectSceneGeneralDataById(sceneId);
             if (sceneBaseInfoVo != null) {
                 resultVo.setCommonSceneName(sceneBaseInfoVo.getSceneName());
             }
         }
-
         return resultVo;
-
     }
 
     private void setAlgorithmDropDown(List<DropDownTypeVo> result, String algorithmType, String AlgorithmSource) {
@@ -1961,7 +1957,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         headerList.add(ImmutableMap.builder().put("label", "未达标场景数量").put("prop", "notStandardSceneNum").build());
         headerList.add(ImmutableMap.builder().put("label", "得分").put("prop", "lastScore").build());
         headerList.add(ImmutableMap.builder().put("label", "总分").put("prop", "firstScore").build());
-        hashMap.put("header", headerList);
+        hashMap.put("headerList", headerList);
         hashMap.put("result", objects);
 
 
@@ -3925,6 +3921,12 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE, "删除失败");
     }
 
+    /**
+     * 实际上查询的是父项目,名字不对
+     *
+     * @param param
+     * @return
+     */
     @Override
     public ResponseBodyVO selectSubProjectInfo(SimulationManualProjectParam param) {
 

+ 1 - 1
simulation-resource-server/src/main/resources/mapper/project/SimulationAutomaticSubProjectMapper.xml

@@ -105,7 +105,7 @@
                s.evaluation_level
         from simulation_automatic_subproject s
                  left join simulation_automatic_project p on s.parent_id = p.id
-        where s.id = #{id,jdbcType=VARCHAR}
+        where s.id = #{id}
     </select>
 
     <!--修改任务运行状态-->