martin il y a 3 ans
Parent
commit
d3a7754991

+ 5 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/consumer/ManualProjectConsumer.java

@@ -48,6 +48,8 @@ public class ManualProjectConsumer {
     @Autowired
     TaskMapper taskMapper;
     @Autowired
+    TaskIndexMapper taskIndexMapper;
+    @Autowired
     IndexTemplateMapper indexTemplateMapper;
     @Autowired
     SceneMapper sceneMapper;
@@ -95,7 +97,7 @@ public class ManualProjectConsumer {
         ProjectMessageDTO projectMessageDTO = JsonUtil.jsonToBean(projectJson, ProjectMessageDTO.class);
         String projectId = projectMessageDTO.getProjectId();    // 项目 id
         projectMapper.updateProjectState(projectId, DictConstants.PROJECT_RUNNING);   // 修改该 project 的状态为执行中,同时将已完成任务重置为 0 方便测试。
-        taskMapper.updateStateByProjectId(projectId,DictConstants.TASK_PENDING);    // 将该 project 下所有任务重置为待执行方便测试。
+        taskMapper.updateStateByProjectId(projectId, DictConstants.TASK_PENDING);    // 将该 project 下所有任务重置为待执行方便测试。
 
 
         // -------------------------------- 1 场景 --------------------------------
@@ -157,7 +159,8 @@ public class ManualProjectConsumer {
                 TaskPO taskPO = TaskPO.builder() // run_start_time 和 run_end_time 不填
                         .id(taskId)
                         .pId(projectId)
-                        .sceneId(scenePO.getId())
+                        .sceneId(sceneId)
+                        .lastTargetId(taskIndexMapper.selectIndexIdByProjectAndSceneId(projectId, "%" + sceneId + "%"))
                         .sceneName(scenePO.getName())
                         .sceneType(scenePO.getType())
                         .runState(DictConstants.TASK_PENDING)

+ 16 - 7
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/TaskIndexMapper.java

@@ -2,10 +2,7 @@ package com.css.simulation.resource.scheduler.mapper;
 
 
 import com.css.simulation.resource.scheduler.pojo.po.TaskIndexPO;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Insert;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.*;
 
 /**
  * 任务指标
@@ -56,12 +53,24 @@ public interface TaskIndexMapper {
             "        #{first.modifyTime},\n" +
             "        #{first.modifyUserId},\n" +
             "        #{first.isDeleted})")
-    void insertFirstIndex(@Param("first")TaskIndexPO firstTaskIndex);
+    void insertFirstIndex(@Param("first") TaskIndexPO firstTaskIndex);
+
+    @Select("select sublist_id\n" +
+            "from scene_package_sublist\n" +
+            "where root_id =\n" +
+            "      (select scene\n" +
+            "       from simulation_manual_project smp\n" +
+            "       where id = #{projectId})\n" +
+            "and (scene_natural_ids like #{idExtend}\n" +
+            "    or scene_traffic_ids like #{idExtend}\n" +
+            "    or scene_statue_ids like #{idExtend}\n" +
+            "    )\n")
+    String selectIndexIdByProjectAndSceneId(@Param("projectId") String projectId, @Param("idExtend") String idExtend);
 
 
     @Delete("delete from simulation_mpt_first_target_score where p_id = #{projectId}")
-    void deleteFirstByProjectId(@Param("projectId")String projectId);
+    void deleteFirstByProjectId(@Param("projectId") String projectId);
 
     @Delete("delete from simulation_mpt_last_target_score where p_id = #{projectId}")
-    void deleteLastByProjectId(@Param("projectId")String projectId);
+    void deleteLastByProjectId(@Param("projectId") String projectId);
 }

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/TaskMapper.java

@@ -41,10 +41,10 @@ public interface TaskMapper {
     void updateState(@Param("id") String id, @Param("runState") String runState);
 
 
-    @Insert("insert into simulation_manual_project_task(id, p_id, scene_id, scene_name, scene_type,\n" +
+    @Insert("insert into simulation_manual_project_task(id, p_id, scene_id, scene_name, scene_type, last_target_id,\n" +
             "                                           run_state, run_result_file_path, create_time, create_user_id, modify_time,\n" +
             "                                           modify_user_id, is_deleted)\n" +
-            "values (#{task.id},#{task.pId},#{task.sceneId},#{task.sceneName},#{task.sceneType},#{task.runState},\n" +
+            "values (#{task.id},#{task.pId},#{task.sceneId},#{task.sceneName},#{task.sceneType},#{task.lastTargetId},#{task.runState},\n" +
             "#{task.runResult},#{task.createTime},#{task.createUserId},#{task.modifyTime},#{task.modifyUserId},#{task.isDeleted})")
     void insert(@Param("task") TaskPO task);
 

+ 1 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/pojo/po/TaskPO.java

@@ -21,4 +21,5 @@ public class TaskPO extends CommonPO {
     private String targetEvaluate;
     private String scoreExplain;
     private Long maxSimulationTime;
+    private String lastTargetId;
 }