root 2 vuotta sitten
vanhempi
commit
93317db0d1

+ 1 - 0
api-common/src/main/java/api/common/pojo/po/project/SimulationManualProjectPo.java

@@ -77,6 +77,7 @@ public class SimulationManualProjectPo extends BasePo {
 
     //算法类型
     private String algorithmType;
+    private String details;
 
 
 

+ 1 - 0
api-common/src/main/java/api/common/pojo/vo/project/SimulationManualProjectVo.java

@@ -35,4 +35,5 @@ public class SimulationManualProjectVo {
     private String projectDescribe; //项目描述
     private String parallelism;
     private String isChoiceGpu;
+    private String details;
 }

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

@@ -319,6 +319,7 @@ public class TaskManager {
                 }
             }
 
+            // 全部参与计算
             // 计算不合格的任务数(不到100分就是不合格,执行失败的不算)
             // 计算叶子指标下任务得分总和
             int errorSceneNumber = 0;   // 仿真失败的任务

+ 1 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/project/ctrl/SimulationProjectCtrl.java

@@ -229,7 +229,6 @@ public class SimulationProjectCtrl {
     /**
      * 同时导出工作报告和任务包
      *
-     * @param param
      */
     @RequestMapping("exportProjectReportAndTaskFileById")
     @ResponseBody
@@ -241,8 +240,6 @@ public class SimulationProjectCtrl {
     /**
      * 添加编辑自动项目
      *
-     * @param param
-     * @return
      */
     @RequestMapping("addOrUpdateAutomaticProject")
     @ResponseBody
@@ -254,7 +251,6 @@ public class SimulationProjectCtrl {
     /**
      * 删除自动运行工作(支持批量删除)
      *
-     * @return
      */
     @RequestMapping("deleteAutomaticProjectByids")
     @ResponseBody
@@ -287,7 +283,7 @@ public class SimulationProjectCtrl {
      */
     @RequestMapping("createAutomaticSubProject")
     @ResponseBody
-    public ResponseBodyVO createAutomaticSubProject(@RequestBody SimulationManualProjectParam param) {
+    public ResponseBodyVO<String> createAutomaticSubProject(@RequestBody SimulationManualProjectParam param) {
         return service.createAutomaticSubProject(param);
     }
 

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

@@ -269,7 +269,6 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     public ResponseBodyVO<String> updateProjectNowRunState(SimulationManualProjectParam param) {
 
 
-
         //1 根据 id 查询项目信息
         if (isEmpty(param.getId()) || isEmpty(param.getNowRunState())) {
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
@@ -428,15 +427,52 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     @SneakyThrows
     public ResponseBodyVO<ProjectDetailsVo> selectProjectDetailsById(SimulationManualProjectParam param) {
 
-        String s = null;
+        String detail = null;
+        String evaluationLevel = null;
         if (DictConstants.PROJECT_TYPE_MANUAL.equals(param.getProjectType())) {   // 手动运行任务
-            s = manualProjectMapper.selectDetailsById(param.getId());
-
+            SimulationManualProjectPo po = simulationProjectMapper.selectProjectById(param);
+            detail = po.getDetails();
+            evaluationLevel = po.getEvaluationLevel();
         } else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
-            s = autoSubProjectMapper.selectDetailsById(param.getId());
+            SimulationManualProjectVo po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
+            detail = po.getDetails();
+            evaluationLevel = po.getEvaluationLevel();
         }
+        ProjectDetailsVo projectDetailsVo = JsonUtil.jsonToBean(detail, ProjectDetailsVo.class);
+        //获取测试得分列表
+        List<AlgorithmScoreVo> firstTargetScore = getFirstTargetScore(param.getId());
+        projectDetailsVo.setAlgorithmScoreList(firstTargetScore);
+        //任务运行状态统计
+        List<ProjectRunStateNumVo> projectRunStateNumVos = null;
 
-        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, JsonUtil.jsonToBean(s, ProjectDetailsVo.class));
+        //任务运行结果统计
+        List<ProjectRunResultRatioNumVo> resultScoreList = null;
+
+        //任务信息
+        ProjectTaskParam projectTaskParam = new ProjectTaskParam();
+        projectTaskParam.setPId(param.getId());
+        List<ProjectRunResultRatioNumVo> projectRunResultRatioNumVos = null;
+        Integer size = simulationProjectTaskMapper.selectProjectTaskNumByProjectId(projectTaskParam);
+        if (size > 0) {
+            projectRunStateNumVos = simulationProjectTaskMapper.selectRunStateCount(param.getId());
+            taskRunState(projectRunStateNumVos, size);
+            projectRunResultRatioNumVos = simulationProjectTaskMapper.selectRunResultCount(param.getId());
+            taskResultState(projectRunResultRatioNumVos, size);
+
+            resultScoreList = simulationProjectTaskMapper.selectScoreCount(param.getId());
+
+            //未完成得分为”“的改为0
+            if (!isEmpty(resultScoreList) && resultScoreList.size() == 1 && isEmpty(resultScoreList.get(0).getResultName())) {
+                ProjectRunResultRatioNumVo projectRunResultRatioNumVo = resultScoreList.get(0);
+                projectRunResultRatioNumVo.setResultName("0");
+            }
+            taskScore(resultScoreList, size);
+        }
+        projectDetailsVo.setResultList(projectRunResultRatioNumVos);
+        projectDetailsVo.setResultScoreList(resultScoreList);
+        projectDetailsVo.setStateList(projectRunStateNumVos);
+        projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, evaluationLevel));
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVo);
     }
 //    @Override
 //    public ResponseBodyVO<ProjectDetailsVo> selectProjectDetailsById(SimulationManualProjectParam param) {
@@ -4042,7 +4078,6 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     public ResponseBodyVO<String> createAutomaticSubProject(SimulationManualProjectParam param) {
 
 
-
         if (StringUtil.isEmpty(param.getId())) {
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "id不能为空");
         }
@@ -4154,6 +4189,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 
     /**
      * 自动项目父项目信息
+     *
      * @param param
      * @return
      */

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

@@ -127,7 +127,8 @@
                p.parallelism,
                p.max_simulation_time,
                p.is_choice_gpu,
-               s.evaluation_level
+               s.evaluation_level,
+               s.details
         from simulation_automatic_subproject s
                  left join simulation_automatic_project p on s.parent_id = p.id
         where s.id = #{id}

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

@@ -197,7 +197,8 @@
                create_user_id,
                modify_time,
                modify_user_id,
-               is_deleted
+               is_deleted,
+               details
         from simulation_manual_project
         where id = #{id,jdbcType=VARCHAR}
           and is_deleted = '0'